Here is the video for the Isabelle/PIDE presentation at Curry Club Augsburg from 14-Jun-2018:
There are some technical challenges: missing screen recording in the first 25min, and occasional changes in the speed of screen recording later on: sometimes the computer screen is ahead of the talk. Nonetheless, this is an opportunity to learn many things about Isabelle/PIDE, how it is done, why it is done like that.
Update of Poly/ML component: slightly improved performance and more robust.
Update of Kodkodi component for Nitpick on Windows (back to status-quo from Isabelle2017).
Session HOL-Real_Asymp by Manuel Eberl.
Further library tuning of HOL, HOL-Analysis, HOL-Algebra.
The Isabelle release process is subject to the laws of causality: release candidates can be modified, but the final release is unchangeable. This means that testing needs to happen in the weeks before the final release.
A group of smart students from Bremen have been working on a formalization of Hilbert’s 10th Problem (DPRM Theorem) in Isabelle since October 2017. See also the forthcoming presentation on the Isabelle Workshop 2018 (13-Jul-2018, Oxford, UK) with the following pre-print paper.
A subgroup of particularly young students have also submitted their contribution to the project in the German science competition “Jugend forscht”, and have now won various prizes, notably the “Prize for Extraordinary Work” by Federal President of Germany, Frank-Walter Steinmeier. The catalog of winners lists the project on page 4, with the following laudatio:
Die Jury war begeistert von der Tiefe und begrifflichen Präzision, mit der sich die drei Jungforscher dem komplexen Thema des formalen Verifizierens annahmen. Formale Verifikation ist ein hochaktuelles und wichtiges Thema. Die anspruchsvolle und außergewöhnliche Forschungsarbeit leistet einen wichtigen Beitrag, die Fundamente der Mathematik noch ein Stück stabiler zu machen.
The jury was enthusiastic about the depth and conceptual precision with which the three young researchers addressed the complex topic of formal verification. Formal verification is a highly topical and important topic. The demanding and extraordinary research work makes an important contribution to making the foundations of mathematics even more stable. (Translated with www.DeepL.com/Translator)
There are some sources and presentation materials on GitLab.
The Isabelle community is looking forward to the final completion of the formalization!
Isabelle/jEdit is the main application of the Prover IDE (PIDE) framework and the default user-interface of Isabelle, but it is not limited to theorem proving. This paper explores possibilities to use it as a general IDE for formal languages that are defined in user-space, and embedded into informal text documents. It covers overall document structure with auxiliary files and document antiquotations, formal text delimiters and markers for interpretation (via control symbols). The ultimate question behind this: How far can we stretch a plain text editor like jEdit in order to support semantic text processing, with support by the underlying PIDE framework?
Recent Isabelle repository versions (e.g. 83902fff6243 as approximation of Isabelle2018) support client-server connections for Isabelle prover sessions, with a
simple line-based protocol for synchronous commands. Asynchronous tasks work by explicit indication of forked vs. finished (or failed) background processes, potentially with intermediate notifications. Protocol messages use JSON syntax by default, but YXML is also possible (e.g. for native PIDE messages that might be supported in the future).
Further details are explained in chapter 4 of the system manual, e.g. see the Documentation panel in Isabelle/jEdit of a recent release snapshot. Here is a minimal example extracted from the manual:
The first two commands are for the Unix terminal, the rest for the Isabelle client-server loop. Each line needs to be applied carefully, when the previous command has finished, and use_theories needs to fit on a single line.
Under program control, explicit messages for forked and finished tasks (with unique id) may be used to enforce execution in the proper order.
Das “Wohnzimmer” im Schwabencenter ist ein umgenutztes Ladenlokal innerhalb des regulären Einkaufszentrums. Nach der Vorlesung gibt es noch etwas zu Essen.
Peter Biet von der Kelleruni schreibt hierzu:
Ich selber bin auf diese Vorlesung sehr gespannt, denn ich lese davon ständig in der Zeitung. Ich höre von vielen gerade jungen Menschen, die relativ große Summen in Bitcoins investieren und damit dann auch tatsächlich “richtig Kohle” machen. Ich höre von der Möglichkeit, Geldflüsse unabhängig von Banken zu inszenieren, aber auch von Schwarzgeldern, die da gewaschen werden. Ich höre außerdem von den riesigen Rechnerleistungen, die benötigt werden, um Bitcoins zu schürfen. Und vor allem weiß ich Eines: Ich verstehe das Ganze überhaupt nicht. Finde, obwohl ich versucht habe, mich zu informieren einfach keinen Zugang zu der Sache.
Vielleicht geht es manchen von euch ja genau so. Jedenfalls bin ich des Öfteren gebeten worden, dass wir uns mal dieses so aktuellen Themas annehmen sollten. Und so freue ich mich sehr und bin gewiss, dass Makarius und Christoph da etwas Licht in mein/unser Wissensdunkel bringen werden.
Over 32 years, Isabelle has made a long way from a small experimental proof assistant to a versatile platform for proof document development and maintenance. There has always been a challenge to keep up with the natural growth of applications, notably the Archive of Formal Proofs (AFP).
Can we scale this technology further, towards really big libraries of formalized mathematics?
Can the underlying Scala/JVM and Poly/ML platforms cope with the demands?
Can we eventually do 10 times more and better?
I will revisit these questions from the perspectives of
Editing: Prover IDE,
Building: batch-mode tools and background services,
Browsing: HTML views and client-server applications.
This is a study of performance requirements, technological side-conditions, and possibilities for scaling of formal proof document processing in Isabelle and The Archive of Formal Proofs (AFP). The approaches range from simple changes of system parameters and basic system programming with standard APIs to more ambitious reforms of Isabelle and the underlying Poly/ML system. The running examples for typical scalability issues are existing formalizations of classical analysis and differential equations. Such applications can be further extrapolated towards a development of Financial Mathematics (e.g. Itô calculus).
In the past 3 decades, Isabelle has made a long way from a modest LCF-style proof assistant (with copy-paste of proof scripts written in ML) to the current Isabelle/PIDE editor-environment (with its timeless and stateless processing of proof documents). In this presentation, I will try to extrapolate this into the future: How far can we scale proof documents and libraries, e.g. via moving Isabelle into the “cloud”? How can we reduce system resource requirements on the client side? How can we upgrade interactive edits produced by a single author, towards versioned changesets by multiple or distributed authors? What are suitable frameworks for the next generation of Isabelle document preparation? What can we make out of Isabelle/ML as ultra-clean environment for functional programming? Etc. etc.