Vorspiel #
Imported declaration from the Incompleteness formalization.
Equations
- termExp_ = Lean.ParserDescr.node `termExp_ 1022 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "exp ") (Lean.ParserDescr.cat `term 90))
Instances For
@[implicit_reducible]
Equations
- instToStringEmptyOfVorspiel = { toString := Empty.elim }
Imported declaration from the Incompleteness formalization.
Equations
- «term_#_» = Lean.ParserDescr.trailingNode `«term_#_» 80 81 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " # ") (Lean.ParserDescr.cat `term 81))
Instances For
Imported declaration from the Incompleteness formalization.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Imported declaration from the Incompleteness formalization.
Equations
Instances For
@[implicit_reducible]
Equations
- LO.Polarity.instCoe = { coe := LO.Polarity.coe }
@[simp]
Imported declaration from the Incompleteness formalization.
Equations
- (LO.FirstOrder.Semiterm.bvar a).fvarList = []
- (LO.FirstOrder.Semiterm.fvar x_1).fvarList = [x_1]
- (LO.FirstOrder.Semiterm.func a v).fvarList = (Matrix.toList fun (i : Fin arity) => (v i).fvarList).flatten
Instances For
def
LO.FirstOrder.Semiterm.fvarEnum
{ξ : Type u_1}
{L : Language}
{n : ℕ}
[DecidableEq ξ]
(t : Semiterm L ξ n)
:
ξ → ℕ
Imported declaration from the Incompleteness formalization.
Equations
- t.fvarEnum a = List.idxOf a t.fvarList
Instances For
theorem
LO.FirstOrder.Semiterm.fvarEnumInv_fvarEnum
{ξ : Type u_1}
{L : Language}
{n : ℕ}
[DecidableEq ξ]
[Inhabited ξ]
{t : Semiterm L ξ n}
{x : ξ}
(hx : x ∈ t.fvarList)
:
def
LO.FirstOrder.Semiformula.fvarList
{L : Language}
{ξ : Type u_2}
{n : ℕ}
:
Semiformula L ξ n → List ξ
Imported declaration from the Incompleteness formalization.
Equations
- LO.FirstOrder.Semiformula.verum.fvarList = []
- LO.FirstOrder.Semiformula.falsum.fvarList = []
- (LO.FirstOrder.Semiformula.rel a v).fvarList = (Matrix.toList fun (i : Fin arity) => (v i).fvarList).flatten
- (LO.FirstOrder.Semiformula.nrel a v).fvarList = (Matrix.toList fun (i : Fin arity) => (v i).fvarList).flatten
- (p.and q).fvarList = p.fvarList ++ q.fvarList
- (p.or q).fvarList = p.fvarList ++ q.fvarList
- p.all.fvarList = p.fvarList
- p.ex.fvarList = p.fvarList
Instances For
def
LO.FirstOrder.Semiformula.fvarEnum
{ξ : Type u_1}
{L : Language}
{n : ℕ}
[DecidableEq ξ]
(φ : Semiformula L ξ n)
:
ξ → ℕ
Imported declaration from the Incompleteness formalization.
Equations
- φ.fvarEnum a = List.idxOf a φ.fvarList
Instances For
theorem
LO.FirstOrder.Semiformula.fvarEnumInv_fvarEnum
{ξ : Type u_1}
{L : Language}
{n : ℕ}
[DecidableEq ξ]
[Inhabited ξ]
{φ : Semiformula L ξ n}
{x : ξ}
(hx : x ∈ φ.fvarList)
:
theorem
LO.FirstOrder.Semiformula.mem_fvarList_iff_fvar?
{ξ : Type u_1}
{L : Language}
{n : ℕ}
{x : ξ}
[DecidableEq ξ]
{φ : Semiformula L ξ n}
:
Imported declaration from the Incompleteness formalization.
Equations
- One or more equations did not get rendered due to their size.
- LO.FirstOrder.Arith.termToStr (LO.FirstOrder.Semiterm.bvar x_1) = "x_{" ++ toString (n - 1 - ↑x_1) ++ "}"
- LO.FirstOrder.Arith.termToStr (LO.FirstOrder.Semiterm.fvar x_1) = "a_{" ++ toString x_1 ++ "}"
- LO.FirstOrder.Arith.termToStr (LO.FirstOrder.Semiterm.func LO.FirstOrder.Language.ORing.Func.zero a) = "0"
- LO.FirstOrder.Arith.termToStr (LO.FirstOrder.Semiterm.func LO.FirstOrder.Language.ORing.Func.one a) = "1"
Instances For
@[implicit_reducible]
Equations
- LO.FirstOrder.Arith.instReprSemitermORing = { reprPrec := fun (t : LO.FirstOrder.Semiterm ℒₒᵣ μ n) (x : ℕ) => Std.Format.text (LO.FirstOrder.Arith.termToStr t) }
@[implicit_reducible]
Equations
def
LO.FirstOrder.Arith.formulaToStr
{μ : Type u_1}
[ToString μ]
{n : ℕ}
:
Semiformula ℒₒᵣ μ n → String
Imported declaration from the Incompleteness formalization.
Equations
- One or more equations did not get rendered due to their size.
- LO.FirstOrder.Arith.formulaToStr LO.FirstOrder.Semiformula.verum = "\\top"
- LO.FirstOrder.Arith.formulaToStr LO.FirstOrder.Semiformula.falsum = "\\bot"
- LO.FirstOrder.Arith.formulaToStr (LO.FirstOrder.Semiformula.rel LO.FirstOrder.Language.ORing.Rel.eq v) = LO.FirstOrder.Arith.termToStr (v 0) ++ " = " ++ LO.FirstOrder.Arith.termToStr (v 1)
- LO.FirstOrder.Arith.formulaToStr (LO.FirstOrder.Semiformula.rel LO.FirstOrder.Language.ORing.Rel.lt v) = LO.FirstOrder.Arith.termToStr (v 0) ++ " < " ++ LO.FirstOrder.Arith.termToStr (v 1)
- LO.FirstOrder.Arith.formulaToStr (LO.FirstOrder.Semiformula.nrel LO.FirstOrder.Language.ORing.Rel.eq v) = LO.FirstOrder.Arith.termToStr (v 0) ++ " \\not = " ++ LO.FirstOrder.Arith.termToStr (v 1)
- LO.FirstOrder.Arith.formulaToStr (LO.FirstOrder.Semiformula.nrel LO.FirstOrder.Language.ORing.Rel.lt v) = LO.FirstOrder.Arith.termToStr (v 0) ++ " \\not < " ++ LO.FirstOrder.Arith.termToStr (v 1)
- LO.FirstOrder.Arith.formulaToStr (φ.and ψ) = "[" ++ LO.FirstOrder.Arith.formulaToStr φ ++ "]" ++ " \\land " ++ "[" ++ LO.FirstOrder.Arith.formulaToStr ψ ++ "]"
- LO.FirstOrder.Arith.formulaToStr (φ.or ψ) = "[" ++ LO.FirstOrder.Arith.formulaToStr φ ++ "]" ++ " \\lor " ++ "[" ++ LO.FirstOrder.Arith.formulaToStr ψ ++ "]"
- LO.FirstOrder.Arith.formulaToStr φ.all = "(\\forall x_{" ++ toString x✝ ++ "}) " ++ "[" ++ LO.FirstOrder.Arith.formulaToStr φ ++ "]"
- LO.FirstOrder.Arith.formulaToStr φ.ex = "(\\exists x_{" ++ toString x✝ ++ "}) " ++ "[" ++ LO.FirstOrder.Arith.formulaToStr φ ++ "]"
Instances For
@[implicit_reducible]
instance
LO.FirstOrder.Arith.instReprSemiformulaORing
{μ : Type u_1}
[ToString μ]
{n : ℕ}
:
Repr (Semiformula ℒₒᵣ μ n)
Equations
- LO.FirstOrder.Arith.instReprSemiformulaORing = { reprPrec := fun (t : LO.FirstOrder.Semiformula ℒₒᵣ μ n) (x : ℕ) => Std.Format.text (LO.FirstOrder.Arith.formulaToStr t) }
@[implicit_reducible]
instance
LO.FirstOrder.Arith.instToStringSemiformulaORing
{μ : Type u_1}
[ToString μ]
{n : ℕ}
:
ToString (Semiformula ℒₒᵣ μ n)
Equations
instance
LO.FirstOrder.Arith.indScheme_of_indH
(M : Type u_1)
[ORingStruc M]
(Γ : Polarity)
(n : ℕ)
[M ⊧ₘ* 𝐈𝐍𝐃Γ n]
:
@[simp]
theorem
LO.FirstOrder.Semiformula.eval_operator₃
{ξ : Type u_3}
{L : Language}
{M : Type u_1}
{s : Structure L M}
{n : ℕ}
{ε : ξ → M}
{e : Fin n → M}
{o : Operator L 3}
{t₁ t₂ t₃ : Semiterm L ξ n}
:
(Eval s e ε) (o.operator ![t₁, t₂, t₃]) ↔ o.val ![Semiterm.val s e ε t₁, Semiterm.val s e ε t₂, Semiterm.val s e ε t₃]
@[simp]
theorem
LO.FirstOrder.Semiformula.eval_operator₄
{ξ : Type u_3}
{L : Language}
{M : Type u_1}
{s : Structure L M}
{n : ℕ}
{ε : ξ → M}
{e : Fin n → M}
{o : Operator L 4}
{t₁ t₂ t₃ t₄ : Semiterm L ξ n}
:
(Eval s e ε) (o.operator ![t₁, t₂, t₃, t₄]) ↔ o.val ![Semiterm.val s e ε t₁, Semiterm.val s e ε t₂, Semiterm.val s e ε t₃, Semiterm.val s e ε t₄]
@[reducible, inline]
abbrev
LO.FirstOrder.Semiformula.Rlz
{L : Language}
{M : Type u_1}
[Structure L M]
{n : ℕ}
(φ : Semiformula L M n)
(e : Fin n → M)
:
Imported declaration from the Incompleteness formalization.
Equations
- φ.Rlz e = (LO.FirstOrder.Semiformula.Evalm M e id) φ
Instances For
theorem
LO.Arith.bold_sigma_one_completeness'
{M : Type u_1}
[ORingStruc M]
[M ⊧ₘ* 𝐑₀]
{n : ℕ}
{σ : FirstOrder.Semisentence ℒₒᵣ n}
(hσ : FirstOrder.Arith.Hierarchy Sg 1 σ)
{e : Fin n → ℕ}
:
ℕ ⊧/e σ → (M ⊧/fun (x : Fin n) => ORingStruc.numeral (e x)) σ