Documentation

Logic.Modal.System

class LO.System.Necessitation {S : Type u_1} {F : Type u_2} [LO.BasicModalLogicalConnective F] [LO.System F S] (𝓢 : S) :
Type (max u_2 u_3)
  • nec : {p : F} → 𝓢 p𝓢 p
Instances
class LO.System.HasAxiomDot2 {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.BasicModalLogicalConnective F] [LO.System F S] (𝓢 : S) :
Type (max u_2 u_3)
Instances
    class LO.System.HasAxiomDot3 {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.BasicModalLogicalConnective F] [LO.System F S] (𝓢 : S) :
    Type (max u_2 u_3)
    Instances
      class LO.System.KT {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.BasicModalLogicalConnective F] [LO.System F S] (𝓢 : S) extends LO.System.K , LO.System.HasAxiomT :
      Type (max u_2 u_3)
        Instances
            Instances
              class LO.System.S4Dot2 {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.BasicModalLogicalConnective F] [LO.System F S] (𝓢 : S) extends LO.System.S4 , LO.System.HasAxiomDot2 :
              Type (max u_2 u_3)
                Instances
                  class LO.System.S4Dot3 {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.BasicModalLogicalConnective F] [LO.System F S] (𝓢 : S) extends LO.System.S4 , LO.System.HasAxiomDot3 :
                  Type (max u_2 u_3)
                    Instances
                      class LO.System.S4Grz {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.BasicModalLogicalConnective F] [LO.System F S] (𝓢 : S) extends LO.System.S4 , LO.System.HasAxiomGrz :
                      Type (max u_2 u_3)
                        Instances
                          def LO.System.nec {S : Type u_1} {F : Type u_2} [LO.BasicModalLogicalConnective F] [LO.System F S] {𝓢 : S} [self : LO.System.Necessitation 𝓢] {p : F} :
                          𝓢 p𝓢 p

                          Alias of LO.System.Necessitation.nec.

                          Equations
                          theorem LO.System.nec! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Necessitation 𝓢] :
                          𝓢 ⊢! p𝓢 ⊢! p
                          def LO.System.multinec {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Necessitation 𝓢] {n : } :
                          𝓢 p𝓢 □^[n]p
                          Equations
                          theorem LO.System.multinec! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Necessitation 𝓢] {n : } :
                          𝓢 ⊢! p𝓢 ⊢! □^[n]p
                          def LO.System.axiomK {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.HasAxiomK 𝓢] :
                          𝓢 (p q) p q
                          Equations
                          @[simp]
                          theorem LO.System.axiomK! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.HasAxiomK 𝓢] :
                          𝓢 ⊢! (p q) p q
                          Equations
                          def LO.System.axiomK' {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.HasAxiomK 𝓢] (h : 𝓢 (p q)) :
                          𝓢 p q
                          Equations
                          @[simp]
                          theorem LO.System.axiomK'! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.HasAxiomK 𝓢] (h : 𝓢 ⊢! (p q)) :
                          𝓢 ⊢! p q
                          def LO.System.axiomK'' {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.HasAxiomK 𝓢] (h₁ : 𝓢 (p q)) (h₂ : 𝓢 p) :
                          𝓢 q
                          Equations
                          @[simp]
                          theorem LO.System.axiomK''! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.HasAxiomK 𝓢] (h₁ : 𝓢 ⊢! (p q)) (h₂ : 𝓢 ⊢! p) :
                          𝓢 ⊢! q
                          def LO.System.multibox_axiomK {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] {n : } :
                          𝓢 □^[n](p q) □^[n]p □^[n]q
                          Equations
                          • One or more equations did not get rendered due to their size.
                          @[simp]
                          theorem LO.System.multibox_axiomK! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] {n : } :
                          𝓢 ⊢! □^[n](p q) □^[n]p □^[n]q
                          def LO.System.multibox_axiomK' {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] {n : } (h : 𝓢 □^[n](p q)) :
                          𝓢 □^[n]p □^[n]q
                          Equations
                          @[simp]
                          theorem LO.System.multibox_axiomK'! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] {n : } (h : 𝓢 ⊢! □^[n](p q)) :
                          theorem LO.System.multiboxed_imply_distribute! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] {n : } (h : 𝓢 ⊢! □^[n](p q)) :

                          Alias of LO.System.multibox_axiomK'!.

                          @[simp]
                          theorem LO.System.box_iff! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] (h : 𝓢 ⊢! p q) :
                          𝓢 ⊢! p q
                          def LO.System.multiboxIff' {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] {n : } (h : 𝓢 p q) :
                          𝓢 □^[n]p □^[n]q
                          Equations
                          @[simp]
                          theorem LO.System.multibox_iff! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] {n : } (h : 𝓢 ⊢! p q) :
                          Equations
                          • LO.System.instHasDiaDualityOfModalDeMorganOfHasAxiomDNE = { dia_dual := fun (p : F) => .mpr (LO.System.iffId (p)) }
                          Equations
                          def LO.System.diaDuality {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasDiaDuality 𝓢] :
                          𝓢 p (p)
                          Equations
                          @[simp]
                          theorem LO.System.dia_duality! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasDiaDuality 𝓢] :
                          def LO.System.diaDuality'.mp {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.HasDiaDuality 𝓢] (h : 𝓢 p) :
                          𝓢 (p)
                          Equations
                          def LO.System.diaDuality'.mpr {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.HasDiaDuality 𝓢] (h : 𝓢 (p)) :
                          𝓢 p
                          Equations
                          theorem LO.System.dia_duality'! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.HasDiaDuality 𝓢] :
                          𝓢 ⊢! p 𝓢 ⊢! (p)
                          Equations
                          • One or more equations did not get rendered due to their size.
                          def LO.System.diaIff' {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.NegationEquiv 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] [LO.System.HasDiaDuality 𝓢] (h : 𝓢 p q) :
                          𝓢 p q
                          Equations
                          • One or more equations did not get rendered due to their size.
                          @[simp]
                          theorem LO.System.dia_iff! {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.NegationEquiv 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] [LO.System.HasDiaDuality 𝓢] (h : 𝓢 ⊢! p q) :
                          𝓢 ⊢! p q
                          def LO.System.multidiaIff' {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.NegationEquiv 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] [LO.System.HasDiaDuality 𝓢] {n : } (h : 𝓢 p q) :
                          𝓢 ◇^[n]p ◇^[n]q
                          Equations
                          @[simp]
                          theorem LO.System.multidia_iff! {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.NegationEquiv 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] [LO.System.HasDiaDuality 𝓢] {n : } (h : 𝓢 ⊢! p q) :
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Equations
                          • LO.System.boxDuality = LO.System.multiboxDuality
                          Equations
                          @[simp]
                          Equations
                          • LO.System.boxverum = LO.System.multiboxverum
                          @[simp]
                          Equations
                          @[simp]
                          theorem LO.System.imply_multibox_distribute'! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] {n : } (h : 𝓢 ⊢! p q) :
                          theorem LO.System.imply_box_distribute'! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] (h : 𝓢 ⊢! p q) :
                          𝓢 ⊢! p q
                          def LO.System.distribute_multibox_and {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] {n : } :
                          𝓢 □^[n](p q) □^[n]p □^[n]q
                          Equations
                          @[simp]
                          theorem LO.System.distribute_multibox_and! {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] {n : } :
                          𝓢 ⊢! □^[n](p q) □^[n]p □^[n]q
                          def LO.System.distribute_box_and {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] :
                          𝓢 (p q) p q
                          Equations
                          • LO.System.distribute_box_and = LO.System.distribute_multibox_and
                          @[simp]
                          theorem LO.System.distribute_box_and! {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] :
                          𝓢 ⊢! (p q) p q
                          def LO.System.distribute_multibox_and' {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] {n : } (h : 𝓢 □^[n](p q)) :
                          𝓢 □^[n]p □^[n]q
                          Equations
                          theorem LO.System.distribute_multibox_and'! {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] {n : } (d : 𝓢 ⊢! □^[n](p q)) :
                          theorem LO.System.distribute_box_and'! {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] (d : 𝓢 ⊢! (p q)) :
                          𝓢 ⊢! p q
                          theorem LO.System.conj_cons! {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {Γ : List F} {𝓢 : S} [LO.System.Classical 𝓢] :
                          𝓢 ⊢! p Γ (p :: Γ)
                          def LO.System.collect_multibox_and {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] {n : } :
                          𝓢 □^[n]p □^[n]q □^[n](p q)
                          Equations
                          • One or more equations did not get rendered due to their size.
                          @[simp]
                          theorem LO.System.collect_multibox_and! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] {n : } :
                          𝓢 ⊢! □^[n]p □^[n]q □^[n](p q)
                          def LO.System.collect_box_and {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] :
                          𝓢 p q (p q)
                          Equations
                          • LO.System.collect_box_and = LO.System.collect_multibox_and
                          @[simp]
                          theorem LO.System.collect_box_and! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] :
                          𝓢 ⊢! p q (p q)
                          def LO.System.collect_multibox_and' {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] {n : } (h : 𝓢 □^[n]p □^[n]q) :
                          𝓢 □^[n](p q)
                          Equations
                          theorem LO.System.collect_multibox_and'! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] {n : } (h : 𝓢 ⊢! □^[n]p □^[n]q) :
                          𝓢 ⊢! □^[n](p q)
                          theorem LO.System.collect_box_and'! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] (h : 𝓢 ⊢! p q) :
                          𝓢 ⊢! (p q)
                          theorem LO.System.multiboxConj'_iff! {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {Γ : List F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] {n : } :
                          𝓢 ⊢! □^[n]Γ pΓ, 𝓢 ⊢! □^[n]p
                          theorem LO.System.boxConj'_iff! {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {Γ : List F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] :
                          𝓢 ⊢! Γ pΓ, 𝓢 ⊢! p
                          @[simp]
                          theorem LO.System.multibox_cons_conjAux₁! {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {Γ : List F} {𝓢 : S} [LO.System.Classical 𝓢] {n : } :
                          @[simp]
                          theorem LO.System.multibox_cons_conjAux₂! {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {Γ : List F} {𝓢 : S} [LO.System.Classical 𝓢] {n : } :
                          𝓢 ⊢! □'^[n](p :: Γ) □^[n]p
                          @[simp]
                          theorem LO.System.multibox_cons_conj! {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {Γ : List F} {𝓢 : S} [LO.System.Classical 𝓢] {n : } :
                          def LO.System.collect_multibox_or {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] {n : } :
                          𝓢 □^[n]p □^[n]q □^[n](p q)
                          Equations
                          @[simp]
                          theorem LO.System.collect_multibox_or! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] {n : } :
                          𝓢 ⊢! □^[n]p □^[n]q □^[n](p q)
                          def LO.System.collect_box_or {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] :
                          𝓢 p q (p q)
                          Equations
                          • LO.System.collect_box_or = LO.System.collect_multibox_or
                          @[simp]
                          theorem LO.System.collect_box_or! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] :
                          𝓢 ⊢! p q (p q)
                          def LO.System.collect_multibox_or' {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] {n : } (h : 𝓢 □^[n]p □^[n]q) :
                          𝓢 □^[n](p q)
                          Equations
                          theorem LO.System.collect_multibox_or'! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] {n : } (h : 𝓢 ⊢! □^[n]p □^[n]q) :
                          𝓢 ⊢! □^[n](p q)
                          theorem LO.System.collect_box_or'! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] (h : 𝓢 ⊢! p q) :
                          𝓢 ⊢! (p q)
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Equations
                          • LO.System.collect_dia_or = LO.System.or₃'' LO.System.diaOrInst₁ LO.System.diaOrInst₂
                          def LO.System.collect_dia_or' {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.NegationEquiv 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] [LO.System.HasDiaDuality 𝓢] (h : 𝓢 p q) :
                          𝓢 (p q)
                          Equations
                          @[simp]
                          theorem LO.System.collect_dia_or'! {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.NegationEquiv 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] [LO.System.HasDiaDuality 𝓢] (h : 𝓢 ⊢! p q) :
                          𝓢 ⊢! (p q)
                          def LO.System.boxdotAxiomK {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.HasAxiomK 𝓢] :
                          𝓢 (p q) p q
                          Equations
                          • One or more equations did not get rendered due to their size.
                          @[simp]
                          theorem LO.System.boxdot_axiomK! {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.HasAxiomK 𝓢] :
                          𝓢 ⊢! (p q) p q
                          def LO.System.boxdotAxiomT {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Classical 𝓢] :
                          𝓢 p p
                          Equations
                          • LO.System.boxdotAxiomT = LO.System.and₁
                          @[simp]
                          theorem LO.System.boxdot_axiomT! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Classical 𝓢] :
                          𝓢 ⊢! p p
                          def LO.System.boxdotNec {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] (d : 𝓢 p) :
                          𝓢 p
                          Equations
                          theorem LO.System.boxdot_nec! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] (d : 𝓢 ⊢! p) :
                          𝓢 ⊢! p
                          def LO.System.boxdotBox {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Classical 𝓢] :
                          𝓢 p p
                          Equations
                          • LO.System.boxdotBox = LO.System.and₂
                          theorem LO.System.boxdot_box! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Classical 𝓢] :
                          𝓢 ⊢! p p
                          Equations
                          def LO.System.axiomT {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasAxiomT 𝓢] :
                          𝓢 p p
                          Equations
                          @[simp]
                          theorem LO.System.axiomT! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasAxiomT 𝓢] :
                          𝓢 ⊢! p p
                          Equations
                          def LO.System.axiomT' {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.HasAxiomT 𝓢] (h : 𝓢 p) :
                          𝓢 p
                          Equations
                          @[simp]
                          theorem LO.System.axiomT'! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.HasAxiomT 𝓢] (h : 𝓢 ⊢! p) :
                          𝓢 ⊢! p
                          Equations
                          @[simp]
                          def LO.System.diaTc' {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.NegationEquiv 𝓢] [LO.System.HasDiaDuality 𝓢] [LO.System.HasAxiomT 𝓢] (h : 𝓢 p) :
                          𝓢 p
                          Equations
                          theorem LO.System.diaTc'! {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.NegationEquiv 𝓢] [LO.System.HasDiaDuality 𝓢] [LO.System.HasAxiomT 𝓢] (h : 𝓢 ⊢! p) :
                          𝓢 ⊢! p
                          def LO.System.axiomB {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasAxiomB 𝓢] :
                          𝓢 p p
                          Equations
                          @[simp]
                          theorem LO.System.axiomB! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasAxiomB 𝓢] :
                          𝓢 ⊢! p p
                          Equations
                          def LO.System.axiomD {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasAxiomD 𝓢] :
                          𝓢 p p
                          Equations
                          @[simp]
                          theorem LO.System.axiomD! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasAxiomD 𝓢] :
                          𝓢 ⊢! p p
                          Equations
                          Equations
                          • LO.System.instHasAxiomD₂ = { D₂ := LO.System.D₂_of_D }
                          Equations
                          • LO.System.axiomD₂ = LO.System.HasAxiomD₂.D₂
                          @[simp]
                          theorem LO.System.axiomD₂! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {𝓢 : S} [LO.System.HasAxiomD₂ 𝓢] :
                          Equations
                          • LO.System.instHasAxiomD = { D := fun (x : F) => LO.System.D_of_D₂ }
                          def LO.System.axiomFour {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasAxiomFour 𝓢] :
                          𝓢 p p
                          Equations
                          @[simp]
                          theorem LO.System.axiomFour! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasAxiomFour 𝓢] :
                          Equations
                          def LO.System.axiomFour' {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.HasAxiomFour 𝓢] (h : 𝓢 p) :
                          𝓢 p
                          Equations
                          def LO.System.axiomFour'! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.HasAxiomFour 𝓢] (h : 𝓢 ⊢! p) :
                          𝓢 ⊢! p
                          Equations
                          • =
                          Equations
                          Equations
                          Equations
                          Equations
                          • =
                          Equations
                          • LO.System.iff_Box_BoxBoxdot = LO.System.iffIntro LO.System.imply_Box_BoxBoxdot LO.System.imply_BoxBoxdot_Box
                          Equations
                          • One or more equations did not get rendered due to their size.
                          @[simp]
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Equations
                          def LO.System.iff_box_boxdot {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.HasAxiomT 𝓢] :
                          𝓢 p p
                          Equations
                          @[simp]
                          theorem LO.System.iff_box_boxdot! {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.HasAxiomT 𝓢] :
                          𝓢 ⊢! p p
                          Equations
                          def LO.System.axiomFive {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasAxiomFive 𝓢] :
                          𝓢 p p
                          Equations
                          @[simp]
                          theorem LO.System.axiomFive! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasAxiomFive 𝓢] :
                          Equations
                          def LO.System.axiomTc {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasAxiomTc 𝓢] :
                          𝓢 p p
                          Equations
                          @[simp]
                          theorem LO.System.axiomTc! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasAxiomTc 𝓢] :
                          𝓢 ⊢! p p
                          Equations
                          Equations
                          • LO.System.instHasAxiomFourOfHasAxiomTc = { Four := fun (x : F) => LO.System.axiomFour_of_Tc }
                          Equations
                          @[simp]
                          def LO.System.diaT' {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.NegationEquiv 𝓢] [LO.System.HasDiaDuality 𝓢] [LO.System.HasAxiomTc 𝓢] (h : 𝓢 p) :
                          𝓢 p
                          Equations
                          theorem LO.System.diaT'! {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.NegationEquiv 𝓢] [LO.System.HasDiaDuality 𝓢] [LO.System.HasAxiomTc 𝓢] (h : 𝓢 ⊢! p) :
                          𝓢 ⊢! p
                          def LO.System.axiomVer {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasAxiomVer 𝓢] :
                          𝓢 p
                          Equations
                          @[simp]
                          theorem LO.System.axiomVer! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasAxiomVer 𝓢] :
                          𝓢 ⊢! p
                          Equations
                          Equations
                          • LO.System.instHasAxiomTcOfHasAxiomVer = { Tc := fun (x : F) => LO.System.axiomTc_of_Ver }
                          Equations
                          • LO.System.instHasAxiomLOfHasAxiomVer = { L := fun (x : F) => LO.System.axiomL_of_Ver }
                          Equations
                          Equations
                          def LO.System.axiomL {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasAxiomL 𝓢] :
                          𝓢 (p p) p
                          Equations
                          @[simp]
                          theorem LO.System.axiomL! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasAxiomL 𝓢] :
                          𝓢 ⊢! (p p) p
                          Equations
                          Equations
                          • LO.System.instHasAxiomFourOfHasAxiomL = { Four := fun (x : F) => LO.System.axiomFour_of_L }
                          Equations
                          • One or more equations did not get rendered due to their size.
                          def LO.System.axiomH {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasAxiomH 𝓢] :
                          𝓢 (p p) p
                          Equations
                          @[simp]
                          theorem LO.System.axiomH! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasAxiomH 𝓢] :
                          𝓢 ⊢! (p p) p
                          Equations
                          def LO.System.loeb {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.BasicModalLogicalConnective F] [LO.System F S] {𝓢 : S} [self : LO.System.LoebRule 𝓢] {p : F} :
                          𝓢 p p𝓢 p

                          Alias of LO.System.LoebRule.loeb.

                          Equations
                          theorem LO.System.loeb! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.LoebRule 𝓢] :
                          𝓢 ⊢! p p𝓢 ⊢! p
                          theorem LO.System.henkin! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HenkinRule 𝓢] :
                          𝓢 ⊢! p p𝓢 ⊢! p
                          Equations
                          • LO.System.instHasAxiomLOfK4Loeb = { L := fun (x : F) => LO.System.axiomL_of_K4Loeb }
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Equations
                          Equations
                          • LO.System.instHasAxiomHOfHasAxiomL = { H := fun (x : F) => LO.System.axiomH_of_GL }
                          theorem LO.System.unnec! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Unnecessitation 𝓢] :
                          𝓢 ⊢! p𝓢 ⊢! p
                          def LO.System.multiunnec {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Unnecessitation 𝓢] {n : } :
                          𝓢 □^[n]p𝓢 p
                          Equations
                          • One or more equations did not get rendered due to their size.
                          theorem LO.System.multiunnec! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Unnecessitation 𝓢] {n : } :
                          𝓢 ⊢! □^[n]p𝓢 ⊢! p
                          Equations
                          • LO.System.instUnnecessitationOfHasAxiomT = { unnec := fun {p : F} (hp : 𝓢 p) => LO.System.axiomThp }
                          Equations
                          • One or more equations did not get rendered due to their size.
                          def LO.System.imply_boxdot_axiomT_of_imply_boxdot_boxdot {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] (h : 𝓢 p q) :
                          𝓢 p q q
                          Equations
                          • One or more equations did not get rendered due to their size.
                          theorem LO.System.imply_boxdot_axiomT_of_imply_boxdot_boxdot! {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {𝓢 : S} [LO.System.Classical 𝓢] (h : 𝓢 ⊢! p q) :
                          𝓢 ⊢! p q q
                          Equations
                          • One or more equations did not get rendered due to their size.
                          def LO.System.axiomGrz {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasAxiomGrz 𝓢] :
                          𝓢 ((p p) p) p
                          Equations
                          @[simp]
                          theorem LO.System.axiomGrz! {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.HasAxiomGrz 𝓢] :
                          𝓢 ⊢! ((p p) p) p
                          Equations
                          def LO.System.dhyp_imp {F : Type u_1} [LO.BasicModalLogicalConnective F] {S : Type u_2} [LO.System F S] {p : F} {q : F} {r : F} {𝓢 : S} [LO.System.Classical 𝓢] (h : 𝓢 p q) :
                          𝓢 (r p) r q
                          Equations
                          noncomputable def LO.System.lemma_Grz₁ {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.NegationEquiv 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] :
                          𝓢 p ((p (p p) (p (p p))) p (p p))
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Equations
                          Equations
                          • LO.System.instHasAxiomFour = { Four := fun (x : F) => LO.System.Four_of_Grz }
                          Equations
                          • LO.System.instHasAxiomT = { T := fun (x : F) => LO.System.T_of_Grz }
                          Equations
                          • One or more equations did not get rendered due to their size.
                          theorem LO.System.contextual_nec! {F : Type u_1} [LO.BasicModalLogicalConnective F] [DecidableEq F] {S : Type u_2} [LO.System F S] {p : F} {Γ : List F} {𝓢 : S} [LO.System.Classical 𝓢] [LO.System.Necessitation 𝓢] [LO.System.HasAxiomK 𝓢] (h : Γ ⊢[𝓢]! p) :
                          (□'Γ) ⊢[𝓢]! p
                          class LO.System.ModalDisjunctive {F : Type u_1} [LO.LogicalConnective F] [LO.Box F] {S : Type u_2} [LO.System F S] (𝓢 : S) :
                          Instances
                          theorem LO.System.ModalDisjunctive.modal_disjunctive {F : Type u_1} [LO.LogicalConnective F] [LO.Box F] {S : Type u_2} [LO.System F S] {𝓢 : S} [self : LO.System.ModalDisjunctive 𝓢] {p : F} {q : F} :
                          𝓢 ⊢! p q𝓢 ⊢! p 𝓢 ⊢! q
                          theorem LO.System.Context.provable_iff_boxed {F : Type u_1} [LO.LogicalConnective F] [LO.Box F] {S : Type u_2} [LO.System F S] [DecidableEq F] {𝓢 : S} [LO.System.Minimal 𝓢] {X : Set F} {p : F} :
                          (□''X) *⊢[𝓢]! p ∃ (Δ : List F), (q□'Δ, q □''X) (□'Δ) ⊢[𝓢]! p