Generated by GPT-5-mini| Isabelle/jEdit | |
|---|---|
| Name | Isabelle/jEdit |
| Developer | Technische Universität München; TU München; Charles University; University of Cambridge |
| Released | 2005 |
| Latest release | 2024 |
| Programming language | Java (programming language); Scala (programming language); Standard ML |
| Operating system | Linux; Microsoft Windows; macOS |
| License | BSD license |
| Website | Isabelle website |
Isabelle/jEdit is an integrated development environment front end for the Isabelle proof assistant that combines the Isabelle proof engine with the jEdit text editor. It provides a continuous proof-checking interaction model linking a formal proof kernel with an interactive editor, enabling work on formal proofs, proof documents, and libraries. The project is associated with academic groups and research programs in formal methods, automated reasoning, and programming languages.
Isabelle/jEdit integrates the Isabelle proof assistant kernel, developed in contexts including Technische Universität München and Cambridge University, with the jEdit editor originally associated with the jEdit community and contributors. It supports proof languages and automation frameworks used in projects at institutions such as University of Cambridge, University of Edinburgh, Charles University, TU Wien, and industrial research groups like IBM Research and Microsoft Research. The tool is used in academic courses, industrial verification projects, and cooperative formalization efforts that span initiatives like the Archive of Formal Proofs, FLoC-related workshops, and workshops co-located with conferences such as CADE and IJCAR.
Isabelle/jEdit offers continuous checking of proof scripts leveraging the Isabelle kernel and proof methods from libraries including Isabelle/HOL and formalizations used in Archive of Formal Proofs. It provides semantic highlighting, tooltips, error underlining, asynchronous processing, and structured proof navigation, interoperating with tactics and automated provers from systems like Sledgehammer, which can call external tools such as E theorem prover, Vampire (theorem prover), and SMT solvers like Z3 (theorem prover). The environment includes support for document preparation features used in formal text output similar to patterns from LaTeX workflows and integrates with package management and build processes influenced by projects from Eclipse Foundation ecosystems and editor toolchains. Users benefit from cross-references, symbol palettes, proof state visualization, and search facilities analogous to features in editors such as Emacs (text editor), Vim (text editor), and Visual Studio Code.
The architecture combines a front end built on jEdit with a back end running the Isabelle prover implemented in Standard ML; bridging infrastructure uses Scala (programming language) and Java (programming language). Communication between components uses an asynchronous protocol designed for document-oriented interaction, paralleling paradigms explored in projects like Language Server Protocol discussions and competitor systems such as Proof General. The implementation encapsulates theory management, term representation, and proof state maintenance consistent with designs from formal systems like HOL Light and Coq while exposing APIs for automation tools including Sledgehammer and external provers.
Users open theories and proof sessions, edit declarative proofs and procedural proof scripts, and observe continuous feedback provided by the prover, akin to workflows in courses at University of Cambridge and University of Cambridge Computer Laboratory teaching formal methods. The usual workflow involves invoking automated proof tools, applying proof methods from libraries like Isabelle/HOL, inspecting goals and contexts, and exporting results into structured documents for venues such as International Conference on Automated Deduction proceedings or the Archive of Formal Proofs. Collaboration and reproducibility practices align with standards promoted by research groups at Technische Universität München and projects associated with DFG-funded initiatives.
Isabelle/jEdit integrates with external automated reasoning tools, proof search services, and document generation pipelines; it supports hooks for plugins written for jEdit and extensions leveraging Scala and Java APIs. Integration points enable connections to solvers like Z3 (theorem prover), provers like E theorem prover and Vampire (theorem prover), and toolchains used in formalization projects at MPI-SWS and similar research centers. Extensibility facilitates user-contributed proof methods, sessions, and presentation styles used in collaborative formalization efforts within the Archive of Formal Proofs and university research groups.
The front end emerged from efforts to modernize Isabelle interaction and to replace earlier editor integrations such as those with Proof General and Emacs (text editor). Key developments involved contributions from researchers and engineers at Technische Universität München, University of Cambridge, and collaborators from the wider theorem proving community, with public releases evolving alongside major conferences including CADE and IJCAR. Over time the project incorporated advances in asynchronous proof processing, support for large formal libraries like Isabelle/HOL, and tighter integration with automated provers influenced by work from SRI International and industrial teams at IBM Research.
The environment has been adopted by academic groups at institutions including Technische Universität München, University of Cambridge, University of Edinburgh, Charles University, and by industrial users in verification projects influenced by research at Microsoft Research and IBM Research. It is frequently cited in publications at venues such as CADE, IJCAR, Interactive Theorem Proving (ITP), and the Conference on Automated Deduction; formalizations in the Archive of Formal Proofs often use Isabelle/jEdit as the primary authoring environment. Reviewers and educators compare its interaction model to systems like Coq, HOL Light, and Lean (theorem prover), noting strengths in continuous feedback and library integration.
Category:Proof assistants Category:Integrated development environments