2015-09-03 03:51:06 +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
|
|
|
|
|
2016-02-29 21:45:43 +00:00
|
|
|
notation `noinstances` t:max := by with_options [elaborator.ignore_instances true] (exact t)
|
2015-09-03 03:51:06 +00:00
|
|
|
|
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:51:06 +00:00
|
|
|
noinstances (left_inv f a)
|