Re: [isabelle-dev] NEWS: clarified 'case' command

2015-06-24 Thread Makarius
On Wed, 24 Jun 2015, Makarius wrote: After seeing too many "case 1", "case 2", "case 3" and corresponding facts "1", "2", "3" I've now pushed this trivial change through, really with rare incompatibilities. Here is an example changeset that illustrates the reduction of odd digits and redunda

[isabelle-dev] NEWS: clarified 'case' command

2015-06-24 Thread Makarius
* Command 'case' allows fact name and attribute specification like this: case a: (c xs) case a [attributes]: (c xs) Facts that are introduced by invoking the case context are uniformly qualified by "a"; the same name is used for the cumulative fact. The old form "case (c xs) [attributes]" is

Re: [isabelle-dev] NEWS: structured Isar goal statements (update)

2015-06-24 Thread Makarius
* Local goals ('have', 'show', 'hence', 'thus') allow structured statements like fixes/assumes/shows in theorem specifications, but the notation is postfix with keywords 'if' (or 'when') and 'for'. For example: have result: "C x y" if "A x" and "B y" for x :: 'a and y :: 'a The lo

[isabelle-dev] NEWS: proof method "sleep"

2015-06-24 Thread Makarius
* Method "sleep" succeeds after a real-time delay (in seconds). This is occasionally useful for demonstration and testing purposes. This refers to Isabelle/c0e1c121c7c0. Maybe a bit silly, but in experimentation with Eisbach and parallel evaluation, it turned out surprisingly difficult to get

[isabelle-dev] NEWS: nesting of Isar goal structure

2015-06-24 Thread Makarius
* Nesting of Isar goal structure has been clarified: the context after the initial backwards refinement is retained for the whole proof, within all its context sections (as indicated via 'next'). This is e.g. relevant for 'using', 'including', 'supply': have "A ∧ A" if a: A for A supply [si

Re: [isabelle-dev] »real« considered harmful

2015-06-24 Thread Makarius
On Wed, 24 Jun 2015, Larry Paulson wrote: This may be the problem. I don’t remember exactly what I was trying to do, only that it was very difficult. Of course nobody uses show_types any more. Larry On 24 Jun 2015, at 15:13, Dmitriy Traytel wrote: You can hover in the output panel, but you

Re: [isabelle-dev] »real« considered harmful

2015-06-24 Thread Larry Paulson
This may be the problem. I don’t remember exactly what I was trying to do, only that it was very difficult. Of course nobody uses show_types any more. Larry > On 24 Jun 2015, at 15:13, Dmitriy Traytel wrote: > > You can hover in the output panel, but you won't see types of constants there. ___

Re: [isabelle-dev] »real« considered harmful

2015-06-24 Thread Lars Noschinski
On 24.06.2015 16:29, Larry Paulson wrote: > This may be the problem. I don’t remember exactly what I was trying to do, > only that it was very difficult. Of course nobody uses show_types any more. At least this was the problem for me. A notorious instance of the same problem are the functions in H

Re: [isabelle-dev] »real« considered harmful

2015-06-24 Thread Manuel Eberl
Ah, I see the problem. In that case, one could still hover over the "of_nat" in the output window, but it is perhaps not ideal. On 24/06/15 16:08, Dmitriy Traytel wrote: I guess what Larry means is there is no way to see a type of a constant that is not there in the source. Consider e.g. de

Re: [isabelle-dev] »real« considered harmful

2015-06-24 Thread Dmitriy Traytel
You can hover in the output panel, but you won't see types of constants there. Dmitriy On 24.06.2015 16:09, Manuel Eberl wrote: Ah, I see the problem. In that case, one could still hover over the "of_nat" in the output window, but it is perhaps not ideal. On 24/06/15 16:08, Dmitriy Traytel

Re: [isabelle-dev] »real« considered harmful

2015-06-24 Thread Dmitriy Traytel
I guess what Larry means is there is no way to see a type of a constant that is not there in the source. Consider e.g. declare [[coercion "of_nat :: nat ⇒ real"]] term "sqrt (2 :: nat)" Today the output says "sqrt (real_of_nat 2)". But if there would be no abbreviation for "of_nat :: nat ⇒ re

Re: [isabelle-dev] »real« considered harmful

2015-06-24 Thread Manuel Eberl
On 24/06/15 15:55, Larry Paulson wrote: A more appropriate point is that it can be tricky in Isabelle/jEdit to determine the type of an expression such as “of_nat k”, as there is nothing to click on. When I type ‘term "sqrt (of_nat 2)"’ and hover over the ‘of_nat’, it says ‘constant "Nat.semir

Re: [isabelle-dev] »real« considered harmful

2015-06-24 Thread Larry Paulson
The first question is, do we need a prefix syntax for type constraints? My point was that the ability to write [:real:]of_nat k might be better than having to introduce and abbreviations such as real_of_nat, but this is not clear. The latter has the advantage that it is automatically i