参考は http://www.cs.chalmers.se/~ulfn/darcs/AFP08/LectureNotes/AgdaIntro.pdf とAgda2添付のexamples、そしてソースコード。 一応emacsインタフェースで、コード補完(別名、証明補助)できるUIがあるのですが、自分はまったく使ってません。 一応、こういうdependently typedな言語では、式と型の区別はないようなもので、型部分でも値や関数適用ができるため、それらを合わせて項(term)として扱うのですが、そのtermの意味で式や型という語をわざと使っています。 Agda2の基本 簡単なものとして、AgdaIntroにもある、trueとfalseからなるBool型データと、その関連関数を定義しましょう。 まず、Boolデータ型 data Bool : Set where true : Bool fa