Results 1 
2 of
2
Towards a formal mathematical vernacular
 Utrecht University
, 1992
"... Contemporary proof veri cators often use a command language to construct proofs. These commands are often called tactics. This new generation of theorem provers is a substantial improvement over earlier ones such asAUTOMATH. Based on experience with these new provers we feel the need to study these ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Contemporary proof veri cators often use a command language to construct proofs. These commands are often called tactics. This new generation of theorem provers is a substantial improvement over earlier ones such asAUTOMATH. Based on experience with these new provers we feel the need to study these languages further, especially, because we think that these may be improved in their adequateness to express proofs closer to the established mathematical vernacular. We also feel that a systematic treatment of these vernaculars may lead to an improvement towards the automatic inference of trivial proof steps. In any case a systematic treatment will lead to a better understanding of the command languages. This exercise is carried out in the setting of Pure Type Systems (PTSs) in which a whole range of logics can be embedded. We rstidentify a subclass of PTSs, called the PTSs for logic. For this class we de ne a formal mathematical vernacular and we prove elementary sound and completeness. Via an elaborate example we try to assess how easy proofs in mathematics can be written down in our vernacular along the lines of the original proofs. 1
DijkstraScholten predicate calculus: concepts and misconceptions
 ACTA INFORMATICA
, 1998
"... The paper focusses on the logical backgrounds of the DijkstraScholten program development style for correct programs. For proving the correctness of a program (i.e. the fact that the program satisfies its specifications), one often uses a special form of predicate calculus in this style of progra ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
The paper focusses on the logical backgrounds of the DijkstraScholten program development style for correct programs. For proving the correctness of a program (i.e. the fact that the program satisfies its specifications), one often uses a special form of predicate calculus in this style of programming. We call this the DijkstraScholten (DS) predicate calculus, since [DS90] is the first place in which it is described. DS predicate calculus can be conceived of as a logically sound and complete manipulation technique for dealing with logical formulas which also contain programming variables. We relate DS predicate calculus to the classical logical formalism, by contrasting its syntax, derivation rules and semantics to the classical framework. We also comment on two abstractions of DS predicate calculus: the settheoretical and the algebraic approach. In doing so, we give DS predicate calculus and its abstract variants a firm basis, on a par with the foundations of the wellknown first order logic. Such a comparison of DS predicate calculus and classical logic has not yet been sufficiently elaborated before. We conclude our paper with a number of examples showing that the, up to now, unsatisfactory presentation of DS predicate calculus and some of its features (such as the square brackets notation) has led to errors and fallacies in the literature.