[isabelle-dev] NEWS: abbrevs and symbols dockable
*** Prover IDE -- Isabelle/Scala/jEdit *** * Dockable window "Symbols" also provides access to 'abbrevs' from the outer syntax of the current theory buffer. This provides clickable syntax templates, including entries with empty abbrevs name (which are inaccessible via keyboard completion). * Additional abbreviations for syntactic completion may be specified within the theory header as 'abbrevs'. The theory syntax for 'keywords' has been simplified accordingly: optional abbrevs need to go into the new 'abbrevs' section. * Global abbreviations via $ISABELLE_HOME/etc/abbrevs and $ISABELLE_HOME_USER/etc/abbrevs are no longer supported. Minor INCOMPATIBILITY, use 'abbrevs' within theory header instead. This refers to Isabelle/2683c3be36eb (and AFP/88ebc309096a). Examples for abbrevs within theory headers are here: src/HOL/Nonstandard_Analysis/HLim.thy src/HOL/Nonstandard_Analysis/HSEQ.thy AFP/thys/HereditarilyFinite/HF.thy After importing such theories, the "Symbols" dockable will update its "Abbrevs" tab dynamically, according to the buffer syntax. (I have also added an event handler for the global font size, and re-unified the symbol GUI rendering with the completion popup.) With this convenient way to provide input methods (i.e. keyboard completion or clickable buttons) via regular theory libraries, we can become more ambitious with fancy notation -- in only *one* version with the full glory of symbols, sub-/superscripts, bold, bells, whistles. A still open problem is how to input the place holder character (ASCII bell) for templates in specifications of 'abbrevs'. Right now it can be copied from the 'abbrevs' section of src/Pure/Pure.thy or produced via the following BeanShell snippet: buffer.insert(textArea.getCaretPosition(), "\u0007") Makarius ___ isabelle-dev mailing list isabelle-...@in.tum.de https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev
[isabelle-dev] Jenkins maintenance
Dear Isabelle developers, over the weekend, there will be – once again – a scheduled maintenance on the build infrastructure. I will add some more jobs (which are running nightly) to test a wider variety of side conditions (mainly -j/-o threads). I will take this opportunity to tidy up the Jenkins home page, too. In the unlikely event that something goes wrong with my deployment scripts and I have to roll back changes, - there might be cancelled jobs - there might be bogus mails You can continue to use the testboard, but be prepared that I might have to cancel jobs mid-move. Cheers Lars ___ isabelle-dev mailing list isabelle-...@in.tum.de https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev
Re: [isabelle-dev] not-exists problem
The symmetry between the variables in ~(∃x y. P x y) is completely lost in ∄x. ∃y. P x y. It’s a terrible notation. Larry > On 13 Sep 2016, at 22:56, Jasmin Blanchette> wrote: > >> I’m not sure that this suggestion addresses my original problem: that the >> use of the negated quantifier (by an output translation, i.e., not by >> request) produced a confusing output. This output already contains only a >> single variable bound by ∄. > > But to what extent do you find it confusing? Perhaps because our brains are > damaged by too much logic and too little math, many of us on this list seemed > to have no real issues parsing your example correctly. ___ isabelle-dev mailing list isabelle-...@in.tum.de https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev
Re: [isabelle-dev] not-exists problem
This discussion clearly shows that ∃! with multiple bound variables is a recipe for confusion and should be avoided. Tobias On 14/09/2016 09:49, Peter Lammich wrote: On Di, 2016-09-13 at 23:35 +, michael.norr...@data61.csiro.au wrote: Note that ∃!x. ∃!y. P x y is not equivalent to ∃!xy. P (fst xy) (snd xy). If you were going to support ∃!x y at all (and I can certainly see the argument for forbidding it outright), I'd expect it to map to the first formula above, and not the second. So there seems to be no consensus on the meaning of "∃!x y". Btw: I would strongly argue that a proposition like "∃!x y. x = abs (y::int)" is wrong, however it holds with the "∃!x. ∃!y"-semantics. -- Peter Michael On 13/09/2016, 18:41, "isabelle-dev on behalf of Tjark Weber" wrote: On Tue, 2016-09-13 at 09:45 +0200, Peter Lammich wrote: > I would have expected: > (∄x y. P x y) ⟷ ¬(∃x y. P x y) > and > (∃!x y. P x y) ⟷ (∃!xy. P (fst x) (snd x)) +1 Best, Tjark ___ isabelle-dev mailing list isabelle-...@in.tum.de https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/is abelle-dev ___ isabelle-dev mailing list isabelle-...@in.tum.de https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabel le-dev ___ isabelle-dev mailing list isabelle-...@in.tum.de https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev smime.p7s Description: S/MIME Cryptographic Signature ___ isabelle-dev mailing list isabelle-...@in.tum.de https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev
Re: [isabelle-dev] not-exists problem
On Di, 2016-09-13 at 23:35 +, michael.norr...@data61.csiro.au wrote: > Note that ∃!x. ∃!y. P x y is not equivalent to ∃!xy. P (fst xy) (snd > xy). > > If you were going to support ∃!x y at all (and I can certainly see > the argument for forbidding it outright), I'd expect it to map to the > first formula above, and not the second. So there seems to be no consensus on the meaning of "∃!x y". Btw: I would strongly argue that a proposition like "∃!x y. x = abs (y::int)" is wrong, however it holds with the "∃!x. ∃!y"-semantics. -- Peter > > Michael > > On 13/09/2016, 18:41, "isabelle-dev on behalf of Tjark Weber" le-dev-boun...@mailbroy.informatik.tu-muenchen.de on behalf of tjark. > we...@it.uu.se> wrote: > > On Tue, 2016-09-13 at 09:45 +0200, Peter Lammich wrote: > > I would have expected: > > (∄x y. P x y) ⟷ ¬(∃x y. P x y) > > and > > (∃!x y. P x y) ⟷ (∃!xy. P (fst x) (snd x)) > > +1 > > Best, > Tjark > > > ___ > isabelle-dev mailing list > isabelle-...@in.tum.de > https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/is > abelle-dev > > > ___ > isabelle-dev mailing list > isabelle-...@in.tum.de > https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabel > le-dev ___ isabelle-dev mailing list isabelle-...@in.tum.de https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev
Re: [isabelle-dev] not-exists problem
Note that ∃!x. ∃!y. P x y is not equivalent to ∃!xy. P (fst xy) (snd xy). If you were going to support ∃!x y at all (and I can certainly see the argument for forbidding it outright), I'd expect it to map to the first formula above, and not the second. Michael On 13/09/2016, 18:41, "isabelle-dev on behalf of Tjark Weber"wrote: On Tue, 2016-09-13 at 09:45 +0200, Peter Lammich wrote: > I would have expected: > (∄x y. P x y) ⟷ ¬(∃x y. P x y) > and > (∃!x y. P x y) ⟷ (∃!xy. P (fst x) (snd x)) +1 Best, Tjark ___ isabelle-dev mailing list isabelle-...@in.tum.de https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev ___ isabelle-dev mailing list isabelle-...@in.tum.de https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev