src/ZF/QUniv.ML
changeset 3016 15763781afb0
parent 2469 b50b8c0eec01
child 4091 771b1f6422a8
equal deleted inserted replaced
3015:65778b9d865f 3016:15763781afb0
    18 qed "Transset_includes_summands";
    18 qed "Transset_includes_summands";
    19 
    19 
    20 val [prem] = goalw QUniv.thy [sum_def]
    20 val [prem] = goalw QUniv.thy [sum_def]
    21     "Transset(C) ==> (A+B) Int C <= (A Int C) + (B Int C)";
    21     "Transset(C) ==> (A+B) Int C <= (A Int C) + (B Int C)";
    22 by (stac Int_Un_distrib 1);
    22 by (stac Int_Un_distrib 1);
    23 by (fast_tac (!claset addSDs [prem RS Transset_Pair_D]) 1);
    23 by (blast_tac (!claset addSDs [prem RS Transset_Pair_D]) 1);
    24 qed "Transset_sum_Int_subset";
    24 qed "Transset_sum_Int_subset";
    25 
    25 
    26 (** Introduction and elimination rules avoid tiresome folding/unfolding **)
    26 (** Introduction and elimination rules avoid tiresome folding/unfolding **)
    27 
    27 
    28 goalw QUniv.thy [quniv_def]
    28 goalw QUniv.thy [quniv_def]
   185 **)
   185 **)
   186 
   186 
   187 goalw Univ.thy [Pair_def]
   187 goalw Univ.thy [Pair_def]
   188     "!!X. [| <a,b> : Vfrom(X,succ(i));  Transset(X) |] ==> \
   188     "!!X. [| <a,b> : Vfrom(X,succ(i));  Transset(X) |] ==> \
   189 \         a: Vfrom(X,i)  &  b: Vfrom(X,i)";
   189 \         a: Vfrom(X,i)  &  b: Vfrom(X,i)";
   190 by (fast_tac (!claset addSDs [doubleton_in_Vfrom_D, Vfrom_doubleton_D]) 1);
   190 by (blast_tac (!claset addSDs [doubleton_in_Vfrom_D, Vfrom_doubleton_D]) 1);
   191 qed "Pair_in_Vfrom_D";
   191 qed "Pair_in_Vfrom_D";
   192 
   192 
   193 goal Univ.thy
   193 goal Univ.thy
   194  "!!X. Transset(X) ==>          \
   194  "!!X. Transset(X) ==>          \
   195 \      (a*b) Int Vfrom(X, succ(i)) <= (a Int Vfrom(X,i)) * (b Int Vfrom(X,i))";
   195 \      (a*b) Int Vfrom(X, succ(i)) <= (a Int Vfrom(X,i)) * (b Int Vfrom(X,i))";
   196 by (fast_tac (!claset addSDs [Pair_in_Vfrom_D]) 1);
   196 by (blast_tac (!claset addSDs [Pair_in_Vfrom_D]) 1);
   197 qed "product_Int_Vfrom_subset";
   197 qed "product_Int_Vfrom_subset";
   198 
   198 
   199 (*** Intersecting <a;b> with Vfrom... ***)
   199 (*** Intersecting <a;b> with Vfrom... ***)
   200 
   200 
   201 goalw QUniv.thy [QPair_def,sum_def]
   201 goalw QUniv.thy [QPair_def,sum_def]