Documentation

LeanPool.Incompleteness.Arithmetization.ISigmaOne.Metamath.Term.Basic

Basic #

noncomputable def LO.Arith.qqBvar {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (z : V) :
V

Imported declaration from the Incompleteness formalization.

Equations
Instances For
    noncomputable def LO.Arith.qqFvar {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (x : V) :
    V

    Imported declaration from the Incompleteness formalization.

    Equations
    Instances For
      noncomputable def LO.Arith.qqFunc {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (k f v : V) :
      V

      Imported declaration from the Incompleteness formalization.

      Equations
      Instances For

        Imported declaration from the Incompleteness formalization.

        Equations
        Instances For

          Imported declaration from the Incompleteness formalization.

          Equations
          Instances For

            Imported declaration from the Incompleteness formalization.

            Equations
            Instances For
              @[simp]
              theorem LO.Arith.var_lt_qqBvar {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (z : V) :
              z < qqBvar z
              @[simp]
              theorem LO.Arith.var_lt_qqFvar {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (x : V) :
              x < qqFvar x
              @[simp]
              theorem LO.Arith.arity_lt_qqFunc {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (k f v : V) :
              k < qqFunc k f v
              @[simp]
              theorem LO.Arith.func_lt_qqFunc {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (k f v : V) :
              f < qqFunc k f v
              @[simp]
              theorem LO.Arith.terms_lt_qqFunc {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (k f v : V) :
              v < qqFunc k f v
              theorem LO.Arith.nth_lt_qqFunc_of_lt {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i k f v : V} (hi : i < len v) :
              nth v i < qqFunc k f v
              @[simp]
              theorem LO.Arith.qqBvar_inj {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {z z' : V} :
              qqBvar z = qqBvar z' z = z'
              @[simp]
              theorem LO.Arith.qqFvar_inj {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {x x' : V} :
              qqFvar x = qqFvar x' x = x'
              @[simp]
              theorem LO.Arith.qqFunc_inj {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k f v k' f' w : V} :
              qqFunc k f v = qqFunc k' f' w k = k' f = f' v = w

              Imported declaration from the Incompleteness formalization.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                Imported declaration from the Incompleteness formalization.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  Imported declaration from the Incompleteness formalization.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    def LO.Arith.FormalizedTerm.Phi {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (L : Arith.Language V) (C : Set V) (t : V) :

                    Imported declaration from the Incompleteness formalization.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      Imported declaration from the Incompleteness formalization.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For

                        Imported declaration from the Incompleteness formalization.

                        Equations
                        Instances For

                          Imported declaration from the Incompleteness formalization.

                          Equations
                          Instances For

                            Imported declaration from the Incompleteness formalization.

                            Equations
                            Instances For
                              instance LO.Arith.isUTermDef_definable' {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (L : Arith.Language V) {pL : FirstOrder.Arith.LDef} [L.Defined pL] {m : } (Γ : SigmaPiDelta) :
                              { Γ := Γ, rank := m + 1 }-Predicate L.IsUTerm

                              Imported declaration from the Incompleteness formalization.

                              Equations
                              Instances For
                                theorem LO.Arith.Language.IsUTermVec.lh {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {n w : V} (h : L.IsUTermVec n w) :
                                n = len w
                                theorem LO.Arith.Language.IsUTermVec.nth {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {n w : V} (h : L.IsUTermVec n w) {i : V} :
                                i < nL.IsUTerm (Arith.nth w i)
                                theorem LO.Arith.Language.IsUTermVec.two_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {v : V} :
                                L.IsUTermVec 2 v ∃ (t₁ : V) (t₂ : V), L.IsUTerm t₁ L.IsUTerm t₂ v = ?[t₁, t₂]
                                @[simp]
                                theorem LO.Arith.Language.IsUTermVec.cons {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {n w t : V} (h : L.IsUTermVec n w) (ht : L.IsUTerm t) :
                                L.IsUTermVec (n + 1) (Cons.cons t w)
                                @[simp]
                                theorem LO.Arith.Language.IsUTermVec.mkSeq₂_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {t₁ t₂ : V} :
                                L.IsUTermVec 2 ?[t₁, t₂] L.IsUTerm t₁ L.IsUTerm t₂

                                Imported declaration from the Incompleteness formalization.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  theorem LO.Arith.Language.IsUTerm.case_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {t : V} :
                                  L.IsUTerm t (∃ (z : V), t = qqBvar z) (∃ (x : V), t = qqFvar x) ∃ (k : V) (f : V) (v : V), L.Func k f L.IsUTermVec k v t = qqFunc k f v
                                  theorem LO.Arith.Language.IsUTerm.mk {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {t : V} :
                                  ((∃ (z : V), t = qqBvar z) (∃ (x : V), t = qqFvar x) ∃ (k : V) (f : V) (v : V), L.Func k f L.IsUTermVec k v t = qqFunc k f v) → L.IsUTerm t

                                  Alias of the reverse direction of LO.Arith.Language.IsUTerm.case_iff.

                                  theorem LO.Arith.Language.IsUTerm.case {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {t : V} :
                                  L.IsUTerm t(∃ (z : V), t = qqBvar z) (∃ (x : V), t = qqFvar x) ∃ (k : V) (f : V) (v : V), L.Func k f L.IsUTermVec k v t = qqFunc k f v

                                  Alias of the forward direction of LO.Arith.Language.IsUTerm.case_iff.

                                  @[simp]
                                  @[simp]
                                  @[simp]
                                  theorem LO.Arith.Language.IsUTerm.func_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {k f v : V} :
                                  L.IsUTerm (qqFunc k f v) L.Func k f L.IsUTermVec k v
                                  theorem LO.Arith.Language.IsUTerm.func {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {k f v : V} (hkf : L.Func k f) (hv : L.IsUTermVec k v) :
                                  L.IsUTerm (qqFunc k f v)
                                  theorem LO.Arith.Language.IsUTerm.induction {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (Γ : SigmaPiDelta) {P : VProp} (hP : { Γ := Γ, rank := 1 }-Predicate P) (hbvar : ∀ (z : V), P (qqBvar z)) (hfvar : ∀ (x : V), P (qqFvar x)) (hfunc : ∀ (k f v : V), L.Func k fL.IsUTermVec k v(∀ i < k, P (nth v i))P (qqFunc k f v)) (t : V) :
                                  L.IsUTerm tP t

                                  Imported declaration from the Incompleteness formalization.

                                  Instances For

                                    Imported declaration from the Incompleteness formalization.

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For

                                      Imported declaration from the Incompleteness formalization.

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For

                                        Imported declaration from the Incompleteness formalization.

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For

                                          Imported declaration from the Incompleteness formalization.

                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For
                                            structure LO.Arith.Language.TermRec.Construction (V : Type u_1) [ORingStruc V] {pL : FirstOrder.Arith.LDef} (L : Arith.Language V) {k : } (φ : Blueprint pL k) :
                                            Type u_1

                                            Imported declaration from the Incompleteness formalization.

                                            Instances For
                                              def LO.Arith.Language.TermRec.Construction.Phi {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) (param : Fin arityV) (C : Set V) (pr : V) :

                                              Imported declaration from the Incompleteness formalization.

                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For
                                                theorem LO.Arith.Language.TermRec.Construction.seq_bound {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k s m : V} (Ss : Seq s) (hk : k = lh s) (hs : ∀ (i z : V), i, z sz < m) :
                                                s < exp ((k + m + 1) ^ 2)
                                                @[simp]
                                                theorem LO.Arith.Language.TermRec.Construction.cons_app_9 {α : Type u_2} {n : } (a : α) (s : Fin n.succ.succ.succ.succ.succ.succ.succ.succ.succα) :
                                                (a :> s) 9 = s 8

                                                TODO: move

                                                @[simp]
                                                theorem LO.Arith.Language.TermRec.Construction.cons_app_10 {α : Type u_2} {n : } (a : α) (s : Fin n.succ.succ.succ.succ.succ.succ.succ.succ.succ.succα) :
                                                (a :> s) 10 = s 9
                                                @[simp]
                                                theorem LO.Arith.Language.TermRec.Construction.cons_app_11 {α : Type u_2} {n : } (a : α) (s : Fin n.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succα) :
                                                (a :> s) 11 = s 10

                                                Imported declaration from the Incompleteness formalization.

                                                Equations
                                                Instances For
                                                  def LO.Arith.Language.TermRec.Construction.Graph {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) (param : Fin arityV) (x y : V) :

                                                  Imported declaration from the Incompleteness formalization.

                                                  Equations
                                                  Instances For
                                                    theorem LO.Arith.Language.TermRec.Construction.Graph.case_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} {c : Construction V L β} {param : Fin arityV} {t y : V} :
                                                    c.Graph param t y L.IsUTerm t ((∃ (z : V), t = qqBvar z y = c.bvar param z) (∃ (x : V), t = qqFvar x y = c.fvar param x) ∃ (k : V) (f : V) (v : V) (w : V), (k = len w i < k, c.Graph param (nth v i) (nth w i)) t = qqFunc k f v y = c.func param k f v w)
                                                    theorem LO.Arith.Language.TermRec.Construction.graph_defined {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) :
                                                    FirstOrder.Arith.HierarchySymbol.Defined (fun (v : Fin (arity + 1 + 1)V) => c.Graph (fun (x : Fin arity) => v x.succ.succ) (v 0) (v 1)) β.graph
                                                    theorem LO.Arith.Language.TermRec.Construction.eval_graphDef {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) (v : Fin (arity + 2)V) :
                                                    V ⊧/v (FirstOrder.Arith.HierarchySymbol.Semiformula.val β.graph) c.Graph (fun (x : Fin arity) => v x.succ.succ) (v 0) (v 1)
                                                    instance LO.Arith.Language.TermRec.Construction.graph_definable {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) :
                                                    FirstOrder.Arith.Sg1.Boldface fun (v : Fin (arity + 1 + 1)V) => c.Graph (fun (x : Fin arity) => v x.succ.succ) (v 0) (v 1)
                                                    instance LO.Arith.Language.TermRec.Construction.graph_definable₂ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) (param : Fin arityV) :
                                                    { Γ := Sg, rank := 0 + 1 }-Relation c.Graph param
                                                    theorem LO.Arith.Language.TermRec.Construction.graph_dom_isUTerm {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) {param : Fin arityV} {t y : V} :
                                                    c.Graph param t yL.IsUTerm t
                                                    theorem LO.Arith.Language.TermRec.Construction.graph_bvar_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) {param : Fin arityV} {y z : V} :
                                                    c.Graph param (qqBvar z) y y = c.bvar param z
                                                    theorem LO.Arith.Language.TermRec.Construction.graph_fvar_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) {param : Fin arityV} {y : V} (x : V) :
                                                    c.Graph param (qqFvar x) y y = c.fvar param x
                                                    theorem LO.Arith.Language.TermRec.Construction.graph_func {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) {param : Fin arityV} {k f v w : V} (hkr : L.Func k f) (hv : L.IsUTermVec k v) (hkw : k = len w) (hw : i < k, c.Graph param (nth v i) (nth w i)) :
                                                    c.Graph param (qqFunc k f v) (c.func param k f v w)
                                                    theorem LO.Arith.Language.TermRec.Construction.graph_func_inv {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) {param : Fin arityV} {k f v y : V} :
                                                    c.Graph param (qqFunc k f v) y∃ (w : V), (k = len w i < k, c.Graph param (nth v i) (nth w i)) y = c.func param k f v w
                                                    theorem LO.Arith.Language.TermRec.Construction.graph_exists {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} {c : Construction V L β} (param : Fin arityV) {t : V} :
                                                    L.IsUTerm t∃ (y : V), c.Graph param t y
                                                    theorem LO.Arith.Language.TermRec.Construction.graph_unique {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} {c : Construction V L β} (param : Fin arityV) {t y₁ y₂ : V} :
                                                    c.Graph param t y₁c.Graph param t y₂y₁ = y₂
                                                    theorem LO.Arith.Language.TermRec.Construction.graph_existsUnique {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) (param : Fin arityV) {t : V} (ht : L.IsUTerm t) :
                                                    ∃! y : V, c.Graph param t y
                                                    theorem LO.Arith.Language.TermRec.Construction.graph_existsUnique_total {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) (param : Fin arityV) (t : V) :
                                                    ∃! y : V, (L.IsUTerm tc.Graph param t y) (¬L.IsUTerm ty = 0)
                                                    noncomputable def LO.Arith.Language.TermRec.Construction.result {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) (param : Fin arityV) (t : V) :
                                                    V

                                                    Imported declaration from the Incompleteness formalization.

                                                    Equations
                                                    Instances For
                                                      theorem LO.Arith.Language.TermRec.Construction.result_prop {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) (param : Fin arityV) {t : V} (ht : L.IsUTerm t) :
                                                      c.Graph param t (c.result param t)

                                                      Imported declaration from the Incompleteness formalization.

                                                      theorem LO.Arith.Language.TermRec.Construction.result_prop_not {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) (param : Fin arityV) {t : V} (ht : ¬L.IsUTerm t) :
                                                      c.result param t = 0

                                                      Imported declaration from the Incompleteness formalization.

                                                      theorem LO.Arith.Language.TermRec.Construction.result_eq_of_graph {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} {c : Construction V L β} {param : Fin arityV} {t y : V} (ht : L.IsUTerm t) (h : c.Graph param t y) :
                                                      c.result param t = y
                                                      @[simp]
                                                      theorem LO.Arith.Language.TermRec.Construction.result_bvar {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} {c : Construction V L β} {param : Fin arityV} (z : V) :
                                                      c.result param (qqBvar z) = c.bvar param z
                                                      @[simp]
                                                      theorem LO.Arith.Language.TermRec.Construction.result_fvar {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} {c : Construction V L β} {param : Fin arityV} (x : V) :
                                                      c.result param (qqFvar x) = c.fvar param x
                                                      theorem LO.Arith.Language.TermRec.Construction.result_func {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} {c : Construction V L β} {param : Fin arityV} {k f v w : V} (hkf : L.Func k f) (hv : L.IsUTermVec k v) (hkw : k = len w) (hw : i < k, c.result param (nth v i) = nth w i) :
                                                      c.result param (qqFunc k f v) = c.func param k f v w
                                                      theorem LO.Arith.Language.TermRec.Construction.graph_existsUnique_vec {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} {c : Construction V L β} {param : Fin arityV} {k w : V} (hw : L.IsUTermVec k w) :
                                                      ∃! w' : V, k = len w' i < k, c.Graph param (nth w i) (nth w' i)
                                                      theorem LO.Arith.Language.TermRec.Construction.graph_existsUnique_vec_total {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) (param : Fin arityV) (k w : V) :
                                                      ∃! w' : V, (L.IsUTermVec k wk = len w' i < k, c.Graph param (nth w i) (nth w' i)) (¬L.IsUTermVec k ww' = 0)
                                                      noncomputable def LO.Arith.Language.TermRec.Construction.resultVec {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) (param : Fin arityV) (k w : V) :
                                                      V

                                                      Imported declaration from the Incompleteness formalization.

                                                      Equations
                                                      Instances For
                                                        @[simp]
                                                        theorem LO.Arith.Language.TermRec.Construction.resultVec_lh {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) (param : Fin arityV) {k w : V} (hw : L.IsUTermVec k w) :
                                                        len (c.resultVec param k w) = k
                                                        theorem LO.Arith.Language.TermRec.Construction.graph_of_mem_resultVec {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) (param : Fin arityV) {k w : V} (hw : L.IsUTermVec k w) {i : V} (hi : i < k) :
                                                        c.Graph param (nth w i) (nth (c.resultVec param k w) i)
                                                        theorem LO.Arith.Language.TermRec.Construction.nth_resultVec {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) (param : Fin arityV) {k w i : V} (hw : L.IsUTermVec k w) (hi : i < k) :
                                                        nth (c.resultVec param k w) i = c.result param (nth w i)
                                                        @[simp]
                                                        theorem LO.Arith.Language.TermRec.Construction.resultVec_of_not {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) (param : Fin arityV) {k w : V} (hw : ¬L.IsUTermVec k w) :
                                                        c.resultVec param k w = 0

                                                        Imported declaration from the Incompleteness formalization.

                                                        @[simp]
                                                        theorem LO.Arith.Language.TermRec.Construction.resultVec_nil {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) (param : Fin arityV) :
                                                        c.resultVec param 0 0 = 0
                                                        theorem LO.Arith.Language.TermRec.Construction.resultVec_cons {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) (param : Fin arityV) {k w t : V} (hw : L.IsUTermVec k w) (ht : L.IsUTerm t) :
                                                        c.resultVec param (k + 1) (cons t w) = cons (c.result param t) (c.resultVec param k w)
                                                        @[simp]
                                                        theorem LO.Arith.Language.TermRec.Construction.result_func' {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) {param : Fin arityV} {k f v : V} (hkf : L.Func k f) (hv : L.IsUTermVec k v) :
                                                        c.result param (qqFunc k f v) = c.func param k f v (c.resultVec param k v)
                                                        theorem LO.Arith.Language.TermRec.Construction.result_defined {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) :
                                                        FirstOrder.Arith.HierarchySymbol.DefinedFunction (fun (v : Fin (arity + 1)V) => c.result (fun (x : Fin arity) => v x.succ) (v 0)) β.result
                                                        theorem LO.Arith.Language.TermRec.Construction.result_graphDef {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) (v : Fin (arity + 2)V) :
                                                        V ⊧/v (FirstOrder.Arith.HierarchySymbol.Semiformula.val β.result) v 0 = c.result (fun (x : Fin arity) => v x.succ.succ) (v 1)
                                                        theorem LO.Arith.Language.TermRec.Construction.resultVec_defined {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) :
                                                        FirstOrder.Arith.HierarchySymbol.DefinedFunction (fun (v : Fin (arity + 1 + 1)V) => c.resultVec (fun (x : Fin arity) => v x.succ.succ) (v 0) (v 1)) β.resultVec
                                                        theorem LO.Arith.Language.TermRec.Construction.eval_resultVec {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {arity : } {β : Blueprint pL arity} (c : Construction V L β) (v : Fin (arity + 3)V) :
                                                        V ⊧/v (FirstOrder.Arith.HierarchySymbol.Semiformula.val β.resultVec) v 0 = c.resultVec (fun (x : Fin arity) => v x.succ.succ.succ) (v 1) (v 2)

                                                        Imported declaration from the Incompleteness formalization.

                                                        Equations
                                                        • One or more equations did not get rendered due to their size.
                                                        Instances For

                                                          Imported declaration from the Incompleteness formalization.

                                                          Equations
                                                          • One or more equations did not get rendered due to their size.
                                                          Instances For
                                                            noncomputable def LO.Arith.Language.termBV {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (L : Arith.Language V) {pL : FirstOrder.Arith.LDef} [L.Defined pL] (t : V) :
                                                            V

                                                            Imported declaration from the Incompleteness formalization.

                                                            Equations
                                                            Instances For
                                                              noncomputable def LO.Arith.Language.termBVVec {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (L : Arith.Language V) {pL : FirstOrder.Arith.LDef} [L.Defined pL] (k v : V) :
                                                              V

                                                              Imported declaration from the Incompleteness formalization.

                                                              Equations
                                                              Instances For
                                                                @[simp]
                                                                theorem LO.Arith.Language.termBV_bvar {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (z : V) :
                                                                L.termBV (qqBvar z) = z + 1
                                                                @[simp]
                                                                theorem LO.Arith.Language.termBV_fvar {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (x : V) :
                                                                L.termBV (qqFvar x) = 0
                                                                @[simp]
                                                                theorem LO.Arith.Language.termBV_func {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {k f v : V} (hkf : L.Func k f) (hv : L.IsUTermVec k v) :
                                                                L.termBV (qqFunc k f v) = listMax (L.termBVVec k v)
                                                                @[simp]
                                                                theorem LO.Arith.Language.len_termBVVec {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {k v : V} (hv : L.IsUTermVec k v) :
                                                                len (L.termBVVec k v) = k
                                                                @[simp]
                                                                theorem LO.Arith.Language.nth_termBVVec {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {k v : V} (hv : L.IsUTermVec k v) {i : V} (hi : i < k) :
                                                                nth (L.termBVVec k v) i = L.termBV (nth v i)
                                                                theorem LO.Arith.Language.termBVVec_cons {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {k t ts : V} (ht : L.IsUTerm t) (hts : L.IsUTermVec k ts) :
                                                                L.termBVVec (k + 1) (cons t ts) = cons (L.termBV t) (L.termBVVec k ts)

                                                                Imported declaration from the Incompleteness formalization.

                                                                Equations
                                                                Instances For

                                                                  Imported declaration from the Incompleteness formalization.

                                                                  Equations
                                                                  Instances For
                                                                    instance LO.Arith.Language.termBV_definable' {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (L : Arith.Language V) {pL : FirstOrder.Arith.LDef} [L.Defined pL] {Γ : SigmaPiDelta} {k : } :
                                                                    { Γ := Γ, rank := k + 1 }-Function₁ L.termBV

                                                                    Imported declaration from the Incompleteness formalization.

                                                                    Equations
                                                                    Instances For

                                                                      Imported declaration from the Incompleteness formalization.

                                                                      Equations
                                                                      Instances For
                                                                        @[reducible, inline]

                                                                        Imported declaration from the Incompleteness formalization.

                                                                        Equations
                                                                        Instances For
                                                                          @[reducible, inline]

                                                                          Imported declaration from the Incompleteness formalization.

                                                                          Equations
                                                                          Instances For
                                                                            theorem LO.Arith.Language.IsSemiterm.bv {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {n t : V} (h : L.IsSemiterm n t) :
                                                                            L.termBV t n
                                                                            theorem LO.Arith.Language.IsSemitermVec.bv {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {k n v : V} (h : L.IsSemitermVec k n v) {i : V} (hi : i < k) :
                                                                            L.termBV (Arith.nth v i) n
                                                                            theorem LO.Arith.Language.IsSemitermVec.lh {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {k n v : V} (h : L.IsSemitermVec k n v) :
                                                                            len v = k
                                                                            theorem LO.Arith.Language.IsSemitermVec.nth {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {k n v : V} (h : L.IsSemitermVec k n v) {i : V} (hi : i < k) :
                                                                            theorem LO.Arith.Language.IsSemitermVec.iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {k n v : V} :
                                                                            L.IsSemitermVec k n v len v = k i < k, L.IsSemiterm n (Arith.nth v i)
                                                                            @[simp]
                                                                            theorem LO.Arith.Language.IsSemiterm.bvar {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {n z : V} :
                                                                            L.IsSemiterm n (qqBvar z) z < n
                                                                            @[simp]
                                                                            @[simp]
                                                                            theorem LO.Arith.Language.IsSemiterm.func {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {n k f v : V} :
                                                                            L.IsSemiterm n (qqFunc k f v) L.Func k f L.IsSemitermVec k n v
                                                                            @[simp]
                                                                            theorem LO.Arith.Language.SemitermVec.cons {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {n m w t : V} (h : L.IsSemitermVec n m w) (ht : L.IsSemiterm m t) :
                                                                            L.IsSemitermVec (n + 1) m (Cons.cons t w)
                                                                            @[simp]
                                                                            theorem LO.Arith.Language.IsSemitermVec.doubleton {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {n t₁ t₂ : V} :
                                                                            L.IsSemitermVec 2 n ?[t₁, t₂] L.IsSemiterm n t₁ L.IsSemiterm n t₂

                                                                            Imported declaration from the Incompleteness formalization.

                                                                            Equations
                                                                            • One or more equations did not get rendered due to their size.
                                                                            Instances For
                                                                              instance LO.Arith.Language.isSemiterm_defined' {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (L : Arith.Language V) {pL : FirstOrder.Arith.LDef} [L.Defined pL] (Γ : SigmaPiDelta) (m : ) :
                                                                              { Γ := Γ, rank := m + 1 }-Relation L.IsSemiterm

                                                                              Imported declaration from the Incompleteness formalization.

                                                                              Equations
                                                                              • One or more equations did not get rendered due to their size.
                                                                              Instances For
                                                                                theorem LO.Arith.Language.IsSemiterm.case_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {n t : V} :
                                                                                L.IsSemiterm n t (∃ z < n, t = qqBvar z) (∃ (x : V), t = qqFvar x) ∃ (k : V) (f : V) (v : V), L.Func k f L.IsSemitermVec k n v t = qqFunc k f v
                                                                                theorem LO.Arith.Language.IsSemiterm.mk {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {n t : V} :
                                                                                ((∃ z < n, t = qqBvar z) (∃ (x : V), t = qqFvar x) ∃ (k : V) (f : V) (v : V), L.Func k f L.IsSemitermVec k n v t = qqFunc k f v) → L.IsSemiterm n t

                                                                                Alias of the reverse direction of LO.Arith.Language.IsSemiterm.case_iff.

                                                                                theorem LO.Arith.Language.IsSemiterm.case {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {n t : V} :
                                                                                L.IsSemiterm n t(∃ z < n, t = qqBvar z) (∃ (x : V), t = qqFvar x) ∃ (k : V) (f : V) (v : V), L.Func k f L.IsSemitermVec k n v t = qqFunc k f v

                                                                                Alias of the forward direction of LO.Arith.Language.IsSemiterm.case_iff.

                                                                                theorem LO.Arith.Language.IsSemiterm.induction {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {n : V} (Γ : SigmaPiDelta) {P : VProp} (hP : { Γ := Γ, rank := 1 }-Predicate P) (hbvar : z < n, P (qqBvar z)) (hfvar : ∀ (x : V), P (qqFvar x)) (hfunc : ∀ (k f v : V), L.Func k fL.IsSemitermVec k n v(∀ i < k, P (nth v i))P (qqFunc k f v)) (t : V) :
                                                                                L.IsSemiterm n tP t
                                                                                @[simp]
                                                                                theorem LO.Arith.Language.IsSemitermVec.cons {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {k n w t : V} (h : L.IsSemitermVec n k w) (ht : L.IsSemiterm k t) :
                                                                                L.IsSemitermVec (n + 1) k (Cons.cons t w)