History log of /seL4-l4v-master/HOL4/examples/lambda/basics/nomdatatype.sig
Revision Date Author Comments
# 732b9f9e 04-May-2012 Michael Norrish <Michael.Norrish@nicta.com.au>

Extra parameter for new_type command in nomdatatype allowing for multi-types.

Doesn't work unless each 'type' allows a 'VAR' constructor, which is not the case
in first order formulas and terms, for example.


# bc294d17 02-Sep-2011 Michael Norrish <Michael.Norrish@nicta.com.au>

Extract a usable half-way point from nominal_datatype branch.

This replaces the is_perm predicate with a type embodying that predicate.
It doesn't include the subsequent work on allowing multiple 'atom' types.


# 25da727d 24-Jul-2011 Michael Norrish <Michael.Norrish@nicta.com.au>

Terms and labelled terms now derived from generic terms.

This is a big change that points to the implementation of a complete
nominal datatype package. The use of generic terms means that we only
need to do one hairy quotient, and one hairy derivation of a recursion
principle.

The recursion principle in question features a new "FCB" (one of the
side-conditions that need to be proved in order to get a recursive
function admitted). Though I think it's better, it can be a little
fiddlier to prove. It's also stronger, so in theory, there may be
reasonable functions that the new FCB rejects. It should certainly be
possible to automate the bulk of the new fiddly proofs.