src/HOL/Word/Word_Miscellaneous.thy
changeset 54872 af81b2357e08
parent 54871 51612b889361
child 55417 01fbfb60c33e
equal deleted inserted replaced
54871:51612b889361 54872:af81b2357e08
   375   "0 <= a ==> 0 <= b ==> 0 <= (a mod b :: int) & 0 <= a div b"
   375   "0 <= a ==> 0 <= b ==> 0 <= (a mod b :: int) & 0 <= a div b"
   376   apply (cases "b = 0", clarsimp)
   376   apply (cases "b = 0", clarsimp)
   377   apply (auto intro: pos_imp_zdiv_nonneg_iff [THEN iffD2])
   377   apply (auto intro: pos_imp_zdiv_nonneg_iff [THEN iffD2])
   378   done
   378   done
   379 
   379 
       
   380 declare iszero_0 [intro]
       
   381 
       
   382 lemma min_pm [simp]:
       
   383   "min a b + (a - b) = (a :: nat)"
       
   384   by arith
       
   385   
       
   386 lemma min_pm1 [simp]:
       
   387   "a - b + min a b = (a :: nat)"
       
   388   by arith
       
   389 
       
   390 lemma rev_min_pm [simp]:
       
   391   "min b a + (a - b) = (a :: nat)"
       
   392   by arith
       
   393 
       
   394 lemma rev_min_pm1 [simp]:
       
   395   "a - b + min b a = (a :: nat)"
       
   396   by arith
       
   397 
       
   398 lemma min_minus [simp]:
       
   399   "min m (m - k) = (m - k :: nat)"
       
   400   by arith
       
   401   
       
   402 lemma min_minus' [simp]:
       
   403   "min (m - k) m = (m - k :: nat)"
       
   404   by arith
       
   405 
   380 end
   406 end
   381 
   407