定理証明支援 Coqで遊ぶぞ
- はじめに
- ここを読む人
- ダウンロードとインストール
- Coqで証明
- まずはいじってみる
- ちょっと証明を
- 型のないλ式
- 型付きλ式
- 型付きλ式から証明を読み取ってみる
- CoqIdeを使ってみる
- いくつかのtacticについて
- 証明の実際
- 論理
- Intui.v
排中律なしで成立する恒真式など
- 形式的集合論
- Nota.v
記号の定義など
- a0Seteq.v
集合の相等
- a1Axset.v
集合論の公理
- a2Seteq2.v
- a3Emp01.v
空集合
- a4Pair01.v
対集合
- とりあえず、解説なしで。もともと、排中律を証明するつもりで始めたわけではないので、排中律の証明には必要のない定理もたくさん記述されています。
また、他のファイルから証明をもらったりしているので、自分で見ても明らかに遠回りになっているところがあります。
- a5Sum01.v
- a6Pow01.v
- a7Rep01.v
- a8Relf01.v
- a8Relf02.v
- a8Relf03.v
- a9Func01.v
- a9Func02.v
- a9Func03.v
- a9Func04.v
- a9Func05.v
- a+0ac201.vここで、排中律が証明されています。選択公理から証明する定理と、基礎の公理から証明する定理の2種類あります。
- a+0acsh.v(所々証明図)排中律の証明だけを、1つのファイルにまとめました。このファイル以外のファイルは参照せずに証明が終わります。但し、集合論の公理としては
- Set_eq 集合が等しいことを定義する公理。
- PrEmp 空集合の存在公理。但し、空集合記号を使用。
- SPairf 対集合の存在公理。但し、対集合を表す2変数関数記号を使用。
- SComf 分出集合の存在公理。但し、分出集合を表す2変数関数記号を使用。
- ACf 選択公理。但し、選択関数を用いた表現の公理。
- SReg 基礎の公理。
を用いました。集合論の公理として、関数記号を用いた表現のものを採用すると、証明までの道筋が短くなったので、1つのファイルにまとめる気になりました。意外だったのは、Intui.vを参照していないことです。Coqに慣れると、そのような定理は証明する必要がなくなるみたいです。
- ほにゃらら
工事中
TOP