Results 1 -
7 of
7
Organizing numerical theories using axiomatic type classes
- Journal of Automated Reasoning
, 2004
"... 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 acco ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
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. 1
Defining functions on equivalence classes
- ACM Transactions on Computational Logic
"... A quotient construction defines an abstract type from a concrete type, using an equivalence relation to identify elements of the concrete type that are to be regarded as indistinguishable. The elements of a quotient type are equivalence classes: sets of equivalent concrete values. Simple techniques ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
A quotient construction defines an abstract type from a concrete type, using an equivalence relation to identify elements of the concrete type that are to be regarded as indistinguishable. The elements of a quotient type are equivalence classes: sets of equivalent concrete values. Simple techniques are presented for defining and reasoning about quotient construction, based on a general lemma library concerning functions that operate on equivalence classes. The techniques are applied to a definition of the integers from the natural numbers, and then to the definition of a recursive datatype satisfying equational constraints.
Modeling Inheritance as Coercion in the Kenzo System
"... Abstract: In this paper the analysis of the data structures used in a symbolic computation system, called Kenzo, is undertaken. We deal with the specification of the inheritance relationship since Kenzo is an object-oriented system, written in CLOS, the Common Lisp Object System. We show how the ord ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
Abstract: In this paper the analysis of the data structures used in a symbolic computation system, called Kenzo, is undertaken. We deal with the specification of the inheritance relationship since Kenzo is an object-oriented system, written in CLOS, the Common Lisp Object System. We show how the order-sorted algebraic specification formalism can be adapted, through the “inheritance as coercion ” metaphor, in order to model the simple inheritance between structures in Kenzo.
Bridging the gap between formal specification and bit-level floating-point arithmetic
"... Floating-point arithmetic is defined by the IEEE-754 standard and has often been
formalized. We propose a new Coq formalization based on the bit-level representation of the standard and we prove strong links between this new formalization and
a previous high-level one. In this process, we have defin ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Floating-point arithmetic is defined by the IEEE-754 standard and has often been
formalized. We propose a new Coq formalization based on the bit-level representation of the standard and we prove strong links between this new formalization and
a previous high-level one. In this process, we have defined functions for any rounding mode described by the standard. Our library can now be applied to certify
both software and hardware. Developing results in those two dramatically different
directions, like no other formal development so far, guarantees that nothing was
forgotten or poorly specified in our formalization. It also lets us compare our work
with the existing bit-level formalizations developed with other proof assistants.
Project Title Systems for Computer-Supported Mathematical Knowledge Evolution Specific Programme Structuring the European Research Area Activity Human Resources and Mobility Activities
, 2003
"... Abstract The longterm goal of the Calculemus interest group is to foster the all-embracing integration of symbolic reasoning into mathematical research, mathematics education, and formal methods in computer science. A new generation of mathematical software systems is currently under development tha ..."
Abstract
- Add to MetaCart
Abstract The longterm goal of the Calculemus interest group is to foster the all-embracing integration of symbolic reasoning into mathematical research, mathematics education, and formal methods in computer science. A new generation of mathematical software systems is currently under development that provides integrated computer-based support for most work tasks of a mathematician — including computation and reasoning as well as search in large mathematical data bases. Calculemus anticipates that in the long run these systems will change mathematical practice and that they will have a strong societal impact, not least in the sense that powerful infrastructure for mathematical research and education will become better accessible. Mathematical reasoning systems have a strong impact on other fields, most notably in computer science for the verification of safety and security properties — and it is in these areas where a severe shortage of trained engineers exists. Calculemus-II will address this training and education problem via an integrated programme of distributed PhD supervision, post PhD training, industrial internships, international seminars, and lectures as well as an international Calculemus Summer School.
Defining Functions on Equivalence Classes
- ACM Transactions on Computational Logic
"... A quotient construction defines an abstract type from a concrete type, using an equivalence relation to identify elements of the concrete type that are to be regarded as indistinguishable. The elements of a quotient type are equivalence classes: sets of equivalent concrete values. There are simpl ..."
Abstract
- Add to MetaCart
A quotient construction defines an abstract type from a concrete type, using an equivalence relation to identify elements of the concrete type that are to be regarded as indistinguishable. The elements of a quotient type are equivalence classes: sets of equivalent concrete values. There are simple techniques for defining and reasoning about functions that operate on equivalence classes. A general lemma library is applied to a definition of the integers from the natural numbers, and then to the definition of a recursive datatype satisfying equational constraints.

