lean2/tests/lean/exists6.lean
Leonardo de Moura 2c30b87f30 test(tests/lean): ExistsElim test
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-12-23 12:57:25 -08:00

7 lines
351 B
Text

Variable P : Int -> Int -> Int -> Bool
Axiom Ax1 : exists x y z, P x y z
Axiom Ax2 : forall x y z, not (P x y z)
Theorem T : false :=
ExistsElim Ax1 (fun a H1, ExistsElim H1 (fun b H2, ExistsElim H2 (fun (c : Int) (H3 : P a b c),
let notH3 : not (P a b c) := ForallElim (ForallElim (ForallElim Ax2 a) b) c
in Absurd H3 notH3)))