summaryrefslogtreecommitdiff
path: root/src/elab_util.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-07-01 12:10:46 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-07-01 12:10:46 -0400
commit7628e1d8f7f8199531c9bc08a774c9a9e2bc5d63 (patch)
tree3d434c77c5ec6ac3660a553072e1c1ba26cd4665 /src/elab_util.sml
parentd28cad7cc5881018717c7e875c99c51469da9d44 (diff)
Disjointness assumptions
Diffstat (limited to 'src/elab_util.sml')
-rw-r--r--src/elab_util.sml8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/elab_util.sml b/src/elab_util.sml
index e9b7ddd9..63d035e8 100644
--- a/src/elab_util.sml
+++ b/src/elab_util.sml
@@ -124,6 +124,14 @@ fun mapfoldB {kind = fk, con = fc, bind} =
S.map2 (mfc (bind (ctx, Rel (x, k))) c,
fn c' =>
(CAbs (x, k', c'), loc)))
+ | CDisjoint (c1, c2, c3) =>
+ S.bind2 (mfc ctx c1,
+ fn c1' =>
+ S.bind2 (mfc ctx c2,
+ fn c2' =>
+ S.map2 (mfc ctx c3,
+ fn c3' =>
+ (CDisjoint (c1', c2', c3'), loc))))
| CName _ => S.return2 cAll