3段階で考えよう
- 平方数を4の時計に載せます:0 ^ 2 = 0、1 ^ 2 = 1、2 ^ 2 = 4は0に着地、3 ^ 2 = 9は1に着地。整数の平方は必ず0か1に座り、2の席は空いたままです。
- 定理sq_ne_two_fin_zmod_fourは、Leanの時計型ZMod 4の上でまさにそれを言い、証明はfin_casesとdecide:全位置を訪れて四つとも確かめる——賢い技ではなく、国勢調査です。
- 整数版Int.sq_ne_two_mod_fourは、このことを余りつきのふつうの平方数へ移します。この小さな国勢調査は学校サイズの望遠鏡で、指数4の場合に三角形のどちらの脚が偶数かを教えます。
小さな例で確かめる
自分でも確かめよう。5 ^ 2 = 25 = 6 × 4 + 1の余りは1、6 ^ 2 = 36 = 9 × 4の余りは0。整数の平方を4で割った余りは、2にはなりません。