Instances For
class
LO.Arith.Language.Defined
{V : Type u_1}
[ORingStruc V]
(L : Arith.Language V)
(pL : outParam FirstOrder.Arith.LDef)
:
Instances
@[simp]
theorem
LO.Arith.Language.Defined.eval_func
{V : Type u_1}
[ORingStruc V]
{L : Arith.Language V}
{pL : FirstOrder.Arith.LDef}
[L.Defined pL]
(v : Fin 2 → V)
:
V ⊧/v (FirstOrder.Arith.HierarchySymbol.Semiformula.val pL.func) ↔ L.Func (v 0) (v 1)
@[simp]
theorem
LO.Arith.Language.Defined.eval_rel_iff
{V : Type u_1}
[ORingStruc V]
{L : Arith.Language V}
{pL : FirstOrder.Arith.LDef}
[L.Defined pL]
(v : Fin 2 → V)
:
V ⊧/v (FirstOrder.Arith.HierarchySymbol.Semiformula.val pL.rel) ↔ L.Rel (v 0) (v 1)
instance
LO.Arith.Language.Defined.func_definable
{V : Type u_1}
[ORingStruc V]
{L : Arith.Language V}
{pL : FirstOrder.Arith.LDef}
[L.Defined pL]
:
instance
LO.Arith.Language.Defined.rel_definable
{V : Type u_1}
[ORingStruc V]
{L : Arith.Language V}
{pL : FirstOrder.Arith.LDef}
[L.Defined pL]
:
@[simp]
instance
LO.Arith.Language.Defined.func_definable'
{V : Type u_1}
[ORingStruc V]
{L : Arith.Language V}
{pL : FirstOrder.Arith.LDef}
[L.Defined pL]
(ℌ : FirstOrder.Arith.HierarchySymbol)
:
ℌ-Relation L.Func
@[simp]
instance
LO.Arith.Language.Defined.rel_definable'
{V : Type u_1}
[ORingStruc V]
{L : Arith.Language V}
{pL : FirstOrder.Arith.LDef}
[L.Defined pL]
(ℌ : FirstOrder.Arith.HierarchySymbol)
:
ℌ-Relation L.Rel
instance
LO.Arith.instGoedelNumberFunc_arithmetization
{L₀ : FirstOrder.Language}
[L₀.ORing]
{L : FirstOrder.Language}
[(k : ℕ) → Encodable (L.Func k)]
(k : ℕ)
:
FirstOrder.Semiterm.Operator.GoedelNumber L₀ (L.Func k)
Equations
- LO.Arith.instGoedelNumberFunc_arithmetization k = { goedelNumber := fun (f : L.Func k) => LO.FirstOrder.Semiterm.Operator.numeral L₀ (Encodable.encode f) }
instance
LO.Arith.instGoedelNumberRel_arithmetization
{L₀ : FirstOrder.Language}
[L₀.ORing]
{L : FirstOrder.Language}
[(k : ℕ) → Encodable (L.Rel k)]
(k : ℕ)
:
FirstOrder.Semiterm.Operator.GoedelNumber L₀ (L.Rel k)
Equations
- LO.Arith.instGoedelNumberRel_arithmetization k = { goedelNumber := fun (r : L.Rel k) => LO.FirstOrder.Semiterm.Operator.numeral L₀ (Encodable.encode r) }
class
LO.Arith.DefinableLanguage
(L : FirstOrder.Language)
[(k : ℕ) → Encodable (L.Func k)]
[(k : ℕ) → Encodable (L.Rel k)]
extends LO.FirstOrder.Arith.LDef :
- func_iff {k c : ℕ} : c ∈ Set.range Encodable.encode ↔ ℕ ⊧/![k, c] (FirstOrder.Arith.HierarchySymbol.Semiformula.val (toLDef L).func)
- rel_iff {k c : ℕ} : c ∈ Set.range Encodable.encode ↔ ℕ ⊧/![k, c] (FirstOrder.Arith.HierarchySymbol.Semiformula.val (toLDef L).rel)
Instances
def
LO.FirstOrder.Language.lDef
(L : Language)
[(k : ℕ) → Encodable (L.Func k)]
[(k : ℕ) → Encodable (L.Rel k)]
[d : Arith.DefinableLanguage L]
:
Equations
- L.lDef = LO.Arith.DefinableLanguage.toLDef L
Instances For
def
LO.FirstOrder.Language.codeIn
(L : Language)
[(k : ℕ) → Encodable (L.Func k)]
[(k : ℕ) → Encodable (L.Rel k)]
[Arith.DefinableLanguage L]
(V : Type u_1)
[ORingStruc V]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
LO.FirstOrder.Language.codeIn_func_def
(L : Language)
[(k : ℕ) → Encodable (L.Func k)]
[(k : ℕ) → Encodable (L.Rel k)]
[Arith.DefinableLanguage L]
(V : Type u_1)
[ORingStruc V]
:
(L.codeIn V).Func = fun (x y : V) => V ⊧/![x, y] (Arith.HierarchySymbol.Semiformula.val L.lDef.func)
instance
LO.Arith.instDefinedCodeInLDef
{L : FirstOrder.Language}
[(k : ℕ) → Encodable (L.Func k)]
[(k : ℕ) → Encodable (L.Rel k)]
[DefinableLanguage L]
{V : Type u_1}
[ORingStruc V]
:
(L.codeIn V).Defined L.lDef
instance
LO.Arith.instGoedelQuoteFunc_arithmetization
{L : FirstOrder.Language}
[(k : ℕ) → Encodable (L.Func k)]
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐏𝐀⁻]
{k : ℕ}
:
GoedelQuote (L.Func k) V
Equations
- LO.Arith.instGoedelQuoteFunc_arithmetization = { quote := fun (f : L.Func k) => ↑(Encodable.encode f) }
instance
LO.Arith.instGoedelQuoteRel_arithmetization
{L : FirstOrder.Language}
[(k : ℕ) → Encodable (L.Rel k)]
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐏𝐀⁻]
{k : ℕ}
:
GoedelQuote (L.Rel k) V
Equations
- LO.Arith.instGoedelQuoteRel_arithmetization = { quote := fun (R : L.Rel k) => ↑(Encodable.encode R) }
theorem
LO.Arith.quote_func_def
{L : FirstOrder.Language}
[(k : ℕ) → Encodable (L.Func k)]
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐏𝐀⁻]
{k : ℕ}
(f : L.Func k)
:
⌜f⌝ = ↑(Encodable.encode f)
theorem
LO.Arith.quote_rel_def
{L : FirstOrder.Language}
[(k : ℕ) → Encodable (L.Rel k)]
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐏𝐀⁻]
{k : ℕ}
(R : L.Rel k)
:
⌜R⌝ = ↑(Encodable.encode R)
theorem
LO.Arith.codeIn_func_quote_iff
{L : FirstOrder.Language}
[(k : ℕ) → Encodable (L.Func k)]
[(k : ℕ) → Encodable (L.Rel k)]
[DefinableLanguage L]
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐏𝐀⁻]
{k x : ℕ}
:
(L.codeIn V).Func ↑k ↑x ↔ ∃ (f : L.Func k), Encodable.encode f = x
theorem
LO.Arith.codeIn_rel_quote_iff
{L : FirstOrder.Language}
[(k : ℕ) → Encodable (L.Func k)]
[(k : ℕ) → Encodable (L.Rel k)]
[DefinableLanguage L]
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐏𝐀⁻]
{k x : ℕ}
:
(L.codeIn V).Rel ↑k ↑x ↔ ∃ (R : L.Rel k), Encodable.encode R = x
@[simp]
theorem
LO.Arith.codeIn_func_quote
{L : FirstOrder.Language}
[(k : ℕ) → Encodable (L.Func k)]
[(k : ℕ) → Encodable (L.Rel k)]
[DefinableLanguage L]
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐏𝐀⁻]
{k : ℕ}
(f : L.Func k)
:
@[simp]
theorem
LO.Arith.codeIn_rel_quote
{L : FirstOrder.Language}
[(k : ℕ) → Encodable (L.Func k)]
[(k : ℕ) → Encodable (L.Rel k)]
[DefinableLanguage L]
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐏𝐀⁻]
{k : ℕ}
(r : L.Rel k)
:
@[simp]
theorem
LO.Arith.coe_quote_func_nat
{L : FirstOrder.Language}
[(k : ℕ) → Encodable (L.Func k)]
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐏𝐀⁻]
{k : ℕ}
(f : L.Func k)
:
@[simp]
theorem
LO.Arith.coe_quote_rel_nat
{L : FirstOrder.Language}
[(k : ℕ) → Encodable (L.Rel k)]
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐏𝐀⁻]
{k : ℕ}
(R : L.Rel k)
:
Equations
- One or more equations did not get rendered due to their size.
@[reducible, inline]
Instances For
@[reducible, inline]
Instances For
Equations
- LO.Arith.Formalized.«term⌜ℒₒᵣ⌝» = Lean.ParserDescr.node `LO.Arith.Formalized.«term⌜ℒₒᵣ⌝» 1024 (Lean.ParserDescr.symbol "⌜ℒₒᵣ⌝")
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- LO.Arith.Formalized.«termP⌜ℒₒᵣ⌝» = Lean.ParserDescr.node `LO.Arith.Formalized.«termP⌜ℒₒᵣ⌝» 1024 (Lean.ParserDescr.symbol "p⌜ℒₒᵣ⌝")
Instances For
Instances For
Instances For
Instances For
Instances For
Equations
Instances For
Equations
Instances For
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem
LO.Arith.Formalized.lDef.func_def :
ℒₒᵣ.lDef.func = FirstOrder.Arith.HierarchySymbol.Semiformula.mkSigma
(“((!!(FirstOrder.Semiterm.bvar 0) = !!↑0 ∧ !!(FirstOrder.Semiterm.bvar 1) = !!↑0) ∨
((!!(FirstOrder.Semiterm.bvar 0) = !!↑0 ∧ !!(FirstOrder.Semiterm.bvar 1) = !!↑1) ∨
((!!(FirstOrder.Semiterm.bvar 0) = !!↑2 ∧ !!(FirstOrder.Semiterm.bvar 1) = !!↑0) ∨
(!!(FirstOrder.Semiterm.bvar 0) = !!↑2 ∧ !!(FirstOrder.Semiterm.bvar 1) = !!↑1))))”)
⋯