src/HOL/Tools/Quotient/quotient_tacs.ML
changeset 82695 d93ead9ac6df
parent 80701 39cd50407f79
equal deleted inserted replaced
82692:8f0b2daa7eaa 82695:d93ead9ac6df
   150   let
   150   let
   151     val simpset =
   151     val simpset =
   152       (mk_minimal_simpset ctxt
   152       (mk_minimal_simpset ctxt
   153         addsimps @{thms ball_reg_eqv bex_reg_eqv babs_reg_eqv babs_simp}
   153         addsimps @{thms ball_reg_eqv bex_reg_eqv babs_reg_eqv babs_simp}
   154         |> Simplifier.add_proc regularize_simproc)
   154         |> Simplifier.add_proc regularize_simproc)
   155       addSolver equiv_solver addSolver quotient_solver
   155       |> Simplifier.add_unsafe_solver equiv_solver
       
   156       |> Simplifier.add_unsafe_solver quotient_solver
   156     val eq_eqvs = eq_imp_rel_get ctxt
   157     val eq_eqvs = eq_imp_rel_get ctxt
   157   in
   158   in
   158     simp_tac simpset THEN'
   159     simp_tac simpset THEN'
   159     TRY o REPEAT_ALL_NEW (CHANGED o FIRST'
   160     TRY o REPEAT_ALL_NEW (CHANGED o FIRST'
   160       [resolve_tac ctxt @{thms ball_reg_right bex_reg_left bex1_bexeq_reg},
   161       [resolve_tac ctxt @{thms ball_reg_right bex_reg_left bex1_bexeq_reg},
   507     val prs = rev (Named_Theorems.get ctxt \<^named_theorems>\<open>quot_preserve\<close>)
   508     val prs = rev (Named_Theorems.get ctxt \<^named_theorems>\<open>quot_preserve\<close>)
   508     val ids = rev (Named_Theorems.get ctxt \<^named_theorems>\<open>id_simps\<close>)
   509     val ids = rev (Named_Theorems.get ctxt \<^named_theorems>\<open>id_simps\<close>)
   509     val thms =
   510     val thms =
   510       @{thms Quotient3_abs_rep Quotient3_rel_rep babs_prs all_prs ex_prs ex1_prs} @ ids @ prs @ defs
   511       @{thms Quotient3_abs_rep Quotient3_rel_rep babs_prs all_prs ex_prs ex1_prs} @ ids @ prs @ defs
   511 
   512 
   512     val simpset = (mk_minimal_simpset ctxt) addsimps thms addSolver quotient_solver
   513     val simpset =
       
   514       (mk_minimal_simpset ctxt) addsimps thms
       
   515       |> Simplifier.add_unsafe_solver quotient_solver
   513   in
   516   in
   514     EVERY' [
   517     EVERY' [
   515       map_fun_tac ctxt,
   518       map_fun_tac ctxt,
   516       lambda_prs_tac ctxt,
   519       lambda_prs_tac ctxt,
   517       simp_tac simpset,
   520       simp_tac simpset,