Documentation

Foundation.Logic.HilbertStyle.Lukasiewicz

Instances
    theorem LO.LukasiewiczAbbrev.or {F : Type u_1} [LO.LogicalConnective F] [self : LO.LukasiewiczAbbrev F] {p : F} {q : F} :
    p q = p q
    theorem LO.LukasiewiczAbbrev.and {F : Type u_1} [LO.LogicalConnective F] [self : LO.LukasiewiczAbbrev F] {p : F} {q : F} :
    p q = (p q)
    Equations
    • LO.instNegAbbrevOfLukasiewiczAbbrev = { neg := }
    Equations
    Instances For
      Equations
      • LO.System.Lukasiewicz.instHasAxiomVerum = { verum := LO.System.Lukasiewicz.verum }
      def LO.System.Lukasiewicz.dne {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} [LO.System.Lukasiewicz 𝓢] :
      𝓢 p p
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        Equations
        • LO.System.Lukasiewicz.instHasAxiomDNE = { dne := fun (p : F) => LO.System.Lukasiewicz.dne }
        def LO.System.Lukasiewicz.dni {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} [LO.System.Lukasiewicz 𝓢] :
        𝓢 p p
        Equations
        • LO.System.Lukasiewicz.dni = let_fun d₁ := LO.System.elim_contra; let_fun d₂ := LO.System.Lukasiewicz.dne; d₁d₂
        Instances For
          def LO.System.Lukasiewicz.explode {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} [LO.System.Lukasiewicz 𝓢] (h₁ : 𝓢 p) (h₂ : 𝓢 p) :
          𝓢 q
          Equations
          Instances For
            def LO.System.Lukasiewicz.explodeHyp {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} {r : F} [LO.System.Lukasiewicz 𝓢] (h₁ : 𝓢 p q) (h₂ : 𝓢 p q) :
            𝓢 p r
            Equations
            Instances For
              def LO.System.Lukasiewicz.explodeHyp₂ {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} {r : F} {s : F} [LO.System.Lukasiewicz 𝓢] (h₁ : 𝓢 p q r) (h₂ : 𝓢 p q r) :
              𝓢 p q s
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def LO.System.Lukasiewicz.efq {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} [LO.System.Lukasiewicz 𝓢] :
                𝓢 p
                Equations
                • LO.System.Lukasiewicz.efq = let_fun this := LO.System.Lukasiewicz.explodeHyp; this (.mpr LO.System.imply₁) (.mpr LO.System.imply₁)
                Instances For
                  Equations
                  • LO.System.Lukasiewicz.instHasAxiomEFQ = { efq := fun (p : F) => LO.System.Lukasiewicz.efq }
                  def LO.System.Lukasiewicz.impSwap {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} {r : F} [LO.System.Lukasiewicz 𝓢] (h : 𝓢 p q r) :
                  𝓢 q p r
                  Equations
                  Instances For
                    def LO.System.Lukasiewicz.mdpIn₁ {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} [LO.System.Lukasiewicz 𝓢] :
                    𝓢 (p q) p q
                    Equations
                    Instances For
                      def LO.System.Lukasiewicz.mdpIn₂ {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} [LO.System.Lukasiewicz 𝓢] :
                      𝓢 p (p q) q
                      Equations
                      Instances For
                        def LO.System.Lukasiewicz.mdp₂In₁ {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} {r : F} [LO.System.Lukasiewicz 𝓢] :
                        𝓢 (p q r) (p q) p r
                        Equations
                        • LO.System.Lukasiewicz.mdp₂In₁ = LO.System.imply₂
                        Instances For
                          def LO.System.Lukasiewicz.mdp₂In₂ {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} {r : F} [LO.System.Lukasiewicz 𝓢] :
                          𝓢 (p q) (p q r) p r
                          Equations
                          Instances For
                            def LO.System.Lukasiewicz.impTrans'₁ {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} {r : F} [LO.System.Lukasiewicz 𝓢] (bpq : 𝓢 p q) :
                            𝓢 (q r) p r
                            Equations
                            Instances For
                              def LO.System.Lukasiewicz.impTrans'₂ {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} {r : F} [LO.System.Lukasiewicz 𝓢] (bqr : 𝓢 q r) :
                              𝓢 (p q) p r
                              Equations
                              Instances For
                                def LO.System.Lukasiewicz.impTrans₂ {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} {r : F} [LO.System.Lukasiewicz 𝓢] :
                                𝓢 (q r) (p q) p r
                                Equations
                                Instances For
                                  def LO.System.Lukasiewicz.impTrans₁ {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} {r : F} [LO.System.Lukasiewicz 𝓢] :
                                  𝓢 (p q) (q r) p r
                                  Equations
                                  Instances For
                                    def LO.System.Lukasiewicz.dhypBoth {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} {r : F} [LO.System.Lukasiewicz 𝓢] (h : 𝓢 q r) :
                                    𝓢 (p q) p r
                                    Equations
                                    Instances For
                                      def LO.System.Lukasiewicz.explode₂₁ {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} [LO.System.Lukasiewicz 𝓢] :
                                      𝓢 p p q
                                      Equations
                                      Instances For
                                        def LO.System.Lukasiewicz.explode₁₂ {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} [LO.System.Lukasiewicz 𝓢] :
                                        𝓢 p p q
                                        Equations
                                        Instances For
                                          def LO.System.Lukasiewicz.contraIntro {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} [LO.System.Lukasiewicz 𝓢] :
                                          𝓢 (p q) q p
                                          Equations
                                          • LO.System.Lukasiewicz.contraIntro = .mpr LO.System.Lukasiewicz.impTrans₁
                                          Instances For
                                            def LO.System.Lukasiewicz.contraIntro' {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} [LO.System.Lukasiewicz 𝓢] :
                                            𝓢 p q𝓢 q p
                                            Equations
                                            Instances For
                                              def LO.System.Lukasiewicz.andElim₁ {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} [LO.System.Lukasiewicz 𝓢] :
                                              𝓢 p q p
                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For
                                                Equations
                                                • LO.System.Lukasiewicz.instHasAxiomAndElim₁ = { and₁ := fun (p q : F) => LO.System.Lukasiewicz.andElim₁ }
                                                def LO.System.Lukasiewicz.andElim₂ {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} [LO.System.Lukasiewicz 𝓢] :
                                                𝓢 p q q
                                                Equations
                                                Instances For
                                                  Equations
                                                  • LO.System.Lukasiewicz.instHasAxiomAndElim₂ = { and₂ := fun (p q : F) => LO.System.Lukasiewicz.andElim₂ }
                                                  def LO.System.Lukasiewicz.andImplyLeft {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p₁ : F} {p₂ : F} {q : F} [LO.System.Lukasiewicz 𝓢] :
                                                  𝓢 (p₁ q) p₁ p₂ q
                                                  Equations
                                                  Instances For
                                                    def LO.System.Lukasiewicz.andImplyLeft' {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p₁ : F} {p₂ : F} {q : F} [LO.System.Lukasiewicz 𝓢] (h : 𝓢 p₁ q) :
                                                    𝓢 p₁ p₂ q
                                                    Equations
                                                    Instances For
                                                      def LO.System.Lukasiewicz.andImplyRight {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p₁ : F} {p₂ : F} {q : F} [LO.System.Lukasiewicz 𝓢] :
                                                      𝓢 (p₂ q) p₁ p₂ q
                                                      Equations
                                                      Instances For
                                                        def LO.System.Lukasiewicz.andImplyRight' {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p₁ : F} {p₂ : F} {q : F} [LO.System.Lukasiewicz 𝓢] (h : 𝓢 p₂ q) :
                                                        𝓢 p₁ p₂ q
                                                        Equations
                                                        Instances For
                                                          def LO.System.Lukasiewicz.andInst'' {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} [LO.System.Lukasiewicz 𝓢] (hp : 𝓢 p) (hq : 𝓢 q) :
                                                          𝓢 p q
                                                          Equations
                                                          • One or more equations did not get rendered due to their size.
                                                          Instances For
                                                            def LO.System.Lukasiewicz.andInst {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} [LO.System.Lukasiewicz 𝓢] :
                                                            𝓢 p q p q
                                                            Equations
                                                            • One or more equations did not get rendered due to their size.
                                                            Instances For
                                                              Equations
                                                              • LO.System.Lukasiewicz.instHasAxiomAndInst = { and₃ := fun (p q : F) => LO.System.Lukasiewicz.andInst }
                                                              def LO.System.Lukasiewicz.orInst₁ {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} [LO.System.Lukasiewicz 𝓢] :
                                                              𝓢 p p q
                                                              Equations
                                                              • LO.System.Lukasiewicz.orInst₁ = .mpr LO.System.Lukasiewicz.explode₁₂
                                                              Instances For
                                                                Equations
                                                                • LO.System.Lukasiewicz.instHasAxiomOrInst₁ = { or₁ := fun (p q : F) => LO.System.Lukasiewicz.orInst₁ }
                                                                def LO.System.Lukasiewicz.orInst₂ {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} [LO.System.Lukasiewicz 𝓢] :
                                                                𝓢 q p q
                                                                Equations
                                                                • LO.System.Lukasiewicz.orInst₂ = .mpr LO.System.imply₁
                                                                Instances For
                                                                  Equations
                                                                  • LO.System.Lukasiewicz.instHasAxiomOrInst₂ = { or₂ := fun (p q : F) => LO.System.Lukasiewicz.orInst₂ }
                                                                  def LO.System.Lukasiewicz.orElim {S : Type u_1} {F : Type u_2} [LO.LogicalConnective F] [LO.LukasiewiczAbbrev F] [LO.System F S] {𝓢 : S} {p : F} {q : F} {r : F} [LO.System.Lukasiewicz 𝓢] :
                                                                  𝓢 (p r) (q r) p q r
                                                                  Equations
                                                                  • One or more equations did not get rendered due to their size.
                                                                  Instances For
                                                                    Equations
                                                                    • LO.System.Lukasiewicz.instHasAxiomOrElim = { or₃ := fun (p q r : F) => LO.System.Lukasiewicz.orElim }
                                                                    Equations
                                                                    • LO.System.Lukasiewicz.instClassical = LO.System.Classical.mk