src/ZF/Epsilon.ML
changeset 3889 59bab7a52b4c
parent 3016 15763781afb0
child 4091 771b1f6422a8
equal deleted inserted replaced
3888:85eb8e24c5ff 3889:59bab7a52b4c
   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);