Equations
- termExp_ = Lean.ParserDescr.node `termExp_ 1022 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "exp ") (Lean.ParserDescr.cat `term 90))
Instances For
Equations
- instToStringEmpty_arithmetization = { toString := Empty.elim }
Equations
- «term_#_» = Lean.ParserDescr.trailingNode `«term_#_» 80 81 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " # ") (Lean.ParserDescr.cat `term 81))
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- LO.Polarity.sigma.coe = 𝚺
- LO.Polarity.pi.coe = 𝚷
Instances For
Equations
- LO.Polarity.instCoe_arithmetization = { coe := LO.Polarity.coe }
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)
:
ξ → ℕ
Equations
- t.fvarEnum a = List.indexOf 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)
:
t.fvarEnumInv (t.fvarEnum x) = x
theorem
LO.FirstOrder.Semiterm.mem_fvarList_iff_fvar?
{ξ : Type u_1}
{L : Language}
{n : ℕ}
{x : ξ}
[DecidableEq ξ]
{t : Semiterm L ξ n}
:
def
LO.FirstOrder.Semiformula.fvarList
{L : Language}
{ξ : Type u_2}
{n : ℕ}
:
Semiformula L ξ n → List ξ
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)
:
ξ → ℕ
Equations
- φ.fvarEnum a = List.indexOf 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)
:
φ.fvarEnumInv (φ.fvarEnum x) = x
theorem
LO.FirstOrder.Semiformula.mem_fvarList_iff_fvar?
{ξ : Type u_1}
{L : Language}
{n : ℕ}
{x : ξ}
[DecidableEq ξ]
{φ : Semiformula L ξ n}
:
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
instance
LO.FirstOrder.Arith.instReprSemitermORing_arithmetization
{μ : Type u_1}
[ToString μ]
{n : ℕ}
:
Equations
- LO.FirstOrder.Arith.instReprSemitermORing_arithmetization = { reprPrec := fun (t : LO.FirstOrder.Semiterm ℒₒᵣ μ n) (x : ℕ) => Std.Format.text (LO.FirstOrder.Arith.termToStr t) }
instance
LO.FirstOrder.Arith.instToStringSemitermORing_arithmetization
{μ : Type u_1}
[ToString μ]
{n : ℕ}
:
Equations
def
LO.FirstOrder.Arith.formulaToStr
{μ : Type u_1}
[ToString μ]
{n : ℕ}
:
Semiformula ℒₒᵣ μ n → String
Instances For
instance
LO.FirstOrder.Arith.instReprSemiformulaORing_arithmetization
{μ : Type u_1}
[ToString μ]
{n : ℕ}
:
Repr (Semiformula ℒₒᵣ μ n)
Equations
- LO.FirstOrder.Arith.instReprSemiformulaORing_arithmetization = { reprPrec := fun (t : LO.FirstOrder.Semiformula ℒₒᵣ μ n) (x : ℕ) => Std.Format.text (LO.FirstOrder.Arith.formulaToStr t) }
instance
LO.FirstOrder.Arith.instToStringSemiformulaORing_arithmetization
{μ : 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]
:
M ⊧ₘ* Theory.indScheme ℒₒᵣ (Hierarchy Γ 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)
:
Equations
- φ.Rlz e = (LO.FirstOrder.Semiformula.Evalm M e id) φ
Instances For
instance
LO.FirstOrder.Arith.instModelsTheoryCobhamR0_arithmetization
(M : Type u_1)
[ORingStruc M]
[M ⊧ₘ* 𝐏𝐀⁻]
:
theorem
LO.Arith.bold_sigma_one_completeness'
{M : Type u_1}
[ORingStruc M]
[M ⊧ₘ* 𝐑₀]
{n : ℕ}
{σ : FirstOrder.Semisentence ℒₒᵣ n}
(hσ : FirstOrder.Arith.Hierarchy 𝚺 1 σ)
{e : Fin n → ℕ}
:
ℕ ⊧/e σ → (M ⊧/fun (x : Fin n) => ORingStruc.numeral (e x)) σ