equal
deleted
inserted
replaced
325 fun num_tr' show_sorts T [n] = |
325 fun num_tr' show_sorts T [n] = |
326 let |
326 let |
327 val k = int_of_num' n; |
327 val k = int_of_num' n; |
328 val t' = Syntax.const @{syntax_const "_Numerals"} $ Syntax.free ("#" ^ string_of_int k); |
328 val t' = Syntax.const @{syntax_const "_Numerals"} $ Syntax.free ("#" ^ string_of_int k); |
329 in case T |
329 in case T |
330 of Type (@{type_syntax fun}, [_, T']) => |
330 of Type (@{type_name fun}, [_, T']) => |
331 if not (! show_types) andalso can Term.dest_Type T' then t' |
331 if not (! show_types) andalso can Term.dest_Type T' then t' |
332 else Syntax.const Syntax.constrainC $ t' $ Syntax.term_of_typ show_sorts T' |
332 else Syntax.const Syntax.constrainC $ t' $ Syntax.term_of_typ show_sorts T' |
333 | T' => if T' = dummyT then t' else raise Match |
333 | T' => if T' = dummyT then t' else raise Match |
334 end; |
334 end; |
335 in [(@{const_syntax of_num}, num_tr')] end |
335 in [(@{const_syntax of_num}, num_tr')] end |