@[reducible, inline]
Equations
Instances For
- axiomSet : Set (SyntacticFormulaᵢ L)
- rewrite_closed {φ : SyntacticFormulaᵢ L} : φ ∈ self.axiomSet → ∀ (f : ℕ → SyntacticTerm L), (Rewriting.app (Rew.rewrite f)) φ ∈ self.axiomSet
Instances For
instance
LO.FirstOrder.Hilbertᵢ.instSetLikeSyntacticFormulaᵢ
{L : Language}
:
SetLike (Hilbertᵢ L) (SyntacticFormulaᵢ L)
Equations
- LO.FirstOrder.Hilbertᵢ.instSetLikeSyntacticFormulaᵢ = { coe := LO.FirstOrder.Hilbertᵢ.axiomSet, coe_injective' := ⋯ }
@[simp]
theorem
LO.FirstOrder.Hilbertᵢ.mem_mk
{L : Language}
{φ : SyntacticFormulaᵢ L}
(s : Set (SyntacticFormulaᵢ L))
(h : ∀ {φ : SyntacticFormulaᵢ L}, φ ∈ s → ∀ (f : ℕ → SyntacticTerm L), (Rewriting.app (Rew.rewrite f)) φ ∈ s)
:
Equations
- LO.FirstOrder.Hilbertᵢ.«term𝗠𝗶𝗻¹» = Lean.ParserDescr.node `LO.FirstOrder.Hilbertᵢ.«term𝗠𝗶𝗻¹» 1024 (Lean.ParserDescr.symbol "𝗠𝗶𝗻¹")
Instances For
Equations
- 𝗜𝗻𝘁¹ = { axiomSet := {x : LO.FirstOrder.SyntacticFormulaᵢ L | ∃ (φ : LO.FirstOrder.SyntacticFormulaᵢ L), LO.Axioms.EFQ φ = x}, rewrite_closed := ⋯ }
Instances For
Equations
- LO.FirstOrder.Hilbertᵢ.«term𝗜𝗻𝘁¹» = Lean.ParserDescr.node `LO.FirstOrder.Hilbertᵢ.«term𝗜𝗻𝘁¹» 1024 (Lean.ParserDescr.symbol "𝗜𝗻𝘁¹")
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- LO.FirstOrder.Hilbertᵢ.«term𝗖𝗹¹» = Lean.ParserDescr.node `LO.FirstOrder.Hilbertᵢ.«term𝗖𝗹¹» 1024 (Lean.ParserDescr.symbol "𝗖𝗹¹")
Instances For
- eaxm {L : Language} {Λ : Hilbertᵢ L} {φ : SyntacticFormulaᵢ L} : φ ∈ Λ → HilbertProofᵢ Λ φ
- mdp {L : Language} {Λ : Hilbertᵢ L} {φ ψ : SyntacticFormulaᵢ L} : HilbertProofᵢ Λ (φ ➝ ψ) → HilbertProofᵢ Λ φ → HilbertProofᵢ Λ ψ
- gen {L : Language} {Λ : Hilbertᵢ L} {φ : SyntacticSemiformulaᵢ L (0 + 1)} : HilbertProofᵢ Λ (Rewriting.free φ) → HilbertProofᵢ Λ (∀' φ)
- verum {L : Language} {Λ : Hilbertᵢ L} : HilbertProofᵢ Λ ⊤
- imply₁ {L : Language} {Λ : Hilbertᵢ L} (φ ψ : SyntacticFormulaᵢ L) : HilbertProofᵢ Λ (φ ➝ ψ ➝ φ)
- imply₂ {L : Language} {Λ : Hilbertᵢ L} (φ ψ χ : SyntacticFormulaᵢ L) : HilbertProofᵢ Λ ((φ ➝ ψ ➝ χ) ➝ (φ ➝ ψ) ➝ φ ➝ χ)
- and₁ {L : Language} {Λ : Hilbertᵢ L} (φ ψ : SyntacticFormulaᵢ L) : HilbertProofᵢ Λ (φ ⋏ ψ ➝ φ)
- and₂ {L : Language} {Λ : Hilbertᵢ L} (φ ψ : SyntacticFormulaᵢ L) : HilbertProofᵢ Λ (φ ⋏ ψ ➝ ψ)
- and₃ {L : Language} {Λ : Hilbertᵢ L} (φ ψ : SyntacticFormulaᵢ L) : HilbertProofᵢ Λ (φ ➝ ψ ➝ φ ⋏ ψ)
- or₁ {L : Language} {Λ : Hilbertᵢ L} (φ ψ : SyntacticFormulaᵢ L) : HilbertProofᵢ Λ (φ ➝ φ ⋎ ψ)
- or₂ {L : Language} {Λ : Hilbertᵢ L} (φ ψ : SyntacticFormulaᵢ L) : HilbertProofᵢ Λ (ψ ➝ φ ⋎ ψ)
- or₃ {L : Language} {Λ : Hilbertᵢ L} (φ ψ χ : SyntacticFormulaᵢ L) : HilbertProofᵢ Λ ((φ ➝ χ) ➝ (ψ ➝ χ) ➝ φ ⋎ ψ ➝ χ)
- all₁ {L : Language} {Λ : Hilbertᵢ L} (φ : SyntacticSemiformulaᵢ L (0 + 1)) (t : Semiterm L ℕ 0) : HilbertProofᵢ Λ (∀' φ ➝ φ/[t])
- all₂ {L : Language} {Λ : Hilbertᵢ L} (φ : SyntacticSemiformulaᵢ L 0) (ψ : SyntacticSemiformulaᵢ L (0 + 1)) : HilbertProofᵢ Λ (∀' (φ/[] ➝ ψ) ➝ φ ➝ ∀' ψ)
- ex₁ {L : Language} {Λ : Hilbertᵢ L} (t : Semiterm L ℕ 0) (φ : SyntacticSemiformulaᵢ L (Nat.succ 0)) : HilbertProofᵢ Λ (φ/[t] ➝ ∃' φ)
- ex₂ {L : Language} {Λ : Hilbertᵢ L} (φ : SyntacticSemiformulaᵢ L (0 + 1)) (ψ : SyntacticSemiformulaᵢ L 0) : HilbertProofᵢ Λ (∀' (φ ➝ ψ/[]) ➝ ∃' φ ➝ ψ)
Instances For
instance
LO.FirstOrder.instEntailmentHilbertᵢSyntacticFormulaᵢ
{L : Language}
:
Entailment (Hilbertᵢ L) (SyntacticFormulaᵢ L)
instance
LO.FirstOrder.HilbertProofᵢ.instModusPonensHilbertᵢSyntacticFormulaᵢ
{L : Language}
(Λ : Hilbertᵢ L)
:
Equations
instance
LO.FirstOrder.HilbertProofᵢ.instMinimalHilbertᵢSyntacticFormulaᵢ
{L : Language}
(Λ : Hilbertᵢ L)
:
Equations
- One or more equations did not get rendered due to their size.
instance
LO.FirstOrder.HilbertProofᵢ.instIntHilbertᵢSyntacticFormulaᵢIntuitionistic
{L : Language}
:
Equations
- One or more equations did not get rendered due to their size.
def
LO.FirstOrder.HilbertProofᵢ.cast
{L : Language}
{Λ : Hilbertᵢ L}
{φ ψ : SyntacticFormulaᵢ L}
(b : Λ ⊢! φ)
(e : φ = ψ)
:
Equations
- LO.FirstOrder.HilbertProofᵢ.cast b e = e ▸ b
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}
{φ : SyntacticFormulaᵢ L}
(h : φ ∈ Λ)
:
@[simp]
theorem
LO.FirstOrder.HilbertProofᵢ.depth_gen
{L : Language}
{Λ : Hilbertᵢ L}
{φ : SyntacticSemiformulaᵢ L (0 + 1)}
(b : Λ ⊢! Rewriting.free φ)
:
@[simp]
theorem
LO.FirstOrder.HilbertProofᵢ.depth_imply₁
{L : Language}
{Λ : Hilbertᵢ L}
(φ ψ : SyntacticFormulaᵢ L)
:
@[simp]
theorem
LO.FirstOrder.HilbertProofᵢ.depth_imply₂
{L : Language}
{Λ : Hilbertᵢ L}
(φ ψ χ : SyntacticFormulaᵢ L)
:
@[simp]
theorem
LO.FirstOrder.HilbertProofᵢ.depth_and₁
{L : Language}
{Λ : Hilbertᵢ L}
(φ ψ : SyntacticFormulaᵢ L)
:
@[simp]
theorem
LO.FirstOrder.HilbertProofᵢ.depth_and₂
{L : Language}
{Λ : Hilbertᵢ L}
(φ ψ : SyntacticFormulaᵢ L)
:
@[simp]
theorem
LO.FirstOrder.HilbertProofᵢ.depth_and₃
{L : Language}
{Λ : Hilbertᵢ L}
(φ ψ : SyntacticFormulaᵢ L)
:
@[simp]
theorem
LO.FirstOrder.HilbertProofᵢ.depth_or₁
{L : Language}
{Λ : Hilbertᵢ L}
(φ ψ : SyntacticFormulaᵢ L)
:
@[simp]
theorem
LO.FirstOrder.HilbertProofᵢ.depth_or₂
{L : Language}
{Λ : Hilbertᵢ L}
(φ ψ : SyntacticFormulaᵢ L)
:
@[simp]
theorem
LO.FirstOrder.HilbertProofᵢ.depth_or₃
{L : Language}
{Λ : Hilbertᵢ L}
(φ ψ χ : SyntacticFormulaᵢ L)
:
@[simp]
theorem
LO.FirstOrder.HilbertProofᵢ.depth_all₂
{L : Language}
{Λ : Hilbertᵢ L}
(φ : SyntacticSemiformulaᵢ L 0)
(ψ : SyntacticSemiformulaᵢ L (0 + 1))
:
@[simp]
theorem
LO.FirstOrder.HilbertProofᵢ.depth_ex₂
{L : Language}
{Λ : Hilbertᵢ L}
(φ : SyntacticSemiformulaᵢ L (0 + 1))
(ψ : SyntacticSemiformulaᵢ L 0)
:
@[simp]
theorem
LO.FirstOrder.HilbertProofᵢ.depth_cast
{L : Language}
{Λ : Hilbertᵢ L}
{φ ψ : SyntacticFormulaᵢ L}
(b : Λ ⊢! φ)
(e : φ = ψ)
:
def
LO.FirstOrder.HilbertProofᵢ.specialize
{L : Language}
{Λ : Hilbertᵢ L}
{φ : SyntacticSemiformulaᵢ L (0 + 1)}
(b : Λ ⊢! ∀' φ)
(t : Semiterm L ℕ 0)
:
Equations
Instances For
def
LO.FirstOrder.HilbertProofᵢ.implyAll
{L : Language}
{Λ : Hilbertᵢ L}
{φ : SyntacticSemiformulaᵢ L 0}
{ψ : SyntacticSemiformulaᵢ L (0 + 1)}
(b : Λ ⊢! Rewriting.shift φ ➝ Rewriting.free ψ)
:
Equations
Instances For
def
LO.FirstOrder.HilbertProofᵢ.geNOverFiniteContext
{L : Language}
{Λ : Hilbertᵢ L}
{Γ : List (SyntacticSemiformulaᵢ L 0)}
{φ : SyntacticSemiformulaᵢ L (0 + 1)}
(b : Rewriting.shifts Γ ⊢[Λ]! Rewriting.free φ)
:
Equations
Instances For
def
LO.FirstOrder.HilbertProofᵢ.specializeOverContext
{L : Language}
{Λ : Hilbertᵢ L}
{Γ : List (SyntacticSemiformulaᵢ L 0)}
{φ : SyntacticSemiformulaᵢ L (0 + 1)}
(b : Γ ⊢[Λ]! ∀' φ)
(t : Semiterm L ℕ 0)
:
Equations
Instances For
def
LO.FirstOrder.HilbertProofᵢ.allIffAllOfIff
{L : Language}
{Λ : Hilbertᵢ L}
{φ ψ : SyntacticSemiformulaᵢ L (0 + 1)}
(b : Λ ⊢! Rewriting.free φ ⭤ Rewriting.free ψ)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[irreducible]
def
LO.FirstOrder.HilbertProofᵢ.dneOfNegative
{L : Language}
{Λ : Hilbertᵢ L}
[L.DecidableEq]
{φ : SyntacticFormulaᵢ L}
:
Semiformulaᵢ.IsNegative φ → Λ ⊢! ∼∼φ ➝ φ
Equations
- One or more equations did not get rendered due to their size.
- LO.FirstOrder.HilbertProofᵢ.dneOfNegative x_2 = LO.Entailment.CNNOO
Instances For
def
LO.FirstOrder.HilbertProofᵢ.ofDNOfNegative
{L : Language}
{Λ : Hilbertᵢ L}
[L.DecidableEq]
{φ : SyntacticFormulaᵢ L}
{Γ : List (SyntacticFormulaᵢ L)}
(b : Γ ⊢[Λ]! ∼∼φ)
(h : Semiformulaᵢ.IsNegative φ)
:
Equations
Instances For
def
LO.FirstOrder.HilbertProofᵢ.DN_of_isNegative
{L : Language}
{Λ : Hilbertᵢ L}
[L.DecidableEq]
{φ : SyntacticFormulaᵢ L}
(h : Semiformulaᵢ.IsNegative φ)
:
Equations
Instances For
@[irreducible]
def
LO.FirstOrder.HilbertProofᵢ.efqOfNegative
{L : Language}
{Λ : Hilbertᵢ L}
{φ : SyntacticFormulaᵢ L}
:
Semiformulaᵢ.IsNegative φ → Λ ⊢! ⊥ ➝ φ
Equations
- LO.FirstOrder.HilbertProofᵢ.efqOfNegative x_2 = LO.Entailment.C_id ⊥
- LO.FirstOrder.HilbertProofᵢ.efqOfNegative h = LO.Entailment.CK_of_C_of_C (LO.FirstOrder.HilbertProofᵢ.efqOfNegative ⋯) (LO.FirstOrder.HilbertProofᵢ.efqOfNegative ⋯)
- LO.FirstOrder.HilbertProofᵢ.efqOfNegative h = LO.Entailment.C_trans (LO.FirstOrder.HilbertProofᵢ.efqOfNegative ⋯) LO.Entailment.imply₁
- LO.FirstOrder.HilbertProofᵢ.efqOfNegative h = LO.FirstOrder.HilbertProofᵢ.implyAll (LO.Entailment.cast ⋯ (LO.FirstOrder.HilbertProofᵢ.efqOfNegative ⋯))
Instances For
def
LO.FirstOrder.HilbertProofᵢ.iffnegOfNegIff
{L : Language}
{Λ : Hilbertᵢ L}
[L.DecidableEq]
{φ ψ : SyntacticFormulaᵢ L}
(h : Semiformulaᵢ.IsNegative φ)
(b : Λ ⊢! ∼φ ⭤ ψ)
:
Equations
Instances For
def
LO.FirstOrder.HilbertProofᵢ.rewrite
{L : Language}
{Λ : Hilbertᵢ L}
{φ : SyntacticFormulaᵢ L}
(f : ℕ → SyntacticTerm L)
:
Λ ⊢! φ → Λ ⊢! (Rewriting.app (Rew.rewrite f)) φ
Equations
- One or more equations did not get rendered due to their size.
- LO.FirstOrder.HilbertProofᵢ.rewrite f (b.mdp d) = LO.FirstOrder.HilbertProofᵢ.rewrite f b⨀LO.FirstOrder.HilbertProofᵢ.rewrite f d
- LO.FirstOrder.HilbertProofᵢ.rewrite f (LO.FirstOrder.HilbertProofᵢ.eaxm h) = LO.FirstOrder.HilbertProofᵢ.eaxm ⋯
- LO.FirstOrder.HilbertProofᵢ.rewrite f LO.FirstOrder.HilbertProofᵢ.verum = LO.FirstOrder.HilbertProofᵢ.verum
Instances For
@[simp]
theorem
LO.FirstOrder.HilbertProofᵢ.depth_rewrite
{L : Language}
{Λ : Hilbertᵢ L}
{φ : SyntacticFormulaᵢ L}
(f : ℕ → SyntacticTerm L)
(b : Λ ⊢! φ)
:
def
LO.FirstOrder.HilbertProofᵢ.ofLE
{L : Language}
{φ : SyntacticFormulaᵢ L}
{Λ₁ Λ₂ : Hilbertᵢ L}
(h : Λ₁ ≤ Λ₂)
:
Equations
- LO.FirstOrder.HilbertProofᵢ.ofLE h (b.mdp d) = LO.FirstOrder.HilbertProofᵢ.mdp (LO.FirstOrder.HilbertProofᵢ.ofLE h b) (LO.FirstOrder.HilbertProofᵢ.ofLE h d)
- LO.FirstOrder.HilbertProofᵢ.ofLE h b.gen = LO.FirstOrder.HilbertProofᵢ.gen (LO.FirstOrder.HilbertProofᵢ.ofLE h b)
- LO.FirstOrder.HilbertProofᵢ.ofLE h (LO.FirstOrder.HilbertProofᵢ.eaxm h_1) = LO.FirstOrder.HilbertProofᵢ.eaxm ⋯
- LO.FirstOrder.HilbertProofᵢ.ofLE h LO.FirstOrder.HilbertProofᵢ.verum = LO.FirstOrder.HilbertProofᵢ.verum
- LO.FirstOrder.HilbertProofᵢ.ofLE h (LO.FirstOrder.HilbertProofᵢ.imply₁ φ_2 ψ) = LO.FirstOrder.HilbertProofᵢ.imply₁ φ_2 ψ
- LO.FirstOrder.HilbertProofᵢ.ofLE h (LO.FirstOrder.HilbertProofᵢ.imply₂ φ_2 ψ χ) = LO.FirstOrder.HilbertProofᵢ.imply₂ φ_2 ψ χ
- LO.FirstOrder.HilbertProofᵢ.ofLE h (LO.FirstOrder.HilbertProofᵢ.and₁ φ_2 ψ) = LO.FirstOrder.HilbertProofᵢ.and₁ φ_2 ψ
- LO.FirstOrder.HilbertProofᵢ.ofLE h (LO.FirstOrder.HilbertProofᵢ.and₂ φ_2 ψ) = LO.FirstOrder.HilbertProofᵢ.and₂ φ_2 ψ
- LO.FirstOrder.HilbertProofᵢ.ofLE h (LO.FirstOrder.HilbertProofᵢ.and₃ φ_2 ψ) = LO.FirstOrder.HilbertProofᵢ.and₃ φ_2 ψ
- LO.FirstOrder.HilbertProofᵢ.ofLE h (LO.FirstOrder.HilbertProofᵢ.or₁ φ_2 ψ) = LO.FirstOrder.HilbertProofᵢ.or₁ φ_2 ψ
- LO.FirstOrder.HilbertProofᵢ.ofLE h (LO.FirstOrder.HilbertProofᵢ.or₂ φ_2 ψ) = LO.FirstOrder.HilbertProofᵢ.or₂ φ_2 ψ
- LO.FirstOrder.HilbertProofᵢ.ofLE h (LO.FirstOrder.HilbertProofᵢ.or₃ φ_2 ψ χ) = LO.FirstOrder.HilbertProofᵢ.or₃ φ_2 ψ χ
- LO.FirstOrder.HilbertProofᵢ.ofLE h (LO.FirstOrder.HilbertProofᵢ.all₁ φ_2 t) = LO.FirstOrder.HilbertProofᵢ.all₁ φ_2 t
- LO.FirstOrder.HilbertProofᵢ.ofLE h (LO.FirstOrder.HilbertProofᵢ.all₂ φ_2 ψ) = LO.FirstOrder.HilbertProofᵢ.all₂ φ_2 ψ
- LO.FirstOrder.HilbertProofᵢ.ofLE h (LO.FirstOrder.HilbertProofᵢ.ex₁ t φ_2) = LO.FirstOrder.HilbertProofᵢ.ex₁ t φ_2
- LO.FirstOrder.HilbertProofᵢ.ofLE h (LO.FirstOrder.HilbertProofᵢ.ex₂ φ_2 ψ) = LO.FirstOrder.HilbertProofᵢ.ex₂ φ_2 ψ
Instances For
theorem
LO.FirstOrder.HilbertProofᵢ.of_le
{L : Language}
{φ : SyntacticFormulaᵢ L}
{Λ₁ Λ₂ : Hilbertᵢ L}
(h : Λ₁ ≤ Λ₂)
:
Equations
- LO.FirstOrder.Theoryᵢ.instSetLikeSentenceᵢ = { coe := LO.FirstOrder.Theoryᵢ.theory, coe_injective' := ⋯ }
instance
LO.FirstOrder.Theoryᵢ.instAdjunctiveSetSentenceᵢ
{L : Language}
{𝓗 : Hilbertᵢ L}
:
AdjunctiveSet (Sentenceᵢ L) (Theoryᵢ L 𝓗)
Equations
- One or more equations did not get rendered due to their size.
instance
LO.FirstOrder.Theoryᵢ.instEntailmentSentenceᵢ
{L : Language}
{𝓗 : Hilbertᵢ L}
:
Entailment (Theoryᵢ L 𝓗) (Sentenceᵢ L)
Equations
def
LO.FirstOrder.Theoryᵢ.Proof.weakening!
{L : Language}
{𝓗 : Hilbertᵢ L}
{T U : Theoryᵢ L 𝓗}
{φ : Sentenceᵢ L}
[L.DecidableEq]
(ss : T ⊆ U)
:
Instances For
instance
LO.FirstOrder.Theoryᵢ.instAxiomatizedSentenceᵢ
{L : Language}
{𝓗 : Hilbertᵢ L}
[L.DecidableEq]
:
Equations
- One or more equations did not get rendered due to their size.
def
LO.FirstOrder.Theoryᵢ.ofHilbert
{L : Language}
{𝓗 : Hilbertᵢ L}
{T : Theoryᵢ L 𝓗}
{φ : Sentenceᵢ L}
:
Instances For
def
LO.FirstOrder.Theoryᵢ.deduct!
{L : Language}
{𝓗 : Hilbertᵢ L}
{T : Theoryᵢ L 𝓗}
[L.DecidableEq]
{φ ψ : Sentenceᵢ L}
(b : adjoin φ T ⊢! ψ)
:
Equations
Instances For
def
LO.FirstOrder.Theoryᵢ.deductInv!
{L : Language}
{𝓗 : Hilbertᵢ L}
{T : Theoryᵢ L 𝓗}
[L.DecidableEq]
{φ ψ : Sentenceᵢ L}
(b : T ⊢! φ ➝ ψ)
:
Equations
Instances For
instance
LO.FirstOrder.Theoryᵢ.instDeductionSentenceᵢ
{L : Language}
{𝓗 : Hilbertᵢ L}
[L.DecidableEq]
:
Entailment.Deduction (Theoryᵢ L 𝓗)
Equations
- One or more equations did not get rendered due to their size.
instance
LO.FirstOrder.Theoryᵢ.instMinimalSentenceᵢ
{L : Language}
(𝓗 : Hilbertᵢ L)
{T : Theoryᵢ L 𝓗}
[L.DecidableEq]
:
Equations
- One or more equations did not get rendered due to their size.
instance
LO.FirstOrder.Theoryᵢ.minimal
{L : Language}
(𝓗 : Hilbertᵢ L)
{T : Theoryᵢ L 𝓗}
[L.DecidableEq]
[Entailment.Int 𝓗]
:
Equations
- LO.FirstOrder.Theoryᵢ.minimal 𝓗 = { toMinimal := LO.FirstOrder.Theoryᵢ.instMinimalSentenceᵢ 𝓗, efq := fun (x : LO.FirstOrder.Sentenceᵢ L) => LO.FirstOrder.Theoryᵢ.ofHilbert LO.Entailment.efq }
instance
LO.FirstOrder.Theoryᵢ.cl
{L : Language}
(𝓗 : Hilbertᵢ L)
{T : Theoryᵢ L 𝓗}
[L.DecidableEq]
[Entailment.Cl 𝓗]
:
Equations
- LO.FirstOrder.Theoryᵢ.cl 𝓗 = { toMinimal := LO.FirstOrder.Theoryᵢ.instMinimalSentenceᵢ 𝓗, dne := fun (x : LO.FirstOrder.Sentenceᵢ L) => LO.FirstOrder.Theoryᵢ.ofHilbert LO.Entailment.dne }