Logic

sealed abstract class Logic[P[_], A]
Companion
object
class Object
trait Matchable
class Any
class Atom[P, A]
class Biconditional[P, A]
class Conjunction[P, A]
class Disjunction[P, A]
class Implication[P, A]
class Mapped[P, A, B]
class Named[P, A]
class Negation[P, A]
class Reduction[P, A]

Value members

Concrete methods

@inline
final def &(q: Logic[P, A]): Logic[P, A]
final def <==(a: Logic[P, A]): Logic[P, A]
final def <==>(q: Logic[P, A]): Logic[P, A]
final def ==>(c: Logic[P, A]): Logic[P, A]
@inline
final def and(q: Logic[P, A]): Logic[P, A]
final def contramap[B](f: B => A): Logic[P, B]
final def ifelse(ifPass: Logic[P, A], ifFail: Logic[P, A]): Logic[P, A]
@inline
final def iff(q: Logic[P, A]): Logic[P, A]
@inline
final def implies(c: Logic[P, A]): Logic[P, A]
@inline
final def not: Logic[P, A]
@inline
final def or(q: Logic[P, A]): Logic[P, A]
final def rename(n: => String): Logic[P, A]
@inline
final def rename_:(name: => String): Logic[P, A]
final def run(x: P[A] => Eval)(F: Contravariant[P]): Eval
@inline
final def subst[B <: A]: Logic[P, B]
final def unary_~: Logic[P, A]
@inline
final def |(q: Logic[P, A]): Logic[P, A]
@inline
final def (a: Logic[P, A]): Logic[P, A]
@inline
final def (q: Logic[P, A]): Logic[P, A]
final def (q: Logic[P, A]): Logic[P, A]
final def (q: Logic[P, A]): Logic[P, A]