Documentation

Foundation.FirstOrder.Intuitionistic.Deduction

Hilbert-style deduction system for first-order intuitionistic logic #

@[reducible, inline]
Equations
Instances For
    @[reducible, inline]
    Equations
    Instances For
      Instances For
        @[implicit_reducible]
        Equations
        @[simp]
        theorem LO.FirstOrder.Hilbertᵢ.mem_mk {L : Language} {φ : Propositionᵢ L} (s : Set (Propositionᵢ L)) (h : ∀ {φ : Propositionᵢ L}, φ s∀ (f : SyntacticTerm L), (Rewriting.app (Rew.rewrite f)) φ s) :
        φ { axiomSet := s, rewrite_closed := h } φ s
        Equations
        Instances For
          Equations
          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              Instances For
                @[implicit_reducible]
                Equations
                • One or more equations did not get rendered due to their size.
                @[implicit_reducible]
                Equations
                • One or more equations did not get rendered due to their size.
                def LO.FirstOrder.HilbertProofᵢ.cast {L : Language} {Λ : Hilbertᵢ L} {φ ψ : Propositionᵢ L} (b : Λ ⊢! φ) (e : φ = ψ := by simp) :
                Λ ⊢! ψ
                Equations
                Instances For
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[simp]
                    theorem LO.FirstOrder.HilbertProofᵢ.depth_eaxm {L : Language} {Λ : Hilbertᵢ L} {φ : Propositionᵢ L} (h : φ Λ) :
                    (eaxm h).depth = 0
                    @[simp]
                    theorem LO.FirstOrder.HilbertProofᵢ.depth_mdp {L : Language} {Λ : Hilbertᵢ L} {φ ψ : Propositionᵢ L} (b : Λ ⊢! φ 🡒 ψ) (d : Λ ⊢! φ) :
                    (mdp b d).depth = max (depth b) (depth d) + 1
                    @[simp]
                    @[simp]
                    theorem LO.FirstOrder.HilbertProofᵢ.depth_implyS {L : Language} {Λ : Hilbertᵢ L} (φ ψ χ : Propositionᵢ L) :
                    (implyS φ ψ χ).depth = 0
                    @[simp]
                    @[simp]
                    @[simp]
                    theorem LO.FirstOrder.HilbertProofᵢ.depth_or₃ {L : Language} {Λ : Hilbertᵢ L} (φ ψ χ : Propositionᵢ L) :
                    (or₃ φ ψ χ).depth = 0
                    @[simp]
                    @[simp]
                    @[simp]
                    theorem LO.FirstOrder.HilbertProofᵢ.depth_cast {L : Language} {Λ : Hilbertᵢ L} {φ ψ : Propositionᵢ L} (b : Λ ⊢! φ) (e : φ = ψ) :
                    @[simp]
                    theorem LO.FirstOrder.HilbertProofᵢ.depth_mdp' {L : Language} {Λ : Hilbertᵢ L} {φ ψ : Propositionᵢ L} (b : Λ ⊢! φ 🡒 ψ) (d : Λ ⊢! φ) :
                    depth (b⨀!d) = max (depth b) (depth d) + 1
                    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
                        @[irreducible]
                        Equations
                        Instances For
                          @[simp]
                          def LO.FirstOrder.HilbertProofᵢ.ofLE {L : Language} {φ : Propositionᵢ L} {Λ₁ Λ₂ : Hilbertᵢ L} (h : Λ₁ Λ₂) :
                          Λ₁ ⊢! φΛ₂ ⊢! φ
                          Equations
                          Instances For
                            theorem LO.FirstOrder.HilbertProofᵢ.of_le {L : Language} {φ : Propositionᵢ L} {Λ₁ Λ₂ : Hilbertᵢ L} (h : Λ₁ Λ₂) :
                            Λ₁ φΛ₂ φ
                            structure LO.FirstOrder.Theoryᵢ (L : Language) (𝓗 : Hilbertᵢ L) :
                            Instances For
                              theorem LO.FirstOrder.Theoryᵢ.ext_iff {L : Language} {𝓗 : Hilbertᵢ L} {x y : Theoryᵢ L 𝓗} :
                              x = y x.theory = y.theory
                              theorem LO.FirstOrder.Theoryᵢ.ext {L : Language} {𝓗 : Hilbertᵢ L} {x y : Theoryᵢ L 𝓗} (theory : x.theory = y.theory) :
                              x = y
                              theorem LO.FirstOrder.Theoryᵢ.mem_def {L : Language} {𝓗 : Hilbertᵢ L} {T : Theoryᵢ L 𝓗} {φ : Sentenceᵢ L} :
                              φ T φ T.theory
                              @[simp]
                              theorem LO.FirstOrder.Theoryᵢ.mem_mk_iff {L : Language} {𝓗 : Hilbertᵢ L} {φ : Sentenceᵢ L} (s : Set (Sentenceᵢ L)) :
                              φ { theory := s } φ s
                              @[implicit_reducible]
                              Equations
                              • One or more equations did not get rendered due to their size.
                              @[simp]
                              def LO.FirstOrder.Theoryᵢ.Proof.cast! {L : Language} {𝓗 : Hilbertᵢ L} {T : Theoryᵢ L 𝓗} {φ ψ : Sentenceᵢ L} (e : φ = ψ) :
                              T ⊢! φT ⊢! ψ
                              Equations
                              Instances For
                                @[implicit_reducible]
                                Equations
                                • One or more equations did not get rendered due to their size.
                                @[implicit_reducible]
                                Equations
                                • One or more equations did not get rendered due to their size.
                                @[implicit_reducible]
                                Equations
                                • One or more equations did not get rendered due to their size.