equal
deleted
inserted
replaced
51 (case strip_type T of |
51 (case strip_type T of |
52 (_, Type (s, _)) => if s = @{type_name bool} then (a, T) :: vs else vs |
52 (_, Type (s, _)) => if s = @{type_name bool} then (a, T) :: vs else vs |
53 | _ => vs)) (Term.add_vars prop []) []; |
53 | _ => vs)) (Term.add_vars prop []) []; |
54 |
54 |
55 val attach_typeS = map_types (map_atyps |
55 val attach_typeS = map_types (map_atyps |
56 (fn TFree (s, []) => TFree (s, HOLogic.typeS) |
56 (fn TFree (s, []) => TFree (s, @{sort type}) |
57 | TVar (ixn, []) => TVar (ixn, HOLogic.typeS) |
57 | TVar (ixn, []) => TVar (ixn, @{sort type}) |
58 | T => T)); |
58 | T => T)); |
59 |
59 |
60 fun dt_of_intrs thy vs nparms intrs = |
60 fun dt_of_intrs thy vs nparms intrs = |
61 let |
61 let |
62 val iTs = rev (Term.add_tvars (prop_of (hd intrs)) []); |
62 val iTs = rev (Term.add_tvars (prop_of (hd intrs)) []); |