21 lines
490 B
Text
21 lines
490 B
Text
structure pType :=
|
|
(carrier : Type)
|
|
(Point : carrier)
|
|
|
|
structure pmap (A B : pType) : Type :=
|
|
(f : A.carrier → B.carrier)
|
|
(p : f A.Point = B.Point)
|
|
|
|
def ex1 {A B : pType} (f : pmap A B) : f = f :=
|
|
begin
|
|
induction B with B b, induction f with f pf,
|
|
cases pf -- should fail because of dependency
|
|
end
|
|
|
|
def ex2 {A B : pType} (f : pmap A B) : f = f :=
|
|
begin
|
|
induction B with B b, induction f with f pf,
|
|
dsimp at f, /- break dependency using reduction -/
|
|
cases pf,
|
|
refl
|
|
end
|