274 val (defs, built_in_nondefs, user_nondefs) = all_axioms_of thy subst |
274 val (defs, built_in_nondefs, user_nondefs) = all_axioms_of thy subst |
275 val def_table = const_def_table ctxt subst defs |
275 val def_table = const_def_table ctxt subst defs |
276 val nondef_table = const_nondef_table (built_in_nondefs @ user_nondefs) |
276 val nondef_table = const_nondef_table (built_in_nondefs @ user_nondefs) |
277 val simp_table = Unsynchronized.ref (const_simp_table ctxt subst) |
277 val simp_table = Unsynchronized.ref (const_simp_table ctxt subst) |
278 val psimp_table = const_psimp_table ctxt subst |
278 val psimp_table = const_psimp_table ctxt subst |
|
279 val choice_spec_table = const_choice_spec_table ctxt subst |
|
280 val user_nondefs = |
|
281 user_nondefs |> filter_out (is_choice_spec_axiom thy choice_spec_table) |
279 val intro_table = inductive_intro_table ctxt subst def_table |
282 val intro_table = inductive_intro_table ctxt subst def_table |
280 val ground_thm_table = ground_theorem_table thy |
283 val ground_thm_table = ground_theorem_table thy |
281 val ersatz_table = ersatz_table thy |
284 val ersatz_table = ersatz_table thy |
282 val (hol_ctxt as {wf_cache, ...}) = |
285 val (hol_ctxt as {wf_cache, ...}) = |
283 {thy = thy, ctxt = ctxt, max_bisim_depth = max_bisim_depth, boxes = boxes, |
286 {thy = thy, ctxt = ctxt, max_bisim_depth = max_bisim_depth, boxes = boxes, |
287 star_linear_preds = star_linear_preds, uncurry = uncurry, |
290 star_linear_preds = star_linear_preds, uncurry = uncurry, |
288 fast_descrs = fast_descrs, tac_timeout = tac_timeout, evals = evals, |
291 fast_descrs = fast_descrs, tac_timeout = tac_timeout, evals = evals, |
289 case_names = case_names, def_table = def_table, |
292 case_names = case_names, def_table = def_table, |
290 nondef_table = nondef_table, user_nondefs = user_nondefs, |
293 nondef_table = nondef_table, user_nondefs = user_nondefs, |
291 simp_table = simp_table, psimp_table = psimp_table, |
294 simp_table = simp_table, psimp_table = psimp_table, |
292 intro_table = intro_table, ground_thm_table = ground_thm_table, |
295 choice_spec_table = choice_spec_table, intro_table = intro_table, |
293 ersatz_table = ersatz_table, skolems = Unsynchronized.ref [], |
296 ground_thm_table = ground_thm_table, ersatz_table = ersatz_table, |
294 special_funs = Unsynchronized.ref [], |
297 skolems = Unsynchronized.ref [], special_funs = Unsynchronized.ref [], |
295 unrolled_preds = Unsynchronized.ref [], wf_cache = Unsynchronized.ref [], |
298 unrolled_preds = Unsynchronized.ref [], wf_cache = Unsynchronized.ref [], |
296 constr_cache = Unsynchronized.ref []} |
299 constr_cache = Unsynchronized.ref []} |
297 val frees = Term.add_frees assms_t [] |
300 val frees = Term.add_frees assms_t [] |
298 val _ = null (Term.add_tvars assms_t []) orelse |
301 val _ = null (Term.add_tvars assms_t []) orelse |
299 raise NOT_SUPPORTED "schematic type variables" |
302 raise NOT_SUPPORTED "schematic type variables" |