Mathematics in Lean4 もいよいよ第6章まできました。「6.1 構造の定義」は今までの知識があればとても簡単に読み進むことができました。いわゆるレコード型のような構造およびそのレコード型に付随する関数(演算)、そしてレコード型の各フィールドあるいは各フィールド間で成り立つ命題(一種の制約ですね)をまとめて定義できるわけです。 そのレコード型のインスタンスを生成する関数を定義する場合、新たに生成されたインスタンスで制約が成り立つ必要があります。実際にその生成関数が正しくインスタンスを生成できていることを証明する必要があります。つまりインスタンスを生成するにあたり生成関数として各…