Coqコーディング規約


全般

  • コンパイルできないコードはコミットしない
  • 使用しているCoqのバージョンをREADMEに書く

タクティックに関すること

  • bulletを使う (https://coq.inria.fr/refman/Reference-Manual009.html#sec332)
  • 同じ時点でできたサブゴールは、同じインデントにする
  • サブゴールの末尾はterminatorまたはnowタクティカルを使う
  • 新しく生成される変数名、仮定の名前を明示する
    • 例: introsタクティックでは引数を明示し、数と名前を指定
    • 例: destructタクティックではasで新しくできる変数名を明示
  • optional(セミコロンは前半のタクティックでサブゴールが増える場合以外は使わない)