The following definitions of a “transparent function” are essentially taken from references [1] (where it is called a “jump operator”), [2] and [3], except that the variation “primitively recursively transparent” and possibly another one is an addition of mine:
A partial function $U\colon \mathbb{N}\dashrightarrow\mathbb{N}$ is said to be transparent when for every partial computable $f\colon \mathbb{N}\dashrightarrow\mathbb{N}$ there exists $F\colon \mathbb{N}\dashrightarrow\mathbb{N}$ such that $U\circ F = f\circ U$. It is said to be computably transparent, resp. primitively recursively transparent when there is a computable (resp. a primitive recursive) $C$ which, when given a code for $f$, returns a code for $F$ as described. (Here, a “code” for a partial computable function is the number of a Turing machine which implements it.)
A partial function $U\colon \mathbb{N}^{\mathbb{N}} \dashrightarrow \mathbb{N}^{\mathbb{N}}$ is said to be transparent when for every partial continuous $f\colon \mathbb{N}^{\mathbb{N}}\dashrightarrow\mathbb{N}^{\mathbb{N}}$ there exists $F\colon \mathbb{N}^{\mathbb{N}}\dashrightarrow\mathbb{N}^{\mathbb{N}}$ such that $U\circ F = f\circ U$. It is said to be continuously transparent, resp. computably transparent when there is a continuous (resp. a computable) $C$ which, when given a code for $f$, returns a code for $F$ as described. (Here, a partial continuous function $\mathbb{N}^{\mathbb{N}}\dashrightarrow\mathbb{N}^{\mathbb{N}}$ means it is continuous and has a $G_\delta$ support¹; and a “code” in $\mathbb{N}^{\mathbb{N}}$ for such a function is as described in this question on the “second Kleene algebra”.)
I understand the text of these definitions in a formal sense, but I'm trying to get an intuitive grasp on what they really mean, what idea they're trying to capture and what motivates them (the references giving the definitions don't really explain much). I'm also very confused as to how the various versions above relate.
One essential idea, which I understand, is that if $U$ is a universal Turing machine with access to an oracle (or even a restricted oracle which the machine can call only once), then $U$ is computably transparent (indeed, p.r. transparent) because we can compute a code for $f\circ g$ from a code from $g$ (when $f$ is computable and $g$ is computable relative to the oracle in question). This is clear enough. But the identity function is also computably transparent (indeed, p.r. transparent) for trivial reasons, and it doesn't look at all like a universal Turing machine; more generally, any computable bijection is computably transparent (this one, on the other hand, can fail to be p.r. transparent): so I guess “some sort of universal Turing machine” is not the right intuition to have in mind for transparency.
(Also, just like I can find an example of a computably transparent function $\mathbb{N}\to\mathbb{N}$ that is not p.r. transparent by considering a computable but not p.r. bijection, I can find an example of a continuously transparent function $\mathbb{N}^{\mathbb{N}}\to\mathbb{N}^{\mathbb{N}}$ that is not continuously transparent by considering a continuous bijection that is not computable, but it still doesn't enlighten me much as to how different these notions are.)
Questions (which can probably be answered together):
What idea are these definitions really trying to capture?
What are some interesting (and if possible, illuminating) examples of the various kinds of transparent functions beyond the ones already mentioned above?
Specifically, what is an example of a transparent $U\colon \mathbb{N}\dashrightarrow\mathbb{N}$ that is not computably transparent, if such exists?
Similarly, what are examples showing that that for $U\colon \mathbb{N}^{\mathbb{N}} \dashrightarrow \mathbb{N}^{\mathbb{N}}$, the conditions “transparent” and “continuously transparent” differ (if indeed they do)?
Footnote:
- To be honest, I'm also not sure about this “$G_\delta$ support” bit. The references below don't really make it clear that “partial continuous” is to be interpreted that way, and it's not clear to me whether this matters or it's just a red herring. But the code in $\mathbb{N}^{\mathbb{N}}$ encodes partial continuous functions with $G_\delta$ support, so I guess it should be there. Anyway this is probably not too important for my question.
References:
Matthew de Brecht, “Levels of discontinuity, limit-computability, and jump operators” in: Vasco Brattka, Hannes Diener & Dieter Spreen (eds.), Logic, Computation, Hierarchies (2014); arXiv link
Vasco Brattka, Guido Gherardi & Alberto Marcone, “The Bolzano-Weierstrass Theorem is the Jump of Weak Kőnig's Lemma”, Ann. Pure Appl. Logic 163 (2012), 623–655; arXiv link
Takayuki Kihara, “Rethinking the notion of oracle”; arXiv link