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

@inproceedings{Schreiner2017TeachingTF,
  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={2017}
}
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… 

Figures from this paper

Theorem and Algorithm Checking for Courses on Logic and Formal Methods

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

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 )

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

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

  • W. Schreiner
  • Computer Science
    2019 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

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

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∗

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

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 Logic Formula Evaluation in RISCAL∗

The visualization of the evaluation of logic formulas that are formulated in the RISC Algorithm Language consists of a pruned evaluation tree that depicts exactly those evaluation branches that contribute to the overall truth value of a formula.

References

SHOWING 1-10 OF 18 REFERENCES

Dafny: An Automatic Program Verifier for Functional Correctness

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

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 )

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

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

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.

Software Abstractions - Logic, Language, and Analysis

This revised edition of Software Abstractions updates the text, examples, and appendixes to be fully compatible with the latest version of Alloy, a language that captures the essence of software abstractions simply and succinctly, using a minimal toolkit of mathematical notions.

Theorema 2.0: Computer-Assisted Natural-Style Mathematics

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

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]

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

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