572 * Library/Boolean_Algebra: locales for abstract boolean algebras. |
575 * Library/Boolean_Algebra: locales for abstract boolean algebras. |
573 |
576 |
574 * Library/Numeral_Type: numbers as types, e.g. TYPE(32). |
577 * Library/Numeral_Type: numbers as types, e.g. TYPE(32). |
575 |
578 |
576 * Code generator library theories: |
579 * Code generator library theories: |
577 - Pretty_Int represents HOL integers by big integer literals in target |
580 - Code_Integer represents HOL integers by big integer literals in target |
578 languages. |
581 languages. |
579 - Pretty_Char represents HOL characters by character literals in target |
582 - Code_Char represents HOL characters by character literals in target |
580 languages. |
583 languages. |
581 - Pretty_Char_chr like Pretty_Char, but also offers treatment of character |
584 - Code_Char_chr like Code_Char, but also offers treatment of character |
582 codes; includes Pretty_Int. |
585 codes; includes Code_Integer. |
583 - Executable_Set allows to generate code for finite sets using lists. |
586 - Executable_Set allows to generate code for finite sets using lists. |
584 - Executable_Rat implements rational numbers as triples (sign, enumerator, |
587 - Executable_Rat implements rational numbers as triples (sign, enumerator, |
585 denominator). |
588 denominator). |
586 - Executable_Real implements a subset of real numbers, namly those |
589 - Executable_Real implements a subset of real numbers, namly those |
587 representable by rational numbers. |
590 representable by rational numbers. |
588 - Efficient_Nat implements natural numbers by integers, which in general will |
591 - Efficient_Nat implements natural numbers by integers, which in general will |
589 result in higher efficency; pattern matching with 0/Suc is eliminated; |
592 result in higher efficency; pattern matching with 0/Suc is eliminated; |
590 includes Pretty_Int. |
593 includes Code_Integer. |
591 - ML_String provides an additional datatype ml_string; in the HOL default |
594 - Code_Index provides an additional datatype index which is mapped to |
592 setup, strings in HOL are mapped to lists of HOL characters in SML; values |
595 target-language built-in integers. |
593 of type ml_string are mapped to strings in SML. |
596 - Code_Message provides an additional datatype message_string} which is isomorphic to |
594 - ML_Int provides an additional datatype ml_int which is mapped to to SML |
597 strings; messages are mapped to target-language strings. |
595 built-in integers. |
|
596 |
598 |
597 * New package for inductive predicates |
599 * New package for inductive predicates |
598 |
600 |
599 An n-ary predicate p with m parameters z_1, ..., z_m can now be defined via |
601 An n-ary predicate p with m parameters z_1, ..., z_m can now be defined via |
600 |
602 |
784 |
786 |
785 * Lemma collections ring_eq_simps, group_eq_simps and ring_distrib |
787 * Lemma collections ring_eq_simps, group_eq_simps and ring_distrib |
786 have been improved and renamed to ring_simps, group_simps and |
788 have been improved and renamed to ring_simps, group_simps and |
787 ring_distribs. Removed lemmas field_xyz in theory Ring_and_Field |
789 ring_distribs. Removed lemmas field_xyz in theory Ring_and_Field |
788 because they were subsumed by lemmas xyz. INCOMPATIBILITY. |
790 because they were subsumed by lemmas xyz. INCOMPATIBILITY. |
789 |
|
790 * Library/Pretty_Int.thy: maps HOL numerals on target language integer |
|
791 literals when generating code. |
|
792 |
|
793 * Library/Pretty_Char.thy: maps HOL characters on target language |
|
794 character literals when generating code. |
|
795 |
791 |
796 * Library/Commutative_Ring.thy: switched from recdef to function |
792 * Library/Commutative_Ring.thy: switched from recdef to function |
797 package; constants add, mul, pow now curried. Infix syntax for |
793 package; constants add, mul, pow now curried. Infix syntax for |
798 algebraic operations. |
794 algebraic operations. |
799 |
795 |