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