僕「すると、$\gcdmath{m}{n}$は《$\gcdmath{m}{n-m}$の約数》であるといえる」テトラ「ははあ......そうですね。m}$は$m$と$n-m$の両方を割り切るから、$m$と$n$の両方も割り切る。m}$は《$m$と$n$の公約数》になってる。僕「そういうことだね。$\gcdmath{m}{n}$は、$\gcdmath{m}{n-m}$の約数である。$\gcdmath{m}{n-m}$は、$\gcdmath{m}{n}$の約数である。僕「うん、いま戻るよ。$\GCD{m}{n}$を計算する代わりに、$\GCD{m}{n-m}$を計算するのは正しい。正しい!テトラ「だとしたら、(2)も正しいですね。僕「なのに、証明できてない......」テトラ「リサちゃんは何かを見抜いているんですよね。ここまでのお話を整理します!」$\GCD{m}{n}$が、正の整数$m,n$の最大公約数を計算するかどうかを考えています。$\GCD{m}{n}$は《場合分け》を行っています。m$の最大公約数》を正しく計算するなら、それは《$m$と$n$の最大公約数》に等しくなります。n$と$n$の最大公約数》を正しく計算するなら、それは《$m$と$n$の最大公約数》に等しくなります。この場合、$n$は《$m$と$n$の最大公約数》に等しくなります。僕とテトラちゃんはしばらく考える。リサは涼しげな顔で無言のまま、キーボードを叩いて何かを書いている。わからないよ」リサは僕の顔を見て、続いてテトラちゃんに目を移す。僕「さっきのテトラちゃんの整理の中に、こういう部分が出てきたよね。それは《$m$と$n$の最大公約数》に等しくなります。僕のさっきの説明の中には、計算が終了することの証明は何一つ出てこなかった。リサはそこにダメ出しをしたんだね。《停止性の証明》が欠けていたわけだ」リサ「(頷く)」テトラ「......三つの場合分けで、完璧だと思ったんですが、そうじゃないんですね。実際には$\text{GCD}$というこの手続きは正しいよ。無限に計算が続くことはない。計算は無限に続かずアルゴリズムは必ず停止するという主張を僕はしなかった。証明そのものはすぐにできるけどね。テトラはリベンジに挑戦します。僕「そうそう」リサ「......」テトラちゃんはノートに何か書き始めた。リサはキーボードを叩いている。僕も、あることを考え始める。​テトラ「......わかりました。僕「そうだね」テトラ「どんな正の整数$m,n$が与えられても、$\GCD{m}{n}$が計算を終了することを証明すればいいんですよね。計算が終了しさえすれば、その結果が正しいことはもう証明済みですから」リサ「(頷く)」テトラ「これも場合分けなんですよ。n$の場合、計算は終了します。$n$を出力して終わりですから。このとき、入力$(m,n)$が$(m,n-m)$と変化しました。n-m$ですから、二つ目の入力は小さくなっています。(2)の場合は入力が$(m,n)$から$(m-n,n)$に変化します。僕「うんうん」テトラ「ですから、$\GCD{m}{n}$を計算するのに......計算は......無限には続きません。正の整数という条件がありますから。(1)の場合でも、(2)の場合でも、(3)の場合でも有限回で終わる、っていいたいんだよね。何か確実に単調減少していく数を作れば明確になるよ。二つの入力の和である$m+n$という数を《目印》に使う。