Sequence #
Equations
- LO.Arith.Seq s = (LO.Arith.IsMapping s ∧ ∃ (l : V), LO.Arith.domain s = LO.Arith.under l)
Instances For
Equations
- ⋯ = ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
instance
LO.Arith.seq_definable'
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(ℌ : FirstOrder.Arith.HierarchySymbol)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
theorem
LO.Arith.lh_prop_of_not_seq
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{s : V}
(h : ¬Seq s)
:
@[simp]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
LO.Arith.lh_defined_iff
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(v : Fin 2 → V)
:
V ⊧/v (FirstOrder.Arith.HierarchySymbol.Semiformula.val FirstOrder.Arith.lhDef) ↔ v 0 = lh (v 1)
instance
LO.Arith.lh_definable'
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(ℌ : FirstOrder.Arith.HierarchySymbol)
:
theorem
LO.Arith.Seq.exists
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{s : V}
(h : Seq s)
{x : V}
(hx : x < lh s)
:
∃ (y : V), ⟪x, y⟫ ∈ s
theorem
LO.Arith.Seq.nth_exists_uniq
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{s : V}
(h : Seq s)
{x : V}
(hx : x < lh s)
:
∃! y : V, ⟪x, y⟫ ∈ s
def
LO.Arith.Seq.nth
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{s : V}
(h : Seq s)
{x : V}
(hx : x < lh s)
:
V
Equations
- h.nth hx = Classical.choose! ⋯
Instances For
@[simp]
theorem
LO.Arith.Seq.nth_mem
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{s : V}
(h : Seq s)
{x : V}
(hx : x < lh s)
:
⟪x, h.nth hx⟫ ∈ s
@[simp]
theorem
LO.Arith.Seq.nth_lt
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{s : V}
(h : Seq s)
{x : V}
(hx : x < lh s)
:
h.nth hx < s
theorem
LO.Arith.Seq.lt_lh_of_mem
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{s : V}
(h : Seq s)
{i x : V}
(hix : ⟪i, x⟫ ∈ s)
:
Equations
- s ⁀' x = insert ⟪LO.Arith.lh s, x⟫ s
Instances For
Equations
- LO.Arith.znth s i = Classical.choose! ⋯
Instances For
theorem
LO.Arith.Seq.znth_eq_of_mem
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{x s i : V}
(h : Seq s)
(hi : ⟪i, x⟫ ∈ s)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
LO.Arith.eval_znthDef
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(v : Fin 3 → V)
:
V ⊧/v (FirstOrder.Arith.HierarchySymbol.Semiformula.val FirstOrder.Arith.znthDef) ↔ v 0 = znth (v 1) (v 2)
instance
LO.Arith.znth_definable'
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(ℌ : FirstOrder.Arith.HierarchySymbol)
:
Equations
- LO.Arith.«term_⁀'_» = Lean.ParserDescr.trailingNode `LO.Arith.«term_⁀'_» 67 68 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⁀' ") (Lean.ParserDescr.cat `term 67))
Instances For
@[simp]
theorem
LO.Arith.Seq.lt_seqCons
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{s : V}
(hs : Seq s)
(x : V)
:
@[simp]
theorem
LO.Arith.Seq.seqCons
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{s : V}
(h : Seq s)
(x : V)
:
@[simp]
@[simp]
theorem
LO.Arith.lh_not_mem
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{s : V}
(Ss : Seq s)
(x : V)
:
⟪lh s, x⟫ ∉ s
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
LO.Arith.seqCons_defined_iff
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(v : Fin 3 → V)
:
V ⊧/v (FirstOrder.Arith.HierarchySymbol.Semiformula.val FirstOrder.Arith.seqConsDef) ↔ v 0 = v 1 ⁀' v 2
instance
LO.Arith.seqCons_definable'
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(ℌ : FirstOrder.Arith.HierarchySymbol)
:
theorem
LO.Arith.Seq.restr
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{s : V}
(H : Seq s)
{i : V}
(hi : i ≤ lh s)
:
Seq (Arith.restr s (under i))
theorem
LO.Arith.Seq.restr_lh
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{s : V}
(H : Seq s)
{i : V}
(hi : i ≤ lh s)
:
lh (Arith.restr s (under i)) = i
theorem
LO.Arith.subset_pair
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{s t : V}
(h : ∀ (i x : V), ⟪i, x⟫ ∈ s → ⟪i, x⟫ ∈ t)
:
s ⊆ t
TODO: move to Lemmata.lean
Alias of the forward direction of LO.Arith.Seq.cases_iff
.
theorem
LO.Arith.seq_induction
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(Γ : SigmaPiDelta)
{P : V → Prop}
(hP : { Γ := Γ, rank := 1 }-Predicate P)
(hnil : P ∅)
(hcons : ∀ (s x : V), Seq s → P s → P (s ⁀' x))
{s : V}
:
Seq s → P s
!⟦x, y, z, ...⟧
notation for Seq
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]
@[simp]
@[simp]
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
LO.Arith.mkSeq₁_defined
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
:
𝚺₀-Function₁ fun (x : V) => !⟦x⟧ via FirstOrder.Arith.mkSeq₁Def
@[simp]
theorem
LO.Arith.eval_mkSeq₁Def
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(v : Fin 2 → V)
:
V ⊧/v (FirstOrder.Arith.HierarchySymbol.Semiformula.val FirstOrder.Arith.mkSeq₁Def) ↔ v 0 = !⟦v 1⟧
instance
LO.Arith.mkSeq₁_definable
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
:
𝚺₀-Function₁ fun (x : V) => !⟦x⟧
instance
LO.Arith.mkSeq₁_definable'
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(Γ : FirstOrder.Arith.HierarchySymbol)
:
Γ-Function₁ fun (x : V) => !⟦x⟧
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
LO.Arith.mkSeq₂_defined
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
:
𝚺₁-Function₂ fun (x y : V) => !⟦x, y⟧ via FirstOrder.Arith.mkSeq₂Def
@[simp]
theorem
LO.Arith.eval_mkSeq₂Def
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(v : Fin 3 → V)
:
V ⊧/v (FirstOrder.Arith.HierarchySymbol.Semiformula.val FirstOrder.Arith.mkSeq₂Def) ↔ v 0 = !⟦v 1, v 2⟧
instance
LO.Arith.mkSeq₂_definable
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
:
𝚺₁-Function₂ fun (x y : V) => !⟦x, y⟧
instance
LO.Arith.mkSeq₂_definable'
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(Γ : SigmaPiDelta)
(m : ℕ)
:
{ Γ := Γ, rank := m + 1 }-Function₂ fun (x y : V) => !⟦x, y⟧
Equations
- LO.Arith.vecToSeq x_2 = ∅
- LO.Arith.vecToSeq v = (LO.Arith.vecToSeq fun (x : Fin n) => v x.castSucc) ⁀' v (Fin.last n)
Instances For
@[simp]
@[simp]
theorem
LO.Arith.order_ball_induction_sigma1
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{f : V → V → V}
(hf : 𝚺₁-Function₂ f)
{P : V → V → Prop}
(hP : 𝚺₁-Relation P)
(ind : ∀ (x y : V), (∀ x' < x, ∀ y' ≤ f x y, P x' y') → P x y)
(x y : V)
:
P x y
theorem
LO.Arith.order_ball_induction_sigma1'
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{f : V → V}
(hf : 𝚺₁-Function₁ f)
{P : V → V → Prop}
(hP : 𝚺₁-Relation P)
(ind : ∀ (x y : V), (∀ x' < x, ∀ y' ≤ f y, P x' y') → P x y)
(x y : V)
:
P x y
theorem
LO.Arith.order_ball_induction₂_sigma1
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{fy fz : V → V → V → V}
(hfy : 𝚺₁-Function₃ fy)
(hfz : 𝚺₁-Function₃ fz)
{P : V → V → V → Prop}
(hP : 𝚺₁-Relation₃ P)
(ind : ∀ (x y z : V), (∀ x' < x, ∀ y' ≤ fy x y z, ∀ z' ≤ fz x y z, P x' y' z') → P x y z)
(x y z : V)
:
P x y z
theorem
LO.Arith.order_ball_induction₃_sigma1
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{fy fz fw : V → V → V → V → V}
(hfy : 𝚺₁-Function₄ fy)
(hfz : 𝚺₁-Function₄ fz)
(hfw : 𝚺₁-Function₄ fw)
{P : V → V → V → V → Prop}
(hP : 𝚺₁-Relation₄ P)
(ind : ∀ (x y z w : V), (∀ x' < x, ∀ y' ≤ fy x y z w, ∀ z' ≤ fz x y z w, ∀ w' ≤ fw x y z w, P x' y' z' w') → P x y z w)
(x y z w : V)
:
P x y z w