Abstract
Structured derivations were introduced by Back and von Wright as an extension of the calculational proof style originally proposed by E. W. Dijkstra and his colleagues. Structured derivations added nested subderivations and inherited assumptions to this style. This paper introduces further extensions of the structured derivation format, and gives a precise syntax and semantics for the extended proof style. The extensions provide a unification of the three main proof styles used in mathematics today: Hilbert-style forward chaining proofs, Gentzen-style backward chaining proofs and algebraic derivations and calculations (in particular, Dijkstra’s calculational proof style). Each of these proof styles can now be directly presented as a structured derivation. Even more importantly, the three proof styles can be freely intermixed in a single structured derivation, allowing different proof styles to be used in different parts of the derivation, each time choosing the proof style that is most suitable for the (sub)problem at hand. We describe here (extended) structured derivations, feature by feature, and illustrate each feature with examples. We show how to model the three main proof styles as structured derivations. We give an exact syntax for structured derivations and define their semantics by showing how a structured derivation can be automatically translated into an equivalent Gentzen-style sequent calculus derivation. Structured derivations have been primarily developed for teaching mathematics at the secondary and tertiary education level. The syntax of structured derivations determines the general structure of the proof, but does not impose any restrictions on how the basic notions of the underlying mathematical domain are treated. Hence, the style can be used for any kind of proofs, calculations, derivations, and general problem solving found in mathematics education at these levels. The precise syntax makes it easy to provide computer support for structured derivations.
Similar content being viewed by others
References
Back R-J (1980) Correctness preserving program refinements: proof theory and applications. In: Mathematical center tracts, vol 131. Mathematical Centre, Amsterdam
Back R-J (1988) A calculus of refinements for program derivations. Acta Inform 25: 593–624
Back R-J, Grundy J, von Wright J (1998) Structured calculational proof. Formal Aspects Comput 9: 469–483
Back R-J, Mannila L, Peltomäki M, Sibelius P (2008) Structured derivations: a logic based approach to teaching mathematics. In: FORMED 2008: formal methods in computer science education, Budapest
Back R-J, Mannila L, Wallin S (2009) Student justifications in high school mathematics. In: CERME 6
Back R-J, Sjöberg M, von Wright J (2002) Field tests of the structured derivations method. Technical Report 491, TUCS, Turku Centre for Computer Science, Turku, Finland
Back R-J, von Wright J (1998) Refinement calculus: a systematic introduction. In: Graduate texts in computer science. Springer, Berlin
Back R-J, von Wright J (1999) A method for teaching rigorous mathematical reasoning. In: Proceedings of international conference on technology of mathematics, University of Plymouth, UK
Church A (1940) A formulation of the simple theory of types. J Symb Logic 5: 56–68
Detlefs D, Nelson G, Saxe JB (2005) Simplify: a theorem prover for program checking. J ACM 52(3): 365–473
Dijkstra EW, Scholten CS (1990) Predicate calculus and program semantics. Springer, Berlin
Dijkstra EW (2002) The notational conventions I adopted, and why. Formal Aspects Comput 14: 99–107
Dutertre B, de Moura L (2006) The Yices SMT solver. Technical report, Computer Science Laboratory, SRI International, Menlo Park, CA. http://yices.csl.sri.com/tool-paper.pdf. Aug 2006
Gordon MJC, Melham TF (1993) Introduction to HOL. Cambridge University Press, New York
Gries D (1991) Teaching calculation and discrimination: a more effective curriculum. Commun ACM 34: 45–54
Gries D (1996) Teaching and learning formal methods. In: Improving the curriculum through the teaching of calculation and discrimination. Academic Press, London, pp 181–196
Gries D, Schneider F (1993) A logical introduction to discrete mathematics. Springer, Berlin
Gries D, Schneider F (1995) Teaching math more effectively through calculational proofs. Am Math Monthly 102(8): 691–697
Lamport L (1995) How to write a proof. Am Math Monthly 102(7): 600–608
Mannila L, Wallin S (2009) Promoting students justification skills using structured derivations. In: ICMI 19 studies
Owre S, Shankar N, Rushby J (1992) PVS: a prototype verification system. In: CADE 11, Saratoga Springs, NY
Paulson LC (1990) Isabelle: the next 700 theorem provers. In: Odifreddi P (eds) Logic and computer science. Academic Press, London, pp 361–386
Peltomäki M, Back R-J (2009) An empirical evaluation of structured derivations in high school mathematics. In: ICMI-19 studies, Taipei, Taiwan
Trybulec A (1980) The Mizar logic information language. In: Studies in logic, grammar and rhetoric, Bialystok, vol 1
Trybulec A, Rudnicki P (1999) On equivalents of well-foundedness: an experiment in Mizar. J Autom Reason 23: 197–234
van de Snepscheut JLA (1993) What computing is all about. Springer, Berlin
van Gasteren AJM (1990) On the shape of mathematical arguments. In: Lecture notes in computer science. Springer, Berlin
Wenzel M (1999) Isar—a generic interpretative approach to readable formal proof documents. In: Bertot Y, Dowek G, Hirschowitz A, Paulin C, Thery L (eds) Theorem proving in higher order logics, 12th international conference, TPHOLs’99. Lecture notes in computer science, vol 1690. Springer, Berlin
Author information
Authors and Affiliations
Corresponding author
Additional information
E.C.R. Hehner
Rights and permissions
About this article
Cite this article
Back, RJ. Structured derivations: a unified proof style for teaching mathematics. Form Asp Comp 22, 629–661 (2010). https://doi.org/10.1007/s00165-009-0136-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-009-0136-5