2. Falso
Anarchy Proof 二題目です.矛盾からはなんでも証明できるというやつです.
矛盾に対応する False は,何も規則がひとつもない inductive type として定義されています.なので,H: False という仮定があれば,inversion H するだけでなんでも証明できてしまいます.
これと同じ事をする tactic として exfalso (=elimtype False) があります.exfalso をすると,goal が False になります.なので今回は,exfalso をしてから Falso を適用するだけで証明できます.と思ったんですが, 残念ながら Anarchy Proof の Coq のバージョンが古いようで exfalso はないみたいです.というわけで今回の解答は下の通り.
Require Import Definitions. Theorem Fermat's_Last_Theorem: forall (a b c n: nat), n > 2 -> pow a n + pow b n = pow c n -> a = 0 /\ b = 0 /\ c = 0. Proof. elimtype False. exact Falso. Qed.