Documentation

Arithmetization.ISigmaOne.Metamath.Term.Functions

Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
def LO.Arith.Language.termSubstVec {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] (L : LO.Arith.Language V) {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] (k : V) (w : V) (v : V) :
V
Equations
Instances For
@[simp]
theorem LO.Arith.Language.termSubst_bvar {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {w : V} (z : V) :
L.termSubst w (LO.Arith.qqBvar z) = LO.Arith.nth w z
@[simp]
theorem LO.Arith.Language.termSubst_fvar {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {w : V} (x : V) :
L.termSubst w (LO.Arith.qqFvar x) = LO.Arith.qqFvar x
@[simp]
theorem LO.Arith.Language.termSubst_func {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {w : V} {k : V} {f : V} {v : V} (hkf : L.Func k f) (hv : L.IsUTermVec k v) :
L.termSubst w (LO.Arith.qqFunc k f v) = LO.Arith.qqFunc k f (L.termSubstVec k w v)
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
theorem LO.Arith.Language.termSubst_defined {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] (L : LO.Arith.Language V) {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] :
𝚺₁-Function₂ L.termSubst via pL.termSubstDef
Equations
  • =
instance LO.Arith.Language.termSubst_definable' {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] (L : LO.Arith.Language V) {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {Γ : LO.SigmaPiDelta} {k : } :
{ Γ := Γ, rank := k + 1 }-Function₂ L.termSubst
Equations
  • =
theorem LO.Arith.Language.termSubstVec_defined {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] (L : LO.Arith.Language V) {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] :
𝚺₁-Function₃ L.termSubstVec via pL.termSubstVecDef
Equations
  • =
instance LO.Arith.Language.termSubstVec_definable' {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] (L : LO.Arith.Language V) {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {Γ : LO.SigmaPiDelta} {i : } :
{ Γ := Γ, rank := i + 1 }-Function₃ L.termSubstVec
Equations
  • =
@[simp]
theorem LO.Arith.len_termSubstVec {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {w : V} {k : V} {ts : V} (hts : L.IsUTermVec k ts) :
LO.Arith.len (L.termSubstVec k w ts) = k
@[simp]
theorem LO.Arith.nth_termSubstVec {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {w : V} {k : V} {ts : V} {i : V} (hts : L.IsUTermVec k ts) (hi : i < k) :
LO.Arith.nth (L.termSubstVec k w ts) i = L.termSubst w (LO.Arith.nth ts i)
@[simp]
theorem LO.Arith.termSubstVec_nil {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] (w : V) :
L.termSubstVec 0 w 0 = 0
theorem LO.Arith.termSubstVec_cons {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {w : V} {k : V} {t : V} {ts : V} (ht : L.IsUTerm t) (hts : L.IsUTermVec k ts) :
L.termSubstVec (k + 1) w (cons t ts) = cons (L.termSubst w t) (L.termSubstVec k w ts)
@[simp]
theorem LO.Arith.termSubstVec_cons₁ {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {w : V} {t : V} (ht : L.IsUTerm t) :
L.termSubstVec 1 w ?[t] = ?[L.termSubst w t]
@[simp]
theorem LO.Arith.termSubstVec_cons₂ {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {w : V} {t₁ : V} {t₂ : V} (ht₁ : L.IsUTerm t₁) (ht₂ : L.IsUTerm t₂) :
L.termSubstVec 2 w ?[t₁, t₂] = ?[L.termSubst w t₁, L.termSubst w t₂]
@[simp]
theorem LO.Arith.Language.IsSemitermVec.termSubst {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {n : V} {m : V} {w : V} {t : V} (hw : L.IsSemitermVec n m w) (ht : L.IsSemiterm n t) :
L.IsSemiterm m (L.termSubst w t)
@[simp]
theorem LO.Arith.Language.IsUTermVec.termSubst {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {n : V} {w : V} {t : V} (hw : L.IsUTermVec n w) (ht : L.IsSemiterm n t) :
L.IsUTerm (L.termSubst w t)
@[simp]
theorem LO.Arith.Language.IsSemitermVec.termSubstVec {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {w : V} {k : V} {n : V} {m : V} {v : V} (hw : L.IsSemitermVec n m w) (hv : L.IsSemitermVec k n v) :
L.IsSemitermVec k m (L.termSubstVec k w v)
@[simp]
theorem LO.Arith.substs_nil {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {t : V} (ht : L.IsSemiterm 0 t) :
L.termSubst 0 t = t
theorem LO.Arith.termSubst_termSubst {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {l : V} {n : V} {w : V} {v : V} {t : V} (hv : L.IsSemitermVec l n v) (ht : L.IsSemiterm l t) :
L.termSubst w (L.termSubst v t) = L.termSubst (L.termSubstVec l w v) t
theorem LO.Arith.termSubst_eq_self {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {n : V} {w : V} {t : V} (ht : L.IsSemiterm n t) (H : i < n, LO.Arith.nth w i = LO.Arith.qqBvar i) :
L.termSubst w t = t
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
@[simp]
@[simp]
theorem LO.Arith.Language.termShift_fvar {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] (x : V) :
L.termShift (LO.Arith.qqFvar x) = LO.Arith.qqFvar (x + 1)
@[simp]
theorem LO.Arith.Language.termShift_func {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {k : V} {f : V} {v : V} (hkf : L.Func k f) (hv : L.IsUTermVec k v) :
L.termShift (LO.Arith.qqFunc k f v) = LO.Arith.qqFunc k f (L.termShiftVec k v)
Equations
theorem LO.Arith.Language.termShift_defined {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] (L : LO.Arith.Language V) {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] :
𝚺₁-Function₁ L.termShift via pL.termShiftDef
Equations
  • =
instance LO.Arith.Language.termShift_definable' {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] (L : LO.Arith.Language V) {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {Γ : LO.SigmaPiDelta} {i : } :
{ Γ := Γ, rank := i + 1 }-Function₁ L.termShift
Equations
  • =
theorem LO.Arith.Language.termShiftVec_defined {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] (L : LO.Arith.Language V) {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] :
𝚺₁-Function₂ L.termShiftVec via pL.termShiftVecDef
Equations
  • =
instance LO.Arith.Language.termShiftVec_definable' {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] (L : LO.Arith.Language V) {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {Γ : LO.SigmaPiDelta} {i : } :
{ Γ := Γ, rank := i + 1 }-Function₂ L.termShiftVec
Equations
  • =
@[simp]
theorem LO.Arith.len_termShiftVec {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {k : V} {ts : V} (hts : L.IsUTermVec k ts) :
LO.Arith.len (L.termShiftVec k ts) = k
@[simp]
theorem LO.Arith.nth_termShiftVec {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {k : V} {ts : V} {i : V} (hts : L.IsUTermVec k ts) (hi : i < k) :
LO.Arith.nth (L.termShiftVec k ts) i = L.termShift (LO.Arith.nth ts i)
@[simp]
theorem LO.Arith.termShiftVec_nil {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] :
L.termShiftVec 0 0 = 0
theorem LO.Arith.termShiftVec_cons {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {k : V} {t : V} {ts : V} (ht : L.IsUTerm t) (hts : L.IsUTermVec k ts) :
L.termShiftVec (k + 1) (cons t ts) = cons (L.termShift t) (L.termShiftVec k ts)
@[simp]
theorem LO.Arith.termShiftVec_cons₁ {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {t₁ : V} (ht₁ : L.IsUTerm t₁) :
L.termShiftVec 1 ?[t₁] = ?[L.termShift t₁]
@[simp]
theorem LO.Arith.termShiftVec_cons₂ {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {t₁ : V} {t₂ : V} (ht₁ : L.IsUTerm t₁) (ht₂ : L.IsUTerm t₂) :
L.termShiftVec 2 ?[t₁, t₂] = ?[L.termShift t₁, L.termShift t₂]
@[simp]
theorem LO.Arith.Language.IsUTerm.termShift {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {t : V} (ht : L.IsUTerm t) :
L.IsUTerm (L.termShift t)
@[simp]
theorem LO.Arith.Language.IsSemiterm.termShift {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {n : V} {t : V} (ht : L.IsSemiterm n t) :
L.IsSemiterm n (L.termShift t)
@[simp]
theorem LO.Arith.Language.IsUTermVec.termShiftVec {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {k : V} {v : V} (hv : L.IsUTermVec k v) :
L.IsUTermVec k (L.termShiftVec k v)
@[simp]
theorem LO.Arith.Language.IsSemitermVec.termShiftVec {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {k : V} {n : V} {v : V} (hv : L.IsSemitermVec k n v) :
L.IsSemitermVec k n (L.termShiftVec k v)
@[simp]
theorem LO.Arith.Language.IsUTerm.termBVtermShift {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {t : V} (ht : L.IsUTerm t) :
L.termBV (L.termShift t) = L.termBV t
@[simp]
theorem LO.Arith.Language.IsUTermVec.termBVVectermShiftVec {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {k : V} {v : V} (hv : L.IsUTermVec k v) :
L.termBVVec k (L.termShiftVec k v) = L.termBVVec k v
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
@[simp]
theorem LO.Arith.Language.termBShift_bvar {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] (z : V) :
L.termBShift (LO.Arith.qqBvar z) = LO.Arith.qqBvar (z + 1)
@[simp]
@[simp]
theorem LO.Arith.Language.termBShift_func {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {k : V} {f : V} {v : V} (hkf : L.Func k f) (hv : L.IsUTermVec k v) :
L.termBShift (LO.Arith.qqFunc k f v) = LO.Arith.qqFunc k f (L.termBShiftVec k v)
Equations
theorem LO.Arith.Language.termBShift_defined {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] (L : LO.Arith.Language V) {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] :
𝚺₁-Function₁ L.termBShift via pL.termBShiftDef
Equations
  • =
instance LO.Arith.Language.termBShift_definable' {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] (L : LO.Arith.Language V) {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {Γ : LO.SigmaPiDelta} {i : } :
{ Γ := Γ, rank := i + 1 }-Function₁ L.termBShift
Equations
  • =
theorem LO.Arith.Language.termBShiftVec_defined {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] (L : LO.Arith.Language V) {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] :
𝚺₁-Function₂ L.termBShiftVec via pL.termBShiftVecDef
Equations
  • =
instance LO.Arith.Language.termBShiftVec_definable' {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] (L : LO.Arith.Language V) {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {Γ : LO.SigmaPiDelta} {i : } :
{ Γ := Γ, rank := i + 1 }-Function₂ L.termBShiftVec
Equations
  • =
@[simp]
theorem LO.Arith.len_termBShiftVec {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {k : V} {ts : V} (hts : L.IsUTermVec k ts) :
LO.Arith.len (L.termBShiftVec k ts) = k
@[simp]
theorem LO.Arith.nth_termBShiftVec {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {k : V} {ts : V} {i : V} (hts : L.IsUTermVec k ts) (hi : i < k) :
LO.Arith.nth (L.termBShiftVec k ts) i = L.termBShift (LO.Arith.nth ts i)
@[simp]
theorem LO.Arith.termBShiftVec_nil {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] :
L.termBShiftVec 0 0 = 0
theorem LO.Arith.termBShiftVec_cons {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {k : V} {t : V} {ts : V} (ht : L.IsUTerm t) (hts : L.IsUTermVec k ts) :
L.termBShiftVec (k + 1) (cons t ts) = cons (L.termBShift t) (L.termBShiftVec k ts)
@[simp]
theorem LO.Arith.termBShiftVec_cons₁ {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {t₁ : V} (ht₁ : L.IsUTerm t₁) :
L.termBShiftVec 1 ?[t₁] = ?[L.termBShift t₁]
@[simp]
theorem LO.Arith.termBShiftVec_cons₂ {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {t₁ : V} {t₂ : V} (ht₁ : L.IsUTerm t₁) (ht₂ : L.IsUTerm t₂) :
L.termBShiftVec 2 ?[t₁, t₂] = ?[L.termBShift t₁, L.termBShift t₂]
@[simp]
theorem LO.Arith.Language.IsSemiterm.termBShift {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {n : V} {t : V} (ht : L.IsSemiterm n t) :
L.IsSemiterm (n + 1) (L.termBShift t)
@[simp]
theorem LO.Arith.Language.IsSemitermVec.termBShiftVec {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {k : V} {n : V} {v : V} (hv : L.IsSemitermVec k n v) :
L.IsSemitermVec k (n + 1) (L.termBShiftVec k v)
theorem LO.Arith.termBShift_termShift {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {n : V} {t : V} (ht : L.IsSemiterm n t) :
L.termBShift (L.termShift t) = L.termShift (L.termBShift t)
@[simp]
theorem LO.Arith.len_qVec {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {k : V} {w : V} (h : L.IsUTermVec k w) :
LO.Arith.len (L.qVec w) = k + 1
theorem LO.Arith.Language.IsSemitermVec.qVec {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {k : V} {n : V} {w : V} (h : L.IsSemitermVec k n w) :
L.IsSemitermVec (k + 1) (n + 1) (L.qVec w)
theorem LO.Arith.substs_cons_bShift {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {n : V} {u : V} {t : V} {w : V} (ht : L.IsSemiterm n t) :
L.termSubst (cons u w) (L.termBShift t) = L.termSubst w t
theorem LO.Arith.termShift_termSubsts {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {n : V} {m : V} {w : V} {t : V} (ht : L.IsSemiterm n t) (hw : L.IsSemitermVec n m w) :
L.termShift (L.termSubst w t) = L.termSubst (L.termShiftVec n w) (L.termShift t)
theorem LO.Arith.bShift_substs {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {n : V} {m : V} {w : V} {t : V} (ht : L.IsSemiterm n t) (hw : L.IsSemitermVec n m w) :
L.termBShift (L.termSubst w t) = L.termSubst (L.termBShiftVec n w) t
theorem LO.Arith.substs_qVec_bShift {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {n : V} {t : V} {m : V} {w : V} (ht : L.IsSemiterm n t) (hw : L.IsSemitermVec n m w) :
L.termSubst (L.qVec w) (L.termBShift t) = L.termBShift (L.termSubst w t)
theorem LO.Arith.termSubstVec_qVec_qVec {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {v : V} {w : V} {l : V} {n : V} {m : V} (hv : L.IsSemitermVec l n v) (hw : L.IsSemitermVec n m w) :
L.termSubstVec (l + 1) (L.qVec w) (L.qVec v) = L.qVec (L.termSubstVec l w v)
theorem LO.Arith.termShift_qVec {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {n : V} {m : V} {w : V} (hw : L.IsSemitermVec n m w) :
L.termShiftVec (n + 1) (L.qVec w) = L.qVec (L.termShiftVec n w)
def LO.Arith.Language.IsTermFVFree {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] (L : LO.Arith.Language V) {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] (n : V) (t : V) :
Equations
  • L.IsTermFVFree n t = (L.IsSemiterm n t L.termShift t = t)
@[simp]
theorem LO.Arith.Language.IsTermFVFree.bvar {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {n : V} (x : V) :
L.IsTermFVFree n (LO.Arith.qqBvar x) x < n
@[simp]
theorem LO.Arith.Language.IsTermFVFree.fvar {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : LO.Arith.Language V} {pL : LO.FirstOrder.Arith.LDef} [L.Defined pL] {n : V} (x : V) :
¬L.IsTermFVFree n (LO.Arith.qqFvar x)
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
instance LO.Arith.Formalized.instBoldfaceFunction₂MkHAddNatOfNatQqAdd {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {Γ : LO.SigmaPiDelta} {m : } :
{ Γ := Γ, rank := m + 1 }-Function₂ LO.Arith.Formalized.qqAdd
Equations
  • =
instance LO.Arith.Formalized.instBoldfaceFunction₂MkHAddNatOfNatQqMul {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {Γ : LO.SigmaPiDelta} {m : } :
{ Γ := Γ, rank := m + 1 }-Function₂ LO.Arith.Formalized.qqMul
Equations
  • =
@[simp]
theorem LO.Arith.Formalized.lt_qqAdd_left {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] (x : V) (y : V) :
x < x ^+ y
@[simp]
theorem LO.Arith.Formalized.lt_qqAdd_right {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] (x : V) (y : V) :
y < x ^+ y
@[simp]
theorem LO.Arith.Formalized.lt_qqMul_left {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] (x : V) (y : V) :
x < x ^* y
@[simp]
theorem LO.Arith.Formalized.lt_qqMul_right {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] (x : V) (y : V) :
y < x ^* y
theorem LO.Arith.Formalized.qqFunc_absolute {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] (k : ) (f : ) (v : ) :
(LO.Arith.qqFunc k f v) = LO.Arith.qqFunc k f v
@[simp]
@[simp]
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • LO.Arith.Formalized.Numeral.construction = { zero := fun (x : Fin 0V) => 𝟏, succ := fun (x : Fin 0V) (x t : V) => t ^+ 𝟏, zero_defined := , succ_defined := }
Equations
Instances For
instance LO.Arith.Formalized.Numeral.seqExp_definable {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] :
{ Γ := 𝚺, rank := 0 + 1 }-Function₁ LO.Arith.Formalized.Numeral.numeralAux
Equations
  • =
Equations
  • One or more equations did not get rendered due to their size.
instance LO.Arith.Formalized.numeral_definable {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] :
𝚺₁-Function₁ LO.Arith.Formalized.numeral
Equations
  • =
instance LO.Arith.Formalized.numeral_definable' {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {Γ : LO.SigmaPiDelta} {m : } :
{ Γ := Γ, rank := m + 1 }-Function₁ LO.Arith.Formalized.numeral
Equations
  • =
@[simp]
theorem LO.Arith.Formalized.numeral_substs {V : Type u_1} [LO.ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {n : V} {m : V} {w : V} (hw : ⌜ℒₒᵣ⌝.IsSemitermVec n m w) (x : V) :