2015-05-01 00:52:29 +00:00
|
|
|
|
open prod
|
|
|
|
|
|
|
|
|
|
example (a b c : Type) : a → b → c → a × b × c :=
|
|
|
|
|
begin
|
|
|
|
|
intro Ha Hb Hc,
|
|
|
|
|
split,
|
|
|
|
|
assumption,
|
|
|
|
|
split,
|
|
|
|
|
assumption
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
example (a b : Type) : a → sum a b :=
|
|
|
|
|
begin
|
|
|
|
|
intro Ha,
|
|
|
|
|
left,
|
|
|
|
|
assumption
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
example (a b : Type) : b → sum a b :=
|
|
|
|
|
begin
|
|
|
|
|
intro Ha,
|
|
|
|
|
right,
|
|
|
|
|
assumption
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
open nat
|
|
|
|
|
|
|
|
|
|
example (a : nat) : a > 0 → Σ x, x > 0 :=
|
|
|
|
|
begin
|
|
|
|
|
intro Ha,
|
|
|
|
|
existsi a,
|
|
|
|
|
apply Ha
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
example : nat :=
|
|
|
|
|
begin
|
2015-05-01 03:08:00 +00:00
|
|
|
|
constructor 1
|
2015-05-01 00:52:29 +00:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
example : nat :=
|
|
|
|
|
begin
|
2015-05-01 03:08:00 +00:00
|
|
|
|
constructor 2,
|
|
|
|
|
constructor 2,
|
|
|
|
|
constructor 1
|
2015-05-01 00:52:29 +00:00
|
|
|
|
end
|