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

03/05/2018
by   Wolfgang Schreiner, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/01/2019

Theorem and Algorithm Checking for Courses on Logic and Formal Methods

The RISC Algorithm Language (RISCAL) is a language for the formal modeli...
research
02/08/2022

Natural Language Proof Checking in Introduction to Proof Classes – First Experiences with Diproche

We present and analyze the employment of the Diproche system, a natural ...
research
09/05/2023

Improving students' code correctness and test completeness by informal specifications

The quality of software produced by students is often poor. How to teach...
research
09/29/2020

Formal Verification of Arithmetic RTL: Translating Verilog to C++ to ACL2

We present a methodology for formal verification of arithmetic RTL desig...
research
07/26/2022

Teaching Functional Programmers Logic and Metatheory

We present a novel approach for teaching logic and the metatheory of log...
research
05/26/2023

STL: Surprisingly Tricky Logic (for System Validation)

Much of the recent work developing formal methods techniques to specify ...
research
08/19/2021

Towards an Automatic Proof of Lamport's Paxos

Lamport's celebrated Paxos consensus protocol is generally viewed as a c...

Please sign up or login with your details

Forgot password? Click here to reset