@[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.instSetLikeHilbertᵢSyntacticFormulaᵢ
{L : Language}
:
SetLike (Hilbertᵢ L) (SyntacticFormulaᵢ L)
Equations
- LO.FirstOrder.instSetLikeHilbertᵢSyntacticFormulaᵢ = { coe := LO.FirstOrder.Hilbertᵢ.axiomSet, coe_injective' := ⋯ }
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), ⊥ ➝ φ = 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
inductive
LO.FirstOrder.HilbertProofᵢ
{L : Language}
(Λ : Hilbertᵢ L)
:
SyntacticFormulaᵢ L → Type u_1
- 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.instSystemSyntacticFormulaᵢHilbertᵢ
{L : Language}
:
System (SyntacticFormulaᵢ L) (Hilbertᵢ L)
Equations
instance
LO.FirstOrder.HilbertProofᵢ.instModusPonensHilbertᵢSyntacticFormulaᵢ
{L : Language}
(Λ : Hilbertᵢ L)
:
Equations
- LO.FirstOrder.HilbertProofᵢ.instModusPonensHilbertᵢSyntacticFormulaᵢ Λ = { mdp := fun {φ ψ : LO.FirstOrder.SyntacticFormulaᵢ L} => LO.FirstOrder.HilbertProofᵢ.mdp }
instance
LO.FirstOrder.HilbertProofᵢ.instHasAxiomImply₁HilbertᵢSyntacticFormulaᵢ
{L : Language}
(Λ : Hilbertᵢ L)
:
Equations
instance
LO.FirstOrder.HilbertProofᵢ.instHasAxiomImply₂HilbertᵢSyntacticFormulaᵢ
{L : Language}
(Λ : Hilbertᵢ L)
:
Equations
def
LO.FirstOrder.HilbertProofᵢ.cast
{L : Language}
{Λ : Hilbertᵢ L}
{φ ψ : SyntacticFormulaᵢ L}
(b : Λ ⊢ φ)
(e : φ = ψ)
:
Λ ⊢ ψ
Equations
- LO.FirstOrder.HilbertProofᵢ.cast b e = e ▸ b
Instances For
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 : φ = ψ)
:
depth (HilbertProofᵢ.cast b e) = depth b
def
LO.FirstOrder.HilbertProofᵢ.specialize
{L : Language}
{Λ : Hilbertᵢ L}
{φ : SyntacticSemiformulaᵢ L (0 + 1)}
(b : Λ ⊢ ∀' φ)
(t : Semiterm L ℕ 0)
:
Λ ⊢ φ/[t]
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
- LO.FirstOrder.HilbertProofᵢ.implyAll b = LO.FirstOrder.HilbertProofᵢ.all₂ φ ψ⨀(⋯.mpr b).gen
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.System.falsumDNE
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ᵢ.dnOfNegative
{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.System.impId ⊥
- LO.FirstOrder.HilbertProofᵢ.efqOfNegative h = LO.System.implyAnd (LO.FirstOrder.HilbertProofᵢ.efqOfNegative ⋯) (LO.FirstOrder.HilbertProofᵢ.efqOfNegative ⋯)
- LO.FirstOrder.HilbertProofᵢ.efqOfNegative h = LO.System.impTrans'' (LO.FirstOrder.HilbertProofᵢ.efqOfNegative ⋯) LO.System.imply₁
- LO.FirstOrder.HilbertProofᵢ.efqOfNegative h = LO.FirstOrder.HilbertProofᵢ.implyAll (LO.System.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 : Λ ⊢ φ)
: