src/HOL/Tools/Nitpick/nitpick_model.ML
changeset 41993 bd6296de1432
parent 41875 e3cd0dce9b1a
child 42361 23f352990944
equal deleted inserted replaced
41992:0e4716fa330a 41993:bd6296de1432
    12   type rep = Nitpick_Rep.rep
    12   type rep = Nitpick_Rep.rep
    13   type nut = Nitpick_Nut.nut
    13   type nut = Nitpick_Nut.nut
    14 
    14 
    15   type params =
    15   type params =
    16     {show_datatypes: bool,
    16     {show_datatypes: bool,
       
    17      show_skolems: bool,
    17      show_consts: bool}
    18      show_consts: bool}
    18 
    19 
    19   type term_postprocessor =
    20   type term_postprocessor =
    20     Proof.context -> string -> (typ -> term list) -> typ -> term -> term
    21     Proof.context -> string -> (typ -> term list) -> typ -> term -> term
    21 
    22 
    56 
    57 
    57 structure KK = Kodkod
    58 structure KK = Kodkod
    58 
    59 
    59 type params =
    60 type params =
    60   {show_datatypes: bool,
    61   {show_datatypes: bool,
       
    62    show_skolems: bool,
    61    show_consts: bool}
    63    show_consts: bool}
    62 
    64 
    63 type term_postprocessor =
    65 type term_postprocessor =
    64   Proof.context -> string -> (typ -> term list) -> typ -> term -> term
    66   Proof.context -> string -> (typ -> term list) -> typ -> term -> term
    65 
    67 
   857         end
   859         end
   858       else
   860       else
   859         t1 = t2
   861         t1 = t2
   860     end
   862     end
   861 
   863 
   862 fun reconstruct_hol_model {show_datatypes, show_consts}
   864 fun reconstruct_hol_model {show_datatypes, show_skolems, show_consts}
   863         ({hol_ctxt = {thy, ctxt, max_bisim_depth, boxes, stds, wfs, user_axioms,
   865         ({hol_ctxt = {thy, ctxt, max_bisim_depth, boxes, stds, wfs, user_axioms,
   864                       debug, whacks, binary_ints, destroy_constrs, specialize,
   866                       debug, whacks, binary_ints, destroy_constrs, specialize,
   865                       star_linear_preds, total_consts, needs, tac_timeout,
   867                       star_linear_preds, total_consts, needs, tac_timeout,
   866                       evals, case_names, def_tables, nondef_table, user_nondefs,
   868                       evals, case_names, def_tables, nondef_table, user_nondefs,
   867                       simp_table, psimp_table, choice_spec_table, intro_table,
   869                       simp_table, psimp_table, choice_spec_table, intro_table,
   989                                      @{const_name bisim_iterator_max}]
   991                                      @{const_name bisim_iterator_max}]
   990                       o nickname_of)
   992                       o nickname_of)
   991       ||> append (map_filter (free_name_for_term false) pseudo_frees)
   993       ||> append (map_filter (free_name_for_term false) pseudo_frees)
   992     val real_free_names = map_filter (free_name_for_term true) real_frees
   994     val real_free_names = map_filter (free_name_for_term true) real_frees
   993     val chunks = block_of_names true "Free variable" real_free_names @
   995     val chunks = block_of_names true "Free variable" real_free_names @
   994                  block_of_names true "Skolem constant" skolem_names @
   996                  block_of_names show_skolems "Skolem constant" skolem_names @
   995                  block_of_names true "Evaluated term" eval_names @
   997                  block_of_names true "Evaluated term" eval_names @
   996                  block_of_datatypes @ block_of_codatatypes @
   998                  block_of_datatypes @ block_of_codatatypes @
   997                  block_of_names show_consts "Constant"
   999                  block_of_names show_consts "Constant"
   998                                 noneval_nonskolem_nonsel_names
  1000                                 noneval_nonskolem_nonsel_names
   999   in
  1001   in