チューリングマシンの動作を数式で表現しようプロジェクト2

便利な関数を色々と定義しておきます.
変数は全て整数全体を渡るものとします.
クロネッカーのデルタや大なりなり小なりなどは, 論理式として正しければ 1, 正しくなければ 0 を返します.



単位階段関数.
\rm{U}(x) = \frac{1}{2}\left(\frac{2x+1}{|2x+1|}+1\right) = \left\{ \begin{array} 1 & (x \geq 0)\\ 0 & (x < 0) \end{array}\right.
イコール(クロネッカーのデルタ).
(x=y)=1-\rm{U}(|x-y|-1) = \left\{ \begin{array} 1 & (x = y)\\ 0 & (x \neq y) \end{array}\right.
ノットイコール.
(x \neq y) = 1-(x=y)
最大値.
\rm{Max}(x,y)=\frac{1}{2}(x+y+|x-y|)
最小値.
\rm{Min}(x,y)=\frac{1}{2}(x+y-|x-y|)
大なりイコール.
(x \geq y)=(\rm{Max}(x,y)=x)
小なりイコール.
(x \leq y)=(\rm{Max}(x,y)=y)
大なり.
(x > y) = (x \geq y)(x \neq y)
小なり.
(x < y) = (x \leq y)(x \neq y)
x を y で割った商.
\rm{Quotient}(x,y)=\sum_{k=1}^x\rm{U}(x-ky)
x を y で割った余り.
\rm{Mod}(x,y)=x-y\rm{Quotient}(x,y)