src/Pure/Isar/isar_cmd.ML
changeset 20574 a10885a269cb
parent 19430 177e35232d1b
child 20621 29d57880ba00
equal deleted inserted replaced
20573:c945a208e7f8 20574:a10885a269cb
    55   val print_rules: Toplevel.transition -> Toplevel.transition
    55   val print_rules: Toplevel.transition -> Toplevel.transition
    56   val print_induct_rules: Toplevel.transition -> Toplevel.transition
    56   val print_induct_rules: Toplevel.transition -> Toplevel.transition
    57   val print_trans_rules: Toplevel.transition -> Toplevel.transition
    57   val print_trans_rules: Toplevel.transition -> Toplevel.transition
    58   val print_methods: Toplevel.transition -> Toplevel.transition
    58   val print_methods: Toplevel.transition -> Toplevel.transition
    59   val print_antiquotations: Toplevel.transition -> Toplevel.transition
    59   val print_antiquotations: Toplevel.transition -> Toplevel.transition
    60   val thm_deps: (thmref * Attrib.src list) list ->
    60   val class_deps: Toplevel.transition -> Toplevel.transition
    61     Toplevel.transition -> Toplevel.transition
    61   val thm_deps: (thmref * Attrib.src list) list -> Toplevel.transition -> Toplevel.transition
    62   val find_theorems: int option * (bool * string FindTheorems.criterion) list
    62   val find_theorems: int option * (bool * string FindTheorems.criterion) list
    63     -> Toplevel.transition -> Toplevel.transition
    63     -> Toplevel.transition -> Toplevel.transition
    64   val print_binds: Toplevel.transition -> Toplevel.transition
    64   val print_binds: Toplevel.transition -> Toplevel.transition
    65   val print_lthms: Toplevel.transition -> Toplevel.transition
    65   val print_lthms: Toplevel.transition -> Toplevel.transition
    66   val print_cases: Toplevel.transition -> Toplevel.transition
    66   val print_cases: Toplevel.transition -> Toplevel.transition
   267 val print_methods = Toplevel.unknown_theory o
   267 val print_methods = Toplevel.unknown_theory o
   268   Toplevel.keep (Method.print_methods o Toplevel.theory_of);
   268   Toplevel.keep (Method.print_methods o Toplevel.theory_of);
   269 
   269 
   270 val print_antiquotations = Toplevel.imperative IsarOutput.print_antiquotations;
   270 val print_antiquotations = Toplevel.imperative IsarOutput.print_antiquotations;
   271 
   271 
       
   272 val class_deps = Toplevel.unknown_theory o Toplevel.keep (fn state =>
       
   273   let
       
   274     val thy = Toplevel.theory_of state;
       
   275     val {classes = (space, algebra), ...} = Type.rep_tsig (Sign.tsig_of thy);
       
   276     val {classes, ...} = Sorts.rep_algebra algebra;
       
   277     fun entry (c, (i, (_, cs))) =
       
   278       (i, {name = NameSpace.extern space c, ID = c, parents = cs,
       
   279             dir = "", unfold = true, path = ""});
       
   280     val gr =
       
   281       Graph.fold (cons o entry) classes []
       
   282       |> sort (int_ord o pairself #1) |> map #2;
       
   283   in Present.display_graph gr end);
       
   284 
   272 
   285 
   273 (* retrieve theorems *)
   286 (* retrieve theorems *)
   274 
   287 
   275 fun thm_deps args = Toplevel.unknown_theory o Toplevel.keep (fn state =>
   288 fun thm_deps args = Toplevel.unknown_theory o Toplevel.keep (fn state =>
   276   ThmDeps.thm_deps (Proof.get_thmss (Toplevel.enter_forward_proof state) args));
   289   ThmDeps.thm_deps (Proof.get_thmss (Toplevel.enter_forward_proof state) args));