src/Provers/Arith/abel_cancel.ML
changeset 6391 0da748358eff
parent 5728 1d1175ef2d56
child 7586 ae28545cd104
equal deleted inserted replaced
6390:5d58c100ca3f 6391:0da748358eff
   126    handle Cancel => None;
   126    handle Cancel => None;
   127 
   127 
   128 
   128 
   129  val sum_conv = 
   129  val sum_conv = 
   130      Simplifier.mk_simproc "cancel_sums"
   130      Simplifier.mk_simproc "cancel_sums"
   131        (map (Thm.read_cterm (sign_of Data.thy)) 
   131        (map (Thm.read_cterm (Theory.sign_of Data.thy)) 
   132 	[("x + y", Data.T), ("x - y", Data.T)])
   132 	[("x + y", Data.T), ("x - y", Data.T)])
   133        sum_proc;
   133        sum_proc;
   134 
   134 
   135 
   135 
   136  (*A simproc to cancel like terms on the opposite sides of relations:
   136  (*A simproc to cancel like terms on the opposite sides of relations:
   185    in Some thm end
   185    in Some thm end
   186    handle Cancel => None;
   186    handle Cancel => None;
   187 
   187 
   188  val rel_conv = 
   188  val rel_conv = 
   189      Simplifier.mk_simproc "cancel_relations"
   189      Simplifier.mk_simproc "cancel_relations"
   190        (map (Thm.cterm_of (sign_of Data.thy) o Data.dest_eqI) eqI_rules)
   190        (map (Thm.cterm_of (Theory.sign_of Data.thy) o Data.dest_eqI) eqI_rules)
   191        rel_proc;
   191        rel_proc;
   192 
   192 
   193 end;
   193 end;