The foundations of program verification
The foundations of program verification
Pascal user manual and report; 3rd ed.
Pascal user manual and report; 3rd ed.
Introduction to mathematical logic (3rd ed.)
Introduction to mathematical logic (3rd ed.)
Digital signal processing
The Z notation: a reference manual
The Z notation: a reference manual
A heretical view on type embedding
ACM SIGPLAN Notices
Predicate calculus and program semantics
Predicate calculus and program semantics
Dictionary of computing (3rd ed.)
Dictionary of computing (3rd ed.)
Introduction to the theory of programming languages
Introduction to the theory of programming languages
The Euclidean definition of the functions div and mod
ACM Transactions on Programming Languages and Systems (TOPLAS)
Symbolic Boolean manipulation with ordered binary-decision diagrams
ACM Computing Surveys (CSUR)
The formal semantics of programming languages: an introduction
The formal semantics of programming languages: an introduction
A logical approach to discrete math
A logical approach to discrete math
Counting solutions to Presburger formulas: how and why
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
The Mathematica book (3rd ed.)
The Mathematica book (3rd ed.)
Subtypes for Specifications: Predicate Subtyping in PVS
IEEE Transactions on Software Engineering
Supertotal Function Definition in Mathematics and Software Engineering
IEEE Transactions on Software Engineering
Communications of the ACM
ACM SIGSAM Bulletin - Special issue of OpenMath
On the desirability of mechanizing calculational proofs
Information Processing Letters - Special issue in honor of Edsger W. Dijkstra
Principles of Programming Languages
Principles of Programming Languages
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Concrete Mathematics: A Foundation for Computer Science
Concrete Mathematics: A Foundation for Computer Science
Introduction to Functional Programming
Introduction to Functional Programming
Computer
Predicate Logic for Software Engineering
IEEE Transactions on Software Engineering
Proceedings of the 6th International Conference on Mathematics of Program Construction
MPC '02 Proceedings of the 6th International Conference on Mathematics of Program Construction
Nuprl and Its Use in Circuit Design
Proceedings of the IFIP TC10/WG 10.2 International Conference on Theorem Provers in Circuit Design: Theory, Practice and Experience
Boolean Formalism and Explanations
AMAST '96 Proceedings of the 5th International Conference on Algebraic Methodology and Software Technology
Proceedings of the IFIP TC2/WG2.1 Working Conference on Generic Programming
Using category theory to design implicit conversions and generic operators
Semantics-Directed Compiler Generation, Proceedings of a Workshop
A calculational proof of Andrews''s challenge
A calculational proof of Andrews''s challenge
Spin model checker, the: primer and reference manual
Spin model checker, the: primer and reference manual
ACM Transactions on Programming Languages and Systems (TOPLAS)
Dually nondeterministic functions
ACM Transactions on Programming Languages and Systems (TOPLAS)
Term transformers: A new approach to state
ACM Transactions on Programming Languages and Systems (TOPLAS)
Teaching and practicing computer science at the university level
ACM SIGCSE Bulletin
Making Temporal Logic Calculational: A Tool for Unification and Discovery
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Pointfree expression and calculation: from quantification to temporal logic
Formal Methods in System Design
The timer cascade: functional modelling and real time calculi
ICTAC'05 Proceedings of the Second international conference on Theoretical Aspects of Computing
Using domain-independent problems for introducing formal methods
FM'06 Proceedings of the 14th international conference on Formal Methods
Microsemantics as a bootstrap in teaching formal methods
TFM'06 Proceedings of the 2006 conference on Teaching Formal Methods: practice and experience
Hi-index | 0.00 |
In programming language and software engineering, the main mathematical tool is de facto some form of predicate logic. Yet, as elsewhere in applied mathematics, it is used mostly far below its potential, due to its traditional formulation as just a topic in logic instead of a calculus for everyday practical use.The proposed alternative combines a language of utmost simplicity (four constructs only) that is devoid of the defects of common mathematical conventions, with a set of convenient calculation rules that is sufficiently comprehensive to make it practical for everyday use in most (if not all) domains of interest.Its main elements are a functional predicate calculus and concrete generic functionals. The first supports formal calculation with quantifiers with the same fluency as with derivatives and integrals in classical applied mathematics and engineering. The second achieves the same for calculating with functionals, including smooth transition between pointwise and point-free expression.The extensive collection of examples pertains mainly to software specification, language semantics and its mathematical basis, program calculation etc., but occasionally shows wider applicability throughout applied mathematics and engineering. Often it illustrates how formal reasoning guided by the shape of the expressions is an instrument for discovery and expanding intuition, or highlights design opportunities in declarative and (functional) programming languages.