Systematic software development using VDM
Systematic software development using VDM
Understanding Z: a specification language and its formal semantics
Understanding Z: a specification language and its formal semantics
Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS
IEEE Transactions on Software Engineering
Mural: A Formal Development Support System
Mural: A Formal Development Support System
Formal Specification and Verification of a Fault-Masking and Transient-Recovery Model for Digital Flight-Control Systems
Induction Proofs with Partial Functions
Journal of Automated Reasoning
Another Look at Nested Recursion
TPHOLs '00 Proceedings of the 13th International Conference on Theorem Proving in Higher Order Logics
Type-Theoretic Functional Semantics
TPHOLs '02 Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics
Modelling general recursion in type theory
Mathematical Structures in Computer Science
Reasoning About Partial Functions in the Formal Development of Programs
Electronic Notes in Theoretical Computer Science (ENTCS)
Partial and Nested Recursive Function Definitions in Higher-order Logic
Journal of Automated Reasoning
General recursion in type theory
TYPES'02 Proceedings of the 2002 international conference on Types for proofs and programs
Reasoning about incompletely defined programs
LPAR'05 Proceedings of the 12th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Recursive functions with higher order domains
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
A Two-Valued Logic for Properties of Strict Functional Programs Allowing Partial Functions
Journal of Automated Reasoning
Hi-index | 0.01 |
We discuss a scheme for defining and reasoning about partial recursive functions within a classical two-valued logic in which all terms denote. We show how a total extension of the partial function introduced by a recursive declaration may be axiomatized within a classical logic, and illustrate by an example the kind of reasoning that our scheme supports. By presenting a naive set-theoretic semantics, we show that the system we propose is logically consistent. Our work is motivated largely by the pragmatic issues arising from mechanical theorem proving – we discuss some of the practical benefits and limitations of our scheme for mechanical verification of software and hardware systems.