[Agda] ≡ → ≈
Matus Tejiscak
ziman at functor.sk
Thu Oct 17 13:58:30 CEST 2013
Quoting Sergei Meshveliani <mechvel at botik.ru>:
> The checker sees that PE.refl is the only value in x ≡ y,
> so it needs to put PE.refl for `_'.
> Why does not it?
I don't know the exact fundamental reasons but there is at least one
technical reason that this is not as simple. Consider the following
program:
> f : {A B : Set} {x : A} {f g : A → B} → f x ≡ g x → f x ≡ g x
> f eq = eq
>
> g : {A B : Set} {x : A} {f g : A → B} → f x ≡ g x → f x ≡ g x
> g refl = refl
While the function f typechecks, the function g does not. The reason
is that when pattern-matching on the refl, Agda would have to unify (f
x) with (g x), which is impossible because neither is a variable.
Best regards,
Matus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: PGP Digital Signature
Url : http://lists.chalmers.se/pipermail/agda/attachments/20131017/5c792674/attachment.bin
More information about the Agda
mailing list