diff options
-rw-r--r-- | src/Data/Setoid/Indexed/Definition.idr | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/Data/Setoid/Indexed/Definition.idr b/src/Data/Setoid/Indexed/Definition.idr index d50af06..cf2bb3d 100644 --- a/src/Data/Setoid/Indexed/Definition.idr +++ b/src/Data/Setoid/Indexed/Definition.idr @@ -61,6 +61,18 @@ index x i = MkSetoid } } +public export +reindex : (a -> b) -> IndexedSetoid b -> IndexedSetoid a +reindex f x = MkIndexedSetoid + { U = x.U . f + , equivalence = MkIndexedEquivalence + { relation = \i => x.equivalence.relation (f i) + , reflexive = \i => x.equivalence.reflexive (f i) + , symmetric = \i => x.equivalence.symmetric (f i) + , transitive = \i => x.equivalence.transitive (f i) + } + } + namespace ToSetoid public export irrelevantCast : (0 b : a -> Type) -> IndexedSetoid a |