lean2/tests/lean/sig6.lean
Leonardo de Moura a2d2e36f04 refactor(frontends/lean): remove notation for creating tuples
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-02-10 09:03:42 -08:00

8 lines
No EOL
510 B
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

variables A B : (Type U)
variables t1 t2 : A B
axiom pair_Ax {A : (Type U)} {B : A → (Type U)} (p : sig x, B x) : (pair (proj1 p) (proj2 p) : sig x, B x) = p
theorem spairext {A B : (Type U)} {p1 p2 : A B} (H1 : proj1 p1 = proj1 p2) (H2 : proj2 p1 = proj2 p2) : p1 = p2
:= calc p1 = (pair (proj1 p1) (proj2 p1)) : symm (pair_Ax p1)
... = (pair (proj1 p2) (proj2 p1)) : { H1 }
... = (pair (proj1 p2) (proj2 p2)) : { H2 }
... = p2 : pair_Ax p2