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,
|
2015-05-03 00:32:03 +00:00
|
|
|
|
repeat (split | assumption)
|
2015-05-01 00:52:29 +00:00
|
|
|
|
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
|
|
|
|
|
|
2015-12-09 05:11:11 +00:00
|
|
|
|
example (a : nat) : a > 0 → Σ(x : ℕ), x > 0 :=
|
2015-05-01 00:52:29 +00:00
|
|
|
|
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
|