Definition. Partial combinatory algebra (pca) [math-NYGO]

Categorical Realizability

A partial combinatory algebra is a set A\mathcal{A} together with a partial operation A×A→A\mathcal{A} \times \mathcal{A} \to \mathcal{A}, denoted by juxtaposition, (a,b)↦a b(a,b)\mapsto a\ b, such that there exist elements KK and SS satisfying:

  • (K a) b=a(K\ a)\ b = a for all a,b∈Aa, b \in \mathcal{A}
  • ((S f) g)((S\ f)\ g) is defined for all f,g∈Af,g \in\mathcal{A} and
  • ((S f) g) a≅(f a)(g a)((S\ f)\ g)\ a \cong (f\ a)(g\ a) for all f,g,a∈Af,g,a \in\mathcal{A}

≅\cong here stands for Kleene equality and means: either both sides are undefined, or both are defined and are equal elements of A\mathcal{A}.

Example trivial pca [local-0]

The trivial pca is a set {⋆}\{ \star \} with application map (⋆,⋆)↦⋆(\star, \star) \mapsto \star. For sure, K:=⋆K := \star and S:=⋆S := \star.

Example untyped λ\lambda-calculus as pca Λ\Lambda [local-1]

Write Λ\Lambda for closed terms of untyped lambda calculus quotiented by the equivalence relation generated by β\beta-reduction. With application of lambda calculus the set Λ\Lambda forms a pca with KK and SS given by the equivalence classes of λxy.x\lambda xy.x and λxyz.(xz)(yz)\lambda xyz.(xz)(yz), respectively.