equal
deleted
inserted
replaced
312 val old_lthy = lthy |
312 val old_lthy = lthy |
313 val old_As = snd (dest_Type (#T fp_sugar)) |
313 val old_As = snd (dest_Type (#T fp_sugar)) |
314 val liveness = |
314 val liveness = |
315 BNF_FP_Def_Sugar.liveness_of_fp_bnf (length old_As) (hd (#bnfs (#fp_res fp_sugar))); |
315 BNF_FP_Def_Sugar.liveness_of_fp_bnf (length old_As) (hd (#bnfs (#fp_res fp_sugar))); |
316 val (unsorted_As, lthy) = mk_TFrees live lthy |
316 val (unsorted_As, lthy) = mk_TFrees live lthy |
317 val As = map2 (Ctr_Sugar_Util.resort_tfree o snd o Ctr_Sugar_Util.dest_TFree_or_TVar) |
317 val As = map2 (Ctr_Sugar_Util.resort_tfree_or_tvar o snd o Ctr_Sugar_Util.dest_TFree_or_TVar) |
318 (map_filter (uncurry (fn true => SOME | false => K NONE)) (liveness ~~ old_As)) unsorted_As |
318 (map_filter (uncurry (fn true => SOME | false => K NONE)) (liveness ~~ old_As)) unsorted_As |
319 val predTs = map mk_pred1T As |
319 val predTs = map mk_pred1T As |
320 val (preds, lthy) = mk_Frees "P" predTs lthy |
320 val (preds, lthy) = mk_Frees "P" predTs lthy |
321 val args = map mk_eq_onp preds |
321 val args = map mk_eq_onp preds |
322 val cTs = map (SOME o certifyT lthy) (maps (replicate 2) As) |
322 val cTs = map (SOME o certifyT lthy) (maps (replicate 2) As) |