2015-09-03 03:34:14 +00:00
|
|
|
open is_equiv
|
|
|
|
constants (A B : Type) (f : A → B)
|
|
|
|
|
|
|
|
definition H : is_equiv f := sorry
|
|
|
|
|
|
|
|
|
|
|
|
definition loop [instance] [h : is_equiv f] : is_equiv f :=
|
|
|
|
h
|
|
|
|
|
2015-12-09 05:11:11 +00:00
|
|
|
example (a : A) : let H' : is_equiv f := H in @(is_equiv.inv f) H' (f a) = a :=
|
2015-09-03 03:34:14 +00:00
|
|
|
begin
|
|
|
|
with_options [elaborator.ignore_instances true] (apply left_inv f a)
|
|
|
|
end
|