Documentation

LeanPool.Incompleteness.Arithmetization.ISigmaOne.HFS.PRF

Primitive Recursive Functions in $\mathsf{I} \Sigma_1$ #

structure LO.Arith.PR.Blueprint (k : ) :

Imported declaration from the Incompleteness formalization.

Instances For

    Imported declaration from the Incompleteness formalization.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Imported declaration from the Incompleteness formalization.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Imported declaration from the Incompleteness formalization.

        Equations
        Instances For
          structure LO.Arith.PR.Construction (V : Type u_1) [ORingStruc V] {k : } (p : Blueprint k) :
          Type u_1

          Imported declaration from the Incompleteness formalization.

          Instances For
            def LO.Arith.PR.Construction.CSeq {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : } {p : Blueprint k} (c : Construction V p) (v : Fin kV) (s : V) :

            Imported declaration from the Incompleteness formalization.

            Equations
            Instances For
              theorem LO.Arith.PR.Construction.cseq_defined {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : } {p : Blueprint k} (c : Construction V p) :
              FirstOrder.Arith.HierarchySymbol.Defined (fun (v : Fin (k + 1)V) => c.CSeq (fun (x : Fin k) => v x.succ) (v 0)) p.cseqDef
              theorem LO.Arith.PR.Construction.cseq_defined_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : } {p : Blueprint k} (c : Construction V p) (v : Fin (k + 1)V) :
              theorem LO.Arith.PR.Construction.CSeq.seq {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : } {p : Blueprint k} {c : Construction V p} {v : Fin kV} {s : V} (h : c.CSeq v s) :
              Seq s
              theorem LO.Arith.PR.Construction.CSeq.zero {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : } {p : Blueprint k} {c : Construction V p} {v : Fin kV} {s : V} (h : c.CSeq v s) :
              theorem LO.Arith.PR.Construction.CSeq.succ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : } {p : Blueprint k} {c : Construction V p} {v : Fin kV} {s : V} (h : c.CSeq v s) (i : V) :
              i < lh s - 1∀ (z : V), i, z si + 1, c.succ v i z s
              theorem LO.Arith.PR.Construction.CSeq.unique {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : } {p : Blueprint k} {c : Construction V p} {v : Fin kV} {s₁ s₂ : V} (H₁ : c.CSeq v s₁) (H₂ : c.CSeq v s₂) (h₁₂ : lh s₁ lh s₂) {i : V} (hi : i < lh s₁) {z₁ z₂ : V} :
              i, z₁ s₁i, z₂ s₂z₁ = z₂
              theorem LO.Arith.PR.Construction.CSeq.initial {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : } {p : Blueprint k} {c : Construction V p} {v : Fin kV} :
              theorem LO.Arith.PR.Construction.CSeq.successor {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : } {p : Blueprint k} {c : Construction V p} {v : Fin kV} {s l z : V} (Hs : c.CSeq v s) (hl : l + 1 = lh s) (hz : l, z s) :
              c.CSeq v (s ⁀' c.succ v l z)
              theorem LO.Arith.PR.Construction.CSeq.exists {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : } {p : Blueprint k} (c : Construction V p) (v : Fin kV) (l : V) :
              ∃ (s : V), c.CSeq v s l + 1 = lh s
              theorem LO.Arith.PR.Construction.cSeq_result_existsUnique {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : } {p : Blueprint k} (c : Construction V p) (v : Fin kV) (l : V) :
              ∃! z : V, ∃ (s : V), c.CSeq v s l + 1 = lh s l, z s
              noncomputable def LO.Arith.PR.Construction.result {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : } {p : Blueprint k} (c : Construction V p) (v : Fin kV) (u : V) :
              V

              Imported declaration from the Incompleteness formalization.

              Equations
              Instances For
                theorem LO.Arith.PR.Construction.result_spec {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : } {p : Blueprint k} (c : Construction V p) (v : Fin kV) (u : V) :
                ∃ (s : V), c.CSeq v s u + 1 = lh s u, c.result v u s
                @[simp]
                theorem LO.Arith.PR.Construction.result_zero {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : } {p : Blueprint k} (c : Construction V p) (v : Fin kV) :
                c.result v 0 = c.zero v
                @[simp]
                theorem LO.Arith.PR.Construction.result_succ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : } {p : Blueprint k} (c : Construction V p) (v : Fin kV) (u : V) :
                c.result v (u + 1) = c.succ v u (c.result v u)
                theorem LO.Arith.PR.Construction.result_graph {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : } {p : Blueprint k} (c : Construction V p) (v : Fin kV) (z u : V) :
                z = c.result v u ∃ (s : V), c.CSeq v s u, z s
                theorem LO.Arith.PR.Construction.result_defined {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : } {p : Blueprint k} (c : Construction V p) :
                FirstOrder.Arith.HierarchySymbol.DefinedFunction (fun (v : Fin (k + 1)V) => c.result (fun (x : Fin k) => v x.succ) (v 0)) p.resultDef
                theorem LO.Arith.PR.Construction.result_defined_delta {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : } {p : Blueprint k} (c : Construction V p) :
                FirstOrder.Arith.HierarchySymbol.DefinedFunction (fun (v : Fin (k + 1)V) => c.result (fun (x : Fin k) => v x.succ) (v 0)) p.resultDeltaDef
                theorem LO.Arith.PR.Construction.result_defined_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : } {p : Blueprint k} (c : Construction V p) (v : Fin (k + 2)V) :
                instance LO.Arith.PR.Construction.result_definable {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : } {p : Blueprint k} (c : Construction V p) :
                FirstOrder.Arith.Sg1.BoldfaceFunction fun (v : Fin (k + 1)V) => c.result (fun (x : Fin k) => v x.succ) (v 0)
                instance LO.Arith.PR.Construction.result_definable_delta₁ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : } {p : Blueprint k} (c : Construction V p) :
                FirstOrder.Arith.Dlt1.BoldfaceFunction fun (v : Fin (k + 1)V) => c.result (fun (x : Fin k) => v x.succ) (v 0)