equal
deleted
inserted
replaced
35 val (head, args) = Term.strip_comb lhs; |
35 val (head, args) = Term.strip_comb lhs; |
36 val head_tfrees = Term.add_tfrees head []; |
36 val head_tfrees = Term.add_tfrees head []; |
37 |
37 |
38 fun check_arg (Bound _) = true |
38 fun check_arg (Bound _) = true |
39 | check_arg (Free (x, _)) = not (is_fixed x) |
39 | check_arg (Free (x, _)) = not (is_fixed x) |
40 | check_arg (Const ("TYPE", Type ("itself", [TFree _]))) = true |
40 | check_arg (Const ("Pure.type", Type ("itself", [TFree _]))) = true |
41 | check_arg _ = false; |
41 | check_arg _ = false; |
42 fun close_arg (Bound _) t = t |
42 fun close_arg (Bound _) t = t |
43 | close_arg x t = Logic.all x t; |
43 | close_arg x t = Logic.all x t; |
44 |
44 |
45 val lhs_bads = filter_out check_arg args; |
45 val lhs_bads = filter_out check_arg args; |