equal
deleted
inserted
replaced
8 |
8 |
9 |
9 |
10 (*Rewrite the overloaded 0::int to (int 0)*) |
10 (*Rewrite the overloaded 0::int to (int 0)*) |
11 Addsimps [Zero_def]; |
11 Addsimps [Zero_def]; |
12 |
12 |
13 Goalw [intrel_def] "((x1,y1),(x2,y2)): intrel = (x1+y2 = x2+y1)"; |
13 Goalw [intrel_def] "(((x1,y1),(x2,y2)): intrel) = (x1+y2 = x2+y1)"; |
14 by (Blast_tac 1); |
14 by (Blast_tac 1); |
15 qed "intrel_iff"; |
15 qed "intrel_iff"; |
16 |
16 |
17 Goalw [intrel_def, equiv_def, refl_def, sym_def, trans_def] |
17 Goalw [intrel_def, equiv_def, refl_def, sym_def, trans_def] |
18 "equiv UNIV intrel"; |
18 "equiv UNIV intrel"; |
463 by (EVERY1 [dtac zle_imp_zless_or_eq, dtac zle_imp_zless_or_eq, |
463 by (EVERY1 [dtac zle_imp_zless_or_eq, dtac zle_imp_zless_or_eq, |
464 blast_tac (claset() addEs [zless_asym])]); |
464 blast_tac (claset() addEs [zless_asym])]); |
465 qed "zle_anti_sym"; |
465 qed "zle_anti_sym"; |
466 |
466 |
467 (* Axiom 'order_less_le' of class 'order': *) |
467 (* Axiom 'order_less_le' of class 'order': *) |
468 Goal "(w::int) < z = (w <= z & w ~= z)"; |
468 Goal "((w::int) < z) = (w <= z & w ~= z)"; |
469 by (simp_tac (simpset() addsimps [zle_def, int_neq_iff]) 1); |
469 by (simp_tac (simpset() addsimps [zle_def, int_neq_iff]) 1); |
470 by (blast_tac (claset() addSEs [zless_asym]) 1); |
470 by (blast_tac (claset() addSEs [zless_asym]) 1); |
471 qed "int_less_le"; |
471 qed "int_less_le"; |
472 |
472 |
473 |
473 |