611 one_not_zero ~> carrier_one_not_zero (collision with assumption) |
611 one_not_zero ~> carrier_one_not_zero (collision with assumption) |
612 |
612 |
613 |
613 |
614 *** HOL-Nominal *** |
614 *** HOL-Nominal *** |
615 |
615 |
616 * Modernized versions of commands 'nominal_inductive', |
616 * Nominal datatypes can now contain type-variables. |
617 'nominal_primrec', and 'equivariance' work with local theory targets. |
617 |
|
618 * Commands 'nominal_inductive' and 'equivariance' work with local |
|
619 theory targets. |
|
620 |
|
621 * Nominal primrec can now works with local theory targets and its |
|
622 specification syntax now conforms to the general format as seen in |
|
623 'inductive' etc. |
|
624 |
|
625 * Method "perm_simp" honours the standard simplifier attributes |
|
626 (no_asm), (no_asm_use) etc. |
|
627 |
|
628 * The new predicate #* is defined like freshness, except that on the |
|
629 left hand side can be a set or list of atoms. |
|
630 |
|
631 * Experimental command 'nominal_inductive2' derives strong induction |
|
632 principles for inductive definitions. In contrast to |
|
633 'nominal_inductive', which can only deal with a fixed number of |
|
634 binders, it can deal with arbitrary expressions standing for sets of |
|
635 atoms to be avoided. The only inductive definition we have at the |
|
636 moment that needs this generalisation is the typing rule for Lets in |
|
637 the algorithm W: |
|
638 |
|
639 Gamma |- t1 : T1 (x,close Gamma T1)::Gamma |- t2 : T2 x#Gamma |
|
640 ----------------------------------------------------------------- |
|
641 Gamma |- Let x be t1 in t2 : T2 |
|
642 |
|
643 In this rule one wants to avoid all the binders that are introduced by |
|
644 "close Gamma T1". We are looking for other examples where this |
|
645 feature might be useful. Please let us know. |
618 |
646 |
619 |
647 |
620 *** HOLCF *** |
648 *** HOLCF *** |
621 |
649 |
622 * Reimplemented the simplification procedure for proving continuity |
650 * Reimplemented the simplification procedure for proving continuity |
628 some rare cases the new simproc may fail to solve subgoals that the |
656 some rare cases the new simproc may fail to solve subgoals that the |
629 old one could solve, and "simp add: cont2cont_LAM" may be necessary. |
657 old one could solve, and "simp add: cont2cont_LAM" may be necessary. |
630 Potential INCOMPATIBILITY. |
658 Potential INCOMPATIBILITY. |
631 |
659 |
632 * Command 'fixrec': specification syntax now conforms to the general |
660 * Command 'fixrec': specification syntax now conforms to the general |
633 format as seen in 'inductive', 'primrec', 'function', etc. See |
661 format as seen in 'inductive' etc. See src/HOLCF/ex/Fixrec_ex.thy for |
634 src/HOLCF/ex/Fixrec_ex.thy for examples. INCOMPATIBILITY. |
662 examples. INCOMPATIBILITY. |
635 |
663 |
636 |
664 |
637 *** ZF *** |
665 *** ZF *** |
638 |
666 |
639 * Proof of Zorn's Lemma for partial orders. |
667 * Proof of Zorn's Lemma for partial orders. |