Documentation

Logic.Modal.Standard.Deduction

structure LO.Modal.Standard.InferenceRule (α : Type u_2) :
Type u_2

instance of inference rule

Instances For

    Empty antecedent rule can be simply regarded as axiom rule. However, union of all these rules including to DeductionParameter.rules would be too complex for implementation and induction, so more than one antecedent is required.

    @[reducible, inline]
    Equations
    Instances For
      @[reducible, inline]
      Equations
      Instances For
        @[reducible, inline]
        Equations
        Instances For
          @[reducible, inline]
          Equations
          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                Equations
                • LO.Modal.Standard.Deduction.instSystemFormulaDeductionParameter = { Prf := LO.Modal.Standard.Deduction }
                Equations
                • LO.Modal.Standard.Deduction.instLukasiewiczDeductionParameterFormula = LO.System.Lukasiewicz.mk
                Equations
                • LO.Modal.Standard.Deduction.instClassicalDeductionParameterFormula = LO.System.Classical.mk
                Equations
                • LO.Modal.Standard.Deduction.instHasDiaDualityDeductionParameterFormula = inferInstance
                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
                • One or more equations did not get rendered due to their size.
                instance LO.Modal.Standard.DeductionParameter.instHasNecessitationOfHasNecOnly :
                {α : Type u_2} → {Λ : LO.Modal.Standard.DeductionParameter α} → [h : Λ.HasNecOnly] → Λ.HasNecessitation
                Equations
                • LO.Modal.Standard.DeductionParameter.instHasNecessitationOfHasNecOnly = { has_necessitation := }
                Equations
                noncomputable def LO.Modal.Standard.Deduction.inducition! {α : Type u_1} {Λ : LO.Modal.Standard.DeductionParameter α} {motive : (p : LO.Modal.Standard.Formula α) → Λ ⊢! pSort u_2} (hRules : (r : LO.Modal.Standard.InferenceRule α) → (hr : r Rl(Λ)) → (hant : ∀ {p : LO.Modal.Standard.Formula α}, p r.antecedentsΛ ⊢! p) → ({p : LO.Modal.Standard.Formula α} → (hp : p r.antecedents) → motive p )motive r.consequence ) (hMaxm : {p : LO.Modal.Standard.Formula α} → (h : p Ax(Λ)) → motive p ) (hMdp : {p q : LO.Modal.Standard.Formula α} → {hpq : Λ ⊢! p q} → {hp : Λ ⊢! p} → motive (p q) hpqmotive p hpmotive q ) (hImply₁ : {p q : LO.Modal.Standard.Formula α} → motive (p q p) ) (hImply₂ : {p q r : LO.Modal.Standard.Formula α} → motive ((p q r) (p q) p r) ) (hElimContra : {p q : LO.Modal.Standard.Formula α} → motive (LO.Axioms.ElimContra p q) ) {p : LO.Modal.Standard.Formula α} (d : Λ ⊢! p) :
                motive p d
                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  noncomputable def LO.Modal.Standard.Deduction.inducition_with_necOnly! {α : Type u_1} {Λ : LO.Modal.Standard.DeductionParameter α} [Λ.HasNecOnly] {motive : (p : LO.Modal.Standard.Formula α) → Λ ⊢! pProp} (hMaxm : ∀ {p : LO.Modal.Standard.Formula α} (h : p Ax(Λ)), motive p ) (hMdp : ∀ {p q : LO.Modal.Standard.Formula α} {hpq : Λ ⊢! p q} {hp : Λ ⊢! p}, motive (p q) hpqmotive p hpmotive q ) (hNec : ∀ {p : LO.Modal.Standard.Formula α} {hp : Λ ⊢! p}, motive p hpmotive (p) ) (hImply₁ : ∀ {p q : LO.Modal.Standard.Formula α}, motive (p q p) ) (hImply₂ : ∀ {p q r : LO.Modal.Standard.Formula α}, motive ((p q r) (p q) p r) ) (hElimContra : ∀ {p q : LO.Modal.Standard.Formula α}, motive (LO.Axioms.ElimContra p q) ) {p : LO.Modal.Standard.Formula α} (d : Λ ⊢! p) :
                  motive p d

                  Useful induction for normal modal logic (because its inference rule is necessitation only)

                  Equations
                  • =
                  Instances For
                    @[reducible, inline]
                    Equations
                    Instances For
                      @[reducible, inline]
                      Equations
                      Instances For
                        Equations
                        • LO.Modal.Standard.DeductionParameter.instIsNormalK = LO.Modal.Standard.DeductionParameter.IsNormal.mk
                        @[reducible, inline]
                        Equations
                        Instances For
                          Equations
                          • LO.Modal.Standard.DeductionParameter.instIsNormalNormal = LO.Modal.Standard.DeductionParameter.IsNormal.mk
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            @[reducible, inline]
                            Equations
                            Instances For
                              @[reducible, inline]
                              Equations
                              Instances For
                                @[reducible, inline]
                                Equations
                                Instances For
                                  Equations
                                  • LO.Modal.Standard.DeductionParameter.instKDFormulaKD = LO.System.KD.mk
                                  Equations
                                  @[reducible, inline]
                                  Equations
                                  Instances For
                                    Equations
                                    • LO.Modal.Standard.DeductionParameter.instK4FormulaK4 = LO.System.K4.mk
                                    @[reducible, inline]
                                    Equations
                                    Instances For
                                      @[reducible, inline]
                                      Equations
                                      Instances For
                                        Equations
                                        • LO.Modal.Standard.DeductionParameter.instS4FormulaS4 = LO.System.S4.mk
                                        @[reducible, inline]
                                        Equations
                                        Instances For
                                          Equations
                                          • LO.Modal.Standard.DeductionParameter.instIsNormalS5 = LO.Modal.Standard.DeductionParameter.IsNormal.mk
                                          Equations
                                          • LO.Modal.Standard.DeductionParameter.instTrivFormulaTriv = LO.System.Triv.mk
                                          Equations
                                          • LO.Modal.Standard.DeductionParameter.instVerFormulaVer = LO.System.Ver.mk
                                          @[reducible, inline]
                                          Equations
                                          Instances For
                                            Equations
                                            • LO.Modal.Standard.DeductionParameter.instGLFormulaGL = LO.System.GL.mk
                                            Equations
                                            • LO.Modal.Standard.DeductionParameter.instGrzFormulaGrz = LO.System.Grz.mk
                                            Equations
                                            • LO.Modal.Standard.DeductionParameter.instK4HFormulaK4H = LO.System.K4H.mk
                                            @[reducible, inline]
                                            Equations
                                            Instances For
                                              Equations
                                              • LO.Modal.Standard.DeductionParameter.instHasAxiomKK4Loeb = { has_axiomK := }
                                              Equations
                                              • LO.Modal.Standard.DeductionParameter.instHasNecessitationK4Loeb = { has_necessitation := }
                                              Equations
                                              • LO.Modal.Standard.DeductionParameter.instHasLoebRuleK4Loeb = { has_loeb := }
                                              Equations
                                              • LO.Modal.Standard.DeductionParameter.instK4LoebFormulaK4Loeb = LO.System.K4Loeb.mk
                                              @[reducible, inline]
                                              Equations
                                              Instances For
                                                Equations
                                                • LO.Modal.Standard.DeductionParameter.instHasAxiomKK4Henkin = { has_axiomK := }
                                                Equations
                                                • LO.Modal.Standard.DeductionParameter.instHasNecessitationK4Henkin = { has_necessitation := }
                                                Equations
                                                • LO.Modal.Standard.DeductionParameter.instHasHenkinRuleK4Henkin = { has_henkin := }
                                                Equations
                                                • LO.Modal.Standard.DeductionParameter.instK4HenkinFormulaK4Henkin = LO.System.K4Henkin.mk
                                                @[reducible, inline]

                                                Solovey's Truth Provability Logic, remark necessitation is not permitted.

                                                Equations
                                                Instances For
                                                  Equations
                                                  Equations
                                                  Equations
                                                  @[reducible, inline]

                                                  Logic of Pure Necessitation

                                                  Equations
                                                  Instances For
                                                    Equations
                                                    • LO.Modal.Standard.DeductionParameter.instHasNecOnlyN = { has_necessitation_only := }
                                                    theorem LO.Modal.Standard.normal_reducible {α : Type u_1} [DecidableEq α] {Λ₁ : LO.Modal.Standard.DeductionParameter α} {Λ₂ : LO.Modal.Standard.DeductionParameter α} [Λ₁.IsNormal] [Λ₂.IsNormal] (hMaxm : ∀ {p : LO.Modal.Standard.Formula α}, p Ax(Λ₁)Λ₂ ⊢! p) :
                                                    Λ₁ ≤ₛ Λ₂
                                                    theorem LO.Modal.Standard.normal_reducible_subset {α : Type u_1} [DecidableEq α] {Λ₁ : LO.Modal.Standard.DeductionParameter α} {Λ₂ : LO.Modal.Standard.DeductionParameter α} [Λ₁.IsNormal] [Λ₂.IsNormal] (hSubset : autoParam (Ax(Λ₁) Ax(Λ₂)) _auto✝) :
                                                    Λ₁ ≤ₛ Λ₂