How to make ad-hoc polymorphism less ad hoc
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Introduction to HOL: a theorem proving environment for higher order logic
Introduction to HOL: a theorem proving environment for higher order logic
IMPS: an interactive mathematical proof system
Journal of Automated Reasoning
Order-sorted polymorphism in Isabelle
Papers presented at the second annual Workshop on Logical environments
ML for the working programmer (2nd ed.)
ML for the working programmer (2nd ed.)
Inductive analysis of the Internet protocol TLS
ACM Transactions on Information and System Security (TISSEC)
The Haskell school of expression: learning functional programming through multimedia
The Haskell school of expression: learning functional programming through multimedia
A constructive algebraic hierarchy in Coq
Journal of Symbolic Computation - Integrated reasoning and algebra systems
Type Classes and Overloading in Higher-Order Logic
TPHOLs '97 Proceedings of the 10th International Conference on Theorem Proving in Higher Order Logics
Theoretical Computer Science - Foundations of software science and computation structures
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
A history of Haskell: being lazy with class
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Context Aware Calculation and Deduction
Calculemus '07 / MKM '07 Proceedings of the 14th symposium on Towards Mechanized Mathematical Assistants: 6th International Conference
TPHOLs '08 Proceedings of the 21st International Conference on Theorem Proving in Higher Order Logics
TPHOLs '08 Proceedings of the 21st International Conference on Theorem Proving in Higher Order Logics
Reusable, generic program analyses and transformations
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
Source-level proof reconstruction for interactive theorem proving
TPHOLs'07 Proceedings of the 20th international conference on Theorem proving in higher order logics
CTP-based programming languages?: considerations about an experimental design
ACM Communications in Computer Algebra
Partizan games in Isabelle/HOLZF
ICTAC'06 Proceedings of the Third international conference on Theoretical Aspects of Computing
Proving bounds for real linear programs in Isabelle/HOL
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
Proof pearl: defining functions over finite sets
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
Hi-index | 0.00 |
Mathematical reasoning may involve several arithmetic types, including those of the natural, integer, rational, real, and complex numbers. These types satisfy many of the same algebraic laws. These laws need to be made available to users, uniformly and preferably without repetition, but with due account for the peculiarities of each type. Subtyping, where a type inherits properties from a supertype, can eliminate repetition only for a fixed type hierarchy set up in advance by implementors. The approach recently adopted for Isabelle uses axiomatic type classes, an established approach to overloading. Abstractions such as semirings, rings, fields, and their ordered counterparts are defined, and theorems are proved algebraically. Types that meet the abstractions inherit the appropriate theorems.