Proceedings of the Fourth Annual Symposium on Logic in computer science
PER models of subtyping, recursive types and higher-order polymorphism
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A constructive algebraic hierarchy in Coq
Journal of Symbolic Computation - Integrated reasoning and algebra systems
A Simple Model for Quotient Types
TLCA '95 Proceedings of the Second International Conference on Typed Lambda Calculi and Applications
Five Axioms of Alpha-Conversion
TPHOLs '96 Proceedings of the 9th International Conference on Theorem Proving in Higher Order Logics
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
Theory Interpretations in PVS
Defining functions on equivalence classes
ACM Transactions on Computational Logic (TOCL)
Mathematical quotients and quotient types in Coq
TYPES'02 Proceedings of the 2002 international conference on Types for proofs and programs
Theorem Proving with the Real Numbers
Theorem Proving with the Real Numbers
Mechanising λ-calculus using a classical first order theory of terms with permutations
Higher-Order and Symbolic Computation
Nominal Techniques in Isabelle/HOL
Journal of Automated Reasoning
Structured formal development with quotient types in Isabelle/HOL
AISC'10/MKM'10/Calculemus'10 Proceedings of the 10th ASIC and 9th MKM international conference, and 17th Calculemus conference on Intelligent computer mathematics
Quotients revisited for Isabelle/HOL
Proceedings of the 2011 ACM Symposium on Applied Computing
General bindings and alpha-equivalence in nominal Isabelle
ESOP'11/ETAPS'11 Proceedings of the 20th European conference on Programming languages and systems: part of the joint European conferences on theory and practice of software
A recursion combinator for nominal datatypes implemented in Isabelle/HOL
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
LICS '12 Proceedings of the 2012 27th Annual IEEE/ACM Symposium on Logic in Computer Science
Hi-index | 0.00 |
The quotient operation is a standard feature of set theory, where a set is partitioned into subsets by an equivalence relation. We reinterpret this idea for higher order logic, where types are divided by an equivalence relation to create new types, called quotient types. We present a design to mechanically construct quotient types as new types in the logic, and to support the automatic lifting of constants and theorems about the original types to corresponding constants and theorems about the quotient types. This design exceeds the functionality of Harrison's package, creating quotients of multiple mutually recursive types simultaneously, and supporting the equivalence of aggregate types, such as lists and pairs. Most importantly, this design supports the creation of higher order quotients, which enable the automatic lifting of theorems with quantification over functions of any higher order.