Documentation

Arithmetization.ISigmaOne.HFS.Fixpoint

Fixpoint Construction #

Instances For
    def LO.Arith.Fixpoint.Blueprint.succDef {k : ℕ} (φ : Blueprint k) :
    𝚺₁.Semisentence (k + 3)
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      Equations
      Instances For
        def LO.Arith.Fixpoint.Blueprint.limSeqDef {k : ℕ} (φ : Blueprint k) :
        𝚺₁.Semisentence (k + 2)
        Equations
        • φ.limSeqDef = φ.prBlueprint.resultDef
        Instances For
          def LO.Arith.Fixpoint.Blueprint.fixpointDef {k : ℕ} (φ : Blueprint k) :
          𝚺₁.Semisentence (k + 1)
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def LO.Arith.Fixpoint.Blueprint.fixpointDefΔ₁ {k : ℕ} (φ : Blueprint k) :
            𝚫₁.Semisentence (k + 1)
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              structure LO.Arith.Fixpoint.Construction (V : Type u_1) [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} (φ : Blueprint k) :
              Type u_1
              Instances For
                • finite {C : Set V} {v : Fin k → V} {x : V} : c.Φ v C x → ∃ (m : V), c.Φ v {y : V | y ∈ C ∧ y < m} x
                Instances
                  • strong_finite {C : Set V} {v : Fin k → V} {x : V} : c.Φ v C x → c.Φ v {y : V | y ∈ C ∧ y < x} x
                  Instances
                    theorem LO.Arith.Fixpoint.Construction.eval_formula {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) (v : Fin k.succ.succ → V) :
                    V ⊧/v (FirstOrder.Arith.HierarchySymbol.Semiformula.val φ.core) ↔ c.Φ (fun (x : Fin k) => v x.succ.succ) {x : V | x ∈ v 1} (v 0)
                    theorem LO.Arith.Fixpoint.Construction.succ_existsUnique {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) (v : Fin k → V) (s ih : V) :
                    ∃! u : V, ∀ (x : V), x ∈ u ↔ x ≤ s ∧ c.Φ v {z : V | z ∈ ih} x
                    def LO.Arith.Fixpoint.Construction.succ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) (v : Fin k → V) (s ih : V) :
                    V
                    Equations
                    Instances For
                      theorem LO.Arith.Fixpoint.Construction.mem_succ_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) {x : V} {v : Fin k → V} {s ih : V} :
                      x ∈ c.succ v s ih ↔ x ≤ s ∧ c.Φ v {z : V | z ∈ ih} x
                      theorem LO.Arith.Fixpoint.Construction.succ_defined {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) :
                      FirstOrder.Arith.HierarchySymbol.DefinedFunction (fun (v : Fin (k + 2) → V) => c.succ (fun (x : Fin k) => v x.succ.succ) (v 1) (v 0)) φ.succDef
                      theorem LO.Arith.Fixpoint.Construction.eval_succDef {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) (v : Fin (k + 3) → V) :
                      V ⊧/v (FirstOrder.Arith.HierarchySymbol.Semiformula.val φ.succDef) ↔ v 0 = c.succ (fun (x : Fin k) => v x.succ.succ.succ) (v 2) (v 1)
                      Equations
                      • c.prConstruction = { zero := fun (x : Fin k → V) => ∅, succ := c.succ, zero_defined := ⋯, succ_defined := ⋯ }
                      Instances For
                        def LO.Arith.Fixpoint.Construction.limSeq {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) (v : Fin k → V) (s : V) :
                        V
                        Equations
                        • c.limSeq v s = c.prConstruction.result v s
                        Instances For
                          @[simp]
                          theorem LO.Arith.Fixpoint.Construction.limSeq_zero {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) {v : Fin k → V} :
                          c.limSeq v 0 = ∅
                          theorem LO.Arith.Fixpoint.Construction.limSeq_succ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) {v : Fin k → V} (s : V) :
                          c.limSeq v (s + 1) = c.succ v s (c.limSeq v s)
                          theorem LO.Arith.Fixpoint.Construction.termSet_defined {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) :
                          FirstOrder.Arith.HierarchySymbol.DefinedFunction (fun (v : Fin (k + 1) → V) => c.limSeq (fun (x : Fin k) => v x.succ) (v 0)) φ.limSeqDef
                          @[simp]
                          theorem LO.Arith.Fixpoint.Construction.eval_limSeqDef {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) (v : Fin (k + 2) → V) :
                          V ⊧/v (FirstOrder.Arith.HierarchySymbol.Semiformula.val φ.limSeqDef) ↔ v 0 = c.limSeq (fun (x : Fin k) => v x.succ.succ) (v 1)
                          instance LO.Arith.Fixpoint.Construction.limSeq_definable {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) :
                          𝚺₁.BoldfaceFunction fun (v : Fin (k + 1) → V) => c.limSeq (fun (x : Fin k) => v x.succ) (v 0)
                          @[simp]
                          instance LO.Arith.Fixpoint.Construction.limSeq_definable' {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) {m : ℕ} (Γ : SigmaPiDelta) :
                          { Γ := Γ, rank := m + 1 }.BoldfaceFunction fun (v : Fin (k + 1) → V) => c.limSeq (fun (x : Fin k) => v x.succ) (v 0)
                          theorem LO.Arith.Fixpoint.Construction.mem_limSeq_succ_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) {v : Fin k → V} {x s : V} :
                          x ∈ c.limSeq v (s + 1) ↔ x ≤ s ∧ c.Φ v {z : V | z ∈ c.limSeq v s} x
                          theorem LO.Arith.Fixpoint.Construction.limSeq_cumulative {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) {v : Fin k → V} {s s' : V} :
                          s ≤ s' → c.limSeq v s ⊆ c.limSeq v s'
                          theorem LO.Arith.Fixpoint.Construction.mem_limSeq_self {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) {v : Fin k → V} [StrongFinite V c] {u s : V} :
                          u ∈ c.limSeq v s → u ∈ c.limSeq v (u + 1)
                          def LO.Arith.Fixpoint.Construction.Fixpoint {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) (v : Fin k → V) (x : V) :
                          Equations
                          • c.Fixpoint v x = ∃ (s : V), x ∈ c.limSeq v s
                          Instances For
                            theorem LO.Arith.Fixpoint.Construction.fixpoint_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) {v : Fin k → V} [StrongFinite V c] {x : V} :
                            c.Fixpoint v x ↔ x ∈ c.limSeq v (x + 1)
                            theorem LO.Arith.Fixpoint.Construction.fixpoint_iff_succ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) {v : Fin k → V} {x : V} :
                            c.Fixpoint v x ↔ ∃ (u : V), x ∈ c.limSeq v (u + 1)
                            theorem LO.Arith.Fixpoint.Construction.finite_upperbound {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) {v : Fin k → V} (m : V) :
                            ∃ (s : V), ∀ z < m, c.Fixpoint v z → z ∈ c.limSeq v s
                            theorem LO.Arith.Fixpoint.Construction.case {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) {v : Fin k → V} {x : V} [Finite V c] :
                            c.Fixpoint v x ↔ c.Φ v {z : V | c.Fixpoint v z} x
                            theorem LO.Arith.Fixpoint.Construction.fixpoint_defined {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) :
                            FirstOrder.Arith.HierarchySymbol.Defined (fun (v : Fin (k + 1) → V) => c.Fixpoint (fun (x : Fin k) => v x.succ) (v 0)) φ.fixpointDef
                            @[simp]
                            theorem LO.Arith.Fixpoint.Construction.eval_fixpointDef {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) (v : Fin (k + 1) → V) :
                            V ⊧/v (FirstOrder.Arith.HierarchySymbol.Semiformula.val φ.fixpointDef) ↔ c.Fixpoint (fun (x : Fin k) => v x.succ) (v 0)
                            theorem LO.Arith.Fixpoint.Construction.fixpoint_definedΔ₁ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) [StrongFinite V c] :
                            FirstOrder.Arith.HierarchySymbol.Defined (fun (v : Fin (k + 1) → V) => c.Fixpoint (fun (x : Fin k) => v x.succ) (v 0)) φ.fixpointDefΔ₁
                            @[simp]
                            theorem LO.Arith.Fixpoint.Construction.eval_fixpointDefΔ₁ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) [StrongFinite V c] (v : Fin (k + 1) → V) :
                            V ⊧/v (FirstOrder.Arith.HierarchySymbol.Semiformula.val φ.fixpointDefΔ₁) ↔ c.Fixpoint (fun (x : Fin k) => v x.succ) (v 0)
                            theorem LO.Arith.Fixpoint.Construction.induction {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {k : ℕ} {φ : Blueprint k} (c : Construction V φ) {v : Fin k → V} {Γ : SigmaPiDelta} [StrongFinite V c] {P : V → Prop} (hP : { Γ := Γ, rank := 1 }-Predicate P) (H : ∀ (C : Set V), (∀ x ∈ C, c.Fixpoint v x ∧ P x) → ∀ (x : V), c.Φ v C x → P x) (x : V) :
                            c.Fixpoint v x → P x