Sokratesさんの備忘録ないし雑記帳

書きたいことを書いている.駄文注意.

自然数から整数を構成するはなし

という問題を出したので,それの想定回答をここに記す. \(\newcommand{\mathnat}{\mathbb{N}}\) \(\newcommand{\mathint}{\mathbb{Z}}\) \(\newcommand{\mathpair}[2]{(#1, #2)}\)

問題

\((\mathnat, 0, s, +, \times)\) を自然数構造とする.
\(\mathnat\times\mathnat\) 上に同値類を入れることによって,整数全体の構造を持つ対象を構成せよ.

想定回答

\({\mathpair{a}{b}, \mathpair{c}{d}}\in {\mathnat\times\mathnat}\)に対して,\(\mathpair{a}{b}\sim\mathpair{c}{d}\) を \({a+d}={b+c}\) と定義すると \( \sim \)は \(\mathnat\times\mathnat\) 上の同値関係になる*1

このとき

\begin{align*} \mathpair{a}{b}\hat{+}\mathpair{c}{d} &= \mathpair{a+c}{b+d} \\ \mathpair{a}{b}\hat{\times}\mathpair{c}{d} &= \mathpair{a \times c+b \times d}{a\times d + b\times c}  \end{align*}

と定義すると,\( ({\mathnat\times \mathnat}/{\sim}, \hat{+}, \hat{\times})\) は整数構造を持っている.

想定回答の直観

\(\mathpair{a}{b}=a-b\) と思いたいが,同時に \(\mathpair{1}{2}=\mathpair{2}{3}\) などとしたい.こういう場合,適切な同値関係を考えて「商集合」を考えることで同一視をするのは定番である.今回は \(a-b=c-d\) のときに \(\mathpair{a}{b}=\mathpair{c}{d}\) としたいので,\(a+d=b+c\)という同値関係でもって割れば良い.
足し算と掛け算の定義は
\begin{align*} (a-b)+(c-d) &= (a+c) - (b+d) \\ (a-b)\times (c-d) &= (a \times c + b\times d) - (a \times d + b\times c)\end{align*}
としたいことを思い出せば定義できる.

別解の概略

符号付き整数型と同様にして,\(\mathpair{a}{b}\) を \(b\) が偶数のとき \(+a\),\(b\) が奇数のとき \(-a\) となるように同値関係を定義するやり方もある.ただし,この場合,自然数の引き算*2が定義されている必要があると思われる(たぶん).

*1:これが同値関係であることの証明くらいは頑張ってくれ

*2: 自然数の引き算は部分関数として定義するか,\(a\lt b\) のとき \(a-b=0\) と定義するかになるはず.