Defining functions on equivalence classes

  • Authors:
  • Lawrence C. Paulson

  • Affiliations:
  • University of Cambridge, Cambridge, England

  • Venue:
  • ACM Transactions on Computational Logic (TOCL)
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 constructions, 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.