src/Pure/simplifier.ML
changeset 45625 750c5a47400b
parent 45620 f2a587696afb
child 46465 5ba52c337cd0
equal deleted inserted replaced
45624:329bc52b4b86 45625:750c5a47400b
    40   val add_eqcong: thm -> simpset -> simpset
    40   val add_eqcong: thm -> simpset -> simpset
    41   val del_eqcong: thm -> simpset -> simpset
    41   val del_eqcong: thm -> simpset -> simpset
    42   val add_cong: thm -> simpset -> simpset
    42   val add_cong: thm -> simpset -> simpset
    43   val del_cong: thm -> simpset -> simpset
    43   val del_cong: thm -> simpset -> simpset
    44   val add_prems: thm list -> simpset -> simpset
    44   val add_prems: thm list -> simpset -> simpset
       
    45   val mksimps: simpset -> thm -> thm list
       
    46   val set_mksimps: (simpset -> thm -> thm list) -> simpset -> simpset
       
    47   val set_mkcong: (simpset -> thm -> thm) -> simpset -> simpset
       
    48   val set_mksym: (simpset -> thm -> thm option) -> simpset -> simpset
       
    49   val set_mkeqTrue: (simpset -> thm -> thm option) -> simpset -> simpset
       
    50   val set_termless: (term * term -> bool) -> simpset -> simpset
       
    51   val set_subgoaler: (simpset -> int -> tactic) -> simpset -> simpset
    45   val inherit_context: simpset -> simpset -> simpset
    52   val inherit_context: simpset -> simpset -> simpset
    46   val the_context: simpset -> Proof.context
    53   val the_context: simpset -> Proof.context
    47   val context: Proof.context -> simpset -> simpset
    54   val context: Proof.context -> simpset -> simpset
    48   val global_context: theory -> simpset -> simpset
    55   val global_context: theory -> simpset -> simpset
    49   val with_context: Proof.context -> (simpset -> simpset) -> simpset -> simpset
    56   val with_context: Proof.context -> (simpset -> simpset) -> simpset -> simpset
   413       if can Logic.dest_equals (Thm.concl_of thm) then [thm]
   420       if can Logic.dest_equals (Thm.concl_of thm) then [thm]
   414       else [thm RS reflect] handle THM _ => [];
   421       else [thm RS reflect] handle THM _ => [];
   415 
   422 
   416     fun mksimps thm = mk_eq (Thm.forall_elim_vars (Thm.maxidx_of thm + 1) thm);
   423     fun mksimps thm = mk_eq (Thm.forall_elim_vars (Thm.maxidx_of thm + 1) thm);
   417   in
   424   in
   418     empty_ss setsubgoaler asm_simp_tac
   425     empty_ss
   419     setSSolver safe_solver
   426     setSSolver safe_solver
   420     setSolver unsafe_solver
   427     setSolver unsafe_solver
   421     setmksimps (K mksimps)
   428     |> set_subgoaler asm_simp_tac
       
   429     |> set_mksimps (K mksimps)
   422   end));
   430   end));
   423 
   431 
   424 end;
   432 end;
   425 
   433 
   426 structure Basic_Simplifier: BASIC_SIMPLIFIER = Simplifier;
   434 structure Basic_Simplifier: BASIC_SIMPLIFIER = Simplifier;