equal
deleted
inserted
replaced
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 |