Documentation

Arithmetization.ISigmaOne.Metamath.Language

structure LO.Arith.Language (V : Type u_1) :
Type u_1
  • Func (arity : V) : VProp
  • Rel (arity : V) : VProp
@[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 2V) :
@[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 2V) :
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
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
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) :
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) :
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) :
(L.codeIn V).Func k f
@[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) :
(L.codeIn V).Rel k r
@[simp]
theorem LO.Arith.quote_func_inj {L : FirstOrder.Language} [(k : ) → Encodable (L.Func k)] {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐏𝐀⁻] {k : } (f₁ f₂ : L.Func k) :
f₁ = f₂ f₁ = f₂
@[simp]
theorem LO.Arith.quote_rel_inj {L : FirstOrder.Language} [(k : ) → Encodable (L.Rel k)] {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐏𝐀⁻] {k : } (R₁ R₂ : L.Rel k) :
R₁ = R₂ R₁ = R₂
@[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) :

TODO: move to Basic/Syntax/Language.lean

TODO: move to Basic/Syntax/Language.lean

Equations
  • One or more equations did not get rendered due to their size.
@[reducible, inline]
Equations
Instances For
Equations
  • One or more equations did not get rendered due to their size.
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))))”)
theorem LO.Arith.Formalized.func_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k f : V} :
⌜ℒₒᵣ⌝.Func k f k = 0 f = zeroIndex k = 0 f = oneIndex k = 2 f = addIndex k = 2 f = mulIndex