coq - Why dependently typed languages use weak head normal form to compare for convertibility -
as far understand, dependently typed languages use weak head normal form convertibility. why so? why enough check convertibility (it seems not enough me)? can recommend read on this?
weak-head normalization sufficient , more efficient base cases.
x1 = x1 : t x1 = x2 : t, x1 ≠ x2 x1 t1 ... tn = x2 : t, x1 t1 ... tn = x2 s1 ... sn : t, x1 ≠ x2
for recursive case, function called on pairs of subterms (ti, si)
anyway, there's no need reducing them eagerly.
x1 t1 ... tn = x1 s1 ... sn : t
you can read more around page 230 of advanced topics in types , programming languages edited benjamin pierce. can find lot of papers type inference , normalization pure type systems on web.
this question theoretical computer science though.
Comments
Post a Comment