equal
deleted
inserted
replaced
9 |
9 |
10 signature BNF_GFP = |
10 signature BNF_GFP = |
11 sig |
11 sig |
12 val construct_gfp: mixfix list -> binding list -> binding list -> binding list list -> |
12 val construct_gfp: mixfix list -> binding list -> binding list -> binding list list -> |
13 binding list -> (string * sort) list -> typ list * typ list list -> BNF_Def.bnf list -> |
13 binding list -> (string * sort) list -> typ list * typ list list -> BNF_Def.bnf list -> |
14 local_theory -> BNF_FP_Util.fp_result * local_theory |
14 BNF_Comp.absT_info list -> local_theory -> BNF_FP_Util.fp_result * local_theory |
15 end; |
15 end; |
16 |
16 |
17 structure BNF_GFP : BNF_GFP = |
17 structure BNF_GFP : BNF_GFP = |
18 struct |
18 struct |
19 |
19 |
53 fun tree_to_coind_wits _ (Wit_Leaf _) = [] |
53 fun tree_to_coind_wits _ (Wit_Leaf _) = [] |
54 | tree_to_coind_wits lwitss (Wit_Node ((i, nwit, I), subtrees)) = |
54 | tree_to_coind_wits lwitss (Wit_Node ((i, nwit, I), subtrees)) = |
55 ((i, I), nth (nth lwitss i) nwit) :: maps (tree_to_coind_wits lwitss) subtrees; |
55 ((i, I), nth (nth lwitss i) nwit) :: maps (tree_to_coind_wits lwitss) subtrees; |
56 |
56 |
57 (*all BNFs have the same lives*) |
57 (*all BNFs have the same lives*) |
58 fun construct_gfp mixfixes map_bs rel_bs set_bss0 bs resBs (resDs, Dss) bnfs lthy = |
58 fun construct_gfp mixfixes map_bs rel_bs set_bss0 bs resBs (resDs, Dss) bnfs _ lthy = |
59 let |
59 let |
60 val time = time lthy; |
60 val time = time lthy; |
61 val timer = time (Timer.startRealTimer ()); |
61 val timer = time (Timer.startRealTimer ()); |
62 |
62 |
63 val live = live_of_bnf (hd bnfs); |
63 val live = live_of_bnf (hd bnfs); |