Please correct me if at any time my definitions are wrong. Suppose we have a programming language $L$ over some set $D$ with semantic (partial) n-ary functions $\varphi^n:D \to (D^n \to D)$. Assume $L \subseteq D$ (so programs are data as well).
- We say that $L$ is turing complete if a function $f:D^n\to D$ is Turing Computable if and only if there exists a program $p \in L$ such that $f = \varphi^n(p)$.
- We know there exists a universal Turing Machine: A Turing Computable function $U:D^2 \to D$ such that for every (encoding of) a Turing Computable function $T$, every $d \in D$: $U(T,d) = T(d)$.
- Does this imply, via Turing Completeness, that there must be a universal program in $L$? Why or why not?