comparison src/elab_ops.sml @ 990:46803e668a89

Fix a de Bruijn index bug in map fusion
author Adam Chlipala <adamc@hcoop.net>
date Tue, 06 Oct 2009 10:15:26 -0400
parents 7a4b026e45dd
children a779402841f6
comparison
equal deleted inserted replaced
989:0bdc4d538f1c 990:46803e668a89
240 (case #1 (hnormCon env f') of 240 (case #1 (hnormCon env f') of
241 CApp (f', inner_f) => 241 CApp (f', inner_f) =>
242 (case #1 (hnormCon env f') of 242 (case #1 (hnormCon env f') of
243 CMap (dom, _) => 243 CMap (dom, _) =>
244 let 244 let
245 val inner_f = liftConInCon 0 inner_f
246 val f = liftConInCon 0 f
247
245 val f' = (CApp (inner_f, (CRel 0, loc)), loc) 248 val f' = (CApp (inner_f, (CRel 0, loc)), loc)
246 val f' = (CApp (f, f'), loc) 249 val f' = (CApp (f, f'), loc)
247 val f' = (CAbs ("v", dom, f'), loc) 250 val f' = (CAbs ("v", dom, f'), loc)
248 251
249 val c = (CMap (dom, k2), loc) 252 val c = (CMap (dom, k2), loc)