src/ZF/QUniv.ML
changeset 12199 8213fd95acb5
parent 9907 473a6604da94
equal deleted inserted replaced
12198:113c1cd7a164 12199:8213fd95acb5
    12 by (dtac (Un_subset_iff RS iffD1) 1);
    12 by (dtac (Un_subset_iff RS iffD1) 1);
    13 by (blast_tac (claset() addDs [Transset_includes_range]) 1);
    13 by (blast_tac (claset() addDs [Transset_includes_range]) 1);
    14 qed "Transset_includes_summands";
    14 qed "Transset_includes_summands";
    15 
    15 
    16 Goalw [sum_def] "Transset(C) ==> (A+B) Int C <= (A Int C) + (B Int C)";
    16 Goalw [sum_def] "Transset(C) ==> (A+B) Int C <= (A Int C) + (B Int C)";
    17 by (stac Int_Un_distrib 1);
    17 by (stac Int_Un_distrib2 1);
    18 by (blast_tac (claset() addDs [Transset_Pair_D]) 1);
    18 by (blast_tac (claset() addDs [Transset_Pair_D]) 1);
    19 qed "Transset_sum_Int_subset";
    19 qed "Transset_sum_Int_subset";
    20 
    20 
    21 (** Introduction and elimination rules avoid tiresome folding/unfolding **)
    21 (** Introduction and elimination rules avoid tiresome folding/unfolding **)
    22 
    22 
   158 (*** Intersecting <a;b> with Vfrom... ***)
   158 (*** Intersecting <a;b> with Vfrom... ***)
   159 
   159 
   160 Goalw [QPair_def,sum_def]
   160 Goalw [QPair_def,sum_def]
   161  "Transset(X) ==>          \
   161  "Transset(X) ==>          \
   162 \      <a;b> Int Vfrom(X, succ(i))  <=  <a Int Vfrom(X,i);  b Int Vfrom(X,i)>";
   162 \      <a;b> Int Vfrom(X, succ(i))  <=  <a Int Vfrom(X,i);  b Int Vfrom(X,i)>";
   163 by (stac Int_Un_distrib 1);
   163 by (stac Int_Un_distrib2 1);
   164 by (rtac Un_mono 1);
   164 by (rtac Un_mono 1);
   165 by (REPEAT (ares_tac [product_Int_Vfrom_subset RS subset_trans,
   165 by (REPEAT (ares_tac [product_Int_Vfrom_subset RS subset_trans,
   166                       [Int_lower1, subset_refl] MRS Sigma_mono] 1));
   166                       [Int_lower1, subset_refl] MRS Sigma_mono] 1));
   167 qed "QPair_Int_Vfrom_succ_subset";
   167 qed "QPair_Int_Vfrom_succ_subset";
   168 
   168 
   188 (*succ(j) case*)
   188 (*succ(j) case*)
   189 by (rtac (Transset_0 RS QPair_Int_Vfrom_succ_subset RS subset_trans) 1);
   189 by (rtac (Transset_0 RS QPair_Int_Vfrom_succ_subset RS subset_trans) 1);
   190 by (rtac (succI1 RS UN_upper) 1);
   190 by (rtac (succI1 RS UN_upper) 1);
   191 (*Limit(i) case*)
   191 (*Limit(i) case*)
   192 by (asm_simp_tac
   192 by (asm_simp_tac
   193     (simpset() addsimps [Limit_Vfrom_eq, Int_UN_distrib, 
   193     (simpset() delsimps UN_simps
       
   194 	       addsimps [Limit_Vfrom_eq, Int_UN_distrib, 
   194 			 UN_mono, QPair_Int_Vset_subset_trans]) 1);
   195 			 UN_mono, QPair_Int_Vset_subset_trans]) 1);
   195 qed "QPair_Int_Vset_subset_UN";
   196 qed "QPair_Int_Vset_subset_UN";