English

Defining Functions on Equivalence Classes

Logic in Computer Science 2019-07-18 v1

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 \emph{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.

Keywords

Cite

@article{arxiv.1907.07591,
  title  = {Defining Functions on Equivalence Classes},
  author = {Lawrence C. Paulson},
  journal= {arXiv preprint arXiv:1907.07591},
  year   = {2019}
}

Comments

18 pages

R2 v1 2026-06-23T10:23:21.485Z