src/ZF/ord.ML
changeset 6 8ce8c4d13d4d
parent 0 a5a9c433f639
child 14 1c0926788772
equal deleted inserted replaced
5:75e163863e16 6:8ce8c4d13d4d
   316 by (fast_tac (subset_cs addSEs [member_succI, member_succD]) 1);
   316 by (fast_tac (subset_cs addSEs [member_succI, member_succD]) 1);
   317 val member_succ_iff = result();
   317 val member_succ_iff = result();
   318 
   318 
   319 goal Ord.thy
   319 goal Ord.thy
   320     "!!i j. [| Ord(i);  Ord(j) |] ==> i<=succ(j) <-> i<=j | i=succ(j)";
   320     "!!i j. [| Ord(i);  Ord(j) |] ==> i<=succ(j) <-> i<=j | i=succ(j)";
   321 by (ASM_SIMP_TAC (ZF_ss addrews [member_succ_iff RS iff_sym, Ord_succ]) 1);
   321 by (asm_simp_tac (ZF_ss addsimps [member_succ_iff RS iff_sym, Ord_succ]) 1);
   322 by (fast_tac ZF_cs 1);
   322 by (fast_tac ZF_cs 1);
   323 val subset_succ_iff = result();
   323 val subset_succ_iff = result();
   324 
   324 
   325 goal Ord.thy "!!i j. [| i:succ(j);  j:k;  Ord(k) |] ==> i:k";
   325 goal Ord.thy "!!i j. [| i:succ(j);  j:k;  Ord(k) |] ==> i:k";
   326 by (fast_tac (ZF_cs addEs [Ord_trans]) 1);
   326 by (fast_tac (ZF_cs addEs [Ord_trans]) 1);
   354 val Ord_succ_mono = result();
   354 val Ord_succ_mono = result();
   355 
   355 
   356 goal Ord.thy "!!i j k. [| i:k;  j:k;  Ord(k) |] ==> i Un j : k";
   356 goal Ord.thy "!!i j k. [| i:k;  j:k;  Ord(k) |] ==> i Un j : k";
   357 by (res_inst_tac [("i","i"),("j","j")] Ord_subset 1);
   357 by (res_inst_tac [("i","i"),("j","j")] Ord_subset 1);
   358 by (REPEAT (eresolve_tac [asm_rl, Ord_in_Ord] 1));
   358 by (REPEAT (eresolve_tac [asm_rl, Ord_in_Ord] 1));
   359 by (ASM_SIMP_TAC (ZF_ss addrews [subset_Un_iff RS iffD1]) 1);
   359 by (asm_simp_tac (ZF_ss addsimps [subset_Un_iff RS iffD1]) 1);
   360 by (rtac (Un_commute RS ssubst) 1);
   360 by (rtac (Un_commute RS ssubst) 1);
   361 by (ASM_SIMP_TAC (ZF_ss addrews [subset_Un_iff RS iffD1]) 1);
   361 by (asm_simp_tac (ZF_ss addsimps [subset_Un_iff RS iffD1]) 1);
   362 val Ord_member_UnI = result();
   362 val Ord_member_UnI = result();
   363 
   363 
   364 goal Ord.thy "!!i j k. [| i:k;  j:k;  Ord(k) |] ==> i Int j : k";
   364 goal Ord.thy "!!i j k. [| i:k;  j:k;  Ord(k) |] ==> i Int j : k";
   365 by (res_inst_tac [("i","i"),("j","j")] Ord_subset 1);
   365 by (res_inst_tac [("i","i"),("j","j")] Ord_subset 1);
   366 by (REPEAT (eresolve_tac [asm_rl, Ord_in_Ord] 1));
   366 by (REPEAT (eresolve_tac [asm_rl, Ord_in_Ord] 1));
   367 by (ASM_SIMP_TAC (ZF_ss addrews [subset_Int_iff RS iffD1]) 1);
   367 by (asm_simp_tac (ZF_ss addsimps [subset_Int_iff RS iffD1]) 1);
   368 by (rtac (Int_commute RS ssubst) 1);
   368 by (rtac (Int_commute RS ssubst) 1);
   369 by (ASM_SIMP_TAC (ZF_ss addrews [subset_Int_iff RS iffD1]) 1);
   369 by (asm_simp_tac (ZF_ss addsimps [subset_Int_iff RS iffD1]) 1);
   370 val Ord_member_IntI = result();
   370 val Ord_member_IntI = result();
   371 
   371 
   372 
   372 
   373 (*** Results about limits ***)
   373 (*** Results about limits ***)
   374 
   374