equal
deleted
inserted
replaced
7 *) |
7 *) |
8 |
8 |
9 signature BNF_LFP = |
9 signature BNF_LFP = |
10 sig |
10 sig |
11 val bnf_lfp: binding list -> typ list list -> BNF_Def.BNF list -> Proof.context -> |
11 val bnf_lfp: binding list -> typ list list -> BNF_Def.BNF list -> Proof.context -> |
12 term list * Proof.context |
12 (term list * term list * thm list * thm list) * Proof.context |
13 end; |
13 end; |
14 |
14 |
15 structure BNF_LFP : BNF_LFP = |
15 structure BNF_LFP : BNF_LFP = |
16 struct |
16 struct |
17 |
17 |
1810 |> maps (fn (thmN, thmss) => |
1810 |> maps (fn (thmN, thmss) => |
1811 map2 (fn b => fn thms => |
1811 map2 (fn b => fn thms => |
1812 ((Binding.qualify true (Binding.name_of b) (Binding.name thmN), []), [(thms, [])])) |
1812 ((Binding.qualify true (Binding.name_of b) (Binding.name thmN), []), [(thms, [])])) |
1813 bs thmss) |
1813 bs thmss) |
1814 in |
1814 in |
1815 (flds, lthy |> Local_Theory.notes (common_notes @ notes) |> snd) |
1815 ((flds, unfs, fld_unf_thms, unf_fld_thms), |
|
1816 lthy |> Local_Theory.notes (common_notes @ notes) |> snd) |
1816 end; |
1817 end; |
1817 |
1818 |
1818 val _ = |
1819 val _ = |
1819 Outer_Syntax.local_theory @{command_spec "data_raw"} "least fixed points for BNF equations" |
1820 Outer_Syntax.local_theory @{command_spec "data_raw"} "least fixed points for BNF equations" |
1820 (Parse.and_list1 |
1821 (Parse.and_list1 |