Idris2Doc : Data.Setoid.Definition

Data.Setoid.Definition

Basic definition and notation for setoids

Reexports

importpublic Control.Relation
importpublic Control.Order
importpublic Data.Fun.Nary

Definitions

recordEquivalence : Type->Type
Totality: total
Visibility: public export
Constructor: 
MkEquivalence : {0A : Type} -> (0relation : RelA) -> ((x : A) ->relationxx) -> ((x : A) -> (y : A) ->relationxy->relationyx) -> ((x : A) -> (y : A) -> (z : A) ->relationxy->relationyz->relationxz) ->EquivalenceA

Projections:
.reflexive : {0A : Type} -> ({rec:0} : EquivalenceA) -> (x : A) ->relation{rec:0}xx
0.relation : {0A : Type} ->EquivalenceA->RelA
.symmetric : {0A : Type} -> ({rec:0} : EquivalenceA) -> (x : A) -> (y : A) ->relation{rec:0}xy->relation{rec:0}yx
.transitive : {0A : Type} -> ({rec:0} : EquivalenceA) -> (x : A) -> (y : A) -> (z : A) ->relation{rec:0}xy->relation{rec:0}yz->relation{rec:0}xz
0.relation : {0A : Type} ->EquivalenceA->RelA
Totality: total
Visibility: public export
0relation : {0A : Type} ->EquivalenceA->RelA
Totality: total
Visibility: public export
.reflexive : {0A : Type} -> ({rec:0} : EquivalenceA) -> (x : A) ->relation{rec:0}xx
Totality: total
Visibility: public export
reflexive : {0A : Type} -> ({rec:0} : EquivalenceA) -> (x : A) ->relation{rec:0}xx
Totality: total
Visibility: public export
.symmetric : {0A : Type} -> ({rec:0} : EquivalenceA) -> (x : A) -> (y : A) ->relation{rec:0}xy->relation{rec:0}yx
Totality: total
Visibility: public export
symmetric : {0A : Type} -> ({rec:0} : EquivalenceA) -> (x : A) -> (y : A) ->relation{rec:0}xy->relation{rec:0}yx
Totality: total
Visibility: public export
.transitive : {0A : Type} -> ({rec:0} : EquivalenceA) -> (x : A) -> (y : A) -> (z : A) ->relation{rec:0}xy->relation{rec:0}yz->relation{rec:0}xz
Totality: total
Visibility: public export
transitive : {0A : Type} -> ({rec:0} : EquivalenceA) -> (x : A) -> (y : A) -> (z : A) ->relation{rec:0}xy->relation{rec:0}yz->relation{rec:0}xz
Totality: total
Visibility: public export
EqualEquivalence : (0a : Type) ->Equivalencea
Totality: total
Visibility: public export
recordSetoid : Type
Totality: total
Visibility: public export
Constructor: 
MkSetoid : (0U : Type) ->EquivalenceU->Setoid

Projections:
0.U : Setoid->Type
.equivalence : ({rec:0} : Setoid) ->Equivalence (U{rec:0})

Hints:
Cast (Modelpres) Setoid
Cast (SetoidAlgebrasig) Setoid
CastTypeSetoid
pres.signature=sig=>Semantic (Extensionax) (Opsig)
pres.signature=sig=>Semantic (Extensionax) (Termsigy)
pres.signature=sig=>Semantic (Frexax) (Opsig)
pres.signature=sig=>Semantic (Frexax) (Termsigy)
pres.signature=sig=>Semantic (ModelOverpresx) (Opsig)
pres.signature=sig=>Semantic (ModelOverpresx) (Termsigy)
pres.signature=sig=>Semantic (Freepresx) (Opsig)
pres.signature=sig=>Semantic (Freepresx) (Termsigy)
Show (FreePresetoidsigxuv)
0.U : Setoid->Type
Totality: total
Visibility: public export
0U : Setoid->Type
Totality: total
Visibility: public export
.equivalence : ({rec:0} : Setoid) ->Equivalence (U{rec:0})
Totality: total
Visibility: public export
equivalence : ({rec:0} : Setoid) ->Equivalence (U{rec:0})
Totality: total
Visibility: public export
recordPreorderData : (A : Type) ->RelA->Type
Totality: total
Visibility: public export
Constructor: 
MkPreorderData : {0A : Type} -> ((x : A) ->relxx) -> ((x : A) -> (y : A) -> (z : A) ->relxy->relyz->relxz) ->PreorderDataArel

Projections:
.reflexive : {0A : Type} ->PreorderDataArel-> (x : A) ->relxx
.transitive : {0A : Type} ->PreorderDataArel-> (x : A) -> (y : A) -> (z : A) ->relxy->relyz->relxz
.reflexive : {0A : Type} ->PreorderDataArel-> (x : A) ->relxx
Totality: total
Visibility: public export
reflexive : {0A : Type} ->PreorderDataArel-> (x : A) ->relxx
Totality: total
Visibility: public export
.transitive : {0A : Type} ->PreorderDataArel-> (x : A) -> (y : A) -> (z : A) ->relxy->relyz->relxz
Totality: total
Visibility: public export
transitive : {0A : Type} ->PreorderDataArel-> (x : A) -> (y : A) -> (z : A) ->relxy->relyz->relxz
Totality: total
Visibility: public export
MkPreorderWorkaround : Preordertyrel
Totality: total
Visibility: public export
reflect : (a : Setoid) ->x=y-> (a.equivalence) .relationxy
Totality: total
Visibility: public export
MkPreorder : ((x : a) ->relxx) -> ((x : a) -> (y : a) -> (z : a) ->relxy->relyz->relxz) ->Preorderarel
Totality: total
Visibility: public export
cast : (a : Setoid) ->Preorder (Ua) ((a.equivalence) .relation)
Totality: total
Visibility: public export
irrelevantCast : (0_ : Type) ->Setoid
Totality: total
Visibility: public export
0SetoidHomomorphism : (a : Setoid) -> (b : Setoid) -> (Ua->Ub) ->Type
Totality: total
Visibility: public export
record(~>) : Setoid->Setoid->Type
Totality: total
Visibility: public export
Constructor: 
MkSetoidHomomorphism : {0A : Setoid} -> {0B : Setoid} -> (H : (UA->UB)) ->SetoidHomomorphismABH->A~>B

Projections:
.H : {0A : Setoid} -> {0B : Setoid} ->A~>B->UA->UB
.homomorphic : {0A : Setoid} -> {0B : Setoid} -> ({rec:0} : A~>B) ->SetoidHomomorphismAB (H{rec:0})

Fixity Declarations:
infix operator, level 5
infix operator, level 5
infix operator, level 5
.H : {0A : Setoid} -> {0B : Setoid} ->A~>B->UA->UB
Totality: total
Visibility: public export
H : {0A : Setoid} -> {0B : Setoid} ->A~>B->UA->UB
Totality: total
Visibility: public export
.homomorphic : {0A : Setoid} -> {0B : Setoid} -> ({rec:0} : A~>B) ->SetoidHomomorphismAB (H{rec:0})
Totality: total
Visibility: public export
homomorphic : {0A : Setoid} -> {0B : Setoid} -> ({rec:0} : A~>B) ->SetoidHomomorphismAB (H{rec:0})
Totality: total
Visibility: public export
mate : (a->Ub) ->irrelevantCasta~>b
Totality: total
Visibility: public export
id : (a : Setoid) ->a~>a
  Identity Setoid homomorphism

Totality: total
Visibility: public export
(.) : b~>c->a~>b->a~>c
  Composition of Setoid homomorphisms

Totality: total
Visibility: public export
Fixity Declaration: infixr operator, level 9
(~~>) : Setoid->Setoid->Setoid
Totality: total
Visibility: public export
Fixity Declaration: infix operator, level 5
post : b~>c-> (a~~>b) ~> (a~~>c)
Totality: total
Visibility: public export
recordIsomorphism : a~>b->b~>a->Type
  Two setoid homomorphism are each other's inverses

Totality: total
Visibility: public export
Constructor: 
IsIsomorphism : {0Fwd : a~>b} -> {0Bwd : b~>a} -> ((a~~>a) .equivalence) .relation (Bwd.Fwd) (ida) -> ((b~~>b) .equivalence) .relation (Fwd.Bwd) (idb) ->IsomorphismFwdBwd

Projections:
.BwdFwdId : {0Fwd : a~>b} -> {0Bwd : b~>a} ->IsomorphismFwdBwd-> ((a~~>a) .equivalence) .relation (Bwd.Fwd) (ida)
.FwdBwdId : {0Fwd : a~>b} -> {0Bwd : b~>a} ->IsomorphismFwdBwd-> ((b~~>b) .equivalence) .relation (Fwd.Bwd) (idb)
.BwdFwdId : {0Fwd : a~>b} -> {0Bwd : b~>a} ->IsomorphismFwdBwd-> ((a~~>a) .equivalence) .relation (Bwd.Fwd) (ida)
Totality: total
Visibility: public export
BwdFwdId : {0Fwd : a~>b} -> {0Bwd : b~>a} ->IsomorphismFwdBwd-> ((a~~>a) .equivalence) .relation (Bwd.Fwd) (ida)
Totality: total
Visibility: public export
.FwdBwdId : {0Fwd : a~>b} -> {0Bwd : b~>a} ->IsomorphismFwdBwd-> ((b~~>b) .equivalence) .relation (Fwd.Bwd) (idb)
Totality: total
Visibility: public export
FwdBwdId : {0Fwd : a~>b} -> {0Bwd : b~>a} ->IsomorphismFwdBwd-> ((b~~>b) .equivalence) .relation (Fwd.Bwd) (idb)
Totality: total
Visibility: public export
record(<~>) : Setoid->Setoid->Type
  Setoid isomorphism

Totality: total
Visibility: public export
Constructor: 
MkIsomorphism : (Fwd : a~>b) -> (Bwd : b~>a) ->IsomorphismFwdBwd->a<~>b

Projections:
.Bwd : a<~>b->b~>a
.Fwd : a<~>b->a~>b
.Iso : ({rec:0} : a<~>b) ->Isomorphism (Fwd{rec:0}) (Bwd{rec:0})

Fixity Declarations:
infix operator, level 5
infix operator, level 5
.Fwd : a<~>b->a~>b
Totality: total
Visibility: public export
Fwd : a<~>b->a~>b
Totality: total
Visibility: public export
.Bwd : a<~>b->b~>a
Totality: total
Visibility: public export
Bwd : a<~>b->b~>a
Totality: total
Visibility: public export
.Iso : ({rec:0} : a<~>b) ->Isomorphism (Fwd{rec:0}) (Bwd{rec:0})
Totality: total
Visibility: public export
Iso : ({rec:0} : a<~>b) ->Isomorphism (Fwd{rec:0}) (Bwd{rec:0})
Totality: total
Visibility: public export
refl : a<~>a
  Identity (isomorphism _)

Totality: total
Visibility: public export
sym : a<~>b->b<~>a
  Reverse an isomorphism

Totality: total
Visibility: public export
trans : a<~>b->b<~>c->a<~>c
  Compose isomorphisms

Totality: total
Visibility: public export
IsoEquivalence : EquivalenceSetoid
Totality: total
Visibility: public export
Quotient : (b : Setoid) -> (a->Ub) ->Setoid
  Quotient a type by an function into a setoid

Instance of the more general coequaliser of two setoid morphisms.

Totality: total
Visibility: public export