Documentation

Arithmetization.ISigmaOne.HFS.PRF

Primitive Recursive Functions in IΞ£1 #

Instances For
    def LO.Arith.PR.Blueprint.cseqDef {k : β„•} (p : Blueprint k) :
    πšΊβ‚.Semisentence (k + 1)
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def LO.Arith.PR.Blueprint.resultDef {k : β„•} (p : Blueprint k) :
      πšΊβ‚.Semisentence (k + 2)
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        Equations
        Instances For
          structure LO.Arith.PR.Construction (V : Type u_1) [ORingStruc V] {k : β„•} (p : Blueprint k) :
          Type u_1
          Instances For
            def LO.Arith.PR.Construction.CSeq {V : Type u_1} [ORingStruc V] [V βŠ§β‚˜* πˆπšΊβ‚] {k : β„•} {p : Blueprint k} (c : Construction V p) (v : Fin k β†’ V) (s : V) :
            Equations
            Instances For
              theorem LO.Arith.PR.Construction.cseq_defined {V : Type u_1} [ORingStruc V] [V βŠ§β‚˜* πˆπšΊβ‚] {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
              @[simp]
              theorem LO.Arith.PR.Construction.cseq_defined_iff {V : Type u_1} [ORingStruc V] [V βŠ§β‚˜* πˆπšΊβ‚] {k : β„•} {p : Blueprint k} (c : Construction V p) (v : Fin (k + 1) β†’ V) :
              V ⊧/v (FirstOrder.Arith.HierarchySymbol.Semiformula.val p.cseqDef) ↔ c.CSeq (fun (x : Fin k) => v x.succ) (v 0)
              theorem LO.Arith.PR.Construction.CSeq.seq {V : Type u_1} [ORingStruc V] [V βŠ§β‚˜* πˆπšΊβ‚] {k : β„•} {p : Blueprint k} {c : Construction V p} {v : Fin k β†’ V} {s : V} (h : c.CSeq v s) :
              Seq s
              theorem LO.Arith.PR.Construction.CSeq.zero {V : Type u_1} [ORingStruc V] [V βŠ§β‚˜* πˆπšΊβ‚] {k : β„•} {p : Blueprint k} {c : Construction V p} {v : Fin k β†’ V} {s : V} (h : c.CSeq v s) :
              βŸͺ0, c.zero v⟫ ∈ s
              theorem LO.Arith.PR.Construction.CSeq.succ {V : Type u_1} [ORingStruc V] [V βŠ§β‚˜* πˆπšΊβ‚] {k : β„•} {p : Blueprint k} {c : Construction V p} {v : Fin k β†’ V} {s : V} (h : c.CSeq v s) (i : V) :
              i < lh s - 1 β†’ βˆ€ (z : V), βŸͺi, z⟫ ∈ s β†’ βŸͺi + 1, c.succ v i z⟫ ∈ s
              theorem LO.Arith.PR.Construction.CSeq.unique {V : Type u_1} [ORingStruc V] [V βŠ§β‚˜* πˆπšΊβ‚] {k : β„•} {p : Blueprint k} {c : Construction V p} {v : Fin k β†’ V} {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 βŠ§β‚˜* πˆπšΊβ‚] {k : β„•} {p : Blueprint k} {c : Construction V p} {v : Fin k β†’ V} :
              c.CSeq v !⟦c.zero v⟧
              theorem LO.Arith.PR.Construction.CSeq.successor {V : Type u_1} [ORingStruc V] [V βŠ§β‚˜* πˆπšΊβ‚] {k : β„•} {p : Blueprint k} {c : Construction V p} {v : Fin k β†’ V} {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 βŠ§β‚˜* πˆπšΊβ‚] {k : β„•} {p : Blueprint k} (c : Construction V p) (v : Fin k β†’ V) (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 βŠ§β‚˜* πˆπšΊβ‚] {k : β„•} {p : Blueprint k} (c : Construction V p) (v : Fin k β†’ V) (l : V) :
              βˆƒ! z : V, βˆƒ (s : V), c.CSeq v s ∧ l + 1 = lh s ∧ βŸͺl, z⟫ ∈ s
              def LO.Arith.PR.Construction.result {V : Type u_1} [ORingStruc V] [V βŠ§β‚˜* πˆπšΊβ‚] {k : β„•} {p : Blueprint k} (c : Construction V p) (v : Fin k β†’ V) (u : V) :
              V
              Equations
              Instances For
                theorem LO.Arith.PR.Construction.result_spec {V : Type u_1} [ORingStruc V] [V βŠ§β‚˜* πˆπšΊβ‚] {k : β„•} {p : Blueprint k} (c : Construction V p) (v : Fin k β†’ V) (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 βŠ§β‚˜* πˆπšΊβ‚] {k : β„•} {p : Blueprint k} (c : Construction V p) (v : Fin k β†’ V) :
                c.result v 0 = c.zero v
                @[simp]
                theorem LO.Arith.PR.Construction.result_succ {V : Type u_1} [ORingStruc V] [V βŠ§β‚˜* πˆπšΊβ‚] {k : β„•} {p : Blueprint k} (c : Construction V p) (v : Fin k β†’ V) (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 βŠ§β‚˜* πˆπšΊβ‚] {k : β„•} {p : Blueprint k} (c : Construction V p) (v : Fin k β†’ V) (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 βŠ§β‚˜* πˆπšΊβ‚] {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 βŠ§β‚˜* πˆπšΊβ‚] {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
                @[simp]
                theorem LO.Arith.PR.Construction.result_defined_iff {V : Type u_1} [ORingStruc V] [V βŠ§β‚˜* πˆπšΊβ‚] {k : β„•} {p : Blueprint k} (c : Construction V p) (v : Fin (k + 2) β†’ V) :
                V ⊧/v (FirstOrder.Arith.HierarchySymbol.Semiformula.val p.resultDef) ↔ v 0 = c.result (fun (x : Fin k) => v x.succ.succ) (v 1)
                instance LO.Arith.PR.Construction.result_definable {V : Type u_1} [ORingStruc V] [V βŠ§β‚˜* πˆπšΊβ‚] {k : β„•} {p : Blueprint k} (c : Construction V p) :
                πšΊβ‚.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 βŠ§β‚˜* πˆπšΊβ‚] {k : β„•} {p : Blueprint k} (c : Construction V p) :
                πš«β‚.BoldfaceFunction fun (v : Fin (k + 1) β†’ V) => c.result (fun (x : Fin k) => v x.succ) (v 0)