Algorithm theories and design tactics
Science of Computer Programming
On behavioural abstraction and behavioural satisfaction in higher-order logic
TAPSOFT '95 Selected papers from the 6th international joint conference on Theory and practice of software development
Algebra of programming
A Simple Model for Quotient Types
TLCA '95 Proceedings of the Second International Conference on Typed Lambda Calculi and Applications
Higher Order Quotients and their Implementation in Isabelle HOL
TPHOLs '97 Proceedings of the 10th International Conference on Theorem Proving in Higher Order Logics
Quotient Types: A Modular Approach
TPHOLs '02 Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics
The Semantics of CLEAR, A Specification Language
Proceedings of the Abstract Software Specifications, 1979 Copenhagen Winter School
Induction and Recursion on Datatypes
MPC '95 Mathematics of Program Construction
Specware: Formal Support for Composing Software
MPC '95 Mathematics of Program Construction
CAAP '83 Proceedings of the 8th Colloquium on Trees in Algebra and Programming
CADE-11 Proceedings of the 11th International Conference on Automated Deduction: Automated Deduction
Structured formal development in Isabelle
Nordic Journal of Computing - Selected papers of the 17th nordic workshop on programming theory (NWPT'05), October 19-21, 2005
Defining functions on equivalence classes
ACM Transactions on Computational Logic (TOCL)
Putting theories together to make specifications
IJCAI'77 Proceedings of the 5th international joint conference on Artificial intelligence - Volume 2
Mathematical quotients and quotient types in Coq
TYPES'02 Proceedings of the 2002 international conference on Types for proofs and programs
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
A design structure for higher order quotients
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
Hi-index | 0.00 |
General purpose theorem provers provide sophisticated proof methods, but lack some of the advanced structuring mechanisms found in specification languages. This paper builds on previous work extending the theorem prover Isabelle with such mechanisms. A way to build the quotient type over a given base type and an equivalence relation on it, and a generalised notion of folding over quotiented types is given as a formalised high-level step called a design tactic. The core of this paper are four axiomatic theories capturing the design tactic. The applicability is demonstrated by derivations of implementations for finite multisets and finite sets from lists in Isabelle.