src/ZF/QUniv.ML
changeset 838 120edb26ee93
parent 803 4c8333ab3eae
child 1461 6bcb44e4d6e5
--- a/src/ZF/QUniv.ML	Fri Dec 23 16:49:48 1994 +0100
+++ b/src/ZF/QUniv.ML	Fri Dec 23 16:50:22 1994 +0100
@@ -8,6 +8,21 @@
 
 open QUniv;
 
+(** Properties involving Transset and Sum **)
+
+val [prem1,prem2] = goalw QUniv.thy [sum_def]
+    "[| Transset(C); A+B <= C |] ==> A <= C & B <= C";
+by (rtac (prem2 RS (Un_subset_iff RS iffD1) RS conjE) 1);
+by (REPEAT (etac (prem1 RS Transset_includes_range) 1
+     ORELSE resolve_tac [conjI, singletonI] 1));
+qed "Transset_includes_summands";
+
+val [prem] = goalw QUniv.thy [sum_def]
+    "Transset(C) ==> (A+B) Int C <= (A Int C) + (B Int C)";
+by (rtac (Int_Un_distrib RS ssubst) 1);
+by (fast_tac (ZF_cs addSDs [prem RS Transset_Pair_D]) 1);
+qed "Transset_sum_Int_subset";
+
 (** Introduction and elimination rules avoid tiresome folding/unfolding **)
 
 goalw QUniv.thy [quniv_def]