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
                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
                                    @[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✝) :
                                                      𝓓₁ ≤ₛ 𝓓₂