[Agda] Absurd patterns and HoTT
Felix Cherubini
felix.wellen at posteo.de
Thu May 20 17:59:23 CEST 2021
Dear all,
are function definitions using the absurd pattern compatible with Book-HoTT?
With compatible, I mean, that there should be a general procedure that
translates definitions by pattern matching from Agda to Book-HoTT.
Here is an example: Let Bool be the type with constructors true and
false and Empty the type without constructors, then
ok : true == false -> Empty
ok ()
works in Agda (for the usual inductive definition of ==). As I
understand it, Agda checks if for any constructor of the domain, the
unification problems for all arguments end in conflict. Or in other
words, the absurd pattern is a valid definition for a function on an
inductive type, if it is not possible to find a constructor of the
inductive type together with arguments make it have the right type.
This is very different from any proof of that fact I know in Book-HoTT
(one would be use a transport along the equality true==false that lands
in Empty). And I also don't know how the general argument ("there is no
valid constructor call, therefore...") could be done in HoTT.
Thanks in advance for sheding any light on the matter!
Best,
Felix
More information about the Agda
mailing list