src/HOL/Integ/IntDef.ML
changeset 6674 32892a8ecb15
parent 6115 c70bce7deb0f
child 6717 70b251dc7055
equal deleted inserted replaced
6673:ca95af28fb33 6674:32892a8ecb15
   494 Goalw [zle_def, le_def] "(int m <= int n) = (m<=n)";
   494 Goalw [zle_def, le_def] "(int m <= int n) = (m<=n)";
   495 by (Simp_tac 1);
   495 by (Simp_tac 1);
   496 qed "zle_int";
   496 qed "zle_int";
   497 Addsimps [zle_int];
   497 Addsimps [zle_int];
   498 
   498 
   499 Goalw [zle_def] "~(w<z) ==> z<=(w::int)";
       
   500 by (assume_tac 1);
       
   501 qed "zleI";
       
   502 
       
   503 Goalw [zle_def] "z<=w ==> ~(w<(z::int))";
       
   504 by (assume_tac 1);
       
   505 qed "zleD";
       
   506 
       
   507 (*  [| z <= w;  ~ P ==> w < z |] ==> P  *)
       
   508 bind_thm ("zleE", zleD RS swap);
       
   509 
       
   510 Goalw [zle_def] "(~w<=z) = (z<(w::int))";
       
   511 by (Simp_tac 1);
       
   512 qed "not_zle_iff_zless";
       
   513 
       
   514 Goalw [zle_def] "~ z <= w ==> w<(z::int)";
       
   515 by (Fast_tac 1);
       
   516 qed "not_zleE";
       
   517 
       
   518 Goalw [zle_def] "z <= w ==> z < w | z=(w::int)";
   499 Goalw [zle_def] "z <= w ==> z < w | z=(w::int)";
   519 by (cut_facts_tac [zless_linear] 1);
   500 by (cut_facts_tac [zless_linear] 1);
   520 by (blast_tac (claset() addEs [zless_asym]) 1);
   501 by (blast_tac (claset() addEs [zless_asym]) 1);
   521 qed "zle_imp_zless_or_eq";
   502 qed "zle_imp_zless_or_eq";
   522 
   503