src/Pure/simplifier.ML
changeset 58957 c9e744ea8a38
parent 58048 aa6296d09e0e
child 58963 26bf09b95dda
equal deleted inserted replaced
58956:a816aa3ff391 58957:c9e744ea8a38
   387       FIRST' [resolve_tac (trivialities @ Raw_Simplifier.prems_of ctxt), assume_tac];
   387       FIRST' [resolve_tac (trivialities @ Raw_Simplifier.prems_of ctxt), assume_tac];
   388     val unsafe_solver = mk_solver "easy unsafe" unsafe_solver_tac;
   388     val unsafe_solver = mk_solver "easy unsafe" unsafe_solver_tac;
   389 
   389 
   390     (*no premature instantiation of variables during simplification*)
   390     (*no premature instantiation of variables during simplification*)
   391     fun safe_solver_tac ctxt =
   391     fun safe_solver_tac ctxt =
   392       FIRST' [match_tac (trivialities @ Raw_Simplifier.prems_of ctxt), eq_assume_tac];
   392       FIRST' [match_tac ctxt (trivialities @ Raw_Simplifier.prems_of ctxt), eq_assume_tac];
   393     val safe_solver = mk_solver "easy safe" safe_solver_tac;
   393     val safe_solver = mk_solver "easy safe" safe_solver_tac;
   394 
   394 
   395     fun mk_eq thm =
   395     fun mk_eq thm =
   396       if can Logic.dest_equals (Thm.concl_of thm) then [thm]
   396       if can Logic.dest_equals (Thm.concl_of thm) then [thm]
   397       else [thm RS reflect] handle THM _ => [];
   397       else [thm RS reflect] handle THM _ => [];