Documentation

Arithmetization.ISigmaOne.Metamath.Language

Instances For
    structure LO.Arith.Language (V : Type u_1) :
    Type u_1
    • Func (arity : V) : V → Prop
    • Rel (arity : V) : V → Prop
    Instances For
      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) :
        @[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) :
        class LO.Arith.DefinableLanguage (L : FirstOrder.Language) [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] extends LO.FirstOrder.Arith.LDef :
        Instances
          def LO.FirstOrder.Language.lDef (L : Language) [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [d : Arith.DefinableLanguage L] :
          Equations
          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
              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
                @[reducible, inline]
                Equations
                Instances For
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    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