src/ZF/Ordinal.ML
changeset 5143 b94cd208f073
parent 5137 60205b0de9b9
child 5147 825877190618
equal deleted inserted replaced
5142:c56aa8b59dc0 5143:b94cd208f073
   101 by (rtac (minor RS (major RS conjunct2 RS bspec)) 1);
   101 by (rtac (minor RS (major RS conjunct2 RS bspec)) 1);
   102 qed "Ord_contains_Transset";
   102 qed "Ord_contains_Transset";
   103 
   103 
   104 (*** Lemmas for ordinals ***)
   104 (*** Lemmas for ordinals ***)
   105 
   105 
   106 Goalw [Ord_def,Transset_def] "!!i j.[| Ord(i);  j:i |] ==> Ord(j)";
   106 Goalw [Ord_def,Transset_def] "[| Ord(i);  j:i |] ==> Ord(j)";
   107 by (Blast_tac 1);
   107 by (Blast_tac 1);
   108 qed "Ord_in_Ord";
   108 qed "Ord_in_Ord";
   109 
   109 
   110 (* Ord(succ(j)) ==> Ord(j) *)
   110 (* Ord(succ(j)) ==> Ord(j) *)
   111 val Ord_succD = succI1 RSN (2, Ord_in_Ord);
   111 val Ord_succD = succI1 RSN (2, Ord_in_Ord);
   115 Goal "[| Ord(i);  Transset(j);  j<=i |] ==> Ord(j)";
   115 Goal "[| Ord(i);  Transset(j);  j<=i |] ==> Ord(j)";
   116 by (REPEAT (ares_tac [OrdI] 1
   116 by (REPEAT (ares_tac [OrdI] 1
   117      ORELSE eresolve_tac [Ord_contains_Transset, subsetD] 1));
   117      ORELSE eresolve_tac [Ord_contains_Transset, subsetD] 1));
   118 qed "Ord_subset_Ord";
   118 qed "Ord_subset_Ord";
   119 
   119 
   120 Goalw [Ord_def,Transset_def] "!!i j. [| j:i;  Ord(i) |] ==> j<=i";
   120 Goalw [Ord_def,Transset_def] "[| j:i;  Ord(i) |] ==> j<=i";
   121 by (Blast_tac 1);
   121 by (Blast_tac 1);
   122 qed "OrdmemD";
   122 qed "OrdmemD";
   123 
   123 
   124 Goal "[| i:j;  j:k;  Ord(k) |] ==> i:k";
   124 Goal "[| i:j;  j:k;  Ord(k) |] ==> i:k";
   125 by (REPEAT (ares_tac [OrdmemD RS subsetD] 1));
   125 by (REPEAT (ares_tac [OrdmemD RS subsetD] 1));