- Setoid
In
mathematics , a setoid is a set (or type) equipped with anequivalence relation .Setoids are studied especially in
proof theory and intype-theoretic foundations of mathematics . Often in mathematics, when one defines an equivalence relation on a set, one immediately forms thequotient set (turning equivalence into equality). In contrast, setoids may be used when a difference between identity and equivalence must be maintained, often with an interpretation ofintension al equality (the equality on the original set) and extensional equality (the equivalence relation, or the equality on the quotient set).In proof theory, particularly the proof theory of
constructive mathematics based on theCurry–Howard correspondence , one often identifies a mathematicalproposition with its set of proofs (if any). A given proposition may have many proofs, of course; according to the principle ofproof irrelevance , normally only the truth of the proposition matters, not which proof was used. However, the Curry–Howard correspondence can turn proofs intoalgorithm s, and differences between algorithms are often important. So proof theorists may prefer to identify a proposition with a "setoid" of proofs, considering proofs equivalent if they can be converted into one another throughbeta conversion or the like.In type-theoretic foundations of mathematics, setoids may be used in a type theory that lacks quotient types to model general mathematical sets. For example, in
Per Martin-Löf 'sIntuitionistic Type Theory , there is no type ofreal number s, only a type ofregular Cauchy sequence s ofrational number s. To doreal analysis in Martin-Löf's framework, therefore, one must work with a "setoid" of real numbers, the type of regular Cauchy sequences equipped with the usual notion of equivalence. Typically (although it depends on the type theory used), theaxiom of choice will hold for functions between types (intensional functions), but not for functions between setoids (extensional functions). The term "set" is variously used either as a synonym of "type" or as a synonym of "setoid"; see [http://www.cs.chalmers.se/Cs/Research/Logic/TypesSS05/Extra/palmgren.pdf#search=setoid] (page 9).References
*
Martin Hofmann , [http://www.tcs.informatik.uni-muenchen.de/~mhofmann/tlca95.ps A Simple Model for Quotient Types] , in "Typed lambda calculi and applications (Edinburgh, 1995)", 216-234, Lecture Notes in Computer Science 902, Springer.External links
* Implementation of setoids in
Coq : [http://coq.inria.fr/library/Coq.Setoids.Setoid.html]
Wikimedia Foundation. 2010.