Definition. Higher-order structures and (computability) models [math-ONFA]

Higher-Order Computability

Definition higher-order structure [local-0]

A higher-order structure is a computability model CC possessing a weak terminal (I,i)(I,i), and endowed with the following for each A,B∈∣C∣A, B \in \vert C \vert

  • a choice of datatype A⇒B∈∣C∣A \Rightarrow B \in \vert C \vert
  • a partial function ⋅AB:(A⇒B)×A⇀B\cdot_{AB} : (A \Rightarrow B) \times A \rightharpoonup B (external to the structure of CC).

Notation computable elements [local-2]

The weak terminal picks out a subset A#A^\# for each A∈∣C∣A \in |C|, namely the set of elements of the form f(i)f(i) where f∈C[I,A]f \in C[I, A] and f(i)↓f(i) \downarrow.

Remark [local-1]

Intuitively, A#A^\# plays the role of the computable elements of AA.

Definition higher-order model [local-3]

A higher-order (computability) model is a higher-order structure CC satisfying the following conditions for some (or equivalently any) weak terminal (I,i)(I,i)

  1. A partial function f:A⇀Bf : A \rightharpoonup B is present in C[A,B]C[A,B] iff there exists f^∈C[I,A⇒B]\hat{f} \in C[I, A \Rightarrow B] such that f^(i)↓,∀a∈A. f^(i)⋅a≃f(a)\hat{f}(i) \downarrow, \quad \forall a \in A. \ \hat{f}(i) \cdot a \simeq f(a)
  2. For any A,B∈∣C∣A,B \in \vert C \vert, there exists kAB∈(A⇒B⇒A)#k_{AB} \in (A \Rightarrow B \Rightarrow A)^\# such that ∀a. kAB⋅a↓,∀a,b. kAB⋅a⋅b=a\forall a. \ k_{AB} \cdot a \downarrow, \quad \forall a,b. \ k_{AB} \cdot a \cdot b = a
  3. For any A,B,C∈∣C∣A,B,C \in \vert C \vert, there exists sABC∈((A⇒B⇒C)⇒(A⇒B)⇒(A⇒C))#s_{ABC} \in ((A \Rightarrow B \Rightarrow C) \Rightarrow (A \Rightarrow B) \Rightarrow (A \Rightarrow C))^\# such that ∀f,g. sABC⋅f⋅g↓,∀f,g,a. sABC⋅f⋅g⋅a≃(f⋅a)⋅(g⋅a)\forall f,g. \ s_{ABC} \cdot f \cdot g \downarrow, \quad \forall f,g,a. \ s_{ABC} \cdot f \cdot g \cdot a \simeq (f \cdot a) \cdot (g \cdot a)