noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.qqBvar
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(z : V)
:
V
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.qqFvar
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(x : V)
:
V
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.var_lt_qqBvar
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(z : V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.var_lt_qqFvar
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(x : V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.arity_lt_qqFunc
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(k f v : V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.func_lt_qqFunc
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(k f v : V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.terms_lt_qqFunc
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(k f v : V)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.Arithmetic.Bootstrapping.qqBvar_defined
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.Arithmetic.Bootstrapping.qqFvar_defined
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.Arithmetic.Bootstrapping.qqFunc_defined
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
:
def
LO.FirstOrder.Arithmetic.Bootstrapping.FormalizedTerm.Phi
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
(C : Set V)
(t : V)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
LO.FirstOrder.Arithmetic.Bootstrapping.FormalizedTerm.blueprint
(L : Language)
[L.Encodable]
[L.LORDefinable]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
LO.FirstOrder.Arithmetic.Bootstrapping.FormalizedTerm.construction
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
:
Equations
- LO.FirstOrder.Arithmetic.Bootstrapping.FormalizedTerm.construction L = { Φ := fun (x : Fin 0 → V) => LO.FirstOrder.Arithmetic.Bootstrapping.FormalizedTerm.Phi L, defined := ⋯, monotone := ⋯ }
Instances For
instance
LO.FirstOrder.Arithmetic.Bootstrapping.FormalizedTerm.instStrongFiniteConstruction
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
:
def
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTerm
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
:
V → Prop
Equations
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.isUTerm
(L : Language)
[L.Encodable]
[L.LORDefinable]
:
Note: noncomputable attribute to prohibit compilation of a large term. This is necessary for Zoo and integration with Verso.
Equations
Instances For
instance
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTerm.defined
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTerm.definable
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTerm.definable'
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{m : ℕ}
(Γ : SigmaPiDelta)
:
def
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTermVec
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
(n w : V)
:
Equations
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.isUTermVec
(L : Language)
[L.Encodable]
[L.LORDefinable]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTermVec.lh
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n w : V}
(h : IsUTermVec L n w)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTermVec.nth
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n w : V}
(h : IsUTermVec L n w)
{i : V}
:
i < n → IsUTerm L (Arithmetic.nth w i)
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTermVec.empty
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
:
IsUTermVec L 0 0
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTermVec.empty_iff
{L : Language}
[L.Encodable]
[L.LORDefinable]
{v : ℕ}
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTermVec.two_iff
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{v : V}
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTermVec.adjoin
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n w t : V}
(h : IsUTermVec L n w)
(ht : IsUTerm L t)
:
IsUTermVec L (n + 1) (Adjoin.adjoin t w)
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTermVec.adjoin₁_iff
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{t : V}
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTermVec.mkSeq₂_iff
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{t₁ t₂ : V}
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTermVec.defined
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTermVec.definable
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTermVec.definable'
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{m : ℕ}
(Γ : SigmaPiDelta)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTerm.case_iff
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{t : V}
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTerm.case
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{t : V}
:
Alias of the forward direction of LO.FirstOrder.Arithmetic.Bootstrapping.IsUTerm.case_iff.
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTerm.mk
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{t : V}
:
Alias of the reverse direction of LO.FirstOrder.Arithmetic.Bootstrapping.IsUTerm.case_iff.
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTerm.bvar
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{z : V}
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTerm.fvar
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(x : V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTerm.func_iff
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k f v : V}
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTerm.func
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k f v : V}
(hkf : L.IsFunc k f)
(hv : IsUTermVec L k v)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTerm.induction
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(Γ : SigmaPiDelta)
{P : V → Prop}
(hP : { Γ := Γ, rank := 1 }-Predicate P)
(hbvar : ∀ (z : V), P (qqBvar z))
(hfvar : ∀ (x : V), P (qqFvar x))
(hfunc : ∀ (k f v : V), L.IsFunc k f → IsUTermVec L k v → (∀ i < k, P (nth v i)) → P (qqFunc k f v))
(t : V)
:
IsUTerm L t → P t
- bvar : 𝚺₁.Semisentence (arity + 2)
- fvar : 𝚺₁.Semisentence (arity + 2)
- func : 𝚺₁.Semisentence (arity + 5)
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Blueprint.blueprint
{arity : ℕ}
(L : Language)
[L.Encodable]
[L.LORDefinable]
(β : Blueprint arity)
:
Fixpoint.Blueprint arity
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Blueprint.graph
{arity : ℕ}
(L : Language)
[L.Encodable]
[L.LORDefinable]
(β : Blueprint arity)
:
𝚺₁.Semisentence (arity + 2)
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Blueprint.result
{arity : ℕ}
(L : Language)
[L.Encodable]
[L.LORDefinable]
(β : Blueprint arity)
:
𝚺₁.Semisentence (arity + 2)
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Blueprint.resultVec
{arity : ℕ}
(L : Language)
[L.Encodable]
[L.LORDefinable]
(β : Blueprint arity)
:
𝚺₁.Semisentence (arity + 3)
Equations
- One or more equations did not get rendered due to their size.
Instances For
structure
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction
(V : Type u_1)
[ORingStructure V]
{k : ℕ}
(φ : Blueprint k)
:
Type u_1
Instances For
def
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.Phi
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
(param : Fin arity → V)
(C : Set V)
(pr : V)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.construction
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.instFiniteConstruction
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
:
def
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.Graph
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
(param : Fin arity → V)
(x y : V)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.Graph.case_iff
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
{c : Construction V β}
{param : Fin arity → V}
{t y : V}
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.graph_defined
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
:
HierarchySymbol.Defined
(fun (v : Fin (arity + 1 + 1) → V) => Graph L c (fun (x : Fin arity) => v x.succ.succ) (v 0) (v 1))
(Blueprint.graph L β)
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.eval_graphDef
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
(v : Fin (arity + 2) → V)
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.graph_definable
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.graph_definable₂
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
(param : Fin arity → V)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.graph_dom_isUTerm
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
{param : Fin arity → V}
{t y : V}
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.graph_bvar_iff
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
{param : Fin arity → V}
{y z : V}
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.graph_fvar_iff
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
{param : Fin arity → V}
{y : V}
(x : V)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.graph_func
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
{param : Fin arity → V}
{k f v w : V}
(hkr : L.IsFunc k f)
(hv : IsUTermVec L k v)
(hkw : k = len w)
(hw : ∀ i < k, Graph L c param (nth v i) (nth w i))
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.graph_func_inv
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
{param : Fin arity → V}
{k f v y : V}
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.graph_exists
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
{c : Construction V β}
(param : Fin arity → V)
{t : V}
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.graph_unique
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
{c : Construction V β}
(param : Fin arity → V)
{t y₁ y₂ : V}
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.graph_existsUnique
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
(param : Fin arity → V)
{t : V}
(ht : IsUTerm L t)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.graph_existsUnique_total
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
(param : Fin arity → V)
(t : V)
:
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.result
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
(param : Fin arity → V)
(t : V)
:
V
Equations
Instances For
def
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.result_prop
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
(param : Fin arity → V)
{t : V}
(ht : IsUTerm L t)
:
Equations
- ⋯ = ⋯
Instances For
def
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.result_prop_not
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
(param : Fin arity → V)
{t : V}
(ht : ¬IsUTerm L t)
:
Equations
- ⋯ = ⋯
Instances For
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.result_eq_of_graph
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
{c : Construction V β}
{param : Fin arity → V}
{t y : V}
(ht : IsUTerm L t)
(h : Graph L c param t y)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.result_bvar
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
{c : Construction V β}
{param : Fin arity → V}
(z : V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.result_fvar
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
{c : Construction V β}
{param : Fin arity → V}
(x : V)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.result_func
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
{c : Construction V β}
{param : Fin arity → V}
{k f v w : V}
(hkf : L.IsFunc k f)
(hv : IsUTermVec L k v)
(hkw : k = len w)
(hw : ∀ i < k, result L c param (nth v i) = nth w i)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.graph_existsUnique_vec
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
{c : Construction V β}
{param : Fin arity → V}
{k w : V}
(hw : IsUTermVec L k w)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.graph_existsUnique_vec_total
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
(param : Fin arity → V)
(k w : V)
:
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.resultVec
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
(param : Fin arity → V)
(k w : V)
:
V
Equations
Instances For
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.resultVec_lh
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
(param : Fin arity → V)
{k w : V}
(hw : IsUTermVec L k w)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.graph_of_mem_resultVec
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
(param : Fin arity → V)
{k w : V}
(hw : IsUTermVec L k w)
{i : V}
(hi : i < k)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.nth_resultVec
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
(param : Fin arity → V)
{k w i : V}
(hw : IsUTermVec L k w)
(hi : i < k)
:
@[simp]
def
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.resultVec_of_not
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
(param : Fin arity → V)
{k w : V}
(hw : ¬IsUTermVec L k w)
:
Equations
- ⋯ = ⋯
Instances For
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.resultVec_nil
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
(param : Fin arity → V)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.resultVec_cons
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
(param : Fin arity → V)
{k w t : V}
(hw : IsUTermVec L k w)
(ht : IsUTerm L t)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.result_func'
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
{param : Fin arity → V}
{k f v : V}
(hkf : L.IsFunc k f)
(hv : IsUTermVec L k v)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.result_defined
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
:
HierarchySymbol.DefinedFunction (fun (v : Fin (arity + 1) → V) => result L c (fun (x : Fin arity) => v x.succ) (v 0))
(Blueprint.result L β)
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.result_graphDef
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
(v : Fin (arity + 2) → V)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.resultVec_defined
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
:
HierarchySymbol.DefinedFunction
(fun (v : Fin (arity + 1 + 1) → V) => resultVec L c (fun (x : Fin arity) => v x.succ.succ) (v 0) (v 1))
(Blueprint.resultVec L β)
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Language.TermRec.Construction.eval_resultVec
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{arity : ℕ}
{β : Blueprint arity}
(c : Construction V β)
(v : Fin (arity + 3) → V)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTerm.BV.construction
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.termBV
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
(t : V)
:
V
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.termBVVec
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
(k v : V)
:
V
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.termBVGraph
(L : Language)
[L.Encodable]
[L.LORDefinable]
:
Equations
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.termBVVecGraph
(L : Language)
[L.Encodable]
[L.LORDefinable]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.termBV_bvar
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(z : V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.termBV_fvar
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(x : V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.termBV_func
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k f v : V}
(hkf : L.IsFunc k f)
(hv : IsUTermVec L k v)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.len_termBVVec
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k v : V}
(hv : IsUTermVec L k v)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.nth_termBVVec
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k v : V}
(hv : IsUTermVec L k v)
{i : V}
(hi : i < k)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.termBVVec_nil
{L : Language}
[L.Encodable]
[L.LORDefinable]
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.termBVVec_cons
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k t ts : V}
(ht : IsUTerm L t)
(hts : IsUTermVec L k ts)
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.termBV.defined
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.termBV.definable
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.termBV.definable'
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{Γ : SigmaPiDelta}
{k : ℕ}
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.termBVVec.defined
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.termBVVec.definable
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.termBVVec.definable'
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{Γ : SigmaPiDelta}
{i : ℕ}
:
class
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemiterm
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
(n t : V)
:
- isUTerm : IsUTerm L t
Instances
class
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemitermVec
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
(k n v : V)
:
- isUTermVec : IsUTermVec L k v
- bv {i : V} : i < k → termBV L (Arithmetic.nth v i) ≤ n
Instances
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.isSemiterm
(L : Language)
[L.Encodable]
[L.LORDefinable]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.isSemitermVec
(L : Language)
[L.Encodable]
[L.LORDefinable]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.Arithmetic.Bootstrapping.IsTerm
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
(t : V)
:
Equations
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.Arithmetic.Bootstrapping.IsTermVec
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
(k v : V)
:
Equations
Instances For
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemiterm.def
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n t : V}
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemitermVec.def
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n v : V}
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemitermVec.isUTerm
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n v : V}
(h : IsSemitermVec L k n v)
:
IsUTermVec L k v
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemitermVec.lh
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n v : V}
(h : IsSemitermVec L k n v)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemitermVec.nth
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n v : V}
(h : IsSemitermVec L k n v)
{i : V}
(hi : i < k)
:
IsSemiterm L n (Arithmetic.nth v i)
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTerm.isSemiterm
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{t : V}
(h : IsUTerm L t)
:
IsSemiterm L (termBV L t) t
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsUTermVec.isSemitermVec
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k v : V}
(h : IsUTermVec L k v)
:
IsSemitermVec L k (listMax (termBVVec L k v)) v
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemitermVec.iff
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n v : V}
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemiterm.bvar
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n z : V}
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemiterm.fvar
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(n x : V)
:
IsSemiterm L n (qqFvar x)
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemiterm.func
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n k f v : V}
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemitermVec.empty
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(n : V)
:
IsSemitermVec L 0 n 0
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemitermVec.empty_iff
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{v n : V}
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemitermVec.cons_iff
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n w t : V}
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.SemitermVec.adjoin
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n m w t : V}
(h : IsSemitermVec L n m w)
(ht : IsSemiterm L m t)
:
IsSemitermVec L (n + 1) m (Adjoin.adjoin t w)
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemitermVec.singleton
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n t : V}
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemitermVec.doubleton
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n t₁ t₂ : V}
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemiterm.defined
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemiterm.definable
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemiterm.definable'
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(Γ : SigmaPiDelta)
(m : ℕ)
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemitermVec.defined
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemitermVec.definable
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemitermVec.definable'
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(Γ : SigmaPiDelta)
(m : ℕ)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemiterm.case_iff
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n t : V}
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemiterm.case
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n t : V}
:
Alias of the forward direction of LO.FirstOrder.Arithmetic.Bootstrapping.IsSemiterm.case_iff.
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemiterm.mk'
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n t : V}
:
Alias of the reverse direction of LO.FirstOrder.Arithmetic.Bootstrapping.IsSemiterm.case_iff.
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemiterm.induction
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : V}
(Γ : SigmaPiDelta)
{P : V → Prop}
(hP : { Γ := Γ, rank := 1 }-Predicate P)
(hbvar : ∀ z < n, P (qqBvar z))
(hfvar : ∀ (x : V), P (qqFvar x))
(hfunc : ∀ (k f v : V), L.IsFunc k f → IsSemitermVec L k n v → (∀ i < k, P (nth v i)) → P (qqFunc k f v))
(t : V)
:
IsSemiterm L n t → P t
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemitermVec.nil
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(k : V)
:
IsSemitermVec L 0 k 0
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemitermVec.adjoin
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n w t : V}
(h : IsSemitermVec L n k w)
(ht : IsSemiterm L k t)
:
IsSemitermVec L (n + 1) k (Adjoin.adjoin t w)
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemiterm.sigma1_induction
{V : Type u_1}
[ORingStructure V]
[V ⊧ₘ* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : V}
{P : V → Prop}
(hP : 𝚺₁-Predicate P)
(hbvar : ∀ z < n, P (qqBvar z))
(hfvar : ∀ (x : V), P (qqFvar x))
(hfunc : ∀ (k f v : V), L.IsFunc k f → IsSemitermVec L k n v → (∀ i < k, P (nth v i)) → P (qqFunc k f v))
(t : V)
:
IsSemiterm L n t → P t