# Domain of a Type-2 Computable Function

In Weihrauch’s Type-2 computability theory, a string function $$f\colon\subseteq \Sigma^{\omega}\rightarrow \Sigma^{\omega}$$ (the $$\colon\subseteq$$ indicates that $$f$$ may be a partial function) is computable iff there exists a Type-2 Turing machine that exactly realizes $$f$$, which implies that the Turing machine must fail to produce an output on inputs that are not in the domain of $$f$$.

To extend this to functions between arbitrary domains $$D_1$$ and $$D_2$$, one specifies representations $$\gamma_i\colon\subseteq\Sigma^{\omega}\rightarrow D_i$$, and Weihrauch defines $$f\colon\subseteq D_1\rightarrow D_2$$ to be $$(\gamma_1,\gamma_2)$$-computable iff there exists a Type-2 computable string function $$g$$ such that $$f(\gamma_1(y)) = \gamma_2(g(y))$$ whenever $$f(\gamma_1(y))$$ is defined.

But $$\gamma_2(g(y))$$ is allowed to be defined even when $$f(\gamma_1(y))$$ is not.

Why is it defined this way? It seems to me more natural to require $$f\circ\gamma_1 = \gamma_2\circ g$$, i.e. the domain of the realization $$g$$ must match the domain of $$f$$. With Weihrauch’s definition we have the odd condition that, for a string function $$f$$, the statements “$$f$$ is Type-2 computable” and “$$f$$ is $$(\mathrm{id},\mathrm{id})$$-computable” (where $$\mathrm{id}$$ is the identity function) are not equivalent.

Reference: Weihrauch, K. (2000), Computable Analysis: An Introduction, Springer.