2015-05-15 00:17:48 +00:00
|
|
|
variable {A : Type}
|
|
|
|
variable {f : A → A → A}
|
|
|
|
variable {finv : A → A}
|
|
|
|
premise (h : ∀ x y : A, finv (f x y) = y)
|
|
|
|
|
2016-02-29 19:28:20 +00:00
|
|
|
include h
|
2015-05-15 00:17:48 +00:00
|
|
|
theorem foo₁ : ∀ x y z : A, f x y = f x z → y = z :=
|
2016-02-29 19:28:20 +00:00
|
|
|
λ x y z, assume e, sorry
|
2015-05-15 00:17:48 +00:00
|
|
|
|
|
|
|
theorem foo₂ : ∀ x y z : A, f x y = f x z → y = z :=
|
|
|
|
λ x y z, assume e,
|
|
|
|
assert s₁ : finv (f x y) = finv (f x z), by rewrite e,
|
2016-02-29 19:28:20 +00:00
|
|
|
show y = z, by rewrite *h at s₁; exact s₁
|