src/ZF/subset.ML
changeset 9211 6236c5285bd8
parent 9180 3bda56c0d70d
child 9304 342cbcb9c0d8
equal deleted inserted replaced
9210:8a080ade1a8c 9211:6236c5285bd8
    39 by (Blast_tac 1) ;
    39 by (Blast_tac 1) ;
    40 qed "subset_succI";
    40 qed "subset_succI";
    41 
    41 
    42 (*But if j is an ordinal or is transitive, then i:j implies i<=j! 
    42 (*But if j is an ordinal or is transitive, then i:j implies i<=j! 
    43   See ordinal/Ord_succ_subsetI*)
    43   See ordinal/Ord_succ_subsetI*)
    44 qed_goalw "succ_subsetI" thy [succ_def]
    44 Goalw [succ_def] "[| i:j;  i<=j |] ==> succ(i)<=j";
    45     "!!i j. [| i:j;  i<=j |] ==> succ(i)<=j"
    45 by (Blast_tac 1) ;
    46  (fn _=> [ (Blast_tac 1) ]);
    46 qed "succ_subsetI";
    47 
    47 
    48 qed_goalw "succ_subsetE" thy [succ_def] 
    48 val major::prems= Goalw [succ_def]  
    49     "[| succ(i) <= j;  [| i:j;  i<=j |] ==> P \
    49     "[| succ(i) <= j;  [| i:j;  i<=j |] ==> P \
    50 \    |] ==> P"
    50 \    |] ==> P";
    51  (fn major::prems=>
    51 by (rtac (major RS cons_subsetE) 1);
    52   [ (rtac (major RS cons_subsetE) 1),
    52 by (REPEAT (ares_tac prems 1)) ;
    53     (REPEAT (ares_tac prems 1)) ]);
    53 qed "succ_subsetE";
    54 
    54 
    55 (*** singletons ***)
    55 (*** singletons ***)
    56 
    56 
    57 Goal "a:C ==> {a} <= C";
    57 Goal "a:C ==> {a} <= C";
    58 by (Blast_tac 1) ;
    58 by (Blast_tac 1) ;