src/Pure/Tools/thm_deps.ML
changeset 59207 6b030dc97a4f
parent 59058 a78612c67ec0
child 59208 2486d625878b
equal deleted inserted replaced
59206:36808125e00f 59207:6b030dc97a4f
    32                   | NONE => [])
    32                   | NONE => [])
    33                | _ => ["global"]);
    33                | _ => ["global"]);
    34             val parents = filter_out (fn s => s = "") (map (#1 o #2) thms');
    34             val parents = filter_out (fn s => s = "") (map (#1 o #2) thms');
    35             val entry =
    35             val entry =
    36               {name = Long_Name.base_name name,
    36               {name = Long_Name.base_name name,
    37                ID = name,
    37                ident = name,
    38                dir = space_implode "/" (session @ prefix),
    38                directory = space_implode "/" (session @ prefix),
    39                unfold = false,
    39                unfold = false,
    40                path = "",
    40                path = "",
    41                parents = parents,
    41                parents = parents,
    42                content = []};
    42                content = []};
    43           in cons entry end;
    43           in cons entry end;
    44     val deps = Proofterm.fold_body_thms add_dep (Thm.proof_bodies_of thms) [];
    44     val deps = Proofterm.fold_body_thms add_dep (Thm.proof_bodies_of thms) [];
    45   in Graph_Display.display_graph (sort_wrt #ID deps) end;
    45   in Graph_Display.display_graph (sort_wrt #ident deps) end;
    46 
    46 
    47 val _ =
    47 val _ =
    48   Outer_Syntax.command @{command_spec "thm_deps"} "visualize theorem dependencies"
    48   Outer_Syntax.command @{command_spec "thm_deps"} "visualize theorem dependencies"
    49     (Parse.xthms1 >> (fn args =>
    49     (Parse.xthms1 >> (fn args =>
    50       Toplevel.unknown_theory o Toplevel.keep (fn state =>
    50       Toplevel.unknown_theory o Toplevel.keep (fn state =>