src/HOL/Tools/inductive_codegen.ML
changeset 26931 aa226d8405a8
parent 26928 ca87aff1ad2d
child 26939 1035c89b4c02
equal deleted inserted replaced
26930:64e50d783276 26931:aa226d8405a8
   124   (fn NONE => "X"
   124   (fn NONE => "X"
   125     | SOME js => enclose "[" "]" (commas (map string_of_int js)))
   125     | SOME js => enclose "[" "]" (commas (map string_of_int js)))
   126        (iss @ [SOME is]));
   126        (iss @ [SOME is]));
   127 
   127 
   128 fun print_modes modes = message ("Inferred modes:\n" ^
   128 fun print_modes modes = message ("Inferred modes:\n" ^
   129   space_implode "\n" (map (fn (s, ms) => s ^ ": " ^ commas (map
   129   cat_lines (map (fn (s, ms) => s ^ ": " ^ commas (map
   130     string_of_mode ms)) modes));
   130     string_of_mode ms)) modes));
   131 
   131 
   132 val term_vs = map (fst o fst o dest_Var) o term_vars;
   132 val term_vs = map (fst o fst o dest_Var) o term_vars;
   133 val terms_vs = distinct (op =) o List.concat o (map term_vs);
   133 val terms_vs = distinct (op =) o List.concat o (map term_vs);
   134 
   134 
   469 fun lookup_modes gr dep = apfst List.concat (apsnd List.concat (ListPair.unzip
   469 fun lookup_modes gr dep = apfst List.concat (apsnd List.concat (ListPair.unzip
   470   (map ((fn (SOME (Modes x), _, _) => x | _ => ([], [])) o get_node gr)
   470   (map ((fn (SOME (Modes x), _, _) => x | _ => ([], [])) o get_node gr)
   471     (Graph.all_preds (fst gr) [dep]))));
   471     (Graph.all_preds (fst gr) [dep]))));
   472 
   472 
   473 fun print_arities arities = message ("Arities:\n" ^
   473 fun print_arities arities = message ("Arities:\n" ^
   474   space_implode "\n" (map (fn (s, (ks, k)) => s ^ ": " ^
   474   cat_lines (map (fn (s, (ks, k)) => s ^ ": " ^
   475     space_implode " -> " (map
   475     space_implode " -> " (map
   476       (fn NONE => "X" | SOME k' => string_of_int k')
   476       (fn NONE => "X" | SOME k' => string_of_int k')
   477         (ks @ [SOME k]))) arities));
   477         (ks @ [SOME k]))) arities));
   478 
   478 
   479 fun prep_intrs intrs = map (rename_term o #prop o rep_thm o standard) intrs;
   479 fun prep_intrs intrs = map (rename_term o #prop o rep_thm o standard) intrs;