src/HOL/Integ/IntDef.ML
changeset 11655 923e4d0d36d5
parent 11464 ddea204de5bc
child 11701 3d51fbf81c17
equal deleted inserted replaced
11654:53d18ab990f6 11655:923e4d0d36d5
     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