equal
deleted
inserted
replaced
124 |
124 |
125 lemma fieldE [elim!]: |
125 lemma fieldE [elim!]: |
126 "[| a : field(r); |
126 "[| a : field(r); |
127 !!x. <a,x>: r ==> P; |
127 !!x. <a,x>: r ==> P; |
128 !!x. <x,a>: r ==> P |] ==> P" |
128 !!x. <x,a>: r ==> P |] ==> P" |
129 apply (unfold field_def, blast) |
129 by (unfold field_def, blast) |
130 done |
|
131 |
130 |
132 lemma field_subset: "field(A*B) <= A Un B" |
131 lemma field_subset: "field(A*B) <= A Un B" |
133 by blast |
132 by blast |
134 |
133 |
135 lemma domain_subset_field: "domain(r) <= field(r)" |
134 lemma domain_subset_field: "domain(r) <= field(r)" |
145 lemma domain_times_range: "r <= Sigma(A,B) ==> r <= domain(r)*range(r)" |
144 lemma domain_times_range: "r <= Sigma(A,B) ==> r <= domain(r)*range(r)" |
146 by blast |
145 by blast |
147 |
146 |
148 lemma field_times_field: "r <= Sigma(A,B) ==> r <= field(r)*field(r)" |
147 lemma field_times_field: "r <= Sigma(A,B) ==> r <= field(r)*field(r)" |
149 by blast |
148 by blast |
|
149 |
|
150 lemma relation_field_times_field: "relation(r) ==> r <= field(r)*field(r)" |
|
151 by (simp add: relation_def, blast) |
150 |
152 |
151 |
153 |
152 (*** Image of a set under a function/relation ***) |
154 (*** Image of a set under a function/relation ***) |
153 |
155 |
154 lemma image_iff: "b : r``A <-> (EX x:A. <x,b>:r)" |
156 lemma image_iff: "b : r``A <-> (EX x:A. <x,b>:r)" |