Categorical Realizability
First, we define map between assemblies.
Definition assembly map [local-0]
An assembly map from an assembly to an assembly is a function that is tracked by some element.
Definition Track [math-GM4F]
For assemblies and , we say that an element tracks a function if for all and , if , then is defined and .
Then, we check assemblies and assembly maps form a category.
Proposition assemblies and assembly maps form a category [local-2]
Proof [local-1]
If and are assembly maps, then is tracked. Let and track and respectively. We claim that tracks , the closed term is defined by construction, and if then
by choice of and . Then we need identity, for each assembly , tracks any identity on , so assemblies and assembly maps form a category.
Notation [local-3]
We denote for the category of assemblies over a pca .
Example [local-4]
The trivial pca has .
Proposition terminal object [local-5]
The terminal object in is given by
Proposition products [local-6]
The product of two assemblies is given by
Proposition exponentials [local-8]
The exponential of two assemblies is given by
Proof [local-7]
The evaluation morphism is given by is tracked by . Every induces a unique assembly map making the commute diagram:
Since there is a unique assignment and the assignment is tracked by when tracks .
Proposition equalizers [local-9]
The equalizer of two assembly maps is given by
Proposition initial object [local-10]
The initial object is given by with empty realizability relation (no element so empty realizability is fine).
Proposition coproducts [local-11]
The coproduct is defined by
where
Proposition coequalizers [local-12]
The coequalizer of assembly maps is given by
where is the least equivalence relation on generated by for all .