summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Soat/Relation.idr10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Soat/Relation.idr b/src/Soat/Relation.idr
index 9a394c2..cb94216 100644
--- a/src/Soat/Relation.idr
+++ b/src/Soat/Relation.idr
@@ -73,3 +73,13 @@ record ISetoid (a : Type) where
0 U : a -> Type
0 relation : IRel U
equivalence : IEquivalence U relation
+
+public export
+IFunc : {a : Type} -> (x, y : a -> Type) -> Type
+IFunc {a} x y = (i : a) -> x i -> y i
+
+public export
+record IFunction {a : Type} (x, y : ISetoid a) where
+ constructor MkIFunction
+ func : IFunc x.U y.U
+ cong : (i : a) -> {u, v : x.U i} -> x.relation i u v -> y.relation i (func i u) (func i v)