Location : LIX,
Ecole
polytechnique
supervised by : Benjamin
Werner and Pierre-Yves
Strub
The aim of the project actema (active mathematics) is the construction of
a novel interface for constructing formal proofs. In this paradigm,
proofs steps are not anymore described by written commands (proofs
tactics) but through actions performed in a graphical user interface. For
instance:
Some very simple possible behaviors of mathematical objects include:
One can imagine various versions depending upon the level of the intended
users; for instance, advanced users could have access to more
sophisticated behaviors than undergraduate students.
To a certain extent, this effort can be described as a continuation of the
proof-by-pointing concept which was invented and developed in the nineties
by the team of Gilles Kahn. Differences are:
A first prototype is currently developed and tested at LIX. The
front-end, or interface, runs in a standard html/javascript environment.
The back-end of the system is a little prover implemented in OCaml. The
link between front and back end is facilitated by using the JSofOcaml
translator.
Although one can imagine fitting such an interface as a front-end on an
existing proof system like Coq of HOL, the current aim is to experiment,
to validate the idea, and mainly determine a set of behaviors. That is how
various mathematical objects should react to user actions.
The topic of the internship is define a language to describe these
actions. This should be at the same time understandable and high-level,
and, on the other hand, sufficiently close to the implementation in order
to quickly test suggested new behaviors.
The internship is thus at the intersection of many kind of interests and
skills : formal proofs and logic, languages, user interfaces, automated
deduction and programming. It could lead to a PhD subject.
References : Proof
by pointing. Yves Bertot, Gilles Kahn and Laurent Thery. TACS 94,
Sendai, LNCS 789, Springer-Verlag, 1994.