2014-12-09 06:11:48 +00:00
|
|
|
set_option pp.beta true
|
|
|
|
|
|
|
|
structure foo :=
|
|
|
|
mk :: (A : Type) (B : A → Type) (a : A) (b : B a)
|
|
|
|
|
|
|
|
namespace foo
|
|
|
|
|
|
|
|
definition foo.inj₁
|
|
|
|
{A₁ : Type} {B₁ : A₁ → Type} {a₁ : A₁} {b₁ : B₁ a₁}
|
|
|
|
{A₂ : Type} {B₂ : A₂ → Type} {a₂ : A₂} {b₂ : B₂ a₂}
|
|
|
|
(H : foo.mk A₁ B₁ a₁ b₁ = foo.mk A₂ B₂ a₂ b₂)
|
|
|
|
: A₁ = A₂
|
2015-02-11 20:49:27 +00:00
|
|
|
:= lift.down (foo.no_confusion H (λ e₁ e₂ e₃ e₄, e₁))
|
2014-12-09 06:11:48 +00:00
|
|
|
|
|
|
|
end foo
|