Typed Formalized IsSemiterm/Term #
noncomputable def
LO.FirstOrder.Arithmetic.matrixToVec
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{k : β}
(v : Fin k β V)
:
V
Equations
- LO.FirstOrder.Arithmetic.matrixToVec v = Matrix.foldr (fun (t w : V) => adjoin t w) 0 v
Instances For
@[simp]
theorem
LO.FirstOrder.Arithmetic.matrixToVec_nil
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
(v : Fin 0 β V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.matrixToVec_succ
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{k : β}
(v : Fin (k + 1) β V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.matrixToVec_len
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{k : β}
(v : Fin k β V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.matrixToVec_nth
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{k : β}
(v : Fin k β V)
(i : Fin k)
:
structure
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm
(V : Type u_1)
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
(L : Language)
[L.Encodable]
[L.LORDefinable]
(n : β)
:
Type u_1
- val : V
- isSemiterm : IsSemiterm L (βn) self.val
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.Arithmetic.Bootstrapping.SemitermVec
(V : Type u_1)
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
(L : Language)
[L.Encodable]
[L.LORDefinable]
(m n : β)
:
Type u_1
Equations
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.Arithmetic.Bootstrapping.Term
(V : Type u_1)
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
(L : Language)
[L.Encodable]
[L.LORDefinable]
:
Type u_1
Equations
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.Arithmetic.Bootstrapping.TermVec
(V : Type u_1)
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
(L : Language)
[L.Encodable]
[L.LORDefinable]
(m : β)
:
Type u_1
Equations
Instances For
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.ext
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(t u : Semiterm V L n)
(h : t.val = u.val)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.ext_iff
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
{t u : Semiterm V L n}
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.isSemiterm_zero
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(t : Term V L)
:
IsSemiterm L 0 t.val
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.isSemiterm_one
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(t : Semiterm V L 1)
:
IsSemiterm L 1 t.val
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.isSemiterm_succ
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(t : Semiterm V L (n + 1))
:
IsSemiterm L (βn + 1) t.val
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.isUTerm
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(t : Semiterm V L n)
:
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.SemitermVec.val
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n : β}
(v : SemitermVec V L k n)
:
V
Equations
- v.val = LO.FirstOrder.Arithmetic.matrixToVec ((fun (t : LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm V L n) => t.val)β¨ v)
Instances For
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.SemitermVec.val_nil
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(v : SemitermVec V L 0 n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.SemitermVec.val_cons
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n : β}
(t : Semiterm V L n)
(v : SemitermVec V L k n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.SemitermVec.val_succ
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n : β}
(v : SemitermVec V L (k + 1) n)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.SemitermVec.val_inj
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n : β}
(vβ vβ : SemitermVec V L k n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.SemitermVec.isSemitermVec
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n k : β}
(v : SemitermVec V L k n)
:
IsSemitermVec L (βk) (βn) v.val
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.SemitermVec.isUTermVec
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n k : β}
(v : SemitermVec V L k n)
:
IsUTermVec L (βk) v.val
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.SemitermVec.len_eq
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n : β}
(v : SemitermVec V L k n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.SemitermVec.val_nth_eq
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n : β}
(v : SemitermVec V L k n)
(i : Fin k)
:
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.bvar
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(z : Fin n)
:
Semiterm V L n
Equations
- LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.bvar z = { val := LO.FirstOrder.Arithmetic.Bootstrapping.qqBvar ββz, isSemiterm := β― }
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.fvar
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(x : V)
:
Semiterm V L n
Equations
- LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.fvar x = { val := LO.FirstOrder.Arithmetic.Bootstrapping.qqFvar x, isSemiterm := β― }
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.func
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n : β}
(f : L.Func k)
(v : SemitermVec V L k n)
:
Semiterm V L n
Equations
- LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.func f v = { val := LO.FirstOrder.Arithmetic.Bootstrapping.qqFunc βk βfβ v.val, isSemiterm := β― }
Instances For
@[reducible, inline]
noncomputable abbrev
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.bv
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(x : Fin n)
:
Semiterm V L n
Equations
Instances For
@[reducible, inline]
noncomputable abbrev
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.fv
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(x : V)
:
Semiterm V L n
Equations
Instances For
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.bvar_val
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(z : Fin n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.fvar_val
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(x : V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.func_val
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n : β}
(f : L.Func k)
(v : SemitermVec V L k n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.bvar_inj_iff
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(z x : Fin n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.fvar_inj_iff
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(z x : V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.func_inj_iff
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n : β}
(fβ fβ : L.Func k)
(vβ vβ : SemitermVec V L k n)
:
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.shift
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(t : Semiterm V L n)
:
Semiterm V L n
Equations
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.bShift
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(t : Semiterm V L n)
:
Equations
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.subst
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n m : β}
(w : SemitermVec V L n m)
(t : Semiterm V L n)
:
Semiterm V L m
Equations
- LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.subst w t = { val := LO.FirstOrder.Arithmetic.Bootstrapping.termSubst L w.val t.val, isSemiterm := β― }
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.free
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(t : Semiterm V L 1)
:
Semiterm V L 0
Equations
Instances For
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.val_shift
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(t : Semiterm V L n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.val_bShift
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(t : Semiterm V L n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.val_substs
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n m : β}
(w : SemitermVec V L n m)
(t : Semiterm V L n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.SemitermVec.val_shift
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n : β}
(v : SemitermVec V L k n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.SemitermVec.val_bShift
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n : β}
(v : SemitermVec V L k n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.SemitermVec.val_substs
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n m : β}
(v : SemitermVec V L k n)
(w : SemitermVec V L n m)
:
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.SemitermVec.q
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n : β}
(w : SemitermVec V L k n)
:
SemitermVec V L (k + 1) (n + 1)
Equations
Instances For
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.SemitermVec.q_zero
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n : β}
(w : SemitermVec V L k n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.SemitermVec.q_succ
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n : β}
(w : SemitermVec V L k n)
(i : Fin k)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.SemitermVec.q_val_eq_qVec
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n : β}
(w : SemitermVec V L k n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.SemitermVec.q_vecHead
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n : β}
(w : SemitermVec V L k n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.SemitermVec.q_vecTail
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n : β}
(w : SemitermVec V L k n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.shift_bvar
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(z : Fin n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.shift_fvar
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(x : V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.shift_func
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n : β}
(f : L.Func k)
(v : SemitermVec V L k n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.bShift_bvar
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(z : Fin n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.bShift_fvar
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(x : V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.bShift_func
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n : β}
(f : L.Func k)
(v : SemitermVec V L k n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.substs_bvar
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n m : β}
(z : Fin n)
(w : SemitermVec V L n m)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.substs_fvar
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n m : β}
(w : SemitermVec V L n m)
(x : V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.substs_func
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{k n m : β}
(f : L.Func k)
(w : SemitermVec V L n m)
(v : SemitermVec V L k n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.free_bvar
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(z : Fin 1)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.free_fvar
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(x : V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.bShift_substs_q
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n m : β}
(t : Semiterm V L n)
(w : SemitermVec V L n m)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.bShift_substs_sing
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(t u : Term V L)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.bShift_substs_succ
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n m : β}
(w : SemitermVec V L (n + 1) m)
(t : Semiterm V L n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.bShift_substs_zero
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(t : Term V L)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.bShift_shift_comm
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(t : Semiterm V L n)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.shift_substs
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n m : β}
(w : SemitermVec V L n m)
(t : Semiterm V L n)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.substs_substs
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n m l : β}
(v : SemitermVec V L m l)
(w : SemitermVec V L n m)
(t : Semiterm V L n)
:
def
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.FVFree
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(t : Semiterm V L n)
:
Equations
- t.FVFree = LO.FirstOrder.Arithmetic.Bootstrapping.IsTermFVFree L (βn) t.val
Instances For
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.FVFree.iff
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
{t : Semiterm V L n}
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.FVFree.bvar
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(i : Fin n)
:
(Semiterm.bvar i).FVFree
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.FVFree.bShift
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : β}
(t : Semiterm V L n)
(ht : t.FVFree)
:
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.Arithmetic.typedNumeral
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{n : β}
(m : V)
:
Equations
- LO.FirstOrder.Arithmetic.Bootstrapping.Arithmetic.typedNumeral m = { val := LO.FirstOrder.Arithmetic.Bootstrapping.Arithmetic.numeral m, isSemiterm := β― }
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.Arithmetic.add
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{n : β}
(t u : Semiterm V ββα΅£ n)
:
Equations
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.Arithmetic.mul
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{n : β}
(t u : Semiterm V ββα΅£ n)
:
Equations
Instances For
@[implicit_reducible]
noncomputable instance
LO.FirstOrder.Arithmetic.Bootstrapping.Arithmetic.instAddSemitermORing
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
(n : β)
:
@[implicit_reducible]
noncomputable instance
LO.FirstOrder.Arithmetic.Bootstrapping.Arithmetic.instMulSemitermORing
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
(n : β)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Arithmetic.val_numeral
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{n : β}
(x : V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Arithmetic.zero_eq
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{n : β}
(v : SemitermVec V ββα΅£ 0 n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Arithmetic.one_eq
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{n : β}
(v : SemitermVec V ββα΅£ 0 n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Arithmetic.add_eq
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{n : β}
(v : Fin 2 β Semiterm V ββα΅£ n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Arithmetic.mul_eq
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{n : β}
(v : Fin 2 β Semiterm V ββα΅£ n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Arithmetic.numeral_add_two'
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{n : β}
(x : V)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Arithmetic.numeral_succ_pos'
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{n : β}
{x : V}
(pos : 0 < x)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Arithmetic.subst_numeral
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{n m : β}
(w : SemitermVec V ββα΅£ n m)
(x : V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Arithmetic.subst_add
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{n m : β}
(w : SemitermVec V ββα΅£ n m)
(tβ tβ : Semiterm V ββα΅£ n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Arithmetic.subst_mul
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{n m : β}
(w : SemitermVec V ββα΅£ n m)
(tβ tβ : Semiterm V ββα΅£ n)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Arithmetic.shift_numeral
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{n : β}
(x : V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Arithmetic.bShift_numeral
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{n : β}
(x : V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Arithmetic.fvFree_numeral
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
{n : β}
(x : V)
:
(typedNumeral x).FVFree
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Arithmetic.free_numeral
{V : Type u_1}
[ORingStructure V]
[Vβ[ββα΅£] β§* ππΊβ]
(x : V)
: