28 lines
552 B
Text
28 lines
552 B
Text
import logic
|
|
|
|
theorem tst {a b c : Prop} : a → b → c → a ∧ b :=
|
|
begin
|
|
intros (Ha, Hb, Hc),
|
|
reverts (Hb, Ha),
|
|
intros (Hb2, Ha2),
|
|
apply (and.intro Ha2 Hb2),
|
|
end
|
|
|
|
theorem foo1 {A : Type} (a b c : A) (P : A → Prop) : P a → a = b → P b :=
|
|
begin
|
|
intros (Hp, Heq),
|
|
reverts (Heq, Hp),
|
|
intro Heq,
|
|
apply (eq.rec_on Heq),
|
|
intro Pa,
|
|
apply Pa
|
|
end
|
|
|
|
theorem foo2 {A : Type} (a b c : A) (P : A → Prop) : P a → a = b → P b :=
|
|
begin
|
|
intros (Hp, Heq),
|
|
apply (eq.rec_on Heq Hp)
|
|
end
|
|
|
|
print definition foo1
|
|
print definition foo2
|