https://github.com/totbwf/agda-partial-setoid
An implementation of partial setiods in agda
https://github.com/totbwf/agda-partial-setoid
agda type-theory
Last synced: 3 months ago
JSON representation
An implementation of partial setiods in agda
- Host: GitHub
- URL: https://github.com/totbwf/agda-partial-setoid
- Owner: TOTBWF
- Created: 2019-07-17T15:02:03.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-07-21T21:18:08.000Z (almost 7 years ago)
- Last Synced: 2025-03-06T17:16:08.448Z (over 1 year ago)
- Topics: agda, type-theory
- Language: Agda
- Size: 19.5 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Partial Setoids in Agda
=========================
A setoid is some set (or type, in the case of agda), equipped with an
equivalence relation. This is useful in agda, because it allows
us to use a much more interesting notions of equality than
definitional equality, and define things like quotients of types.
Partial Setoids are a generalization of this concept.
Instead of equipping our set/type with an equivalence relation,
we use a _partial_ equivalence relation (equivalence relation w/o reflexivity).
Whereas Setoids let us enrich a type with extra equalities, Partial Setoids
let us take away equalities, opening the door for things like subsets of types.
For example, we define a "subset" of a type as follows. Let `S` be a Partial Setoid
over some type `A` with a Partial Equivalence relationship `≈`. We say some `x : A`
is a member of `S` (or `x ∈ S`) if we can prove that `x ≈ x`.
This library implements Partial Setoids in agda, and proves some interesting properties
of otther structures using these definitions.