src/HOL/Integ/Bin.ML
changeset 9062 7b34ffecaaa8
parent 8787 9aeca9a34cf4
child 9108 9fff97d29837
equal deleted inserted replaced
9061:144b06e6729e 9062:7b34ffecaaa8
   267 (** Inequality reasoning **)
   267 (** Inequality reasoning **)
   268 
   268 
   269 Goal "(m*n = (#0::int)) = (m = #0 | n = #0)";
   269 Goal "(m*n = (#0::int)) = (m = #0 | n = #0)";
   270 by (stac (int_0 RS sym) 1 THEN rtac zmult_eq_int0_iff 1);
   270 by (stac (int_0 RS sym) 1 THEN rtac zmult_eq_int0_iff 1);
   271 qed "zmult_eq_0_iff";
   271 qed "zmult_eq_0_iff";
       
   272 
       
   273 Goal "((#0::int) = m*n) = (#0 = m | #0 = n)";
       
   274 by (stac eq_commute 1 THEN stac zmult_eq_0_iff 1);
       
   275 by Auto_tac;
       
   276 qed "zmult_0_eq_iff";
       
   277 
       
   278 Addsimps [zmult_eq_0_iff, zmult_0_eq_iff];
   272 
   279 
   273 Goal "(w < z + (#1::int)) = (w<z | w=z)";
   280 Goal "(w < z + (#1::int)) = (w<z | w=z)";
   274 by (simp_tac (simpset() addsimps [zless_add_int_Suc_eq]) 1);
   281 by (simp_tac (simpset() addsimps [zless_add_int_Suc_eq]) 1);
   275 qed "zless_add1_eq";
   282 qed "zless_add1_eq";
   276 
   283