summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Data/Setoid/Indexed/Definition.idr12
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