49 research outputs found
Isabelle/PIDE as Platform for Educational Tools
The Isabelle/PIDE platform addresses the question whether proof assistants of
the LCF family are suitable as technological basis for educational tools. The
traditionally strong logical foundations of systems like HOL, Coq, or Isabelle
have so far been counter-balanced by somewhat inaccessible interaction via the
TTY (or minor variations like the well-known Proof General / Emacs interface).
Thus the fundamental question of math education tools with fully-formal
background theories has often been answered negatively due to accidental
weaknesses of existing proof engines.
The idea of "PIDE" (which means "Prover IDE") is to integrate existing
provers like Isabelle into a larger environment, that facilitates access by
end-users and other tools. We use Scala to expose the proof engine in ML to the
JVM world, where many user-interfaces, editor frameworks, and educational tools
already exist. This shall ultimately lead to combined mathematical assistants,
where the logical engine is in the background, without obstructing the view on
applications of formal methods, formalized mathematics, and math education in
particular.Comment: In Proceedings THedu'11, arXiv:1202.453
A Logic-Independent IDE
The author's MMT system provides a framework for defining and implementing
logical systems. By combining MMT with the jEdit text editor, we obtain a
logic-independent IDE. The IDE functionality includes advanced features such as
context-sensitive auto-completion, search, and change management.Comment: In Proceedings UITP 2014, arXiv:1410.785
PIDE as front-end technology for Coq
Isabelle/PIDE is the current Prover IDE technology for Isabelle. It has been
developed in ML and Scala in the past 4-5 years for this particular proof
assistant, but with an open mind towards other systems. PIDE is based on an
asynchronous document model, where the prover receives edits continuously and
updates its internal state accordingly. The interpretation of edits and the
policies for proof document processing are determined by the prover. The editor
front-end merely takes care of visual rendering of formal document content.
Here we report on an experiment to connect Coq to the PIDE infrastructure of
Isabelle. This requires to re-implement the core PIDE protocol layer of
Isabelle/ML in OCaml. The payload for semantic processing of proof document
content is restricted to lexical analysis in the sense of existing CoqIde
functionality. This is sufficient as proof-of-concept for PIDE connectivity.
Actual proof processing is then a matter of improving Coq towards timeless and
stateless proof processing, independently of PIDE technicalities. The
implementation worked out smoothly and required minimal changes to the refined
PIDE architecture of Isabelle2013.
This experiment substantiates PIDE as general approach to prover interaction.
It illustrates how other provers of the greater ITP family can participate by
following similar reforms of the classic TTY loop as was done for Isabelle in
the past few years
Interactive Simplifier Tracing and Debugging in Isabelle
The Isabelle proof assistant comes equipped with a very powerful tactic for
term simplification. While tremendously useful, the results of simplifying a
term do not always match the user's expectation: sometimes, the resulting term
is not in the form the user expected, or the simplifier fails to apply a rule.
We describe a new, interactive tracing facility which offers insight into the
hierarchical structure of the simplification with user-defined filtering,
memoization and search. The new simplifier trace is integrated into the
Isabelle/jEdit Prover IDE.Comment: Conferences on Intelligent Computer Mathematics, 201
Coqoon An IDE for interactive proof development in Coq
International audienceUser interfaces for interactive proof assistants have always lagged behind those for mainstream programming languages. Whereas integrated development environments—IDEs—have support for features like project management, version control, dependency analysis and in-cremental project compilation, " IDE " s for proof assistants typically only operate on files in isolation, relying on external tools to integrate those files into larger projects. In this paper we present Coqoon, an IDE for Coq developments integrated into Eclipse. Coqoon manages proofs as projects rather than isolated source files, and compiles these projects using the Eclipse common build system. Coqoon takes advantage of the latest features of Coq, including asynchronous and parallel processing of proofs, and—when used together with a third-party OCaml extension for Eclipse—can even be used to work on large developments containing Coq plugins
Coqoon
International audienceUser interfaces for interactive proof assistants have always lagged behind those for mainstream programming languages. Whereas integrated development environments (IDEs) have support for features like project management, version control, dependency analysis and incremental project compilation, " IDE " s for proof assistants typically only operate on files in isolation, relying on external tools to integrate those files into larger projects. In this paper we present Coqoon, an IDE for Coq projects integrated into Eclipse. Coqoon manages proofs as projects rather than isolated source files, and compiles these projects using the Eclipse common build system. Coqoon takes advantage of the latest features of Coq, including asynchronous and parallel processing of proofs, and—when used together with a third-party OCaml extension for Eclipse—can even be used to work on large developments containing Coq plugins