Documentation

LeanPool.Incompleteness.Arithmetization.ISigmaOne.Metamath.Coding

Coding #

theorem LO.FirstOrder.Semiterm.encode_eq_toNat {L : Language} {ξ : Type u_1} [Encodable ξ] [(k : ℕ) → Encodable (L.Func k)] {n : ℕ} (t : Semiterm L ξ n) :
theorem LO.FirstOrder.Semiterm.toNat_func {L : Language} {ξ : Type u_1} [Encodable ξ] [(k : ℕ) → Encodable (L.Func k)] {n k : ℕ} (f : L.Func k) (v : Fin k → Semiterm L ξ n) :
(func f v).toNat = Nat.pair 2 (Nat.pair k (Nat.pair (Encodable.encode f) (Matrix.vecToNat fun (i : Fin k) => (v i).toNat))) + 1
@[simp]
theorem LO.FirstOrder.Semiterm.encode_emb {L : Language} {ξ : Type u_1} [Encodable ξ] [(k : ℕ) → Encodable (L.Func k)] {n : ℕ} (t : Semiterm L Empty n) :

TODO: move to Foundation

theorem LO.FirstOrder.Semiformula.embedding_rel {L : Language} {ξ : Type u_1} {ο : Type u_2} {n : ℕ} [IsEmpty ο] {k : ℕ} (R : L.Rel k) (v : Fin k → Semiterm L ο n) :
↑(rel R v) = rel R fun (i : Fin k) => Rew.emb (v i)
theorem LO.FirstOrder.Semiformula.embedding_nrel {L : Language} {ξ : Type u_1} {ο : Type u_2} {n : ℕ} [IsEmpty ο] {k : ℕ} (R : L.Rel k) (v : Fin k → Semiterm L ο n) :
↑(nrel R v) = nrel R fun (i : Fin k) => Rew.emb (v i)
theorem LO.FirstOrder.Semiformula.encode_eq_toNat {L : Language} {ξ : Type u_1} [Encodable ξ] [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] {n : ℕ} (φ : Semiformula L ξ n) :
theorem LO.FirstOrder.Semiformula.encode_rel {L : Language} {ξ : Type u_1} [Encodable ξ] [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] {n arity : ℕ} (R : L.Rel arity) (v : Fin arity → Semiterm L ξ n) :
theorem LO.FirstOrder.Semiformula.encode_nrel {L : Language} {ξ : Type u_1} [Encodable ξ] [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] {n arity : ℕ} (R : L.Rel arity) (v : Fin arity → Semiterm L ξ n) :
theorem LO.FirstOrder.Semiformula.encode_verum {L : Language} {ξ : Type u_1} [Encodable ξ] [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] {n : ℕ} :
theorem LO.FirstOrder.Semiformula.encode_falsum {L : Language} {ξ : Type u_1} [Encodable ξ] [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] {n : ℕ} :
theorem LO.FirstOrder.Semiformula.encode_and {L : Language} {ξ : Type u_1} [Encodable ξ] [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] {n : ℕ} (φ ψ : Semiformula L ξ n) :
theorem LO.FirstOrder.Semiformula.encode_or {L : Language} {ξ : Type u_1} [Encodable ξ] [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] {n : ℕ} (φ ψ : Semiformula L ξ n) :
theorem LO.FirstOrder.Semiformula.encode_all {L : Language} {ξ : Type u_1} [Encodable ξ] [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] {n : ℕ} (φ : Semiformula L ξ (n + 1)) :
theorem LO.FirstOrder.Semiformula.encode_ex {L : Language} {ξ : Type u_1} [Encodable ξ] [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] {n : ℕ} (φ : Semiformula L ξ (n + 1)) :
@[simp]
theorem LO.FirstOrder.Semiformula.encode_emb {L : Language} {ξ : Type u_1} [Encodable ξ] [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] {n : ℕ} (φ : Semisentence L n) :
theorem LO.FirstOrder.Semiformula.Operator.lt_eq {L : Language} {ξ : Type u_1} {n : ℕ} [L.LT] (t u : Semiterm L ξ n) :
def LO.Arith.finArrowToVec {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : ℕ} :
(Fin k → V) → V

Imported declaration from the Incompleteness formalization.

Equations
Instances For
    @[instance_reducible]
    noncomputable instance LO.Arith.instGoedelQuoteForallFin {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : ℕ} :
    GoedelQuote (Fin k → V) V

    quasi-quotation rather than Godel quotation

    Equations
    theorem LO.Arith.quote_matrix_def {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : ℕ} (v : Fin k → V) :
    @[simp]
    @[simp]
    theorem LO.Arith.quote_singleton {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a : V) :
    @[simp]
    theorem LO.Arith.quote_doubleton {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a b : V) :
    @[simp]
    theorem LO.Arith.quote_matrix_empty {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (v : Fin 0 → V) :
    theorem LO.Arith.quote_matrix_succ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : ℕ} (v : Fin (k + 1) → V) :
    ⌜v⌝ = cons (v 0) ⌜fun (i : Fin k) => v i.succ⌝
    @[simp]
    theorem LO.Arith.quote_cons {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : ℕ} (v : Fin k → V) (a : V) :
    @[simp]
    theorem LO.Arith.quote_matrix_inj {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : ℕ} (v w : Fin k → V) :
    @[simp]
    theorem LO.Arith.quote_lh {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : ℕ} (v : Fin k → V) :
    len ⌜v⌝ = ↑k
    @[simp]
    theorem LO.Arith.quote_nth_fin {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : ℕ} (v : Fin k → V) (i : Fin k) :
    nth ⌜v⌝ ↑↑i = v i
    @[simp]
    theorem LO.Arith.quote_matrix_absolute {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : ℕ} (v : Fin k → ℕ) :
    ↑⌜v⌝ = ⌜fun (i : Fin k) => ↑(v i)⌝
    @[instance_reducible]
    instance LO.Arith.instGoedelQuote {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {α : Type u_2} [Encodable α] :
    Equations
    theorem LO.Arith.quote_eq_coe_encode {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {α : Type u_2} [Encodable α] (x : α) :
    @[simp]
    theorem LO.Arith.quote_nat {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (n : ℕ) :
    ⌜n⌝ = ↑n
    theorem LO.Arith.coe_quote {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {α : Type u_2} [Encodable α] (x : α) :
    theorem LO.Arith.quote_quote {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {α : Type u_2} [Encodable α] (x : α) :
    @[simp]
    theorem LO.Arith.val_quote {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {α : Type u_2} [Encodable α] {ξ : Type u_3} {n : ℕ} {e : Fin n → V} {ε : ξ → V} (x : α) :
    @[simp]
    theorem LO.Arith.quote_inj_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {α : Type u_2} [Encodable α] {x y : α} :
    theorem LO.FirstOrder.Semiterm.quote_eq_toNat (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] {n : ℕ} (t : SyntacticSemiterm L n) :
    ⌜t⌝ = ↑(toNat t)
    @[simp]
    theorem LO.FirstOrder.Semiterm.quote_bvar (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] {n : ℕ} (z : Fin n) :
    @[simp]
    theorem LO.FirstOrder.Semiterm.quote_fvar (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] {n : ℕ} (x : ℕ) :
    theorem LO.FirstOrder.Semiterm.quote_func (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] {n k : ℕ} (f : L.Func k) (v : Fin k → SyntacticSemiterm L n) :
    ⌜func f v⌝ = Arith.qqFunc ↑k ⌜f⌝ ⌜fun (i : Fin k) => ⌜v i⌝⌝
    @[simp]
    theorem LO.FirstOrder.Semiterm.codeIn_inj (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] {n : ℕ} {t u : SyntacticSemiterm L n} :
    @[simp]
    @[simp]
    @[simp]
    theorem LO.FirstOrder.Semiterm.quote_absolute (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] {n : ℕ} (t : SyntacticSemiterm L n) :
    theorem LO.Arith.eq_fin_of_lt_nat {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {n : ℕ} {x : V} (hx : x < ↑n) :
    ∃ (i : Fin n), x = ↑↑i

    TODO: move

    @[simp]
    theorem LO.Arith.semiterm_codeIn {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : FirstOrder.Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [DefinableLanguage L] {n : ℕ} (t : FirstOrder.SyntacticSemiterm L n) :
    @[simp]
    theorem LO.Arith.semitermVec_codeIn {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : FirstOrder.Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [DefinableLanguage L] {k n : ℕ} (v : Fin k → FirstOrder.SyntacticSemiterm L n) :
    (L.codeIn V).IsSemitermVec ↑k ↑n ⌜fun (i : Fin k) => ⌜v i⌝⌝
    @[simp]
    theorem LO.Arith.isUTermVec_codeIn {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : FirstOrder.Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [DefinableLanguage L] {k n : ℕ} (v : Fin k → FirstOrder.SyntacticSemiterm L n) :
    (L.codeIn V).IsUTermVec ↑k ⌜fun (i : Fin k) => ⌜v i⌝⌝
    @[simp]
    theorem LO.Arith.quote_termSubstVec {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : FirstOrder.Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [DefinableLanguage L] {k n m : ℕ} (w : Fin n → FirstOrder.SyntacticSemiterm L m) (v : Fin k → FirstOrder.SyntacticSemiterm L n) :
    ⌜fun (i : Fin k) => ⌜(FirstOrder.Rew.substs w) (v i)⌝⌝ = (L.codeIn V).termSubstVec ↑k ⌜fun (i : Fin n) => ⌜w i⌝⌝ ⌜fun (i : Fin k) => ⌜v i⌝⌝
    theorem LO.Arith.quote_termShiftVec {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : FirstOrder.Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [DefinableLanguage L] {k n : ℕ} (v : Fin k → FirstOrder.SyntacticSemiterm L n) :
    ⌜fun (i : Fin k) => ⌜FirstOrder.Rew.shift (v i)⌝⌝ = (L.codeIn V).termShiftVec ↑k ⌜fun (i : Fin k) => ⌜v i⌝⌝
    @[simp]
    theorem LO.FirstOrder.Semiformula.quote_eq_toNat {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] {n : ℕ} (φ : SyntacticSemiformula L n) :
    ⌜φ⌝ = ↑(toNat φ)
    theorem LO.FirstOrder.Semiformula.quote_rel {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] {n k : ℕ} (R : L.Rel k) (v : Fin k → SyntacticSemiterm L n) :
    ⌜rel R v⌝ = Arith.qqRel ↑k ⌜R⌝ ⌜fun (i : Fin k) => ⌜v i⌝⌝
    theorem LO.FirstOrder.Semiformula.quote_nrel {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] {n k : ℕ} (R : L.Rel k) (v : Fin k → SyntacticSemiterm L n) :
    ⌜nrel R v⌝ = Arith.qqNRel ↑k ⌜R⌝ ⌜fun (i : Fin k) => ⌜v i⌝⌝
    @[simp]
    theorem LO.FirstOrder.Semiformula.quote_verum {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] (n : ℕ) :
    @[simp]
    theorem LO.FirstOrder.Semiformula.quote_falsum {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] (n : ℕ) :
    @[simp]
    theorem LO.FirstOrder.Semiformula.quote_and {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] {n : ℕ} (φ ψ : SyntacticSemiformula L n) :
    @[simp]
    theorem LO.FirstOrder.Semiformula.quote_or {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] {n : ℕ} (φ ψ : SyntacticSemiformula L n) :
    @[simp]
    theorem LO.FirstOrder.Semiformula.quote_all {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] {n : ℕ} (φ : SyntacticSemiformula L (n + 1)) :
    @[simp]
    theorem LO.FirstOrder.Semiformula.quote_ex {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] {n : ℕ} (φ : SyntacticSemiformula L (n + 1)) :
    @[simp]
    theorem LO.FirstOrder.Semiformula.quote_semisentence_def {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] {n : ℕ} (φ : Semisentence L n) :
    ⌜↑φ⌝ = ⌜φ⌝
    @[simp]
    theorem LO.FirstOrder.Semiformula.quote_weight {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] {k : ℕ} (n : ℕ) :
    @[simp]
    theorem LO.Arith.semiformula_quote {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : FirstOrder.Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [DefinableLanguage L] {n : ℕ} (φ : FirstOrder.SyntacticSemiformula L n) :
    @[simp]
    @[simp]
    theorem LO.Arith.semiformula_quote_succ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : FirstOrder.Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [DefinableLanguage L] {n : ℕ} (φ : FirstOrder.SyntacticSemiformula L (n + 1)) :
    (L.codeIn V).IsSemiformula (↑n + 1) ⌜φ⌝
    @[simp]
    theorem LO.Arith.quote_neg {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : FirstOrder.Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [DefinableLanguage L] {n : ℕ} (φ : FirstOrder.SyntacticSemiformula L n) :
    @[simp]
    theorem LO.Arith.quote_imply {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : FirstOrder.Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [DefinableLanguage L] {n : ℕ} (φ ψ : FirstOrder.SyntacticSemiformula L n) :
    @[simp]
    theorem LO.Arith.quote_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : FirstOrder.Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [DefinableLanguage L] {n : ℕ} (φ ψ : FirstOrder.SyntacticSemiformula L n) :
    ⌜φ <=> ψ⌝ = (L.codeIn V).iff ⌜φ⌝ ⌜ψ⌝
    theorem LO.Arith.qVec_quote {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : FirstOrder.Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [DefinableLanguage L] {n m : ℕ} (w : Fin n → FirstOrder.SyntacticSemiterm L m) :
    (L.codeIn V).qVec ⌜fun (i : Fin n) => ⌜w i⌝⌝ = ⌜qqBvar 0 :> fun (i : Fin n) => ⌜FirstOrder.Rew.bShift (w i)⌝⌝
    @[simp]
    theorem LO.Arith.quote_substs {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : FirstOrder.Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [DefinableLanguage L] {n m : ℕ} (w : Fin n → FirstOrder.SyntacticSemiterm L m) (φ : FirstOrder.SyntacticSemiformula L n) :
    ⌜φ <~ w⌝ = (L.codeIn V).substs ⌜fun (i : Fin n) => ⌜w i⌝⌝ ⌜φ⌝
    theorem LO.Arith.quote_substs' {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : FirstOrder.Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [DefinableLanguage L] {n m : ℕ} (w : Fin n → FirstOrder.Semiterm L Empty m) (σ : FirstOrder.Semisentence L n) :
    ⌜σ <~ w⌝ = (L.codeIn V).substs ⌜fun (i : Fin n) => ⌜w i⌝⌝ ⌜σ⌝

    Typed #

    def LO.FirstOrder.Semiterm.codeIn' (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [Arith.DefinableLanguage L] {n : ℕ} (t : SyntacticSemiterm L n) :
    (L.codeIn V).Semiterm ↑n

    Imported declaration from the Incompleteness formalization.

    Equations
    Instances For
      @[simp]
      theorem LO.FirstOrder.Semiterm.codeIn'_val (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [Arith.DefinableLanguage L] {n : ℕ} (t : SyntacticSemiterm L n) :
      noncomputable def LO.FirstOrder.Semiterm.vCodeIn' (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [Arith.DefinableLanguage L] {k n : ℕ} (v : Fin k → SyntacticSemiterm L n) :
      (L.codeIn V).SemitermVec ↑k ↑n

      Imported declaration from the Incompleteness formalization.

      Equations
      Instances For
        @[simp]
        theorem LO.FirstOrder.Semiterm.vCodeIn'_val (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [Arith.DefinableLanguage L] {n k : ℕ} (v : Fin k → SyntacticSemiterm L n) :
        ⌜v⌝.val = ⌜fun (i : Fin k) => ⌜v i⌝⌝
        @[simp]
        theorem LO.FirstOrder.Semiterm.codeIn'_bvar (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [Arith.DefinableLanguage L] {n : ℕ} (z : Fin n) :
        ⌜bvar z⌝ = (L.codeIn V).bvar ↑↑z ⋯
        @[simp]
        theorem LO.FirstOrder.Semiterm.codeIn'_fvar (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [Arith.DefinableLanguage L] {n : ℕ} (x : ℕ) :
        ⌜fvar x⌝ = (L.codeIn V).fvar ↑x
        theorem LO.FirstOrder.Semiterm.codeIn'_func (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [Arith.DefinableLanguage L] {n k : ℕ} (f : L.Func k) (v : Fin k → SyntacticSemiterm L n) :
        ⌜func f v⌝ = (L.codeIn V).func ⋯ ⌜v⌝
        def LO.FirstOrder.Semiformula.codeIn' (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [Arith.DefinableLanguage L] {n : ℕ} (φ : SyntacticSemiformula L n) :
        (L.codeIn V).Semiformula ↑n

        Imported declaration from the Incompleteness formalization.

        Equations
        Instances For
          @[simp]
          theorem LO.FirstOrder.Semiformula.codeIn'_val (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [Arith.DefinableLanguage L] {n : ℕ} (φ : SyntacticSemiformula L n) :
          @[simp]
          @[simp]
          @[simp]
          theorem LO.FirstOrder.Semiformula.codeIn'_and (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [Arith.DefinableLanguage L] {n : ℕ} (φ ψ : SyntacticSemiformula L n) :
          @[simp]
          theorem LO.FirstOrder.Semiformula.codeIn'_or (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [Arith.DefinableLanguage L] {n : ℕ} (φ ψ : SyntacticSemiformula L n) :
          @[simp]
          theorem LO.FirstOrder.Semiformula.codeIn'_all (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [Arith.DefinableLanguage L] {n : ℕ} (φ : SyntacticSemiformula L (n + 1)) :
          @[simp]
          theorem LO.FirstOrder.Semiformula.codeIn'_ex (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [Arith.DefinableLanguage L] {n : ℕ} (φ : SyntacticSemiformula L (n + 1)) :
          @[simp]
          @[simp]
          theorem LO.FirstOrder.Semiformula.codeIn'_imp (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [Arith.DefinableLanguage L] {n : ℕ} (φ ψ : SyntacticSemiformula L n) :
          @[simp]
          @[simp]
          @[simp]
          theorem LO.FirstOrder.Semiformula.codeIn''_imp (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [Arith.DefinableLanguage L] (σ π : Sentence L) :
          theorem LO.Arith.Language.IsSemiterm.sound {L : FirstOrder.Language} [(k : ℕ) → Encodable (L.Func k)] [(k : ℕ) → Encodable (L.Rel k)] [DefinableLanguage L] {n t : ℕ} (ht : (L.codeIn ℕ).IsSemiterm n t) :