2. Coq とは ? Coq はINRIA (フランス国立情報学自動制御研究所) によって開発されている定理証 明支援系である.Coq は,表現力の高い型をもつラムダ計算であるCalculus of Inductive Constructions と呼ばれる計算体系に基づいている(以後,「項」はCoq の 型システムにより拡張されたラムダ項を指すものとする).型や関数を自ら定義すること により,関数型プログラミング言語として用いることができる. また,Curry-Howard 対 応により,命題に対応づけられる型をもつ項を構成することにより,証明を構成すること ができる.Coq の型システムは依存型をもち,関数をはじめとした項をパラメータとし て取る型を定義することにより,述語を表現することができる.さらに,それら述語を tactic と呼ばれる言語を用いて対話的に証明することが可能であ