Definition. Weak product [math-O7B4]

Higher-Order Computability

A computability model C\mathbb{C} has weak (binary cartesian) products if there is an operation assigning to each A,B∈∣C∣A,B \in \vert \mathbb{C} \vert a datatype A⋈B∈∣C∣A \bowtie B \in \vert \mathbb{C} \vert along with operations πA∈C[A⋈B,A]\pi_A \in \mathbb{C}[A \bowtie B, A] and πB∈C[A⋈B,B]\pi_B \in \mathbb{C}[A \bowtie B, B], such that for any f∈C[C,A]f \in \mathbb{C}[C,A] and g∈C[C,B]g \in \mathbb{C}[C,B], there exists ⟨f,g⟩∈C[C,A⋈B]\langle f,g \rangle \in \mathbb{C}[C, A \bowtie B] satisfying the following for all c∈Cc \in C.

  • ⟨f,g⟩(c)↓\langle f,g \rangle(c) \downarrow iff f(c)↓f(c) \downarrow and g(c)↓g(c) \downarrow
  • if ⟨f,g⟩(c)\langle f,g \rangle(c) is defined, then πA(⟨f,g⟩(c))=f(c)\pi_A(\langle f,g \rangle(c)) = f(c) and πB(⟨f,g⟩(c))=g(c)\pi_B(\langle f,g \rangle(c)) = g(c)

We say that d∈A⋈Bd \in A \bowtie B represents the pair (a,b)(a,b) if πA(d)=a\pi_A(d) = a and πB(d)=b\pi_B(d) = b.