Teaching the Formalization of Mathematical Theories and Algorithms via the Automatic Checking of Finite Models

Wolfgang Schreiner, Alexander Brunhuemer, Christoph Fürst

Research output: Chapter in Book/Report/Conference proceedingConference proceedingspeer-review

Abstract

Education in the practical applications of logic and proving such as the formal specification and verification of computer programs is substantially hampered by the fact that most time and effort that is invested in proving is actually wasted in vain: because of errors in the specifications respectively algorithms that students have developed, their proof attempts are often pointless (because the proposition proved is actually not of interest) or a priori doomed to fail (because the proposition to be proved does actually not hold); this is a frequent source of frustration and gives formal methods a bad reputation. RISCAL (RISC Algorithm Language) is a formal specification language and associated software system that attempts to overcome this problem by making logic formalization fun rather than a burden. To this end, RISCAL allows students to easily validate the correctness of instances of propositions respectively algorithms by automatically evaluating/executing and checking them on (small) finite models. Thus many/most errors can be quickly detected and subsequent proof attempts can be focused on propositions that are more/most likely to be both meaningful and true.
Original languageEnglish
Title of host publicationPost-Proceedings ThEdu'
Editors Pedro Quaresma and Walther Neuper
PagesNULL
Number of pages20
DOIs
Publication statusPublished - 2018

Publication series

NameElectronic Proceedings in Theoretical Computer Science (EPTCS)

Fields of science

  • 101 Mathematics
  • 101001 Algebra
  • 101005 Computer algebra
  • 101009 Geometry
  • 101012 Combinatorics
  • 101013 Mathematical logic
  • 101020 Technical mathematics

JKU Focus areas

  • Computation in Informatics and Mathematics

Cite this