[Agda] Erasable vs. irrelevant, and red black trees again
jleivent at comcast.net
jleivent at comcast.net
Fri Jan 20 05:52:19 CET 2012
Here is the red-black tree code I sent in last week, updated (and re-arranged a bit) with this concept of erasable Naturals I've been discussing with you, so that each node in the red-black tree isn't carrying any extra baggage at runtime - just the necessary red/black color flag (and its subtrees, of course).
The bal1 and bal2 functions demonstrate the use of that "weak-disc" axiom. Comments in bal1 explain the usage. Hopefully this will clarify things.
Would the black-level terms have been erasable by the compiler had I used normal naturals? Would the use of the normal "strong" discrimination between zero and suc n for naturals by the type checker when eliminating those impossible cases in bal1 and bal2 have prevented the erasure?
-- Jonathan Leivent
-------------- next part --------------
A non-text attachment was scrubbed...
Name: RB2.zip
Type: application/zip
Size: 8145 bytes
Desc: not available
Url : https://lists.chalmers.se/mailman/private/agda/attachments/20120120/48fa377f/RB2-0001.zip
More information about the Agda
mailing list