Re: [isabelle-dev] NEWS

2010-10-29 Thread Sascha Boehme
How about providing a parse function time_of_string which turns strings like 30s or 15ms into proper times, and possibly adding a configuration option scheme for times (besides the existing bool, int and string schemes)? It seems that this could and should be provided be provided by the system to

Re: [isabelle-dev] NEWS

2010-10-29 Thread Tobias Nipkow
Or timeout is universally in seconds, as an integer w/o unit. Simpler or more flexible. I have no strong view. Tobias Sascha Boehme schrieb: How about providing a parse function time_of_string which turns strings like 30s or 15ms into proper times, and possibly adding a configuration option

Re: [isabelle-dev] NEWS

2010-10-29 Thread Makarius
On Fri, 29 Oct 2010, Sascha Boehme wrote: How about providing a parse function time_of_string which turns strings like 30s or 15ms into proper times, and possibly adding a configuration option scheme for times (besides the existing bool, int and string schemes)? It seems that this could and

[isabelle-dev] NEWS

2010-10-26 Thread Alexander Krauss
* New command 'partial_function' provides basic support for recursive function definitons over complete partial orders. Concrete instances are provided for i) the option type, ii) tail recursion on arbitrary types, and iii) the heap monad of Imperative_HOL. See HOL/ex/Fundefs.thy and

[isabelle-dev] NEWS

2010-10-25 Thread Makarius
* Significantly improved Isabelle/Isar implementation manual. Or this is how I've spent 3 very nice weeks in the south of Portugal. See Isabelle/e4f1275820b2. Makarius ___ Isabelle-dev mailing list

[isabelle-dev] NEWS

2010-09-10 Thread Makarius
* Parallel and asynchronous execution requires special care concerning interrupts. Structure Exn provides some convenience functions that avoid working directly with raw Interrupt. User code must not absorb interrupts -- intermediate handling (for cleanup etc.) needs to be followed by

[isabelle-dev] NEWS: expand_fun_eq - ext_iff, expand_set_eq - set_ext_iff

2010-09-07 Thread Tobias Nipkow
___ Isabelle-dev mailing list Isabelle-dev@mailbroy.informatik.tu-muenchen.de https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev

Re: [isabelle-dev] NEWS: expand_fun_eq - ext_iff, expand_set_eq - set_ext_iff

2010-09-07 Thread Brian Huffman
The log message, Naming in line now with multisets seems to suggest that consistency was the main motivation for this change. However, the change had rather the opposite effect, since the expand_*_eq pattern is much more common in the libraries. (Full disclosure: some, but not all, of these lemmas

Re: [isabelle-dev] NEWS: expand_fun_eq - ext_iff, expand_set_eq - set_ext_iff

2010-09-07 Thread Tobias Nipkow
I wanted to emphasize the mathematical concept, not the operational view. And indeed, it is shorter. For functional objects the ext_iff convention fits perfectly. For example, for polynomials we already have poly_ext in one direction. I have to admit, though, that for pairs it would be a bit

Re: [isabelle-dev] NEWS: expand_fun_eq - ext_iff, expand_set_eq - set_ext_iff

2010-09-07 Thread Brian Huffman
OK, this makes sense. It is nice to have the pair of lemmas foo_ext and foo_ext_iff for each function-like type foo. So do you propose that we rename all of the expand_*_eq lemmas that I listed before? (It would also be good to make sure there is a properly-named *_ext lemma corresponding to each

[isabelle-dev] NEWS

2010-08-27 Thread Florian Haftmann
HOL: Scala (2.8 or higher) has been added to the target languages of the code generator. Florian -- Home: http://www.in.tum.de/~haftmann PGP available: http://home.informatik.tu-muenchen.de/haftmann/pgp/florian_haftmann_at_informatik_tu_muenchen_de signature.asc Description:

[isabelle-dev] NEWS

2010-07-02 Thread Florian Haftmann
Abolished symbol type names: prod and sum replace * and + respectively. INCOMPATIBILITY. Florian -- Home: http://www.in.tum.de/~haftmann PGP available: http://home.informatik.tu-muenchen.de/haftmann/pgp/florian_haftmann_at_informatik_tu_muenchen_de signature.asc Description:

[isabelle-dev] NEWS

2010-04-29 Thread Florian Haftmann
'code_reflect' allows to incorporate generated ML code into runtime environment; replaces immature code_datatype antiquotation. INCOMPATIBILITY. Florian -- Home: http://www.in.tum.de/~haftmann PGP available:

[isabelle-dev] NEWS

2010-03-13 Thread Makarius
* Pure: local theory specifications may depend on extra type variables that are not present in the result type -- arguments TYPE('a) :: 'a itself are added internally. For example: definition unitary :: bool where unitary = (ALL (x::'a) y. x = y)

[isabelle-dev] NEWS

2009-10-19 Thread Clemens Ballarin
* Thoroughly revised locales tutorial. New section on conditional interpretation.

[isabelle-dev] NEWS

2009-09-25 Thread Florian Haftmann
Changes culminated over the last 12 months: Refinements to lattice classes and sets: - less default intro/elim rules in locale variant, more default intro/elim rules in class variant: more uniformity - lemma ge_sup_conv renamed to le_sup_iff, in accordance with le_inf_iff - dropped

[isabelle-dev] NEWS

2009-09-25 Thread Sascha Boehme
New proof method smt for a combination of first-order logic with equality, linear and nonlinear (natural/integer/real) arithmetic, and fixed-size bitvectors; there is also basic support for higher-order features (esp. lambda abstractions). It is an incomplete decision procedure based on external

[isabelle-dev] NEWS

2009-08-21 Thread Sascha Boehme
* New testing tool Mirabelle for automated (proof) tools. Applies several tools and tactics like sledgehammer, metis, or quickcheck, to every proof step in a theory. To be used in batch mode via isabelle mirabelle.

[isabelle-dev] NEWS

2009-07-22 Thread Tobias Nipkow
* GCD now has functions Gcd/GCD and Lcm/LCM for the gcd and lcm of finite and infinite sets. It is shown that they form a complete lattice.

[isabelle-dev] NEWS

2009-07-02 Thread Johannes Hölzl
* Changed DERIV_intros to a NamedThmsFun. Each of the theorems in DERIV_intros assumes composition with an additional function and matches a variable to the derivative, which has to be solved by the simplifier. Hence (auto intro!: DERIV_intros) computes the derivative of most elementary terms. *

[isabelle-dev] NEWS

2009-03-09 Thread Makarius
*** ML *** * More systematic treatment of long names, abstract name bindings, and name space operations. Basic operations on qualified names have been move from structure NameSpace to Long_Name, e.g. Long_Name.base_name, Long_Name.append. Old type bstring has been mostly replaced by

[isabelle-dev] NEWS and CONTRIBUTORS

2009-02-04 Thread Florian Haftmann
Dear Isabelle developers, we are now heading towards the next Isabelle release. Since Isabelle 2008 a lot of changes and improvements have found their way into the sources. For this reason I would kindly invite you all to update the NEWS and CONTRIBUTORS in the root of the repository to

[isabelle-dev] NEWS

2009-01-28 Thread Tobias Nipkow
* HOL/Ring_and_Field and HOL/OrderedGroup: The lemmas group_simps and ring_simps have been replaced by algebra_simps (which can be extended with further lemmas!). At the moment both still exist but the former will disappear at some point.

[isabelle-dev] NEWS

2008-12-23 Thread Makarius
* Proofs of fully specified statements are run in parallel on multi-core systems. A speedup factor of 2-3 can be expected on a regular 4-core machine, if the initial heap space is made reasonably large (cf. Poly/ML option -H). [Poly/ML 5.2.1 or later] * High-level support for

[isabelle-dev] NEWS

2008-12-23 Thread Makarius
On Tue, 23 Dec 2008, Makarius wrote: * Proofs of fully specified statements are run in parallel on multi-core systems. A speedup factor of 2-3 can be expected on a regular 4-core machine, if the initial heap space is made reasonably large (cf. Poly/ML option -H). [Poly/ML 5.2.1 or

[isabelle-dev] NEWS

2008-12-15 Thread Makarius
* HOL: command 'atp_messages' displays recent messages issued by automated theorem provers. This allows to examine results that might have got lost due to the asynchronous nature of default 'sledgehammer' output. (This acknowledges the fact that sledghammer occasionally breaks the

[isabelle-dev] NEWS

2008-12-03 Thread Gerwin Klein
Makarius wrote: Of course, heaps produced inside the repository file space like that must not be committed. We might want to add an .hgignore file and put ^heaps/ in it. This should at least make accidental commits less likely. Gerwin

[isabelle-dev] NEWS

2008-12-03 Thread Gerwin Klein
Makarius wrote: It is already there, together with some other things that people tend to commit by accident: Too fast for me ;-) Gerwin

[isabelle-dev] NEWS (update)

2008-12-02 Thread Makarius
On Tue, 2 Dec 2008, Tjark Weber wrote: On Sun, 2008-11-30 at 14:08 +0100, Makarius wrote: The old isabelle-interface wrapper could react in confusing ways if the interface was uninstalled or changed otherwise. Individual interface tool configuration is now more explicit, see also the

[isabelle-dev] NEWS

2008-12-02 Thread Makarius
On Tue, 2 Dec 2008, Tjark Weber wrote: On Sun, 2008-11-30 at 13:03 +0100, Makarius wrote: * The default for ISABELLE_HOME_USER is now ~/.isabelle instead of the old ~/isabelle, which was slightly non-standard and apt cause surprises on case-insensitive file-systems, or when working with

[isabelle-dev] NEWS

2008-12-02 Thread Makarius
On Wed, 3 Dec 2008, Gerwin Klein wrote: Makarius wrote: Of course, heaps produced inside the repository file space like that must not be committed. We might want to add an .hgignore file and put ^heaps/ in it. This should at least make accidental commits less likely. It is already

[isabelle-dev] NEWS

2008-11-30 Thread Makarius
* The default for ISABELLE_HOME_USER is now ~/.isabelle instead of the old ~/isabelle, which was slightly non-standard and apt cause surprises on case-insensitive file-systems, or when working with local copies of the Isabelle repository. INCOMPATIBILITY, need to move existing ~/isabelle/etc,

[isabelle-dev] NEWS

2008-11-19 Thread Tobias Nipkow
* HOL/Finite_Set: added a new fold combinator of type ('a = 'b = 'b) = 'b = 'a set = 'b Occasionally this is more convenient than the old fold combinator which is now defined in terms of the new one and renamed to fold_image. Tobias

[isabelle-dev] NEWS

2008-10-30 Thread Clemens Ballarin
* Dropped locale element includes. This is a major INCOMPATIBILITY. In existing theorem specifications replace the includes element by the respective context elements of the included locale, omitting those that are already present in the theorem specification. Multiple assume elements of a

[isabelle-dev] NEWS (update)

2008-10-23 Thread Makarius
* Multithreading for Poly/ML 5.1/5.2 is no longer supported, only for Poly/ML 5.2.1 or later.

[isabelle-dev] NEWS

2008-10-17 Thread Makarius
* Goal-directed proof now enforces strict proof irrelevance wrt. sort hypotheses. Sorts required in the course of reasoning need to be covered by the constraints in the initial statement, completed by the type instance information of the background theory. Non-trivial sort hypotheses, which

[isabelle-dev] NEWS

2008-10-16 Thread Fabian Immler
* Generic ATP manager for Sledgehammer, based on ML threads instead of Posix processes. Avoids potentially expensive forking of the ML process. New thread-based implementation also works on non-Unix platforms (Cygwin). Provers are no longer hardwired, but defined within the theory via plain ML

[isabelle-dev] NEWS

2008-10-10 Thread Florian Haftmann
* Unified theorem tables for both code code generators. Thus [code func] has disappeared and only [code] remains. INCOMPATIBILITY. --=20 PGP available: http://home.informatik.tu-muenchen.de/haftmann/pgp/florian_haftmann_at_in= formatik_tu_muenchen_de -- next part -- A

[isabelle-dev] NEWS

2008-10-04 Thread Makarius
* Simplified main Isabelle executables, with less surprises on case-insensitive file-systems (such as Mac OS). - The main Isabelle tool wrapper is now called isabelle instead of isatool. - The former isabelle alias for isabelle-process has been removed (should rarely occur to regular

[isabelle-dev] NEWS

2008-10-03 Thread Makarius
* Wrapper script for remote SystemOnTPTP service allows to use sledgehammer without local ATP installation (Vampire etc.). See also ISABELLE_HOME/contrib/SystemOnTPTP and the VAMPIRE_HOME setting variable. (By Fabian Immler, TUM) (CVS note: need to move Distribution/contrib/ out of the way, if

[isabelle-dev] NEWS

2008-09-25 Thread Florian Haftmann
Normalization by evaluation now allows non-leftlinear equations. Declare with attribute [code nbe]. Florian -- PGP available: http://home.informatik.tu-muenchen.de/haftmann/pgp/florian_haftmann_at_informatik_tu_muenchen_de -- next part -- A non-text attachment

[isabelle-dev] NEWS

2008-09-16 Thread Makarius
* The Isabelle emacs tool provides a specific interface to invoke Proof General / Emacs, with more explicit failure if that is not installed (the old isabelle-interface script silently falls back on isabelle-process). The PROOFGENERAL_HOME setting determines the installation location of the Proof

[isabelle-dev] NEWS

2008-09-02 Thread Makarius
* Name bindings in higher specification mechanisms (notably LocalTheory.define, LocalTheory.note, and derived packages) are now formalized as type Name.binding, replacing old bstring. INCOMPATIBILITY, need to wrap strings via Name.binding function, see also Name.name_of. Packages should pass name

[isabelle-dev] NEWS

2008-08-24 Thread Michael Nedzelsky
I think for cvs version this is Isabelle/Distribution/lib subsdirectory. Michael Nedzelsky I don't have a lib subdirectory and cvs does not know about one. Tobias Makarius schrieb: *** System *** * Isabelle/lib/classes/Pure.jar provides basic support to integrate the Isabelle process

[isabelle-dev] NEWS

2008-08-24 Thread Makarius
On Sun, 24 Aug 2008, Tobias Nipkow wrote: I don't have a lib subdirectory and cvs does not know about one. The NEWS are always in terms of a proper distributions, for users out there. The CVS layout is a bit mangled, and lib is in Distribution/lib. Makarius

[isabelle-dev] NEWS (update)

2008-07-10 Thread Makarius
* @{lemma} in latex and ML: allow initial and terminal method expressions, as in the Isar command 'by'. * @{lemma} in ML now closes the derivation, unless @{lemma (open) ...} is specified.

[isabelle-dev] NEWS: HOL-NSA

2008-07-03 Thread Brian Huffman
*** HOL-NSA *** * Created new image HOL-NSA, containing theories of nonstandard analysis which were previously part of HOL-Complex. Entry point Hyperreal.thy remains valid, but theories formerly using Complex_Main.thy should now use new entry point Hypercomplex.thy.

[isabelle-dev] NEWS

2008-07-02 Thread Gerwin Klein
My $0,02: I was wondering about the merge as well. For my taste, there is almost too much in HOL already as it is. It's not such a big problem, though. You can always build your own custom images with exactly the part you need (not that it's a nice user-interface paradigm, and you need to

[isabelle-dev] NEWS

2008-07-02 Thread Amine Chaieb
Very nice job! Amine. PS: In Reflected Ferrack you start combutation with True, i.e. @{code T}, if the input is @{term False}. Fortunately this does not happen often Even with @{code} we still need to be careful... Florian Haftmann wrote: New ML antiquotation 'code': takes constant as

[isabelle-dev] NEWS

2008-07-01 Thread Florian Haftmann
* Integrated image HOL-Complex with HOL. Entry points Main.thy and Complex_Main.thy remain as they are. * New image HOL-Plain provides a minimal HOL with the most important tools available (inductive, datatype, primrec, ...). By convention the corresponding theory Plain should be ancestor of

[isabelle-dev] NEWS

2008-06-19 Thread Makarius
* ML: Disposed old term read functions (Sign.read_def_terms, Sign.read_term, Thm.read_def_cterms, Thm.read_cterm etc.). INCOMPATIBILITY, should use regular Syntax.read_term, Syntax.read_term_global etc.; see also OldGoals.read_term as last resort for legacy applications.

[isabelle-dev] NEWS

2008-06-16 Thread Makarius
* ML: rules and tactics that read instantiations (read_instantiate, res_inst_tac, thin_tac, subgoal_tac etc.) now demand a proper proof context, which is required for parsing and type-checking. Moreover, the variables are specified as plain indexnames, not string encodings thereof.

[isabelle-dev] NEWS (update)

2008-05-18 Thread Makarius
* Eliminated theory ProtoPure and CPure, leaving just one Pure theory. INCOMPATIBILITY, object-logics depending on former Pure require additional setup PureThy.old_appl_syntax_setup; object-logics depending on former CPure need to refer to Pure.

[isabelle-dev] NEWS

2008-05-13 Thread Alexander Krauss
* More flexible generation of measure functions for termination proofs: Measure functions can be declared by proving a rule of the form is_measure f and giving it the [measure_function] attribute. The is_measure predicate is logically meaningless (always true), and just guides the heuristic. To

[isabelle-dev] NEWS

2008-02-16 Thread Brian Huffman
* Theory Int: The representation of numerals has changed. The infix operator BIT and the bit datatype with constructors B0 and B1 have disappeared. INCOMPATIBILITY, use Int.Bit0 x and Int.Bit1 y in place of x BIT bit.B0 and y BIT bit.B1, respectively. Theorems involving BIT, B0, or B1 have been

[isabelle-dev] NEWS

2008-01-27 Thread Makarius
* Theory loader: use_thy (and similar operations) no longer set the implicit ML context, which was occasionally hard to predict and in conflict with concurrency. INCOMPATIBILITY, use ML within Isar which provides a proper context already.

[isabelle-dev] NEWS: quickcheck with functions

2008-01-10 Thread Stefan Berghofer
Dear all, quickcheck can now also display counterexamples involving functions (using notation for function updates). For example, consts app: ('a = 'a) list = 'a = 'a primrec app [] x = x app (f # fs) x = app fs (f x) lemma app (fs @ gs) x = app fs (app gs x) quickcheck

[isabelle-dev] NEWS

2008-01-07 Thread Makarius
On Sun, 6 Jan 2008, Makarius wrote: * Rudimentary Isabelle plugin for jEdit (see Isabelle/lib/jedit), based on Isabelle/JVM process wrapper (see Isabelle/lib/classes). Note that the precompiled jars are only available in a proper distribution, but not in the internal CVS (cf.

[isabelle-dev] NEWS

2007-12-19 Thread Florian Haftmann
Instantiation target allows for simultaneous specification of class instance operations together with an instantiation proof. Type check phase allows to refer to class operations uniformly. See HOL/Complex/Complex.thy for an Isar example and HOL/Library/Eval.thy for an ML interface example.

[isabelle-dev] NEWS

2007-11-08 Thread Makarius
* System: polyml-platform script now identifies x86_64-linux with x86-linux, which is usually more efficient. INCOMPATIBILITY, requires manual settings if x86_64-linux is really intended (e.g. for 2GB heap or 64MB stack).

[isabelle-dev] NEWS

2007-10-06 Thread Makarius
* ML/Isar: simplified interfaces for outer syntax. Renamed OuterSyntax.add_keywords to OuterSyntax.keywords. Removed OuterSyntax.add_parsers -- this functionality is now included in OuterSyntax.command etc. INCOMPATIBILITY.

[isabelle-dev] NEWS

2007-09-26 Thread Makarius
* Pure/Isar: unified syntax for new-style specification mechanisms (e.g. 'definition', 'abbreviation', or 'inductive' in HOL) admits full type inference and dummy patterns (_). For example: definition K x _ = x

[isabelle-dev] NEWS: transitivity reasoner

2007-09-19 Thread Clemens Ballarin
* The transitivity reasoner for partial and linear orders is set up for locales `order' and `linorder' generated by the new class package. Previously the reasoner was only set up for axiomatic type classes. Instances of the reasoner are available in all contexts importing or interpreting

[isabelle-dev] NEWS

2007-09-19 Thread Makarius
* ML basics: just one true type int, which coincides with IntInf.int (even on SML/NJ).

[isabelle-dev] NEWS: List comprehension

2007-08-20 Thread Tobias Nipkow
* HOL finally supports full list comprehensions as in Haskell, except that . is used instead of |. As a by-product, pattern-matching abstractions % pat1 = e1 | ... are supported as well.

[isabelle-dev] NEWS: List comprehension

2007-08-20 Thread Tobias Nipkow
I assume, `% pat1 = e1 | pat2 = e2' is equivalent to % a0 . case a0 of pat1 = e1 | pat2 = e2 with `a0' being a fresh identifier. Yes. How does a multiple-arguments (automatically curried) lambda look like? It doesn't exist. At least not in Isabelle. BTW, list comprehension is

<    3   4   5   6   7   8