summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Brown <greg.brown01@ed.ac.uk>2022-11-25 15:28:16 +0000
committerGreg Brown <greg.brown01@ed.ac.uk>2022-11-25 15:28:16 +0000
commiteffca509eb470faa515bdb7e61cdaddc80ed37ff (patch)
tree019df4f9a039ead2fe2258b1dda87385106f0397
parentc13a509f5bbbe07d1e8899134a5385e1b72a9625 (diff)
Define index on Pointwise.
-rw-r--r--src/Soat/Data/Product.idr5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/Soat/Data/Product.idr b/src/Soat/Data/Product.idr
index 2c5d973..7e0ede0 100644
--- a/src/Soat/Data/Product.idr
+++ b/src/Soat/Data/Product.idr
@@ -131,6 +131,11 @@ namespace Pointwise
-> (r : rel i x y) -> (rs : Pointwise rel xs ys) -> Pointwise rel (x :: xs) (y :: ys)
public export
+ index : Pointwise rel xs ys -> (elem : Elem i is) -> rel i (index xs elem) (index ys elem)
+ index (r :: rs) Here = r
+ index (r :: rs) (There elem) = index rs elem
+
+ public export
map : forall b . {0 r, s : (i : a) -> Rel (b i)}
-> ((i : a) -> {x, y : b i} -> r i x y -> s i x y)
-> {is : List a} -> {xs, ys : b ^ is} -> Pointwise r {is} xs ys -> Pointwise s {is} xs ys