Re: [isabelle-dev] Let and tuple case expressions

2014-10-03 Thread Brian Huffman
Perhaps this should be done uniformly for all single-constructor datatypes, not just pairs. Any case expression with a single branch could be printed as a let. - Brian On Thu, Oct 2, 2014 at 9:13 AM, Florian Haftmann florian.haftm...@informatik.tu-muenchen.de wrote: In a private discussion,

Re: [isabelle-dev] show A == B

2014-07-11 Thread Brian Huffman
On Fri, Jul 11, 2014 at 5:54 AM, Askar Safin safinas...@mail.ru wrote: Hi. I think I found a bug in the Isabelle 2013-2 (OS: Debian GNU/Linux 7, Interface: jEdit). For example, I type the following in the jEdit Isabelle interface: ==begin== notepad begin have A == B and C proof - show

[isabelle-dev] Isabelle_makeall not finishing on testboard

2014-03-20 Thread Brian Huffman
Hi everyone, I've noticed that recent changesets (up to 00112abe9b25) on testboard have completed Pure and HOL tests, but the HOL_makeall results never show up. (The most recent HOL_makeall report is 3253aaf73a01, dated March 18.) Does anyone know why this is? Is one of the HOL theories going

Re: [isabelle-dev] HOL-Decision_Procs FAILED

2014-03-18 Thread Brian Huffman
On Tue, Mar 18, 2014 at 12:55 PM, Makarius makar...@sketis.net wrote: Are you actually working together with Johannes Hölzl on these parts, or is your later change 32b7eafc5a52 merely a coincidence? We are not working directly together, but I suppose that the same email conversation with Larry

Re: [isabelle-dev] Problem with transfer method

2013-09-30 Thread Brian Huffman
On Fri, Sep 27, 2013 at 12:16 PM, Florian Haftmann florian.haftm...@informatik.tu-muenchen.de wrote: context field_char_0 begin … lemma of_rat_minus: of_rat (- a) = - of_rat a apply transfer the »- _« (name uminus) gets replaced by a bound variable »uminusa«. There seems to be a

Re: [isabelle-dev] Problem with transfer method

2013-09-30 Thread Brian Huffman
On Mon, Sep 30, 2013 at 2:34 PM, Makarius makar...@sketis.net wrote: According to the normal context discipline, free variables are always fixed, like a local const. We have a few tools that violate that principle and consequently cause confusion, e.g. the Simplifier. There are sometimes

Re: [isabelle-dev] Obsolete numeral experiments?

2013-05-28 Thread Brian Huffman
/6324f30e23b6/src/HOL/ex/Numeral_Representation.thy Can we delete that, and keep the history inside the history? Or are there remaining aspects that are not in the official numeral implementation (and reform) by Brian Huffman? Numeral_Representation.thy defines a couple of type classes for subtraction

Re: [isabelle-dev] NEWS: Case translations as a separate check phase independent of the datatype package

2013-04-25 Thread Brian Huffman
I discovered a problem with the pretty-printing of some terms (I am using revision 4392eb046a97). term (λ(a, b) (c, d). e) x y case_guard True x (case_cons (case_abs (λa. case_abs (λb. case_elem (a, b) (λ(c, d). e case_nil) y :: 'e I assume this is a result of the recent changes

Re: [isabelle-dev] NEWS: Case translations as a separate check phase independent of the datatype package

2013-04-24 Thread Brian Huffman
printer just to get this behavior back. - Brian On 24.04.2013 02:10, Brian Huffman wrote: I discovered a problem with the pretty-printing of some terms (I am using revision 4392eb046a97). term (λ(a, b) (c, d). e) x y case_guard True x (case_cons (case_abs (λa. case_abs (λb. case_elem

Re: [isabelle-dev] NEWS: Case translations as a separate check phase independent of the datatype package

2013-04-15 Thread Brian Huffman
It would be nice to get HOLCF case combinators working with this new system, as the parsing for HOLCF case expressions has been a bit broken for some time. Can case combinators and constructor functions with continuous-function types be made to work with the case_tr (or case_translation?)

Re: [isabelle-dev] Code export to Haskell and lower-case theory names

2013-03-29 Thread Brian Huffman
On Fri, Mar 29, 2013 at 10:40 AM, Joachim Breitner breit...@kit.edu wrote: Hi, Am Freitag, den 29.03.2013, 13:24 +0100 schrieb Makarius: This has got nothing to do with Isabelle's informal conventions but is all about the target language's formal rules. The conventions about theory names

Re: [isabelle-dev] Problem with simproc enat_eq_cancel

2013-03-06 Thread Brian Huffman
were introduced by Brian Huffman here: changeset: 45775:6c340de26a0d user:huffman date:Wed Dec 07 10:50:30 2011 +0100 files: src/HOL/Library/Extended_Nat.thy description: add cancellation simprocs for type enat We should Brian give time to comment

Re: [isabelle-dev] typedef (open) legacy

2012-10-08 Thread Brian Huffman
On Fri, Oct 5, 2012 at 10:37 AM, Makarius makar...@sketis.net wrote: On Thu, 4 Oct 2012, Brian Huffman wrote: I was reluctant to support closed type definitions at all in HOLCF's cpodef and friends, preferring to make (open) the default behavior; but in the end I decided it was more important

Re: [isabelle-dev] typedef (open) legacy

2012-10-04 Thread Brian Huffman
On Thu, Oct 4, 2012 at 2:17 PM, Makarius makar...@sketis.net wrote: On Thu, 4 Oct 2012, Christian Urban wrote: Closed type definitions with typedef new_type = some set are considered legacy. The warning message suggests to use typedef (open) new_type = some set but as far as I can

Re: [isabelle-dev] NEWS: Isabelle sessions and build management

2012-07-29 Thread Brian Huffman
On Sun, Jul 29, 2012 at 7:11 PM, Makarius makar...@sketis.net wrote: The question is if HOL-Plain and HOL-Main still have any purpose. Full HOL now takes 2min on a reasonably fast machine with 4 cores. Images like HOL-Plain or HOL-Main are often useful when I am doing development on libraries

Re: [isabelle-dev] HOLCF lists

2012-07-19 Thread Brian Huffman
On Thu, Jul 19, 2012 at 8:32 AM, Christian Sternagel c-ste...@jaist.ac.jp wrote: I created a repository at http://sourceforge.net/p/holcf-prelude/ Thanks for setting this up! PPS: As I mentioned in an earlier mail. I would like to add a constant set :: 'a Data_List.list = 'a set for

Re: [isabelle-dev] HOLCF lists

2012-07-18 Thread Brian Huffman
On Wed, Jul 18, 2012 at 8:52 AM, Christian Sternagel c-ste...@jaist.ac.jp wrote: On 07/17/2012 07:53 PM, Brian Huffman wrote: HOLCF/Library/{Nat,Int}_Discrete.thy define cpo instances for types nat and int, so you can write types like nat - 'a list or nat\^sub\bottom - 'a list. Decisions about

Re: [isabelle-dev] HOLCF lists

2012-07-17 Thread Brian Huffman
On Tue, Jul 17, 2012 at 11:04 AM, Christian Sternagel c-ste...@jaist.ac.jp wrote: Dear all, I put together some functions on lists (that I use in some small proof) in Data_List.thy. While doing so and thinking about functions and proofs I would need in the future, I stumbled across the

Re: [isabelle-dev] Nominal and FinFuns from the AFP

2012-05-31 Thread Brian Huffman
On Thu, May 31, 2012 at 1:36 PM, Makarius makar...@sketis.net wrote: On Thu, 31 May 2012, Andreas Lochbihler wrote: At some point, when I have bundles ready to work with the existing notation commands, we can fine-tune this scheme further, to allow users to 'include' syntax in local

Re: [isabelle-dev] jedit

2012-05-15 Thread Brian Huffman
On Tue, May 15, 2012 at 8:18 AM, Tobias Nipkow nip...@in.tum.de wrote: How can I see the possible cases in an induction, i.e. Show me cases in PG? You can type the command print_cases into your theory file (this also works in PG). But then the real question is, how do we expect new users to

Re: [isabelle-dev] print modes

2012-05-01 Thread Brian Huffman
On Wed, May 2, 2012 at 6:55 AM, Christian Sternagel c-ste...@jaist.ac.jp wrote: is it really the case that currently the only way to obtain ASCII output using print modes is by specifying the empty string, like thm () conjE or did I miss anything? Since this print mode is occasionally

Re: [isabelle-dev] AFP/JinjaThreads failure

2012-04-19 Thread Brian Huffman
On Thu, Apr 19, 2012 at 4:02 PM, Makarius makar...@sketis.net wrote: On Tue, 10 Apr 2012, Brian Huffman wrote: On Tue, Apr 10, 2012 at 3:06 PM, Makarius makar...@sketis.net wrote: Isabelle/a380515ed7e4 and AFP/53124641c94b produce the following error: *** No code equations

Re: [isabelle-dev] NEWS: numeral representation

2012-03-29 Thread Brian Huffman
On Thu, Mar 29, 2012 at 7:50 AM, Florian Haftmann florian.haftm...@informatik.tu-muenchen.de wrote: As it is now, theory »Code_Nat« is not announced that prominently, but this is not that critical. We should at least put an announcement in NEWS about Code_Nat. However, you have talked about

Re: [isabelle-dev] NEWS: numeral representation

2012-03-28 Thread Brian Huffman
On Wed, Mar 28, 2012 at 9:15 PM, Florian Haftmann florian.haftm...@informatik.tu-muenchen.de wrote: Btw. for the moment you have not transferred by additional changes concerning Efficient_Nat etc.  What are your plans for these?  To wait until the transition proper has fortified a little?  Or

Re: [isabelle-dev] NEWS: numeral representation

2012-03-26 Thread Brian Huffman
On Mon, Mar 26, 2012 at 7:23 PM, Makarius makar...@sketis.net wrote: On Mon, 26 Mar 2012, Lukas Bulwahn wrote: This problem is reproducible on our testboard servers. At the moment, all tests of changesets after 2a1953f0d20d have to be manually aborted because of that reason. I hope you find a

[isabelle-dev] NEWS: numeral representation

2012-03-25 Thread Brian Huffman
As of 2a1953f0d20d, Isabelle now has a new representation for binary numerals: *** HOL *** * The representation of numerals has changed. We now have a datatype num representing strictly positive binary numerals, along with functions numeral :: num = 'a and neg_numeral :: num = 'a to represent

[isabelle-dev] canonical left-fold combinator for lists

2012-01-12 Thread Brian Huffman
Hello all, I am writing about the following recent changeset, which adds another left-fold operator to HOL/List.thy. author haftmann Fri Jan 06 10:19:49 2012 +0100 (6 days ago) changeset 46133 d9fe85d3d2cd parent 461325a29dbf4c155 child 46134 4b9d4659228a incorporated canonical

[isabelle-dev] proposal for new numeral representation

2011-11-24 Thread Brian Huffman
Hi all, I have been working on a new numeral representation for Isabelle recently, and I would like to share it with everyone. An overview of the design is now available on the Isanotes wiki [1]; a patched version of the Isabelle hg repo is also available [2]. [1]

Re: [isabelle-dev] NEWS: attributes

2011-11-22 Thread Brian Huffman
On Sun, Nov 20, 2011 at 9:52 PM, Makarius makar...@sketis.net wrote: * Commands 'lemmas' and 'theorems' allow local variables using 'for' declaration, and results are standardized before being stored.  Thus old-style standard after instantiation or composition of facts becomes obsolete.  Minor

Re: [isabelle-dev] exception TERM raised (line 141 of Syntax/syntax_trans.ML): abs_tr

2011-11-04 Thread Brian Huffman
On Fri, Nov 4, 2011 at 8:32 PM, Makarius makar...@sketis.net wrote: This syntax is only defined for single abstractions, but the categories got mixed up (the nonterminals via syntax types): syntax  _lebesgue_integral :: 'a = ('a = real) = ('a, 'b) measure_space_scheme = real    (\integral

[isabelle-dev] Why do cancellation simprocs call Lin_Arith.simproc

2011-10-29 Thread Brian Huffman
Hello all, Lately I have been trying to clean up the code of the cancellation simprocs, and I have come across something I don't understand. One set of simprocs will cancel factors from inequalities, rewriting terms like x * z y * z to either x y or y x, depending on whether it can prove 0 z

[isabelle-dev] Reviving an old thread: [isabelle] structured induction: mutual definitions and arbitrary in inductions?

2011-10-12 Thread Brian Huffman
Hello all, This is a follow-up to the conversation on the isabelle-users list from a few months ago, about confusion that arises when using mutual induction with the arbitrary option. https://lists.cam.ac.uk/pipermail/cl-isabelle-users/2011-June/msg1.html At the time I suggested that their

Re: [isabelle-dev] Reviving an old thread: [isabelle] structured induction: mutual definitions and arbitrary in inductions?

2011-10-12 Thread Brian Huffman
On Wed, Oct 12, 2011 at 4:01 PM, Makarius makar...@sketis.net wrote: On Wed, 12 Oct 2011, Brian Huffman wrote: After implementing the warning, I dug through the revision history and was surprised to find that my new feature actually used to exist! It was removed in January 2006: http

Re: [isabelle-dev] NEWS - Redundant lemmas

2011-09-22 Thread Brian Huffman
On Thu, Sep 22, 2011 at 6:10 AM, Makarius makar...@sketis.net wrote: On Thu, 22 Sep 2011, Lukas Bulwahn wrote: On 09/22/2011 11:36 AM, Peter Lammich wrote: Perhaps we should start using a standardized process for phasing out legacy theorems, like moving them into a separate theory file

Re: [isabelle-dev] Fwd: status (AFP)

2011-09-18 Thread Brian Huffman
On Sun, Sep 18, 2011 at 1:42 AM, Gerwin Klein gerwin.kl...@nicta.com.au wrote: After not running in the test for quite some time, JinjaThreads now comes back failing: *** Undeclared constant: semilattice_sup_class.sup *** At command definition (line 20 of

Re: [isabelle-dev] (Not) Using foundational theorems in proofs

2011-09-17 Thread Brian Huffman
On Fri, Sep 16, 2011 at 2:01 PM, Florian Haftmann florian.haftm...@informatik.tu-muenchen.de wrote: Hi Brian, I am not totally happy with changes like: http://isabelle.in.tum.de/reports/Isabelle/rev/4657b4c11138#l1.7 The proof text itself is shorter than before, but in less trivial

Re: [isabelle-dev] inductive_set: Bad monotonicity theorem

2011-08-26 Thread Brian Huffman
On Fri, Aug 26, 2011 at 7:06 AM, Lawrence Paulson l...@cam.ac.uk wrote: I am trying to process the following declaration in Probability/Sigma_Algebra: inductive_set  smallest_ccdi_sets :: ('a, 'b) algebra_scheme \Rightarrow 'a set set  .  .  .  monos Pow_mono  I get the following error

Re: [isabelle-dev] (Re-)introducing set as a type constructor rather than as mere abbreviation

2011-08-26 Thread Brian Huffman
On Fri, Aug 26, 2011 at 9:36 AM, Andreas Schropp schr...@in.tum.de wrote: On 08/26/2011 06:50 PM, Tobias Nipkow wrote: I agree. Since predicates are primitive, starting from them is appropriate. Tobias Did I get this right:  the idea is to implement our advanced typedef via a HOL4-style

Re: [isabelle-dev] (Re-)introducing set as a type constructor rather than as mere abbreviation

2011-08-26 Thread Brian Huffman
On Thu, Aug 25, 2011 at 1:45 PM, Florian Haftmann florian.haftm...@informatik.tu-muenchen.de wrote: HOL-Hoare_Parallel FAILED Also Hoare_Parallel is non-terminating. I have a patch for this one: http://isabelle.in.tum.de/repos/isabelle/rev/5e681762d538 Once this changeset gets merged into

Re: [isabelle-dev] (Re-)introducing set as a type constructor rather than as mere abbreviation

2011-08-26 Thread Brian Huffman
On Fri, Aug 26, 2011 at 1:38 PM, Makarius makar...@sketis.net wrote: 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

Re: [isabelle-dev] (Re-)introducing set as a type constructor rather than as mere abbreviation

2011-08-26 Thread Brian Huffman
On Fri, Aug 26, 2011 at 1:23 PM, Andreas Schropp schr...@in.tum.de wrote: On 08/26/2011 10:38 PM, Makarius wrote: What is gained from that apart from having two versions of typedef? I am with you here. We don't need two primitive versions of typedefs. This is incorrect: Only the

Re: [isabelle-dev] typedef

2011-08-26 Thread Brian Huffman
On Fri, Aug 26, 2011 at 1:34 PM, Andreas Schropp schr...@in.tum.de wrote: locale bla =  assume False  typedef empty = {} Now I have to put up with the fact the semantic interpretation of empty is the empty set. Formerly only non-empty sets were semantic interpretations of type constructors.

Re: [isabelle-dev] (Re-)introducing set as a type constructor rather than as mere abbreviation

2011-08-22 Thread Brian Huffman
On Mon, Aug 22, 2011 at 8:01 AM, Lawrence Paulson l...@cam.ac.uk wrote: I've come across something strange in the file isabelle/afp/devel/thys/DataRefinementIBP/Diagram.thy and was wondering if anybody could think of an explanation. A proof works only if I insert before it the following:

[isabelle-dev] Feature request: print warning message when a definition shadows a previously-used name

2011-08-22 Thread Brian Huffman
Hello everyone, Isabelle prints out warning messages whenever anyone declares a duplicate simp rule, intro rule, etc. It would be nice if Isabelle would print a similar warning whenever a definition reuses a name that is already in scope in the current context. For example, if a theory defines a

Re: [isabelle-dev] (Re-)introducing set as a type constructor rather than as mere abbreviation

2011-08-12 Thread Brian Huffman
On Fri, Aug 12, 2011 at 2:27 AM, Alexander Krauss kra...@in.tum.de wrote: What are, actually, the losses when going back? This has not yet been touched by this thread at all (except the compatibility/import issue mentioned by Brian), and at least myself I wouldn't feel comfortable answering

Re: [isabelle-dev] performance regression for simp_all

2011-08-12 Thread Brian Huffman
On Fri, Aug 12, 2011 at 4:07 PM, Makarius makar...@sketis.net wrote: http://isabelle.in.tum.de/repos/isabelle/rev/13e297dc improves startup time of the worker thread farm significantly, and I've got real times in the range of 0.003s -- 0.005s on my old machine from 2 years ago with Proof

Re: [isabelle-dev] (Re-)introducing set as a type constructor rather than as mere abbreviation

2011-08-11 Thread Brian Huffman
On Thu, Aug 11, 2011 at 5:43 AM, Florian Haftmann florian.haftm...@informatik.tu-muenchen.de wrote: Hello together, recently in some personal discussions the matter has arisen whether there would be good reason to re-introduce the ancient set type constructor. To open the discussion I have

[isabelle-dev] performance regression for simp_all

2011-08-11 Thread Brian Huffman
Hello all, Recently I've been hacking on a bunch of proof scripts using the development version of Isabelle, and I noticed that when processing proof scripts, I often get a noticeable pause at uses of simp_all. The same pause does not occur with Isabelle2011. Below is a minimal theory file to

Re: [isabelle-dev] simplification theorems generated for records:

2011-07-28 Thread Brian Huffman
Your confusion stems from the fact that your theory file is also called ms. The simps rules generated by the record command are qualified by both the theory name and the type name, so the full names in your example are ms.ms.simps and ms.aut.simps. Referring to either of these by their full names

Re: [isabelle-dev] [isabelle] Countable instantiation addition

2011-07-21 Thread Brian Huffman
, records and datatypes) as countable (see ~~/src/HOL/Library/Countable). It seems that for datatypes we now have such functionality, implemented four weeks ago by Brian Huffman: http://isabelle.in.tum.de/repos/isabelle/rev/15df7bc8e93f It comes in the form of a method, so it has

Re: [isabelle-dev] Evaluation of floor and ceiling

2011-07-07 Thread Brian Huffman
I wrote to Florian about this exact issue back in February 2010. Florian's recommended solution at the time was to add a new subclass of archimedean_field that fixes the floor function and assumes a correctness property about it. This solution is really easy to implement (see attached diff). If

Re: [isabelle-dev] [isabelle] power2_sum outside of rings

2011-06-22 Thread Brian Huffman
Obviously, the naturals assign a non-standard meaning to negative numerals. But are there any types that assign a non-standard meaning to *positive* numerals? (By standard I mean 2=1+1, 3=1+1+1, 4=1+1+1+1, etc.) Is there any reason why anyone would ever want to define or use such a type? If not

[isabelle-dev] unhelpful low-level error message from primrec

2011-05-21 Thread Brian Huffman
Hello all, I just noticed this error message from primrec if you write a specification that is not primitive recursive. Here is a simplified example: primrec foo :: nat = nat where foo 0 = 1 | foo (Suc n) = foo 0 *** Extra variables on rhs: foo *** The error(s) above occurred in definition

Re: [isabelle-dev] Fwd: [isabelle] Problem with frule_tac substitution

2011-02-08 Thread Brian Huffman
The *_tac-style instantiation might be out of fashion, but the same parsing rules for indexnames are also used with the where attribute, which is still quite useful. - Brian On Tue, Feb 8, 2011 at 7:59 AM, Lawrence Paulson l...@cam.ac.uk wrote: Obviously this proposal would involve a

Re: [isabelle-dev] Fwd: [isabelle] Problem with frule_tac substitution

2011-02-08 Thread Brian Huffman
On Tue, Feb 8, 2011 at 9:01 AM, Lawrence Paulson l...@cam.ac.uk wrote: Historically, the point is that index numbers were regarded as very important in variable names, while identifiers ending with digits were not seen as important. And there are other ways of making multiple identifiers.

Re: [isabelle-dev] Sort Annotation vs. Class Context for Lemmas

2011-01-21 Thread Brian Huffman
On Fri, Jan 21, 2011 at 7:03 AM, Tjark Weber webe...@in.tum.de wrote: On Fri, 2011-01-21 at 15:27 +0100, Tobias Nipkow wrote: One issue can be that if some sort involves multiple type classes, the corresponding class may not have been defined. That is the one advantage of sorts: you can create

[isabelle-dev] erroneous Legacy feature warnings about secondary search path

2011-01-13 Thread Brian Huffman
Hello all, I recently discovered that warnings about the secondard search path are generated more often than they ought to be. I am using repository version 1fa4725c4656. Create two files A.thy and B.thy with the following contents: theory A imports ~~/src/HOL/Library/Cardinality begin end

Re: [isabelle-dev] Isabelle release

2011-01-06 Thread Brian Huffman
On Thu, Jan 6, 2011 at 8:59 AM, Makarius makar...@sketis.net wrote: If everybody else manages to wrap up until the beginning of next week, we have a good chance to release before the end of the month. This sounds good. I think a release date of January 2011 still justifies to call the release

Re: [isabelle-dev] Additional type variable(s) in specification

2010-12-02 Thread Brian Huffman
On Thu, Dec 2, 2010 at 8:42 AM, Makarius makar...@sketis.net wrote: Right now there is already a clear warning -- which Proof General happens to show in a hardly visible way, but that is just one of many problems of Proof General.  In Isabelle/jEdit the warning is hard to miss. I will check

Re: [isabelle-dev] theorem induct

2010-11-30 Thread Brian Huffman
On Tue, Nov 30, 2010 at 8:35 AM, Florian Haftmann florian.haftm...@informatik.tu-muenchen.de wrote: indeed, both theorems are the same, just with different accesses; recently, we introduced the concept of mandatory qualifiers to avoid the strange base accesses (e.g. »induct«, »simps«,

[isabelle-dev] AFP/Shivers-CFA latex document problem

2010-11-19 Thread Brian Huffman
***\let *** l.27 ...\isaliteral{22}{\isachardoublequoteclose}} *** {\isaliteral{29}{\isacharp... *** *** )) - Brian Brian Huffman schrieb: On Fri, Nov 19, 2010 at 7:28 AM, Brian Huffman bri...@cs.pdx.edu wrote: The latex document generation still doesn't work, though

Re: [isabelle-dev] AFP/Shivers-CFA latex document problem

2010-11-19 Thread Brian Huffman
On Fri, Nov 19, 2010 at 2:40 PM, Joachim Breitner m...@joachim-breitner.de wrote: Hi everyone, [...] I’m sorry for the trouble my submission causes. When writing the theories I had planned to actually use the proof document as my project report, therefore the trouble I went through to have the

[isabelle-dev] find_theorems raises UnequalLengths exception

2010-11-18 Thread Brian Huffman
Hello everyone, Recently I noticed that in HOLCF, whenever I do a theorem search for theorems containing the constant UU (i.e. bottom), the search fails with an UnequalLengths exception. I tracked the problem down to this specific theorem from Fun_Cpo.thy: Before this point, find_theorems UU

Re: [isabelle-dev] find_theorems raises UnequalLengths exception

2010-11-18 Thread Brian Huffman
) Find_Theorems.sorted_filter(2) Find_Theorems.find_theorems(5)find_all(2) Find_Theorems.find_theorems(5)find_all(1) Find_Theorems.print_theorems(5) Toplevel.apply_tr(3)(1) Runtime.debugging(2)(1) End of trace *** exception UnequalLengths raised *** At command find_theorems Larry On 18 Nov 2010, at 16:03, Brian

Re: [isabelle-dev] informative changelogs / typedef (open) unit

2010-11-18 Thread Brian Huffman
The effect of my change typedef (open) unit is to remove the definition of the following constant unit_def: unit == {True} thus making the name unit available to users. - Brian On Thu, Nov 18, 2010 at 1:58 PM, Makarius makar...@sketis.net wrote: Hi Brian, can you say a few words about

Re: [isabelle-dev] typedef (open) unit

2010-11-18 Thread Brian Huffman
On Thu, Nov 18, 2010 at 2:59 PM, Makarius makar...@sketis.net wrote: On Thu, 18 Nov 2010, Brian Huffman wrote: The effect of my change typedef (open) unit is to remove the definition of the following constant unit_def: unit == {True} thus making the name unit available to users. So

Re: [isabelle-dev] informative changelogs / typedef (open) unit

2010-11-18 Thread Brian Huffman
On Thu, Nov 18, 2010 at 1:58 PM, Makarius makar...@sketis.net wrote: For some reason, many people have started to sequeze everything in a single line (frequent), or imitate the headline/body text format of other projects with a completely different structure (rare).  The reason might be as

Re: [isabelle-dev] Transparent/opaque module signature ascription

2010-11-12 Thread Brian Huffman
On Fri, Nov 12, 2010 at 5:48 AM, Makarius makar...@sketis.net wrote: On Thu, 11 Nov 2010, Brian Huffman wrote: Here is the reason I am reluctant to use transparent ascription: Programmers use modules and signatures as an abstraction mechanism. (I shouldn't need to explain to anyone

Re: [isabelle-dev] Datatype alt_names

2010-11-03 Thread Brian Huffman
On Wed, Nov 3, 2010 at 5:56 AM, Florian Haftmann florian.haftm...@informatik.tu-muenchen.de wrote: Traditionally the datatype command would accept optional alternative names used in names of type-related facts etc., e.g. datatype (foo) /*/ = Bar With all HOL types being regulary named, the

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 Brian Huffman
, that for pairs it would be a bit unusual, although it fits a certain view of pairs. Tobias Am 07/09/2010 17:22, schrieb 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

Re: [isabelle-dev] [isabelle] safe for boolean equality

2010-06-15 Thread Brian Huffman
On Tue, Jun 15, 2010 at 2:03 AM, Lawrence Paulson l...@cam.ac.uk wrote: Altering the behaviour of the safe method on locale constants might be feasible, because it would affect only a few proofs. Can anybody tell me whether there is an easy way to identify whether a free variable is actually

Re: [isabelle-dev] ML tactic for eta-contracting a goal

2010-05-22 Thread Brian Huffman
I think I just found answer to my question: fun eta_tac i = CONVERSION Thm.eta_conversion i I had never used CONVERSION until now. I guess that what it does is apply the conversion to the entire subgoal? - Brian On Sat, May 22, 2010 at 12:07 PM, Brian Huffman bri...@cs.pdx.edu wrote: Does

[isabelle-dev] construction of the real numbers

2010-05-10 Thread Brian Huffman
Hello all, I recently finished a formalization of real numbers that uses Cauchy sequences. I thought it might be good to replace the current formalization (which uses Dedekind cuts) with this new one in time for the upcoming Isabelle release. Users should not need to know or care which

Re: [isabelle-dev] construction of the real numbers

2010-05-10 Thread Brian Huffman
On Mon, May 10, 2010 at 12:41 AM, Walther Neuper neu...@ist.tugraz.at wrote: A comment you ask for: Your assumption, that users should not need to know or care which construction of reals we use, does not apply in education. There are several attempts to design educational software for (pure

Re: [isabelle-dev] construction of the real numbers

2010-05-10 Thread Brian Huffman
On Mon, May 10, 2010 at 3:59 AM, Makarius makar...@sketis.net wrote: This means there are about 1-2 weeks left for bigger changes.  Do you manage to exchange the reals by then? I can do it today. I have already exchanged the reals and tested everything in a local clone of the Isabelle repo. I

[isabelle-dev] Bug in linordered_ring_less_cancel_factor simproc

2010-05-09 Thread Brian Huffman
Hello, With tracing turned on, one can see that the following lemma is solved with the help of the linordered_ring_less_cancel_factor simproc (which is defined in HOL/Tools/numeral_simprocs.ML): lemma RR: (0::'a::linordered_idom) z == (x*z y*z) = (x y) by simp Similarly, the following lemmas

[isabelle-dev] Use of global simpset by definition packages

2010-05-07 Thread Brian Huffman
Hello all, I am looking for some advice on a design decision for the HOLCF fixrec package. Fixrec uses the simplifier when doing its internal proofs of the defining equations for a function. Currently it maintains its own special simpset for this purpose, which users can extend by declaring

Re: [isabelle-dev] Use of global simpset by definition packages

2010-05-07 Thread Brian Huffman
Hi Alex, Thanks for the info about the function package. I'll give a bit more explanation of the proofs that fixrec does, using an example: domain 'a LList = LNil | LCons 'a (lazy 'a LList) fixrec mapL :: ('a - 'b) - 'a LList - 'b LList where mapL$f$LNil = LNil | x ~= UU ==

Re: [isabelle-dev] top and bot

2010-05-03 Thread Brian Huffman
On Mon, May 3, 2010 at 4:55 AM, Florian Haftmann florian.haftm...@informatik.tu-muenchen.de wrote: class top = preorder +   fixes top :: 'a   assumes top_greatest [simp]: x \le top class bot = preorder +   fixes bot :: 'a   assumes bot_least [simp]: bot \le x The fact that both class

Re: [isabelle-dev] Function package produces duplicate rewrite rule warnings

2010-05-03 Thread Brian Huffman
as the function package warning messages. I wouldn't be surprised if warnings pop up in other packages as well. - Brian On Mon, May 3, 2010 at 12:48 PM, Alexander Krauss kra...@in.tum.de wrote: Hi Brian, Thanks for bisecting this, I'll have a look. Alex Brian Huffman wrote: Recent

[isabelle-dev] Sane Mercurial history

2010-03-03 Thread Brian Huffman
On Wed, Mar 3, 2010 at 8:54 AM, Makarius makarius at sketis.net wrote: * For longer projects the timespan of staying in splendid isolation is limited to 1-3 days (3 is already quite long, and personally I usually try to stay within the 0.5-1.5 days interval). ... Of course, the merge

[isabelle-dev] Document preparation failure

2010-02-19 Thread Brian Huffman
On Fri, Feb 19, 2010 at 8:18 AM, Rafal Kolanski rafalk at cse.unsw.edu.au wrote: Looks like it should be @{const apply_rsp} or @{text apply_rsp} or something. The underscore is throwing it. That's exactly it. There's actually a second problem of the same kind later on, in a subsection heading.

[isabelle-dev] added 605 changesets with 1325 changes to 175 files

2010-01-15 Thread Brian Huffman
From my most recent hg pull: pulling from ssh://huffman at atbroy100.informatik.tu-muenchen.de//home/isabelle-repository/repos/isabelle searching for changes adding changesets adding manifests adding file changes added 605 changesets with 1325 changes to 175 files Wow! What just happened? -

[isabelle-dev] Isabelle/HOL axiom ext is redundant

2009-11-13 Thread Brian Huffman
On Thu, Nov 12, 2009 at 2:06 PM, Andreas Schropp schropp at in.tum.de wrote: In a sense, eq_reflection is a meta-thereom, but Pure is not a meta-logic, so it cannot be proven within the system. ?Thus we need to add it as an axiom. But we can prove all instances of the eq_reflection

[isabelle-dev] Isabelle/HOL axiom ext is redundant

2009-11-12 Thread Brian Huffman
On Thu, Nov 12, 2009 at 1:12 AM, Lawrence Paulson lp15 at cam.ac.uk wrote: If you do these things, you put an end to all Isabelle logics other than Isabelle/HOL. Remember, an object logic does not need to possess an equality symbol or even an implication symbol. OK, good point. All the

[isabelle-dev] Isabelle/HOL axiom ext is redundant

2009-11-11 Thread Brian Huffman
Hello all, This morning I was looking at the following comment from HOL.thy: ext:(!!x::'a. (f x ::'b) = g x) == (%x. f x) = (%x. g x) -- {*Extensionality is built into the meta-logic, and this rule expresses a related property. It is an eta-expanded version of the

[isabelle-dev] Isabelle/HOL axiom iff is redundant

2009-11-11 Thread Brian Huffman
Hello again, While I'm on the subject of redundant axioms, consider this piece of HOL.thy: axioms iff: (P--Q) -- (Q--P) -- (P=Q) True_or_False: (P=True) | (P=False) Has anyone else noticed that axiom True_or_False implies axiom iff? (You can just do a proof by cases on P and Q.) I

[isabelle-dev] Bug Tracking

2009-07-09 Thread Brian Huffman
I think it's time to bring up the issue of bug tracking again. I just replied to Peter Lammich on the Isabelle users list about a bug in the locale package that has been known to exist for at least a year and a half; it is unclear whether anyone has taken any responsibility for fixing the bug, or

[isabelle-dev] Pending sort hypotheses

2009-07-01 Thread Brian Huffman
On Wed, Jul 1, 2009 at 4:46 AM, Amine Chaiebac638 at cam.ac.uk wrote: I wonder why this restriction has been introduced in the first place. Is it because sorts can be empty (i.e. there are no possible type instances)? That's exactly right. Theorems need to have sort hypotheses to prevent

[isabelle-dev] repos integrity

2009-06-18 Thread Brian Huffman
On Thu, Jun 18, 2009 at 10:55 AM, Makariusmakarius at sketis.net wrote: ?* The main Isabelle repository http://isabelle.in.tum.de/repos/isabelle ? ?always needs to be in a state where ? ? ?isabelle makeall all ? ?finishes succesfully! This last failure was due to some changes that I pushed

[isabelle-dev] repos integrity

2009-06-18 Thread Brian Huffman
On Thu, Jun 18, 2009 at 2:56 PM, Makariusmakarius at sketis.net wrote: isabelle makeall TARGETS merely runs isabelle make TARGET in every logic directory -- this is a very ancient arrangement. ?This means it stops after the first failure in each directory, but tries the other directories

[isabelle-dev] More Mercurial hints

2009-03-04 Thread Brian Huffman
Quoting Makarius makarius at sketis.net: I've found some nice illustrations on the web ... Mercurial: http://tinyurl.com/cxrbjt CVS:http://tinyurl.com/dk3gsz So, you're saying that with Mercurial, you can do a lot more damage? ;-) - Brian

[isabelle-dev] Suc 0 necessary?

2009-02-23 Thread Brian Huffman
Quoting Tobias Nipkow nipkow at in.tum.de: This is exactly the point: recursive functions defined by pattern matching expect Suc. They tend to dominate the scene in CS-oriented applications. Hence Suc 0 is made the default. However, for math applications this tends to be inconvenient, esp in

[isabelle-dev] Suc 0 necessary?

2009-02-23 Thread Brian Huffman
Quoting Tobias Nipkow nipkow at in.tum.de: IIRC, 1 used to abbreviate Suc 0. Making 1 = Suc 0 a simp rule mimiced that. Aha! The real reason comes out. Now things are starting to make sense... It allows you to write 1 on the rhs of an equation because (if used as a simp rule) the 1 will be

[isabelle-dev] Bug report: code generation for eq with indirect-recursive datatypes

2009-02-23 Thread Brian Huffman
Quoting Florian Haftmann florian.haftmann at informatik.tu-muenchen.de: Hi Brian, The following code works: datatype 'a bintree = Branch 'a bintree 'a bintree | Tip 'a definition test1 = (Tip True = Branch (Tip False) (Tip True)) export_code test1 in Haskell file - but this other example

[isabelle-dev] A better policy for the typerep class

2009-02-11 Thread Brian Huffman
Quoting Florian Haftmann florian.haftmann at informatik.tu-muenchen.de: a) Keeping theory imports minimal vs. reducing the number of merges Careful thinking what the logical preliminaries of a particular theory are is a necessary, valuable and fruitful task -- I would by no means encourage

[isabelle-dev] A better policy for the typerep class

2009-02-10 Thread Brian Huffman
Hello, I have been thinking about all the conflicts caused by the typerep class, and what should be done about it. Basically, this is an instance of a more general problem. The Isabelle libraries define some types, and they also define some type classes. The problem, stated simply, is

[isabelle-dev] A better policy for the typerep class

2009-02-10 Thread Brian Huffman
I thought it would be good to clarify my position in a shorter email: The automatically-generated typerep instances work fine on typedef or datatype commands, where the instance resides in the same theory as the type definition. It is also OK if instances are generated *within Typerep.thy*

[isabelle-dev] AC simplification or theory merge?

2009-01-30 Thread Brian Huffman
Hi Amine, In the interest of making your proof scripts more robust, I think it is best to avoid relying on the term ordering whenever possible. Specifically, if you have a tactic like (simp add: mult_ac) that does not completely solve the subgoal, and the following tactic relies on the

  1   2   >