Advertisement

Validating Mathematical Theorems and Algorithms with RISCAL

  • Wolfgang Schreiner
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11006)

Abstract

RISCAL is a language for describing mathematical algorithms and formally specifying their behavior with respect to user-defined theories in first-order logic. This language is based on a type system that constrains the size of all types by formal parameters; thus a RISCAL specification denotes an infinite class of models of which every instance has finite size. This allows the RISCAL software to fully automatically check in small instances the validity of theorems and the correctness of algorithms. Our goal is 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.

Keywords

Formal specification Falsification Model checking 

References

  1. 1.
    Blanchette, J.C., Nipkow, T.: Nitpick: a counterexample generator for higher-order logic based on a relational model finder. In: Kaufmann, M., Paulson, L.C. (eds.) ITP 2010. LNCS, vol. 6172, pp. 131–146. Springer, Heidelberg (2010).  https://doi.org/10.1007/978-3-642-14052-5_11CrossRefGoogle Scholar
  2. 2.
    Butler, M., et al. (eds.): Abstract State Machines, Alloy, B, TLA, VDM, and Z. LNCS, vol. 9675. Springer, Heidelberg (2016).  https://doi.org/10.1007/978-3-319-33600-8zbMATHGoogle Scholar
  3. 3.
    RISCAL: The RISC Algorithm Language (RISCAL), March 2017. https://www.risc.jku.at/research/formal/software/RISCAL
  4. 4.
    Runciman, C., Naylor, M., Lindblad, F.: Smallcheck and lazy smallcheck: automatic exhaustive testing for small values. In: First ACM SIGPLAN Symposium on Haskell, Haskell 2008, pp. 37–48. ACM, New York (2008).  https://doi.org/10.1145/1411286.1411292
  5. 5.
    Schreiner, W.: The RISC Algorithm Language (RISCAL) – Tutorial and Reference Manual (Version 1.0). Technical report, RISC, Johannes Kepler University, Linz, Austria, March 2017. download from [3]Google Scholar
  6. 6.
    Schreiner, W., Brunhuemer, A., Fürst, C.: Teaching the formalization of mathematical theories and algorithms via the automatic checking of finite models. In: Post-Proceedings ThEdu’17, Theorem proving components for Educational software. EPTCS, vol. 267, pp. 120–139 (2018).  https://doi.org/10.4204/EPTCS.267.8CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Research Institute for Symbolic Computation (RISC)Johannes Kepler UniversityLinzAustria

Personalised recommendations