equal
deleted
inserted
replaced
199 if Binding.name_of b = fname then SOME ((b, mx), T) else NONE) fixes; |
199 if Binding.name_of b = fname then SOME ((b, mx), T) else NONE) fixes; |
200 val def_name = Thm.def_name (Long_Name.base_name fname); |
200 val def_name = Thm.def_name (Long_Name.base_name fname); |
201 val raw_rhs = fold_rev (fn T => fn t => Abs ("", T, t)) (map snd ls @ [dummyT]) |
201 val raw_rhs = fold_rev (fn T => fn t => Abs ("", T, t)) (map snd ls @ [dummyT]) |
202 (list_comb (Const (rec_name, dummyT), fs @ map Bound (0 :: (length ls downto 1)))) |
202 (list_comb (Const (rec_name, dummyT), fs @ map Bound (0 :: (length ls downto 1)))) |
203 val rhs = singleton (Syntax.check_terms ctxt) (Type.constraint varT raw_rhs); |
203 val rhs = singleton (Syntax.check_terms ctxt) (Type.constraint varT raw_rhs); |
204 in (var, ((Binding.conceal (Binding.name def_name), []), rhs)) end; |
204 in (var, ((Binding.concealed (Binding.name def_name), []), rhs)) end; |
205 |
205 |
206 |
206 |
207 (* find datatypes which contain all datatypes in tnames' *) |
207 (* find datatypes which contain all datatypes in tnames' *) |
208 |
208 |
209 fun find_dts _ _ [] = [] |
209 fun find_dts _ _ [] = [] |