On Fri, 26 Aug 2011, Brian Huffman wrote:

Here's one possible approach to the set-axiomatization/typedef issue:

As a new primitive, we could have something like a "pred_typedef" operation that uses predicates. This would work just like the new_type_definition facility of HOL4, etc.

The type "'a set" could be introduced definitionally using "pred_typedef".

After type "'a set" has been defined, we can implement the "typedef" command, preserving its current behavior, as a thin wrapper on top of "pred_typedef".

This approach would let us avoid having to axiomatize the 'a set type. Also, for those of us who like predicates, "pred_typedef" might be rather useful as a user-level command.

What is gained from that apart from having two versions of typedef?

We have had that very discussion around 1994, when Tobias thought that typedef could be a definitional primitive of Pure, but it turned out to be non-conservative outside of its special HOL-ish semantic fitting.


        Makarius
_______________________________________________
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev

Reply via email to