equal
deleted
inserted
replaced
1256 let |
1256 let |
1257 val thy = Proof_Context.theory_of ctxt |
1257 val thy = Proof_Context.theory_of ctxt |
1258 fun aux arity (IApp (tm1, tm2)) = IApp (aux (arity + 1) tm1, aux 0 tm2) |
1258 fun aux arity (IApp (tm1, tm2)) = IApp (aux (arity + 1) tm1, aux 0 tm2) |
1259 | aux arity (IConst (name as (s, _), T, T_args)) = |
1259 | aux arity (IConst (name as (s, _), T, T_args)) = |
1260 (case strip_prefix_and_unascii const_prefix s of |
1260 (case strip_prefix_and_unascii const_prefix s of |
1261 NONE => (name, T_args) |
1261 NONE => |
|
1262 (name, if level_of_type_enc type_enc = No_Types then [] else T_args) |
1262 | SOME s'' => |
1263 | SOME s'' => |
1263 let |
1264 let |
1264 val s'' = invert_const s'' |
1265 val s'' = invert_const s'' |
1265 fun filtered_T_args false = T_args |
1266 fun filtered_T_args false = T_args |
1266 | filtered_T_args true = filter_type_args thy s'' arity T_args |
1267 | filtered_T_args true = filter_type_args thy s'' arity T_args |