Algorithms for on-the-fly garbage collection
ACM Transactions on Programming Languages and Systems (TOPLAS)
Adequate proof principles for invariance and liveness properties of concurrent programs
Science of Computer Programming
Communicating sequential processes
Communicating sequential processes
Automatic verification of finite-state concurrent systems using temporal logic specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Information Processing Letters
Fairness
Common LISP: the language
A mechanical proof of the Church-Rosser theorem
Journal of the ACM (JACM)
Journal of Automated Reasoning
A computational logic handbook
A computational logic handbook
Parallel program design: a foundation
Parallel program design: a foundation
The notion of proof in hardware verification
Journal of Automated Reasoning
IWSSD '89 Proceedings of the 5th international workshop on Software specification and design
Trace theory for automatic hierarchical verification of speed-independent circuits
Trace theory for automatic hierarchical verification of speed-independent circuits
Journal of Automated Reasoning
Microprocessor design verification
Journal of Automated Reasoning
A mechanically verified language implementation
Journal of Automated Reasoning
A mechanically verified code generator
Journal of Automated Reasoning
Mechanically Verifying Concurrent Programs with the Boyer-Moore Prove
IEEE Transactions on Software Engineering
An exercise in the verification of multi-process programs
Beauty is our business
Functional instantiation in first-order logic
Artificial intelligence and mathematical theory of computation
Mechanically verifying concurrent programs
Mechanically verifying concurrent programs
An extension of the Boyer-Moore theorem prover to support first-order quantification
Journal of Automated Reasoning
Mechanically verifying safety and liveness properties of delay insensitive circuits
Formal Methods in System Design
Verifying properties of parallel programs: an axiomatic approach
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
Principles of proving concurrent programs in Gypsy
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A Mechanical Formalization of Several Fairness Notions
VDM '91 Proceedings of the 4th International Symposium of VDM Europe on Formal Software Development-Volume I: Conference Contributions - Volume I
An NQTHM mechanization of "An Exercise in the Verification of Multi-Process Programs"
An NQTHM mechanization of "An Exercise in the Verification of Multi-Process Programs"
Hi-index | 0.00 |
This paper presents in detail how the Unity logic for reasoning about concurrent programs was formalized within the mechanized theorem prover PC-NQTHM-92. Most of Unity‘s proof rules were formalized in the unquantified logic of NQTHM, and the proof system has been used to mechanically verify several concurrent programs. The mechanized proof system is sound by construction, since Unity‘s proof rules were proved about an operational semantics of concurrency, also presented here. Skolem functions are used instead of quantifiers, and the paper describes how proof rules containing Skolem function are used instead of Unity‘s quantified proof rules when verifying concurrent programs. This formalization includes several natural extensions to Unity, including nondeterministic statements. The paper concludes with a discussion of the cost and value of mechanization.