g x y =?= f z
unification failed
g x y =?= f z
g x y =?= f z
unification successful
unification hints:
(has_add.add, nat.succ) #2 + succ #1 =?= succ #0 {#0 =?= #2 + #1}
(toy.f, toy.g) f z =?= g #1 #0 {}
Canonical.carrier A_canonical =?= A
unification failed
Canonical.carrier A_canonical =?= A
Canonical.carrier A_canonical =?= A
unification successful
unification hints:
(has_add.add, nat.succ) #2 + succ #1 =?= succ #0 {#0 =?= #2 + #1}
(toy.f, toy.g) toy.f toy.z =?= toy.g #1 #0 {}
(canonical.A, canonical.Canonical.carrier) A =?= Canonical.carrier #0 {#0 =?= A_canonical}
