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

@inproceedings{Schreiner2018TeachingTF, title={Teaching the Formalization of Mathematical Theories and Algorithms via the Automatic Checking of Finite Models}, author={Wolfgang Schreiner and Alexander Brunhuemer and Christoph F{\"u}rst}, booktitle={ThEdu@CADE}, year={2018} }

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…

## 12 Citations

### Theorem and Algorithm Checking for Courses on Logic and Formal Methods

- Computer ScienceThEdu@FLoC
- 2018

Some new enhancements of the RISC Algorithm Language are reported on: the automatic generation of checkable verification conditions from algorithms, the visualization of the execution of procedures and the evaluation of formulas illustrating the computation of their results, and the generation of Web-based student exercises and assignments from RISCAL specifications.

### Mathematical Model Checking Based on Semantics and SMT

- Computer Science
- 2021

RISCAL, a model checker for mathematical theories and algorithms based on a variant of first-order logic with finite models, is reported on, which allows to automatically decide the validity of all formulas and to verify the correctness of all algorithms specified by such formulas.

### The RISC Algorithm Language ( RISCAL ) Tutorial and Reference Manual ( Version 1 . 0 . 17 )

- Computer Science
- 2017

This report documents the RISC Algorithm Language, a language and associated software system for describing (potentially nondeterministic) mathematical algorithms over discrete structures that implements a model checker that allows to verify the correctness of algorithms and the associated theories with respect to their specifications for all possible input values of the parameter domains.

### Validating Mathematical Theorems and Algorithms with RISCAL

- Computer ScienceCICM
- 2018

This work aims to quickly detect errors respectively inadequacies in the formalization by falsification in small model instances before attempting actual correctness proofs for the whole model class.

### Logic and Semantic Technologies for Computer Science Education

- Computer Science2019 IEEE 15th International Scientific Conference on Informatics
- 2019

The experience with the RISCAL software, a model checker for mathematical theories and algorithms, in university courses on logic, formal methods, and formal modeling is described.

### Semantic Evaluation versus SMT Solving in the RISCAL Model Checker

- Computer Science
- 2021

These investigations also identify some classes of formulas where semantic evaluation is able to compete with (or even outperform) satisfiability solving, outlining some room for improvements in the translation of RISCAL formulas to SMT-LIB formulas as well as in the current SMT technology.

### Prototyping "Systems that Explain Themselves" for Education

- Computer ScienceThEdu@CADE
- 2017

By the way of describing the process of prototyping the first comprehensive survey on the state of the ISAC prototype is given as a side effect, made precise by pointers to the code and by citation of all contributing theses.

### A Categorical Semantics of Relational First-Order Logic∗

- Computer Science
- 2019

The focus is to show how the semantics of first order formulas can be derived from their usual deduction rules, by modeling the categorical semantics in the RISCAL (RISC Algorithm Language) system which allows the core propositions by automatically checking them in finite models.

### A Novel Categorical Approach to Semantics of Relational First-Order Logic

- Computer ScienceSymmetry
- 2020

This paper shows how the semantics of first-order formulas can be derived from their usual deduction rules by modeling the categorical semantics in the RISCAL (RISC Algorithm Language) system which allows us to validate the core propositions by automatically checking them in finite models.

### Visualizing Execution Traces in RISCAL ∗ Wolfgang

- Computer Science
- 2018

By the new visualization extension of RISCAL, the suitability of the software for the purpose of computer science education shall be improved.

## References

SHOWING 1-10 OF 18 REFERENCES

### Dafny: An Automatic Program Verifier for Functional Correctness

- Computer ScienceLPAR
- 2010

A tour of the language and verifier Dafny, which has been used to verify the functional correctness of a number of challenging pointer-based programs, is given and the full functional specification of the Schorr-Waite algorithm is shown.

### Computer-Assisted Program Reasoning Based on a Relational Semantics of Programs

- Computer ScienceThEdu
- 2011

An approach to program reasoning which inserts between a program and its verification conditions an additional layer, the denotation of the program expressed in a declarative form, so that errors in the program and in the meta-information may be detected and fixed prior to actually performing the formal verification.

### The RISC Algorithm Language ( RISCAL ) Tutorial and Reference Manual ( Version 1 . 0 . 17 )

- Computer Science
- 2017

This report documents the RISC Algorithm Language, a language and associated software system for describing (potentially nondeterministic) mathematical algorithms over discrete structures that implements a model checker that allows to verify the correctness of algorithms and the associated theories with respect to their specifications for all possible input values of the parameter domains.

### Concrete Semantics: With Isabelle/HOL

- Computer Science
- 2014

The book teaches the reader the art of precise logical reasoning and the practical use of a proof assistant as a surgical tool for formal proofs about computer science artefacts.

### The RISC ProofNavigator: a proving assistant for program verification in the classroom

- Computer ScienceFormal Aspects of Computing
- 2008

An overview of the RISC ProofNavigator, an interactive proving assistant for the area of program verification that combines the user-guided top-down decomposition of proofs with the automatic simplification and closing of proof states by an external satisfiability solver.

### Theorema 2.0: Computer-Assisted Natural-Style Mathematics

- MathematicsJ. Formaliz. Reason.
- 2016

The Theorema system is a computer implementation of the ideas behind the Theoremma, a computer assistant for the working mathematician that focuses on the natural style of system input, system output, system interaction and user interaction.

### Why3 - Where Programs Meet Provers

- Computer ScienceESOP
- 2013

We present Why3, a tool for deductive program verification, and WhyML, its programming and specification language. WhyML is a first-order language with polymorphic types, pattern matching, and…

### Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers [Book Review]

- Computer ScienceComputer
- 2002

This book will teach you how to write specifications of computer systems, using the language TLA+, which is a simple variant of Pnueli's original logic.

### Interactive Theorem Proving and Program Development: Coq'Art The Calculus of Inductive Constructions

- Engineering
- 2010

A practical introduction to the development of proofs and certified programs using Coq. An invaluable tool for researchers, students, and engineers interested in formal methods and the development of…

### Rodin: an open toolset for modelling and reasoning in Event-B

- Computer ScienceInternational Journal on Software Tools for Technology Transfer
- 2010

This article presents the Rodin modelling tool that seamlessly integrates modelling and proving, and outlines how the Event-B language was designed to facilitate proof and how the tool has been designed to support changes to models while minimising the impact of changes on existing proofs.