equal
deleted
inserted
replaced
267 goalw Epsilon.thy [Pair_def] "rank(b) < rank(<a,b>)"; |
267 goalw Epsilon.thy [Pair_def] "rank(b) < rank(<a,b>)"; |
268 by (rtac (consI1 RS consI2 RS rank_lt RS lt_trans) 1); |
268 by (rtac (consI1 RS consI2 RS rank_lt RS lt_trans) 1); |
269 by (rtac (consI1 RS consI2 RS rank_lt) 1); |
269 by (rtac (consI1 RS consI2 RS rank_lt) 1); |
270 qed "rank_pair2"; |
270 qed "rank_pair2"; |
271 |
271 |
272 goalw (merge_theories(Epsilon.thy,Sum.thy)) [Inl_def] "rank(a) < rank(Inl(a))"; |
|
273 by (rtac rank_pair2 1); |
|
274 val rank_Inl = result(); |
|
275 |
|
276 goalw (merge_theories(Epsilon.thy,Sum.thy)) [Inr_def] "rank(a) < rank(Inr(a))"; |
|
277 by (rtac rank_pair2 1); |
|
278 val rank_Inr = result(); |
|
279 |
|
280 (*** Corollaries of leastness ***) |
272 (*** Corollaries of leastness ***) |
281 |
273 |
282 goal Epsilon.thy "!!A B. A:B ==> eclose(A)<=eclose(B)"; |
274 goal Epsilon.thy "!!A B. A:B ==> eclose(A)<=eclose(B)"; |
283 by (rtac (Transset_eclose RS eclose_least) 1); |
275 by (rtac (Transset_eclose RS eclose_least) 1); |
284 by (etac (arg_into_eclose RS eclose_subset) 1); |
276 by (etac (arg_into_eclose RS eclose_subset) 1); |