nyaya.prop

package nyaya.prop

Type members

Classlikes

final case class Atom[P[_], A](n: Option[Name], f: P[A]) extends Logic[P, A]
final case class Biconditional[P[_], A](p: Logic[P, A], q: Logic[P, A]) extends Logic[P, A]
final case class Conjunction[P[_], A](ls: NonEmptyList[Logic[P, A]]) extends Logic[P, A]
case class CycleDetector[A, B](extract: A => Iterator[B], check: (A, Iterator[B]) => Option[(B, B)])
Companion
object
Companion
class
final case class CycleFree[A](value: A)
final case class Disjunction[P[_], A](ls: NonEmptyList[Logic[P, A]]) extends Logic[P, A]
object Eval
Companion
class
final case class Eval
Companion
object
final case class EvalOver(input: Any)
final case class Implication[P[_], A](a: Logic[P, A], c: Logic[P, A]) extends Logic[P, A]
case class Input(a: Any)
object Logic
Companion
class
sealed abstract class Logic[P[_], A]
Companion
object
final class LogicPropExt[A](prop: Prop[A]) extends AnyVal
final case class Mapped[P[_], A, B](m: A => B, l: Logic[P, B]) extends Logic[P, A]
final case class Named[P[_], A](n: Name, l: Logic[P, A]) extends Logic[P, A]
final case class Negation[P[_], A](l: Logic[P, A]) extends Logic[P, A]
object Prop
final class PropA[A]
Companion
object
object PropA
Companion
class
final class Prop_AnyExt[A](a: A) extends AnyVal
final case class Reduction[P[_], A](c: Logic[P, A], a: Logic[P, A]) extends Logic[P, A]

Types

type EvalL = Logic[Eval_, Nothing]
type Eval_[x] = Eval
type FailureReason = String
type Name = Need[String]
type Prop[A] = Logic[[A] =>> PropA[A], A]