Documentation

MathematicalLogic.Notation

class PropNeg (α : Type u) :
  • neg : αα
Instances
    class PropImp (α : Type u) :
    • imp : ααα
    Instances
      class PropOr (α : Type u) :
      • or : ααα
      Instances
        class PropAnd (α : Type u) :
        • and : ααα
        Instances
          class PropIff (α : Type u) :
          • iff : ααα
          Instances
            class PropNotation (α : Type u) extends Top α, Bot α, PropNeg α, PropImp α, PropOr α, PropAnd α, PropIff α :

            Typeclass for propositional notations.

            • top : α
            • bot : α
            • neg : αα
            • imp : ααα
            • or : ααα
            • and : ααα
            • iff : ααα
            Instances
              class ClassicalPropNotation (α : Type u) :

              For classical logic, only and need to be defined; other notations are derived as follows:

              • Negation ~ p = p ⇒ ⊥.
              • True ⊤ = ~ ⊥.
              • Disjunction (or) p ⩒ q = ~ p ⇒ q.
              • Conjunction (and) p ⩑ q = ~ (p ⇒ ~ q).
              • Iff p ⇔ q = (p ⇒ q) ⩑ (q ⇒ p).
              • false : α
              • imp : ααα
              Instances
                Equations
                Equations
                Equations
                Equations
                • One or more equations did not get rendered due to their size.
                theorem ClassicalPropNotation.or_def {α : Type u} [ClassicalPropNotation α] {p q : α} :
                p q = ~ p q
                theorem ClassicalPropNotation.and_def {α : Type u} [ClassicalPropNotation α] {p q : α} :
                p q = ~ (p ~ q)
                theorem ClassicalPropNotation.iff_def {α : Type u} [ClassicalPropNotation α] {p q : α} :
                p q = (p q) (q p)