AgdaまたはCoqでは法律が証明できないと思います。
大雑把に、私たちは、1つの仮説
(v1 = v2 -> False) -> False
を持っていると我々は論文v1 = v2
を証明する必要があります。
シークエンスベースのプルーフシステムでカットフリーの証明を考えてみましょう。最後のルールは何でしょうか?
そのタイプ(v1,v2
は異なる変数である)はRefl
ていないので、v1 = v2
を導入することができません。
だから、それはH1
が実際に証明可能である場合、すなわち
H1: (v1 = v2 -> False) -> False |- v1 = v2 -> False
H2: (v1 = v2 -> False) -> False , False |- v1 = v2
--------------------------------------------------- (->E)
(v1 = v2 -> False) -> False |- v1 = v2
しかし、我々はまた、我々は
|- ((v1 = v2 -> False) -> False) -> False
の派生元
(v1 = v2 -> False) -> False |- False
を持っている必要があり、仮説の排除である必要があります
は、
と同等です
|- v1 = v2 -> False
v1,v2
についての他の前提なしでは明らかに証明できない。確かに、そうでない場合は、我々は明らかに間違っている
|- forall v1 v2, v1 = v2 -> False
にそれを一般化できます。
一方、Agda/Coq/...は、提案された法律を意味する除外中立の法則と一致していると私は信じています。したがって、法律は一貫性に違反することはできません。
出典
2016-02-20 20:31:58
chi
私はそれがObservational Type Theoryで証明可能だと思いますが、そうでない場合でも、システムの計算上の性質を損なうことなく同等のものを仮定することができます。 – user3237465