Documentation

Foundation.FirstOrder.Arithmetic.Definability.BoundedDefinable

class FFL.FirstOrder.Arithmetic.Bounded {V : Type u_2} [ORingStructure V] {k : ℕ} (f : (Fin k → V) → V) :
Instances
    @[reducible, inline]
    abbrev FFL.FirstOrder.Arithmetic.Bounded₁ {V : Type u_2} [ORingStructure V] (f : V → V) :
    Equations
    Instances For
      @[reducible, inline]
      abbrev FFL.FirstOrder.Arithmetic.Bounded₂ {V : Type u_2} [ORingStructure V] (f : V → V → V) :
      Equations
      Instances For
        @[reducible, inline]
        abbrev FFL.FirstOrder.Arithmetic.Bounded₃ {V : Type u_2} [ORingStructure V] (f : V → V → V → V) :
        Equations
        Instances For
          instance FFL.FirstOrder.Arithmetic.instBounded {V : Type u_2} [ORingStructure V] {k : ℕ} (f : (Fin k → V) → V) [h : Bounded f] :
          @[simp]
          theorem FFL.FirstOrder.Arithmetic.Bounded.var {V : Type u_2} [ORingStructure V] [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {k : ℕ} (i : Fin k) :
          Bounded fun (v : Fin k → V) => v i
          @[simp]
          theorem FFL.FirstOrder.Arithmetic.Bounded.const {V : Type u_2} [ORingStructure V] [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {k : ℕ} (c : V) :
          Bounded fun (x : Fin k → V) => c
          @[simp]
          theorem FFL.FirstOrder.Arithmetic.Bounded.term_retraction {n : ℕ} {V : Type u_2} [ORingStructure V] {k : ℕ} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] (t : ArithmeticSemiterm V n) (e : Fin n → Fin k) :
          Bounded fun (v : Fin k → V) => Semiterm.val (fun (x : Fin n) => v (e x)) id t
          theorem FFL.FirstOrder.Arithmetic.Bounded.retraction {n : ℕ} {V : Type u_2} [ORingStructure V] {k : ℕ} {f : (Fin k → V) → V} (hf : Bounded f) (e : Fin k → Fin n) :
          Bounded fun (v : Fin n → V) => f fun (i : Fin k) => v (e i)
          theorem FFL.FirstOrder.Arithmetic.Bounded.comp {V : Type u_2} [ORingStructure V] {l : ℕ} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {k : ℕ} {f : (Fin l → V) → V} {g : Fin l → (Fin k → V) → V} (hf : Bounded f) (hg : ∀ (i : Fin l), Bounded (g i)) :
          Bounded fun (v : Fin k → V) => f fun (x : Fin l) => g x v
          theorem FFL.FirstOrder.Arithmetic.Bounded₁.comp {V : Type u_2} [ORingStructure V] [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {f : V → V} {k : ℕ} {g : (Fin k → V) → V} (hf : Bounded₁ f) (hg : Bounded g) :
          Bounded fun (v : Fin k → V) => f (g v)
          theorem FFL.FirstOrder.Arithmetic.Bounded₂.comp {V : Type u_2} [ORingStructure V] [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {f : V → V → V} {k : ℕ} {g₁ g₂ : (Fin k → V) → V} (hf : Bounded₂ f) (hg₁ : Bounded g₁) (hg₂ : Bounded g₂) :
          Bounded fun (v : Fin k → V) => f (g₁ v) (g₂ v)
          theorem FFL.FirstOrder.Arithmetic.Bounded₃.comp {V : Type u_2} [ORingStructure V] [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {f : V → V → V → V} {k : ℕ} {g₁ g₂ g₃ : (Fin k → V) → V} (hf : Bounded₃ f) (hg₁ : Bounded g₁) (hg₂ : Bounded g₂) (hg₃ : Bounded g₃) :
          Bounded fun (v : Fin k → V) => f (g₁ v) (g₂ v) (g₃ v)
          @[reducible, inline]
          Equations
          Instances For
            @[reducible, inline]
            abbrev FFL.FirstOrder.Arithmetic.DefinableBoundedFunction₃ {V : Type u_2} [ORingStructure V] (f : V → V → V → V) :
            Equations
            Instances For
              theorem FFL.FirstOrder.Arithmetic.DefinableBoundedFunction.retraction {n : ℕ} {V : Type u_2} [ORingStructure V] {k : ℕ} {f : (Fin k → V) → V} (hf : DefinableBoundedFunction f) (e : Fin k → Fin n) :
              DefinableBoundedFunction fun (v : Fin n → V) => f fun (i : Fin k) => v (e i)
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.Definable.ball_blt {k : ℕ} {V : Type u_2} [ORingStructure V] {ℌ : HierarchySymbol} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {P : (Fin k → V) → V → Prop} {f : (Fin k → V) → V} (hf : DefinableBoundedFunction f) (h : ℌ.Definable fun (w : Fin (k + 1) → V) => P (fun (x : Fin k) => w x.succ) (w 0)) :
              ℌ.Definable fun (v : Fin k → V) => ∀ x < f v, P v x
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.Definable.bexs_blt {k : ℕ} {V : Type u_2} [ORingStructure V] {ℌ : HierarchySymbol} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {P : (Fin k → V) → V → Prop} {f : (Fin k → V) → V} (hf : DefinableBoundedFunction f) (h : ℌ.Definable fun (w : Fin (k + 1) → V) => P (fun (x : Fin k) => w x.succ) (w 0)) :
              ℌ.Definable fun (v : Fin k → V) => ∃ x < f v, P v x
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.Definable.ball_ble {k : ℕ} {V : Type u_2} [ORingStructure V] {ℌ : HierarchySymbol} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {P : (Fin k → V) → V → Prop} {f : (Fin k → V) → V} (hf : DefinableBoundedFunction f) (h : ℌ.Definable fun (w : Fin (k + 1) → V) => P (fun (x : Fin k) => w x.succ) (w 0)) :
              ℌ.Definable fun (v : Fin k → V) => ∀ x ≤ f v, P v x
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.Definable.bexs_ble {k : ℕ} {V : Type u_2} [ORingStructure V] {ℌ : HierarchySymbol} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {P : (Fin k → V) → V → Prop} {f : (Fin k → V) → V} (hf : DefinableBoundedFunction f) (h : ℌ.Definable fun (w : Fin (k + 1) → V) => P (fun (x : Fin k) => w x.succ) (w 0)) :
              ℌ.Definable fun (v : Fin k → V) => ∃ x ≤ f v, P v x
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.Definable.ball_blt_zero {k : ℕ} {V : Type u_2} [ORingStructure V] {Γ : SigmaPiDelta} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {P : (Fin k → V) → V → Prop} {f : (Fin k → V) → V} (hf : DefinableBoundedFunction f) (h : { Γ := Γ, rank := 0 }.Definable fun (w : Fin (k + 1) → V) => P (fun (x : Fin k) => w x.succ) (w 0)) :
              { Γ := Γ, rank := 0 }.Definable fun (v : Fin k → V) => ∀ x < f v, P v x
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.Definable.bexs_blt_zero {k : ℕ} {V : Type u_2} [ORingStructure V] {Γ : SigmaPiDelta} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {P : (Fin k → V) → V → Prop} {f : (Fin k → V) → V} (hf : DefinableBoundedFunction f) (h : { Γ := Γ, rank := 0 }.Definable fun (w : Fin (k + 1) → V) => P (fun (x : Fin k) => w x.succ) (w 0)) :
              { Γ := Γ, rank := 0 }.Definable fun (v : Fin k → V) => ∃ x < f v, P v x
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.Definable.ball_ble_zero {k : ℕ} {V : Type u_2} [ORingStructure V] {Γ : SigmaPiDelta} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {P : (Fin k → V) → V → Prop} {f : (Fin k → V) → V} (hf : DefinableBoundedFunction f) (h : { Γ := Γ, rank := 0 }.Definable fun (w : Fin (k + 1) → V) => P (fun (x : Fin k) => w x.succ) (w 0)) :
              { Γ := Γ, rank := 0 }.Definable fun (v : Fin k → V) => ∀ x ≤ f v, P v x
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.Definable.bexs_ble_zero {k : ℕ} {V : Type u_2} [ORingStructure V] {Γ : SigmaPiDelta} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {P : (Fin k → V) → V → Prop} {f : (Fin k → V) → V} (hf : DefinableBoundedFunction f) (h : { Γ := Γ, rank := 0 }.Definable fun (w : Fin (k + 1) → V) => P (fun (x : Fin k) => w x.succ) (w 0)) :
              { Γ := Γ, rank := 0 }.Definable fun (v : Fin k → V) => ∃ x ≤ f v, P v x
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.Definable.bexs_vec_le_boldfaceBoundedFunction {V : Type u_2} [ORingStructure V] {ℌ : HierarchySymbol} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {l k : ℕ} {φ : Fin l → (Fin k → V) → V} {P : (Fin k → V) → (Fin l → V) → Prop} (pp : ∀ (i : Fin l), DefinableBoundedFunction (φ i)) (hP : ℌ.Definable fun (w : Fin (k + l) → V) => P (fun (i : Fin k) => w (Fin.castAdd l i)) fun (j : Fin l) => w (Fin.natAdd k j)) :
              ℌ.Definable fun (v : Fin k → V) => ∃ w ≤ fun (x : Fin l) => φ x v, P v w
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.Definable.substitution_boldfaceBoundedFunction {k : ℕ} {V : Type u_2} [ORingStructure V] {ℌ : HierarchySymbol} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {P : (Fin k → V) → Prop} {l : ℕ} {f : Fin k → (Fin l → V) → V} (hP : ℌ.Definable P) (hf : ∀ (i : Fin k), DefinableBoundedFunction (f i)) :
              ℌ.Definable fun (z : Fin l → V) => P fun (x : Fin k) => f x z
              theorem FFL.FirstOrder.Arithmetic.DefinableBoundedFunction.of_iff {V : Type u_2} [ORingStructure V] {k : ℕ} {f g : (Fin k → V) → V} (H : DefinableBoundedFunction f) (h : ∀ (v : Fin k → V), f v = g v) :
              @[simp]
              theorem FFL.FirstOrder.Arithmetic.DefinableBoundedFunction.term_retraction {n : ℕ} {V : Type u_2} [ORingStructure V] [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {k : ℕ} (t : ArithmeticSemiterm V n) (e : Fin n → Fin k) :
              DefinableBoundedFunction fun (v : Fin k → V) => Semiterm.val (fun (x : Fin n) => v (e x)) id t
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.Definable.bcomp₁ {V : Type u_2} [ORingStructure V] {ℌ : HierarchySymbol} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {k : ℕ} {P : V → Prop} {f : (Fin k → V) → V} [hP : ℌ-Predicate P] (hf : DefinableBoundedFunction f) :
              ℌ.Definable fun (v : Fin k → V) => P (f v)
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.Definable.bcomp₂ {V : Type u_2} [ORingStructure V] {ℌ : HierarchySymbol} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {k : ℕ} {R : V → V → Prop} {f₁ f₂ : (Fin k → V) → V} [hR : ℌ-Relation R] (hf₁ : DefinableBoundedFunction f₁) (hf₂ : DefinableBoundedFunction f₂) :
              ℌ.Definable fun (v : Fin k → V) => R (f₁ v) (f₂ v)
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.Definable.bcomp₃ {V : Type u_2} [ORingStructure V] {ℌ : HierarchySymbol} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {k : ℕ} {R : V → V → V → Prop} {f₁ f₂ f₃ : (Fin k → V) → V} [hR : ℌ-Relation₃ R] (hf₁ : DefinableBoundedFunction f₁) (hf₂ : DefinableBoundedFunction f₂) (hf₃ : DefinableBoundedFunction f₃) :
              ℌ.Definable fun (v : Fin k → V) => R (f₁ v) (f₂ v) (f₃ v)
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.Definable.bcomp₄ {V : Type u_2} [ORingStructure V] {ℌ : HierarchySymbol} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {k : ℕ} {R : V → V → V → V → Prop} {f₁ f₂ f₃ f₄ : (Fin k → V) → V} [hR : ℌ-Relation₄ R] (hf₁ : DefinableBoundedFunction f₁) (hf₂ : DefinableBoundedFunction f₂) (hf₃ : DefinableBoundedFunction f₃) (hf₄ : DefinableBoundedFunction f₄) :
              ℌ.Definable fun (v : Fin k → V) => R (f₁ v) (f₂ v) (f₃ v) (f₄ v)
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.Definable.bcomp₁_zero {V : Type u_2} [ORingStructure V] {Γ : SigmaPiDelta} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {k : ℕ} {P : V → Prop} {f : (Fin k → V) → V} [hP : { Γ := Γ, rank := 0 }-Predicate P] (hf : DefinableBoundedFunction f) :
              { Γ := Γ, rank := 0 }.Definable fun (v : Fin k → V) => P (f v)
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.Definable.bcomp₂_zero {V : Type u_2} [ORingStructure V] {Γ : SigmaPiDelta} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {k : ℕ} {R : V → V → Prop} {f₁ f₂ : (Fin k → V) → V} [hR : { Γ := Γ, rank := 0 }-Relation R] (hf₁ : DefinableBoundedFunction f₁) (hf₂ : DefinableBoundedFunction f₂) :
              { Γ := Γ, rank := 0 }.Definable fun (v : Fin k → V) => R (f₁ v) (f₂ v)
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.Definable.bcomp₃_zero {V : Type u_2} [ORingStructure V] {Γ : SigmaPiDelta} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {k : ℕ} {R : V → V → V → Prop} {f₁ f₂ f₃ : (Fin k → V) → V} [hR : { Γ := Γ, rank := 0 }-Relation₃ R] (hf₁ : DefinableBoundedFunction f₁) (hf₂ : DefinableBoundedFunction f₂) (hf₃ : DefinableBoundedFunction f₃) :
              { Γ := Γ, rank := 0 }.Definable fun (v : Fin k → V) => R (f₁ v) (f₂ v) (f₃ v)
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.Definable.bcomp₄_zero {V : Type u_2} [ORingStructure V] {Γ : SigmaPiDelta} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {k : ℕ} {R : V → V → V → V → Prop} {f₁ f₂ f₃ f₄ : (Fin k → V) → V} [hR : { Γ := Γ, rank := 0 }-Relation₄ R] (hf₁ : DefinableBoundedFunction f₁) (hf₂ : DefinableBoundedFunction f₂) (hf₃ : DefinableBoundedFunction f₃) (hf₄ : DefinableBoundedFunction f₄) :
              { Γ := Γ, rank := 0 }.Definable fun (v : Fin k → V) => R (f₁ v) (f₂ v) (f₃ v) (f₄ v)
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.DefinableFunction.bcomp {V : Type u_2} [ORingStructure V] {ℌ : HierarchySymbol} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {l k : ℕ} {F : (Fin l → V) → V} {f : Fin l → (Fin k → V) → V} (hF : ℌ.DefinableFunction F) (hf : ∀ (i : Fin l), DefinableBoundedFunction (f i)) :
              ℌ.DefinableFunction fun (v : Fin k → V) => F fun (x : Fin l) => f x v
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.DefinableFunction₁.bcomp {V : Type u_2} [ORingStructure V] {ℌ : HierarchySymbol} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {k : ℕ} {F : V → V} {f : (Fin k → V) → V} (hF : ℌ-Function₁ F) (hf : DefinableBoundedFunction f) :
              ℌ.DefinableFunction fun (v : Fin k → V) => F (f v)
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.DefinableFunction₂.bcomp {V : Type u_2} [ORingStructure V] {ℌ : HierarchySymbol} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {k : ℕ} {F : V → V → V} {f₁ f₂ : (Fin k → V) → V} (hF : ℌ-Function₂ F) (hf₁ : DefinableBoundedFunction f₁) (hf₂ : DefinableBoundedFunction f₂) :
              ℌ.DefinableFunction fun (v : Fin k → V) => F (f₁ v) (f₂ v)
              theorem FFL.FirstOrder.Arithmetic.HierarchySymbol.DefinableFunction₃.bcomp {V : Type u_2} [ORingStructure V] {ℌ : HierarchySymbol} [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {k : ℕ} {F : V → V → V → V} {f₁ f₂ f₃ : (Fin k → V) → V} (hF : ℌ-Function₃ F) (hf₁ : DefinableBoundedFunction f₁) (hf₂ : DefinableBoundedFunction f₂) (hf₃ : DefinableBoundedFunction f₃) :
              ℌ.DefinableFunction fun (v : Fin k → V) => F (f₁ v) (f₂ v) (f₃ v)
              theorem FFL.FirstOrder.Arithmetic.DefinableBoundedFunction₂.comp {V : Type u_2} [ORingStructure V] [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {k : ℕ} {F : V → V → V} {f₁ f₂ : (Fin k → V) → V} (hF : DefinableBoundedFunction₂ F) (hf₁ : DefinableBoundedFunction f₁) (hf₂ : DefinableBoundedFunction f₂) :
              DefinableBoundedFunction fun (v : Fin k → V) => F (f₁ v) (f₂ v)
              theorem FFL.FirstOrder.Arithmetic.DefinableBoundedFunction₃.comp {V : Type u_2} [ORingStructure V] [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {k : ℕ} {F : V → V → V → V} {f₁ f₂ f₃ : (Fin k → V) → V} (hF : DefinableBoundedFunction₃ F) (hf₁ : DefinableBoundedFunction f₁) (hf₂ : DefinableBoundedFunction f₂) (hf₃ : DefinableBoundedFunction f₃) :
              DefinableBoundedFunction fun (v : Fin k → V) => F (f₁ v) (f₂ v) (f₃ v)
              theorem FFL.FirstOrder.Arithmetic.DefinableBoundedFunction.comp₁ {V : Type u_2} [ORingStructure V] [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {k : ℕ} {F : V → V} {f : (Fin k → V) → V} [hFb : Bounded₁ F] [hFd : 𝚺₀-Function₁ F] (hf : DefinableBoundedFunction f) :
              DefinableBoundedFunction fun (v : Fin k → V) => F (f v)
              theorem FFL.FirstOrder.Arithmetic.DefinableBoundedFunction.comp₂ {V : Type u_2} [ORingStructure V] [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {k : ℕ} {F : V → V → V} {f₁ f₂ : (Fin k → V) → V} [hFb : Bounded₂ F] [hFd : 𝚺₀-Function₂ F] (hf₁ : DefinableBoundedFunction f₁) (hf₂ : DefinableBoundedFunction f₂) :
              DefinableBoundedFunction fun (v : Fin k → V) => F (f₁ v) (f₂ v)
              theorem FFL.FirstOrder.Arithmetic.DefinableBoundedFunction.comp₃ {V : Type u_2} [ORingStructure V] [V↓[ℒₒᵣ] ⊧* 𝗣𝗔⁻] {k : ℕ} {F : V → V → V → V} {f₁ f₂ f₃ : (Fin k → V) → V} [hFb : Bounded₃ F] [hFd : 𝚺₀-Function₃ F] (hf₁ : DefinableBoundedFunction f₁) (hf₂ : DefinableBoundedFunction f₂) (hf₃ : DefinableBoundedFunction f₃) :
              DefinableBoundedFunction fun (v : Fin k → V) => F (f₁ v) (f₂ v) (f₃ v)