JUCS - Journal of Universal Computer Science 19(11): 1570-1596, doi: 10.3217/jucs-019-11-1570
Proof Assistant Based on Didactic Considerations
expand article infoJorge Pais, Alvaro Tasistro
‡ Universidad ORT Uruguay, Montevideo, Uruguay
Open Access
Abstract
We consider some issues concerning the role of Formal Logic in Software Engineering education, which lead us to promote the learning of formal proof through extensive, appropriately guided practice. To this end, we propose to adopt Natural Deduction as proof system and to make use of an adequate proof assistant to carry out formal proof on machine. We discuss some necessary characteristics of such proof assistant and subsequently present the design and implementation of our own version of it. This incorporates several novel features, such as the display and edition of derivations as trees, the use of meta-theorems (derived rules) as lemmas, and the possibility of maintaining a set of draft trees that can be inserted into the main derivation as needed. The assistant checks the validity of each edition operation as performed. So far, it has been implemented for propositional logic and (quite satisfactorily) put into practice in courses of Logic for Software Engineering and Information Systems programs.
Keywords
educational software, teaching logic, formal proof