Documentation

Logic.Modal.Standard.Formula

inductive LO.Modal.Standard.Formula (α : Type u) :
Instances For
    Equations
    • LO.Modal.Standard.instDecidableEqFormula = LO.Modal.Standard.decEqFormula✝
    @[reducible, inline]
    Equations
    • p.neg = p.imp LO.Modal.Standard.Formula.falsum
    Instances For
      @[reducible, inline]
      Equations
      • LO.Modal.Standard.Formula.verum = LO.Modal.Standard.Formula.falsum.imp LO.Modal.Standard.Formula.falsum
      Instances For
        @[reducible, inline]
        Equations
        • LO.Modal.Standard.Formula.top = LO.Modal.Standard.Formula.falsum.imp LO.Modal.Standard.Formula.falsum
        Instances For
          @[reducible, inline]
          Equations
          • p.or q = p.neg.imp q
          Instances For
            @[reducible, inline]
            Equations
            • p.and q = (p.imp q.neg).neg
            Instances For
              @[reducible, inline]
              Equations
              • p.dia = p.neg.box.neg
              Instances For
                Equations
                • LO.Modal.Standard.Formula.instBasicModalLogicalConnective = LO.BasicModalLogicalConnective.mk
                Equations
                • LO.Modal.Standard.Formula.instLukasiewiczAbbrev = { top := , neg := , or := , and := }
                Equations
                • LO.Modal.Standard.Formula.instDiaAbbrev = { dia_abbrev := }
                Equations
                Instances For
                  Equations
                  Equations
                  • LO.Modal.Standard.Formula.instToString = { toString := LO.Modal.Standard.Formula.toStr }
                  Equations
                  • LO.Modal.Standard.Formula.instCoe = { coe := LO.Modal.Standard.Formula.atom }
                  @[simp]
                  theorem LO.Modal.Standard.Formula.and_inj {α : Type u} (p₁ : LO.Modal.Standard.Formula α) (q₁ : LO.Modal.Standard.Formula α) (p₂ : LO.Modal.Standard.Formula α) (q₂ : LO.Modal.Standard.Formula α) :
                  p₁ p₂ = q₁ q₂ p₁ = q₁ p₂ = q₂
                  @[simp]
                  theorem LO.Modal.Standard.Formula.or_inj {α : Type u} (p₁ : LO.Modal.Standard.Formula α) (q₁ : LO.Modal.Standard.Formula α) (p₂ : LO.Modal.Standard.Formula α) (q₂ : LO.Modal.Standard.Formula α) :
                  p₁ p₂ = q₁ q₂ p₁ = q₁ p₂ = q₂
                  @[simp]
                  theorem LO.Modal.Standard.Formula.imp_inj {α : Type u} (p₁ : LO.Modal.Standard.Formula α) (q₁ : LO.Modal.Standard.Formula α) (p₂ : LO.Modal.Standard.Formula α) (q₂ : LO.Modal.Standard.Formula α) :
                  p₁ p₂ = q₁ q₂ p₁ = q₁ p₂ = q₂

                  Formula complexity

                  Equations
                  Instances For

                    Max numbers of

                    Equations
                    Instances For
                      @[simp]
                      theorem LO.Modal.Standard.Formula.degree_neg {α : Type u} (p : LO.Modal.Standard.Formula α) :
                      (~p).degree = p.degree
                      @[simp]
                      theorem LO.Modal.Standard.Formula.degree_imp {α : Type u} (p : LO.Modal.Standard.Formula α) (q : LO.Modal.Standard.Formula α) :
                      (p q).degree = max p.degree q.degree
                      def LO.Modal.Standard.Formula.cases' {α : Type u} {C : LO.Modal.Standard.Formula αSort w} (hfalsum : C ) (hatom : (a : α) → C (LO.Modal.Standard.Formula.atom a)) (himp : (p q : LO.Modal.Standard.Formula α) → C (p q)) (hbox : (p : LO.Modal.Standard.Formula α) → C (p)) (p : LO.Modal.Standard.Formula α) :
                      C p
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        def LO.Modal.Standard.Formula.rec' {α : Type u} {C : LO.Modal.Standard.Formula αSort w} (hfalsum : C ) (hatom : (a : α) → C (LO.Modal.Standard.Formula.atom a)) (himp : (p q : LO.Modal.Standard.Formula α) → C pC qC (p q)) (hbox : (p : LO.Modal.Standard.Formula α) → C pC (p)) (p : LO.Modal.Standard.Formula α) :
                        C p
                        Equations
                        Instances For
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            Equations
                            • LO.Modal.Standard.Formula.instDecidableEq = LO.Modal.Standard.Formula.hasDecEq
                            Equations
                            • x.isBox = match x with | a.box => true | x => false
                            Instances For
                              @[reducible, inline]
                              abbrev LO.Modal.Standard.Theory (α : Type u_1) :
                              Type u_1
                              Equations
                              Instances For
                                Equations
                                • LO.Modal.Standard.instCollectionFormulaTheory = inferInstance
                                @[reducible, inline]
                                abbrev LO.Modal.Standard.AxiomSet (α : Type u_1) :
                                Type u_1
                                Equations
                                Instances For
                                  @[simp]
                                  theorem LO.Modal.Standard.Formula.Subformulas.complexity_lower {α : Type u_1} [DecidableEq α] {p : LO.Modal.Standard.Formula α} {q : LO.Modal.Standard.Formula α} (h : q 𝒮 p) :
                                  q.complexity p.complexity
                                  Instances
                                    theorem LO.Modal.Standard.Theory.SubformulaClosed.imp_closed {α : Type u_1} {T : LO.Modal.Standard.Theory α} [self : T.SubformulaClosed] {p : LO.Modal.Standard.Formula α} {q : LO.Modal.Standard.Formula α} :
                                    p q Tp T q T
                                    theorem LO.Modal.Standard.Theory.SubformulaClosed.box_closed {α : Type u_1} {T : LO.Modal.Standard.Theory α} [self : T.SubformulaClosed] {p : LO.Modal.Standard.Formula α} :
                                    p Tp T
                                    Equations
                                    • LO.Modal.Standard.Theory.SubformulaClosed.instToSetFormulaSubformulas = { imp_closed := , box_closed := }
                                    theorem LO.Modal.Standard.Theory.SubformulaClosed.sub_mem_box {α : Type u_1} {p : LO.Modal.Standard.Formula α} {T : LO.Modal.Standard.Theory α} [T_closed : T.SubformulaClosed] (h : p T) :
                                    p T
                                    theorem LO.Modal.Standard.Theory.SubformulaClosed.sub_mem_imp {α : Type u_1} {p : LO.Modal.Standard.Formula α} {T : LO.Modal.Standard.Theory α} [T_closed : T.SubformulaClosed] {q : LO.Modal.Standard.Formula α} (h : p q T) :
                                    p T q T
                                    theorem LO.Modal.Standard.Theory.SubformulaClosed.sub_mem_imp₁ {α : Type u_1} {p : LO.Modal.Standard.Formula α} {T : LO.Modal.Standard.Theory α} [T_closed : T.SubformulaClosed] {q : LO.Modal.Standard.Formula α} (h : p q T) :
                                    p T
                                    theorem LO.Modal.Standard.Theory.SubformulaClosed.sub_mem_imp₂ {α : Type u_1} {p : LO.Modal.Standard.Formula α} {T : LO.Modal.Standard.Theory α} [T_closed : T.SubformulaClosed] {q : LO.Modal.Standard.Formula α} (h : p q T) :
                                    q T