In a first-order language , a formula is one of the following:
An equality
t 1 = t 2
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
t_1 = t_2 t 1 = t 2 for
terms t 1 , t 2
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
t_1, t_2 t 1 , t 2
A relation
R ( t 1 , … , t k )
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
R(t_1, \dots, t_k) R ( t 1 , … , t k ) for
terms t 1 , … , t k
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
t_1, \dots, t_k t 1 , … , t k and
R ∈ R ( M )
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
R \in \cl R(\cl M) R ∈ R ( M )
A negation
¬ ϕ
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\neg \phi ¬ ϕ for a formula
ϕ
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\phi ϕ
A conjunction
ϕ ∧ ψ
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\phi \land \psi ϕ ∧ ψ for formulas
ϕ , ψ
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\phi, \psi ϕ , ψ
A disjunction
ϕ ∨ ψ
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\phi \lor \psi ϕ ∨ ψ for formulas
ϕ , ψ
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\phi, \psi ϕ , ψ
A forall
∀ v ϕ
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\forall v\ \phi ∀ v ϕ for a formula
ϕ
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\phi ϕ
An exists
∃ v ϕ
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\exists v\ \phi ∃ v ϕ for a formula
ϕ
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\phi ϕ
If a formula is an equality or a relation, it is called atomic .
Given an L
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\cl L L -structure M
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\cl M M , we can give a formula ϕ = ϕ ( v 1 , … , v k )
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\phi = \phi(v_1, \dots, v_k) ϕ = ϕ ( v 1 , … , v k ) an interpretation ϕ M : M k → { T , F }
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\phi^\cl M : M^k \to \{T, F\} ϕ M : M k → { T , F } as:
ϕ M ( m 1 , … , m k ) = { t 1 M is equal to t 2 M ϕ is an equality ϕ = ( t 1 = t 2 ) ( t 1 M , … , t k M ) ∈ R M ϕ is a relation ϕ = R ( t 1 , … , t k ) ψ 1 M ( m 1 , … , m k ) = T or ψ 2 M ( m 1 , … , m k ) = T ϕ is a disjunction ϕ = ψ 1 ∨ ψ 2 likewise for conjunctions exists m ′ ∈ M st ψ ( m 1 , … m i − 1 , m ′ , m i + 1 , … , m k ) = T ϕ is an exists ϕ = ∃ v i ( ψ ) likewise for forall
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\phi^\cl M (m_1, \dots, m_k) =
\begin{cases}
t_1^\cl M \text{ is equal to } t_2^\cl M & \phi \text{ is an equality } \phi = (t_1 = t_2) \\
(t_1^\cl M, \dots, t_k^\cl M) \in R^\cl M & \phi \text{ is a relation } \phi = R(t_1, \dots, t_k) \\
\psi_1^\cl M (m_1, \dots, m_k) = T \text{ or } \psi_2^\cl M (m_1, \dots, m_k) = T & \phi \text{ is a disjunction } \phi = \psi_1 \lor \psi_2 \\
\text{likewise for conjunctions} \\
\text{exists } m' \in M \text{ st } \psi(m_1, \dots m_{i - 1}, m', m_{i + 1}, \dots, m_k) = T & \phi \text{ is an exists } \phi = \exists v_i (\psi)\\
\text{likewise for forall}
\end{cases}
ϕ M ( m 1 , … , m k ) = ⎩ ⎨ ⎧ t 1 M is equal to t 2 M ( t 1 M , … , t k M ) ∈ R M ψ 1 M ( m 1 , … , m k ) = T or ψ 2 M ( m 1 , … , m k ) = T likewise for conjunctions exists m ′ ∈ M st ψ ( m 1 , … m i − 1 , m ′ , m i + 1 , … , m k ) = T likewise for forall ϕ is an equality ϕ = ( t 1 = t 2 ) ϕ is a relation ϕ = R ( t 1 , … , t k ) ϕ is a disjunction ϕ = ψ 1 ∨ ψ 2 ϕ is an exists ϕ = ∃ v i ( ψ )
Conceptually, a formula is a statement over the language L
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\cl L L .
Note: notation may be different. Instead, we may have a variable assignment s
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
s s and say ⊨ M ϕ [ s ]
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\vDash_{\cl M} \phi[s] ⊨ M ϕ [ s ] to say that ϕ
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\phi ϕ is true in M
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\cl M M wrt s
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
s s . Essentially we have for a given s
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
s s that ⊨ M ϕ [ s ]
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\vDash_{\cl M} \phi[s] ⊨ M ϕ [ s ] iff ϕ M ( s ( v 1 ) , … , s ( v k ) ) = T
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\phi^\cl M (s(v_1), \dots, s(v_k)) = T ϕ M ( s ( v 1 ) , … , s ( v k )) = T .
Given a language L
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\cl L L , an L
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\cl L L -sentence is a L
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\cl L L -formula with no free variables.
A quantifier-free formula is a formula that does not contain ∀
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\forall ∀ or ∃
%% general %%
% shorthands
\newcommand{\cl}[1]{ \mathcal{#1} }
\newcommand{\sc}[1]{ \mathscr{#1} }
\newcommand{\bb}[1]{ \mathbb{#1} }
\newcommand{\fk}[1]{ \mathfrak{#1} }
\renewcommand{\bf}[1]{ \mathbf{#1} }
\renewcommand{\sf}[1]{ \mathsf{#1} }
\renewcommand{\rm}[1]{ \mathrm{#1} }
\newcommand{\floor}[1]{ { \lfloor {#1} \rfloor } }
\newcommand{\ceil}[1]{ { \lceil {#1} \rceil } }
\newcommand{\ol}[1]{ \overline{#1} }
\newcommand{\t}[1]{ \text{#1} }
\newcommand{\norm}[1]{ { \lvert {#1} \rvert } } % norm/magnitude (REMOVE)
\newcommand{\mag}[1]{ { \left\lvert {#1} \right\rvert } } % magnitude
\newcommand{\smag}[1]{ { \lvert {#1} \rvert } } % short mag
\newcommand{\card}{ \t{cd} } % cardinality
\newcommand{\dcup}{ \sqcup } % disjoint untion
\newcommand{\tup}[1]{ \langle {#1} \rangle } % tuples
\newcommand{\tl}{ \tilde }
\newcommand{\wt}{ \widetilde }
\newcommand{\To}{ \Rightarrow }
% draw a box outlining some math
\newcommand{\box}[1]{ \fbox{$ #1 $} }
% f \onall X = { f(x) : x ∈ X }
\newcommand{\onall}[1]{ { \llbracket {#1} \rrbracket } }
% shorthands: various brackets
\newcommand{\tpar}[1]{ \left( {#1} \right) } % "tall parens"
\newcommand{\tbrak}[1]{ \left[ {#1} \right] } % "tall brackets"
\newcommand{\tbrac}[1]{ \left\{ {#1} \right\} } % "tall braces"
% reverse \mapsto (FIXME: make better)
%\newcommand{\mapsfrom}{ \mathop{\leftarrow\!\mid} }
\newcommand{\mapsfrom}{ \mathrel{↤} }
% reverse-order composition
\newcommand{\then}{ \operatorname{\ ;\ } }
% Like f' represents "f after modification", \pre{f}
% represents "f before modification"
% TODO: remove this?
\newcommand{\pre}[1]{{ \small `{#1} }}
% hook arrows
\newcommand{\injects}{ \hookrightarrow }
\newcommand{\embeds}{ \hookrightarrow }
\newcommand{\surjects}{ \twoheadrightarrow }
\newcommand{\projects}{ \twoheadrightarrow }
\newcommand{\id}{ \,\mathrm d } % integration d
% derivatives: use {\ddn n x y} for (dy/dx)
\newcommand{\ddn}[3]{ \frac{ {\mathrm d}^{#1} {#2} }{ {\mathrm d} {#3}^{#1} } } % nth derivative
\newcommand{\dd}{ \ddn{} } % first derivative
\newcommand{\d}{ \dd{} } % first derivative (no numerator)
\newcommand{\dn}[1]{ \ddn{#1}{} } % nth derivative (no numerator)
% derivatives: use {\D n x y} for (∂_x y)
\newcommand{\Dn}[2]{ \partial^{#1}_{#2} }
\newcommand{\D}{ \Dn{} } % no power
\newcommand{\ig}[2]{ \int {#2} \, \mathrm d {#1} } % first integral
%% category theory %%
% category names
\newcommand{\cat}[1]{{ \sf{#1} }}
% yoneda embedding
\newcommand{\yo}{よ}
% extra long right-arrows
\newcommand{\X}{-\!\!\!-\!\!\!}
\newcommand{\xlongrightarrow}{ \mathop{ \, \X\longrightarrow \, } }
\newcommand{\xxlongrightarrow}{ \mathop{ \, \X\X\longrightarrow \, } }
\newcommand{\xxxlongrightarrow}{ \mathop{ \, \X\X\X\longrightarrow \, } }
\newcommand{\takenby}[1]{ \overset{#1}{\rightarrow} }
\newcommand{\longtakenby}[1]{ \overset{#1}{\longrightarrow} }
\newcommand{\xlongtakenby}[1]{ \overset{#1}{\xlongrightarrow} }
\newcommand{\xxlongtakenby}[1]{ \overset{#1}{\xxlongrightarrow} }
\newcommand{\xxxlongtakenby}[1]{ \overset{#1}{\xxxlongrightarrow} }
% represents an anonymous parameter
% eg. $f(\apar)$ usually denotes the function $x \mapsto f(x)$
% TODO: remove this?
\newcommand{\apar}{ {-} }
%% computability %%
% turing machines
\newcommand{\halts}{ {\downarrow} }
\newcommand{\loops}{ {\uparrow} }
\exists ∃ .