Prop. Given a TM $% shorthands \newcommand{\cl}{ \mathcal{#1} } \newcommand{\sc}{ \mathscr{#1} } \newcommand{\bb}{ \mathbb{#1} } \newcommand{\fk}{ \mathfrak{#1} } \renewcommand{\bf}{ \mathbf{#1} } \renewcommand{\sf}{ \mathsf{#1} } % category names \newcommand{\cat}{{ \sf{#1} }} % more shorthands \newcommand{\floor}{ { \lfloor {#1} \rfloor } } \newcommand{\ceil}{ { \lceil {#1} \rceil } } \newcommand{\ol}{ \overline{#1} } \newcommand{\t}{ \text{#1} } \newcommand{\norm}{ { \lvert {#1} \rvert } } % norm/magnitude \newcommand{\card}{ \t{cd} } % cardinality \newcommand{\dcup}{ \sqcup } % disjoint untion \newcommand{\tup}{ \langle {#1} \rangle } % tuples % turing machines \newcommand{\halts}{ {\downarrow} } \newcommand{\loops}{ {\uparrow} } % represents an anonymous parameter % eg. f(\apar) usually denotes the function x \mapsto f(x) \newcommand{\apar}{ {-} } % reverse-order composition %\newcommand{\then}{ \operatorname{\ ;\ } } \newcommand{\then}{ {\scriptsize\ \rhd\ } } % Like f' represents "f after modification", \pre{f} % represents "f before modification" \newcommand{\pre}{{ \small {#1} }} % hook arrows \newcommand{\injects}{ \hookrightarrow } \newcommand{\embeds}{ \hookrightarrow } \newcommand{\surjects}{ \twoheadrightarrow } \newcommand{\projects}{ \twoheadrightarrow } % good enough definition of yoneda \newcommand{\yo}{よ} T$, exists an infinite computable subset $% shorthands \newcommand{\cl}{ \mathcal{#1} } \newcommand{\sc}{ \mathscr{#1} } \newcommand{\bb}{ \mathbb{#1} } \newcommand{\fk}{ \mathfrak{#1} } \renewcommand{\bf}{ \mathbf{#1} } \renewcommand{\sf}{ \mathsf{#1} } % category names \newcommand{\cat}{{ \sf{#1} }} % more shorthands \newcommand{\floor}{ { \lfloor {#1} \rfloor } } \newcommand{\ceil}{ { \lceil {#1} \rceil } } \newcommand{\ol}{ \overline{#1} } \newcommand{\t}{ \text{#1} } \newcommand{\norm}{ { \lvert {#1} \rvert } } % norm/magnitude \newcommand{\card}{ \t{cd} } % cardinality \newcommand{\dcup}{ \sqcup } % disjoint untion \newcommand{\tup}{ \langle {#1} \rangle } % tuples % turing machines \newcommand{\halts}{ {\downarrow} } \newcommand{\loops}{ {\uparrow} } % represents an anonymous parameter % eg. f(\apar) usually denotes the function x \mapsto f(x) \newcommand{\apar}{ {-} } % reverse-order composition %\newcommand{\then}{ \operatorname{\ ;\ } } \newcommand{\then}{ {\scriptsize\ \rhd\ } } % Like f' represents "f after modification", \pre{f} % represents "f before modification" \newcommand{\pre}{{ \small {#1} }} % hook arrows \newcommand{\injects}{ \hookrightarrow } \newcommand{\embeds}{ \hookrightarrow } \newcommand{\surjects}{ \twoheadrightarrow } \newcommand{\projects}{ \twoheadrightarrow } % good enough definition of yoneda \newcommand{\yo}{よ} I \subseteq \bb N$ so that $% shorthands \newcommand{\cl}{ \mathcal{#1} } \newcommand{\sc}{ \mathscr{#1} } \newcommand{\bb}{ \mathbb{#1} } \newcommand{\fk}{ \mathfrak{#1} } \renewcommand{\bf}{ \mathbf{#1} } \renewcommand{\sf}{ \mathsf{#1} } % category names \newcommand{\cat}{{ \sf{#1} }} % more shorthands \newcommand{\floor}{ { \lfloor {#1} \rfloor } } \newcommand{\ceil}{ { \lceil {#1} \rceil } } \newcommand{\ol}{ \overline{#1} } \newcommand{\t}{ \text{#1} } \newcommand{\norm}{ { \lvert {#1} \rvert } } % norm/magnitude \newcommand{\card}{ \t{cd} } % cardinality \newcommand{\dcup}{ \sqcup } % disjoint untion \newcommand{\tup}{ \langle {#1} \rangle } % tuples % turing machines \newcommand{\halts}{ {\downarrow} } \newcommand{\loops}{ {\uparrow} } % represents an anonymous parameter % eg. f(\apar) usually denotes the function x \mapsto f(x) \newcommand{\apar}{ {-} } % reverse-order composition %\newcommand{\then}{ \operatorname{\ ;\ } } \newcommand{\then}{ {\scriptsize\ \rhd\ } } % Like f' represents "f after modification", \pre{f} % represents "f before modification" \newcommand{\pre}{{ \small {#1} }} % hook arrows \newcommand{\injects}{ \hookrightarrow } \newcommand{\embeds}{ \hookrightarrow } \newcommand{\surjects}{ \twoheadrightarrow } \newcommand{\projects}{ \twoheadrightarrow } % good enough definition of yoneda \newcommand{\yo}{よ} i \in I \implies \varphi_i = T$ In other words, for any TM $% shorthands \newcommand{\cl}{ \mathcal{#1} } \newcommand{\sc}{ \mathscr{#1} } \newcommand{\bb}{ \mathbb{#1} } \newcommand{\fk}{ \mathfrak{#1} } \renewcommand{\bf}{ \mathbf{#1} } \renewcommand{\sf}{ \mathsf{#1} } % category names \newcommand{\cat}{{ \sf{#1} }} % more shorthands \newcommand{\floor}{ { \lfloor {#1} \rfloor } } \newcommand{\ceil}{ { \lceil {#1} \rceil } } \newcommand{\ol}{ \overline{#1} } \newcommand{\t}{ \text{#1} } \newcommand{\norm}{ { \lvert {#1} \rvert } } % norm/magnitude \newcommand{\card}{ \t{cd} } % cardinality \newcommand{\dcup}{ \sqcup } % disjoint untion \newcommand{\tup}{ \langle {#1} \rangle } % tuples % turing machines \newcommand{\halts}{ {\downarrow} } \newcommand{\loops}{ {\uparrow} } % represents an anonymous parameter % eg. f(\apar) usually denotes the function x \mapsto f(x) \newcommand{\apar}{ {-} } % reverse-order composition %\newcommand{\then}{ \operatorname{\ ;\ } } \newcommand{\then}{ {\scriptsize\ \rhd\ } } % Like f' represents "f after modification", \pre{f} % represents "f before modification" \newcommand{\pre}{{ \small {#1} }} % hook arrows \newcommand{\injects}{ \hookrightarrow } \newcommand{\embeds}{ \hookrightarrow } \newcommand{\surjects}{ \twoheadrightarrow } \newcommand{\projects}{ \twoheadrightarrow } % good enough definition of yoneda \newcommand{\yo}{よ} T$ we can computably find infinitely-many other turing machines that act the same. Since $% shorthands \newcommand{\cl}{ \mathcal{#1} } \newcommand{\sc}{ \mathscr{#1} } \newcommand{\bb}{ \mathbb{#1} } \newcommand{\fk}{ \mathfrak{#1} } \renewcommand{\bf}{ \mathbf{#1} } \renewcommand{\sf}{ \mathsf{#1} } % category names \newcommand{\cat}{{ \sf{#1} }} % more shorthands \newcommand{\floor}{ { \lfloor {#1} \rfloor } } \newcommand{\ceil}{ { \lceil {#1} \rceil } } \newcommand{\ol}{ \overline{#1} } \newcommand{\t}{ \text{#1} } \newcommand{\norm}{ { \lvert {#1} \rvert } } % norm/magnitude \newcommand{\card}{ \t{cd} } % cardinality \newcommand{\dcup}{ \sqcup } % disjoint untion \newcommand{\tup}{ \langle {#1} \rangle } % tuples % turing machines \newcommand{\halts}{ {\downarrow} } \newcommand{\loops}{ {\uparrow} } % represents an anonymous parameter % eg. f(\apar) usually denotes the function x \mapsto f(x) \newcommand{\apar}{ {-} } % reverse-order composition %\newcommand{\then}{ \operatorname{\ ;\ } } \newcommand{\then}{ {\scriptsize\ \rhd\ } } % Like f' represents "f after modification", \pre{f} % represents "f before modification" \newcommand{\pre}{{ \small {#1} }} % hook arrows \newcommand{\injects}{ \hookrightarrow } \newcommand{\embeds}{ \hookrightarrow } \newcommand{\surjects}{ \twoheadrightarrow } \newcommand{\projects}{ \twoheadrightarrow } % good enough definition of yoneda \newcommand{\yo}{よ} (\bb N, <)$ is finite and bounded below, this entails that in particular we can finite infinitely-large copies of $% shorthands \newcommand{\cl}{ \mathcal{#1} } \newcommand{\sc}{ \mathscr{#1} } \newcommand{\bb}{ \mathbb{#1} } \newcommand{\fk}{ \mathfrak{#1} } \renewcommand{\bf}{ \mathbf{#1} } \renewcommand{\sf}{ \mathsf{#1} } % category names \newcommand{\cat}{{ \sf{#1} }} % more shorthands \newcommand{\floor}{ { \lfloor {#1} \rfloor } } \newcommand{\ceil}{ { \lceil {#1} \rceil } } \newcommand{\ol}{ \overline{#1} } \newcommand{\t}{ \text{#1} } \newcommand{\norm}{ { \lvert {#1} \rvert } } % norm/magnitude \newcommand{\card}{ \t{cd} } % cardinality \newcommand{\dcup}{ \sqcup } % disjoint untion \newcommand{\tup}{ \langle {#1} \rangle } % tuples % turing machines \newcommand{\halts}{ {\downarrow} } \newcommand{\loops}{ {\uparrow} } % represents an anonymous parameter % eg. f(\apar) usually denotes the function x \mapsto f(x) \newcommand{\apar}{ {-} } % reverse-order composition %\newcommand{\then}{ \operatorname{\ ;\ } } \newcommand{\then}{ {\scriptsize\ \rhd\ } } % Like f' represents "f after modification", \pre{f} % represents "f before modification" \newcommand{\pre}{{ \small {#1} }} % hook arrows \newcommand{\injects}{ \hookrightarrow } \newcommand{\embeds}{ \hookrightarrow } \newcommand{\surjects}{ \twoheadrightarrow } \newcommand{\projects}{ \twoheadrightarrow } % good enough definition of yoneda \newcommand{\yo}{よ} T$, hence the name ‘padding lemma’. Note that this lemma rests relative to choice of indexing $% shorthands \newcommand{\cl}{ \mathcal{#1} } \newcommand{\sc}{ \mathscr{#1} } \newcommand{\bb}{ \mathbb{#1} } \newcommand{\fk}{ \mathfrak{#1} } \renewcommand{\bf}{ \mathbf{#1} } \renewcommand{\sf}{ \mathsf{#1} } % category names \newcommand{\cat}{{ \sf{#1} }} % more shorthands \newcommand{\floor}{ { \lfloor {#1} \rfloor } } \newcommand{\ceil}{ { \lceil {#1} \rceil } } \newcommand{\ol}{ \overline{#1} } \newcommand{\t}{ \text{#1} } \newcommand{\norm}{ { \lvert {#1} \rvert } } % norm/magnitude \newcommand{\card}{ \t{cd} } % cardinality \newcommand{\dcup}{ \sqcup } % disjoint untion \newcommand{\tup}{ \langle {#1} \rangle } % tuples % turing machines \newcommand{\halts}{ {\downarrow} } \newcommand{\loops}{ {\uparrow} } % represents an anonymous parameter % eg. f(\apar) usually denotes the function x \mapsto f(x) \newcommand{\apar}{ {-} } % reverse-order composition %\newcommand{\then}{ \operatorname{\ ;\ } } \newcommand{\then}{ {\scriptsize\ \rhd\ } } % Like f' represents "f after modification", \pre{f} % represents "f before modification" \newcommand{\pre}{{ \small {#1} }} % hook arrows \newcommand{\injects}{ \hookrightarrow } \newcommand{\embeds}{ \hookrightarrow } \newcommand{\surjects}{ \twoheadrightarrow } \newcommand{\projects}{ \twoheadrightarrow } % good enough definition of yoneda \newcommand{\yo}{よ} \varphi$. In most cases this lemma will hold.
This theorem isn’t really that interesting. Given some $% shorthands \newcommand{\cl}{ \mathcal{#1} } \newcommand{\sc}{ \mathscr{#1} } \newcommand{\bb}{ \mathbb{#1} } \newcommand{\fk}{ \mathfrak{#1} } \renewcommand{\bf}{ \mathbf{#1} } \renewcommand{\sf}{ \mathsf{#1} } % category names \newcommand{\cat}{{ \sf{#1} }} % more shorthands \newcommand{\floor}{ { \lfloor {#1} \rfloor } } \newcommand{\ceil}{ { \lceil {#1} \rceil } } \newcommand{\ol}{ \overline{#1} } \newcommand{\t}{ \text{#1} } \newcommand{\norm}{ { \lvert {#1} \rvert } } % norm/magnitude \newcommand{\card}{ \t{cd} } % cardinality \newcommand{\dcup}{ \sqcup } % disjoint untion \newcommand{\tup}{ \langle {#1} \rangle } % tuples % turing machines \newcommand{\halts}{ {\downarrow} } \newcommand{\loops}{ {\uparrow} } % represents an anonymous parameter % eg. f(\apar) usually denotes the function x \mapsto f(x) \newcommand{\apar}{ {-} } % reverse-order composition %\newcommand{\then}{ \operatorname{\ ;\ } } \newcommand{\then}{ {\scriptsize\ \rhd\ } } % Like f' represents "f after modification", \pre{f} % represents "f before modification" \newcommand{\pre}{{ \small {#1} }} % hook arrows \newcommand{\injects}{ \hookrightarrow } \newcommand{\embeds}{ \hookrightarrow } \newcommand{\surjects}{ \twoheadrightarrow } \newcommand{\projects}{ \twoheadrightarrow } % good enough definition of yoneda \newcommand{\yo}{よ} T$ we can compute these copies by adding extra states to $% shorthands \newcommand{\cl}{ \mathcal{#1} } \newcommand{\sc}{ \mathscr{#1} } \newcommand{\bb}{ \mathbb{#1} } \newcommand{\fk}{ \mathfrak{#1} } \renewcommand{\bf}{ \mathbf{#1} } \renewcommand{\sf}{ \mathsf{#1} } % category names \newcommand{\cat}{{ \sf{#1} }} % more shorthands \newcommand{\floor}{ { \lfloor {#1} \rfloor } } \newcommand{\ceil}{ { \lceil {#1} \rceil } } \newcommand{\ol}{ \overline{#1} } \newcommand{\t}{ \text{#1} } \newcommand{\norm}{ { \lvert {#1} \rvert } } % norm/magnitude \newcommand{\card}{ \t{cd} } % cardinality \newcommand{\dcup}{ \sqcup } % disjoint untion \newcommand{\tup}{ \langle {#1} \rangle } % tuples % turing machines \newcommand{\halts}{ {\downarrow} } \newcommand{\loops}{ {\uparrow} } % represents an anonymous parameter % eg. f(\apar) usually denotes the function x \mapsto f(x) \newcommand{\apar}{ {-} } % reverse-order composition %\newcommand{\then}{ \operatorname{\ ;\ } } \newcommand{\then}{ {\scriptsize\ \rhd\ } } % Like f' represents "f after modification", \pre{f} % represents "f before modification" \newcommand{\pre}{{ \small {#1} }} % hook arrows \newcommand{\injects}{ \hookrightarrow } \newcommand{\embeds}{ \hookrightarrow } \newcommand{\surjects}{ \twoheadrightarrow } \newcommand{\projects}{ \twoheadrightarrow } % good enough definition of yoneda \newcommand{\yo}{よ} T$ which do nothing. Done. Note that this strategy again rests on choice of $% shorthands \newcommand{\cl}{ \mathcal{#1} } \newcommand{\sc}{ \mathscr{#1} } \newcommand{\bb}{ \mathbb{#1} } \newcommand{\fk}{ \mathfrak{#1} } \renewcommand{\bf}{ \mathbf{#1} } \renewcommand{\sf}{ \mathsf{#1} } % category names \newcommand{\cat}{{ \sf{#1} }} % more shorthands \newcommand{\floor}{ { \lfloor {#1} \rfloor } } \newcommand{\ceil}{ { \lceil {#1} \rceil } } \newcommand{\ol}{ \overline{#1} } \newcommand{\t}{ \text{#1} } \newcommand{\norm}{ { \lvert {#1} \rvert } } % norm/magnitude \newcommand{\card}{ \t{cd} } % cardinality \newcommand{\dcup}{ \sqcup } % disjoint untion \newcommand{\tup}{ \langle {#1} \rangle } % tuples % turing machines \newcommand{\halts}{ {\downarrow} } \newcommand{\loops}{ {\uparrow} } % represents an anonymous parameter % eg. f(\apar) usually denotes the function x \mapsto f(x) \newcommand{\apar}{ {-} } % reverse-order composition %\newcommand{\then}{ \operatorname{\ ;\ } } \newcommand{\then}{ {\scriptsize\ \rhd\ } } % Like f' represents "f after modification", \pre{f} % represents "f before modification" \newcommand{\pre}{{ \small {#1} }} % hook arrows \newcommand{\injects}{ \hookrightarrow } \newcommand{\embeds}{ \hookrightarrow } \newcommand{\surjects}{ \twoheadrightarrow } \newcommand{\projects}{ \twoheadrightarrow } % good enough definition of yoneda \newcommand{\yo}{よ} \varphi$. If our indexing $% shorthands \newcommand{\cl}{ \mathcal{#1} } \newcommand{\sc}{ \mathscr{#1} } \newcommand{\bb}{ \mathbb{#1} } \newcommand{\fk}{ \mathfrak{#1} } \renewcommand{\bf}{ \mathbf{#1} } \renewcommand{\sf}{ \mathsf{#1} } % category names \newcommand{\cat}{{ \sf{#1} }} % more shorthands \newcommand{\floor}{ { \lfloor {#1} \rfloor } } \newcommand{\ceil}{ { \lceil {#1} \rceil } } \newcommand{\ol}{ \overline{#1} } \newcommand{\t}{ \text{#1} } \newcommand{\norm}{ { \lvert {#1} \rvert } } % norm/magnitude \newcommand{\card}{ \t{cd} } % cardinality \newcommand{\dcup}{ \sqcup } % disjoint untion \newcommand{\tup}{ \langle {#1} \rangle } % tuples % turing machines \newcommand{\halts}{ {\downarrow} } \newcommand{\loops}{ {\uparrow} } % represents an anonymous parameter % eg. f(\apar) usually denotes the function x \mapsto f(x) \newcommand{\apar}{ {-} } % reverse-order composition %\newcommand{\then}{ \operatorname{\ ;\ } } \newcommand{\then}{ {\scriptsize\ \rhd\ } } % Like f' represents "f after modification", \pre{f} % represents "f before modification" \newcommand{\pre}{{ \small `{#1} }} % hook arrows \newcommand{\injects}{ \hookrightarrow } \newcommand{\embeds}{ \hookrightarrow } \newcommand{\surjects}{ \twoheadrightarrow } \newcommand{\projects}{ \twoheadrightarrow } % good enough definition of yoneda \newcommand{\yo}{よ} \varphi$ were injective1, for instance, then this would fail (and the padding lemma would also not hold).