Implication (in first-order logic)
Logical Implication
For a theory $% 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 say 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}{よ} T$ “implies” $% 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}{よ} \phi$, or $% 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 \vDash \phi$, given that for every model $% 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}{よ} \cl M \vDash T$ we also have $% 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}{よ} \cl M \vDash \phi$. In other words, $% 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$ puts enough constraints on models that each model must also guarantee $% 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}{よ} \phi$. May also write $% 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}{よ} \phi \vDash \psi$ or $% 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}{よ} \phi \implies \phi$ Lemma: $% 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}{よ} \Gamma \vDash \phi$ iff $% 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}{よ} \Gamma \cup \{ \neg \phi \}$ is not satisfiable
Syntactical Implication
We say 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}{よ} \phi$ syntactically implies $% 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}{よ} \psi$, and write $% 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}{よ} \phi \vdash \psi$, if there exists a formal proof assuming $% 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}{よ} \phi$ and proving $% 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}{よ} \psi$. A deduction $% 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}{よ} \phi$ from $% 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}{よ} \Gamma$ is (essentially) a chain $% 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}{よ} \Gamma \vdash \psi_1 \vdash \psi_2 \vdash \cdots \vdash \psi_n \vdash \phi$.