34 assume 2: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> Y \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
33 assume 2: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> Y \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
35 assume 3: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> Z \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
34 assume 3: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> Z \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
36 assume 4: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> \<not> X \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
35 assume 4: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> \<not> X \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
37 assume 5: "\<And>V. ((\<not> Y \<subseteq> V \<or> \<not> Z \<subseteq> V) \<or> X \<subseteq> V) \<or> X = Y \<union> Z" |
36 assume 5: "\<And>V. ((\<not> Y \<subseteq> V \<or> \<not> Z \<subseteq> V) \<or> X \<subseteq> V) \<or> X = Y \<union> Z" |
38 have 6: "sup Y Z = X \<or> Y \<subseteq> X" |
37 have 6: "sup Y Z = X \<or> Y \<subseteq> X" |
39 by (metis 0 sup_set_eq) |
38 by (metis 0) |
40 have 7: "sup Y Z = X \<or> Z \<subseteq> X" |
39 have 7: "sup Y Z = X \<or> Z \<subseteq> X" |
41 by (metis 1 sup_set_eq) |
40 by (metis 1) |
42 have 8: "\<And>X3. sup Y Z = X \<or> X \<subseteq> X3 \<or> \<not> Y \<subseteq> X3 \<or> \<not> Z \<subseteq> X3" |
41 have 8: "\<And>X3. sup Y Z = X \<or> X \<subseteq> X3 \<or> \<not> Y \<subseteq> X3 \<or> \<not> Z \<subseteq> X3" |
43 by (metis 5 sup_set_eq) |
42 by (metis 5) |
44 have 9: "Y \<subseteq> x \<or> sup Y Z \<noteq> X \<or> \<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X" |
43 have 9: "Y \<subseteq> x \<or> sup Y Z \<noteq> X \<or> \<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X" |
45 by (metis 2 sup_set_eq) |
44 by (metis 2) |
46 have 10: "Z \<subseteq> x \<or> sup Y Z \<noteq> X \<or> \<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X" |
45 have 10: "Z \<subseteq> x \<or> sup Y Z \<noteq> X \<or> \<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X" |
47 by (metis 3 sup_set_eq) |
46 by (metis 3) |
48 have 11: "sup Y Z \<noteq> X \<or> \<not> X \<subseteq> x \<or> \<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X" |
47 have 11: "sup Y Z \<noteq> X \<or> \<not> X \<subseteq> x \<or> \<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X" |
49 by (metis 4 sup_set_eq) |
48 by (metis 4) |
50 have 12: "Z \<subseteq> X" |
49 have 12: "Z \<subseteq> X" |
51 by (metis Un_upper2 sup_set_eq 7) |
50 by (metis Un_upper2 7) |
52 have 13: "\<And>X3. sup Y Z = X \<or> X \<subseteq> sup X3 Z \<or> \<not> Y \<subseteq> sup X3 Z" |
51 have 13: "\<And>X3. sup Y Z = X \<or> X \<subseteq> sup X3 Z \<or> \<not> Y \<subseteq> sup X3 Z" |
53 by (metis 8 Un_upper2 sup_set_eq) |
52 by (metis 8 Un_upper2) |
54 have 14: "Y \<subseteq> X" |
53 have 14: "Y \<subseteq> X" |
55 by (metis Un_upper1 sup_set_eq 6) |
54 by (metis Un_upper1 6) |
56 have 15: "Z \<subseteq> x \<or> sup Y Z \<noteq> X \<or> \<not> Y \<subseteq> X" |
55 have 15: "Z \<subseteq> x \<or> sup Y Z \<noteq> X \<or> \<not> Y \<subseteq> X" |
57 by (metis 10 12) |
56 by (metis 10 12) |
58 have 16: "Y \<subseteq> x \<or> sup Y Z \<noteq> X \<or> \<not> Y \<subseteq> X" |
57 have 16: "Y \<subseteq> x \<or> sup Y Z \<noteq> X \<or> \<not> Y \<subseteq> X" |
59 by (metis 9 12) |
58 by (metis 9 12) |
60 have 17: "sup Y Z \<noteq> X \<or> \<not> X \<subseteq> x \<or> \<not> Y \<subseteq> X" |
59 have 17: "sup Y Z \<noteq> X \<or> \<not> X \<subseteq> x \<or> \<not> Y \<subseteq> X" |
64 have 19: "Z \<subseteq> x \<or> sup Y Z \<noteq> X" |
63 have 19: "Z \<subseteq> x \<or> sup Y Z \<noteq> X" |
65 by (metis 15 14) |
64 by (metis 15 14) |
66 have 20: "Y \<subseteq> x \<or> sup Y Z \<noteq> X" |
65 have 20: "Y \<subseteq> x \<or> sup Y Z \<noteq> X" |
67 by (metis 16 14) |
66 by (metis 16 14) |
68 have 21: "sup Y Z = X \<or> X \<subseteq> sup Y Z" |
67 have 21: "sup Y Z = X \<or> X \<subseteq> sup Y Z" |
69 by (metis 13 Un_upper1 sup_set_eq) |
68 by (metis 13 Un_upper1) |
70 have 22: "sup Y Z = X \<or> \<not> sup Y Z \<subseteq> X" |
69 have 22: "sup Y Z = X \<or> \<not> sup Y Z \<subseteq> X" |
71 by (metis equalityI 21) |
70 by (metis equalityI 21) |
72 have 23: "sup Y Z = X \<or> \<not> Z \<subseteq> X \<or> \<not> Y \<subseteq> X" |
71 have 23: "sup Y Z = X \<or> \<not> Z \<subseteq> X \<or> \<not> Y \<subseteq> X" |
73 by (metis 22 Un_least sup_set_eq) |
72 by (metis 22 Un_least) |
74 have 24: "sup Y Z = X \<or> \<not> Y \<subseteq> X" |
73 have 24: "sup Y Z = X \<or> \<not> Y \<subseteq> X" |
75 by (metis 23 12) |
74 by (metis 23 12) |
76 have 25: "sup Y Z = X" |
75 have 25: "sup Y Z = X" |
77 by (metis 24 14) |
76 by (metis 24 14) |
78 have 26: "\<And>X3. X \<subseteq> X3 \<or> \<not> Z \<subseteq> X3 \<or> \<not> Y \<subseteq> X3" |
77 have 26: "\<And>X3. X \<subseteq> X3 \<or> \<not> Z \<subseteq> X3 \<or> \<not> Y \<subseteq> X3" |
79 by (metis Un_least sup_set_eq 25) |
78 by (metis Un_least 25) |
80 have 27: "Y \<subseteq> x" |
79 have 27: "Y \<subseteq> x" |
81 by (metis 20 25) |
80 by (metis 20 25) |
82 have 28: "Z \<subseteq> x" |
81 have 28: "Z \<subseteq> x" |
83 by (metis 19 25) |
82 by (metis 19 25) |
84 have 29: "\<not> X \<subseteq> x" |
83 have 29: "\<not> X \<subseteq> x" |
103 assume 2: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> Y \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
102 assume 2: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> Y \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
104 assume 3: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> Z \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
103 assume 3: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> Z \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
105 assume 4: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> \<not> X \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
104 assume 4: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> \<not> X \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
106 assume 5: "\<And>V. ((\<not> Y \<subseteq> V \<or> \<not> Z \<subseteq> V) \<or> X \<subseteq> V) \<or> X = Y \<union> Z" |
105 assume 5: "\<And>V. ((\<not> Y \<subseteq> V \<or> \<not> Z \<subseteq> V) \<or> X \<subseteq> V) \<or> X = Y \<union> Z" |
107 have 6: "sup Y Z = X \<or> Y \<subseteq> X" |
106 have 6: "sup Y Z = X \<or> Y \<subseteq> X" |
108 by (metis 0 sup_set_eq) |
107 by (metis 0) |
109 have 7: "Y \<subseteq> x \<or> sup Y Z \<noteq> X \<or> \<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X" |
108 have 7: "Y \<subseteq> x \<or> sup Y Z \<noteq> X \<or> \<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X" |
110 by (metis 2 sup_set_eq) |
109 by (metis 2) |
111 have 8: "sup Y Z \<noteq> X \<or> \<not> X \<subseteq> x \<or> \<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X" |
110 have 8: "sup Y Z \<noteq> X \<or> \<not> X \<subseteq> x \<or> \<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X" |
112 by (metis 4 sup_set_eq) |
111 by (metis 4) |
113 have 9: "\<And>X3. sup Y Z = X \<or> X \<subseteq> sup X3 Z \<or> \<not> Y \<subseteq> sup X3 Z" |
112 have 9: "\<And>X3. sup Y Z = X \<or> X \<subseteq> sup X3 Z \<or> \<not> Y \<subseteq> sup X3 Z" |
114 by (metis 5 sup_set_eq Un_upper2 sup_set_eq) |
113 by (metis 5 Un_upper2) |
115 have 10: "Z \<subseteq> x \<or> sup Y Z \<noteq> X \<or> \<not> Y \<subseteq> X" |
114 have 10: "Z \<subseteq> x \<or> sup Y Z \<noteq> X \<or> \<not> Y \<subseteq> X" |
116 by (metis 3 sup_set_eq Un_upper2 sup_set_eq sup_set_eq) |
115 by (metis 3 Un_upper2) |
117 have 11: "sup Y Z \<noteq> X \<or> \<not> X \<subseteq> x \<or> \<not> Y \<subseteq> X" |
116 have 11: "sup Y Z \<noteq> X \<or> \<not> X \<subseteq> x \<or> \<not> Y \<subseteq> X" |
118 by (metis 8 Un_upper2 sup_set_eq sup_set_eq) |
117 by (metis 8 Un_upper2) |
119 have 12: "Z \<subseteq> x \<or> sup Y Z \<noteq> X" |
118 have 12: "Z \<subseteq> x \<or> sup Y Z \<noteq> X" |
120 by (metis 10 Un_upper1 sup_set_eq) |
119 by (metis 10 Un_upper1) |
121 have 13: "sup Y Z = X \<or> X \<subseteq> sup Y Z" |
120 have 13: "sup Y Z = X \<or> X \<subseteq> sup Y Z" |
122 by (metis 9 Un_upper1 sup_set_eq) |
121 by (metis 9 Un_upper1) |
123 have 14: "sup Y Z = X \<or> \<not> Z \<subseteq> X \<or> \<not> Y \<subseteq> X" |
122 have 14: "sup Y Z = X \<or> \<not> Z \<subseteq> X \<or> \<not> Y \<subseteq> X" |
124 by (metis equalityI 13 Un_least sup_set_eq) |
123 by (metis equalityI 13 Un_least) |
125 have 15: "sup Y Z = X" |
124 have 15: "sup Y Z = X" |
126 by (metis 14 sup_set_eq 1 sup_set_eq sup_set_eq 6) |
125 by (metis 14 1 6) |
127 have 16: "Y \<subseteq> x" |
126 have 16: "Y \<subseteq> x" |
128 by (metis 7 Un_upper2 sup_set_eq sup_set_eq Un_upper1 sup_set_eq 15) |
127 by (metis 7 Un_upper2 Un_upper1 15) |
129 have 17: "\<not> X \<subseteq> x" |
128 have 17: "\<not> X \<subseteq> x" |
130 by (metis 11 Un_upper1 sup_set_eq 15) |
129 by (metis 11 Un_upper1 15) |
131 have 18: "X \<subseteq> x" |
130 have 18: "X \<subseteq> x" |
132 by (metis Un_least sup_set_eq 15 12 15 16) |
131 by (metis Un_least 15 12 15 16) |
133 show "False" |
132 show "False" |
134 by (metis 18 17) |
133 by (metis 18 17) |
135 qed |
134 qed |
136 |
135 |
137 declare [[sledgehammer_modulus = 3]] |
136 declare [[sledgehammer_modulus = 3]] |
146 assume 2: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> Y \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
145 assume 2: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> Y \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
147 assume 3: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> Z \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
146 assume 3: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> Z \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
148 assume 4: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> \<not> X \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
147 assume 4: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> \<not> X \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
149 assume 5: "\<And>V. ((\<not> Y \<subseteq> V \<or> \<not> Z \<subseteq> V) \<or> X \<subseteq> V) \<or> X = Y \<union> Z" |
148 assume 5: "\<And>V. ((\<not> Y \<subseteq> V \<or> \<not> Z \<subseteq> V) \<or> X \<subseteq> V) \<or> X = Y \<union> Z" |
150 have 6: "Z \<subseteq> x \<or> sup Y Z \<noteq> X \<or> \<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X" |
149 have 6: "Z \<subseteq> x \<or> sup Y Z \<noteq> X \<or> \<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X" |
151 by (metis 3 sup_set_eq) |
150 by (metis 3) |
152 have 7: "\<And>X3. sup Y Z = X \<or> X \<subseteq> sup X3 Z \<or> \<not> Y \<subseteq> sup X3 Z" |
151 have 7: "\<And>X3. sup Y Z = X \<or> X \<subseteq> sup X3 Z \<or> \<not> Y \<subseteq> sup X3 Z" |
153 by (metis 5 sup_set_eq Un_upper2 sup_set_eq) |
152 by (metis 5 Un_upper2) |
154 have 8: "Y \<subseteq> x \<or> sup Y Z \<noteq> X \<or> \<not> Y \<subseteq> X" |
153 have 8: "Y \<subseteq> x \<or> sup Y Z \<noteq> X \<or> \<not> Y \<subseteq> X" |
155 by (metis 2 sup_set_eq Un_upper2 sup_set_eq sup_set_eq) |
154 by (metis 2 Un_upper2) |
156 have 9: "Z \<subseteq> x \<or> sup Y Z \<noteq> X" |
155 have 9: "Z \<subseteq> x \<or> sup Y Z \<noteq> X" |
157 by (metis 6 Un_upper2 sup_set_eq sup_set_eq Un_upper1 sup_set_eq sup_set_eq) |
156 by (metis 6 Un_upper2 Un_upper1) |
158 have 10: "sup Y Z = X \<or> \<not> sup Y Z \<subseteq> X" |
157 have 10: "sup Y Z = X \<or> \<not> sup Y Z \<subseteq> X" |
159 by (metis equalityI 7 Un_upper1 sup_set_eq) |
158 by (metis equalityI 7 Un_upper1) |
160 have 11: "sup Y Z = X" |
159 have 11: "sup Y Z = X" |
161 by (metis 10 Un_least sup_set_eq sup_set_eq 1 sup_set_eq sup_set_eq 0 sup_set_eq) |
160 by (metis 10 Un_least 1 0) |
162 have 12: "Z \<subseteq> x" |
161 have 12: "Z \<subseteq> x" |
163 by (metis 9 11) |
162 by (metis 9 11) |
164 have 13: "X \<subseteq> x" |
163 have 13: "X \<subseteq> x" |
165 by (metis Un_least sup_set_eq 11 12 8 Un_upper1 sup_set_eq sup_set_eq 11) |
164 by (metis Un_least 11 12 8 Un_upper1 11) |
166 show "False" |
165 show "False" |
167 by (metis 13 4 sup_set_eq Un_upper2 sup_set_eq sup_set_eq Un_upper1 sup_set_eq sup_set_eq 11) |
166 by (metis 13 4 Un_upper2 Un_upper1 11) |
168 qed |
167 qed |
169 |
168 |
170 (*Example included in TPHOLs paper*) |
169 (*Example included in TPHOLs paper*) |
171 |
170 |
172 declare [[sledgehammer_modulus = 4]] |
171 declare [[sledgehammer_modulus = 4]] |
181 assume 2: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> Y \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
180 assume 2: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> Y \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
182 assume 3: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> Z \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
181 assume 3: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> Z \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
183 assume 4: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> \<not> X \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
182 assume 4: "(\<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X \<or> \<not> X \<subseteq> x) \<or> X \<noteq> Y \<union> Z" |
184 assume 5: "\<And>V. ((\<not> Y \<subseteq> V \<or> \<not> Z \<subseteq> V) \<or> X \<subseteq> V) \<or> X = Y \<union> Z" |
183 assume 5: "\<And>V. ((\<not> Y \<subseteq> V \<or> \<not> Z \<subseteq> V) \<or> X \<subseteq> V) \<or> X = Y \<union> Z" |
185 have 6: "sup Y Z \<noteq> X \<or> \<not> X \<subseteq> x \<or> \<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X" |
184 have 6: "sup Y Z \<noteq> X \<or> \<not> X \<subseteq> x \<or> \<not> Y \<subseteq> X \<or> \<not> Z \<subseteq> X" |
186 by (metis 4 sup_set_eq) |
185 by (metis 4) |
187 have 7: "Z \<subseteq> x \<or> sup Y Z \<noteq> X \<or> \<not> Y \<subseteq> X" |
186 have 7: "Z \<subseteq> x \<or> sup Y Z \<noteq> X \<or> \<not> Y \<subseteq> X" |
188 by (metis 3 sup_set_eq Un_upper2 sup_set_eq sup_set_eq) |
187 by (metis 3 Un_upper2) |
189 have 8: "Z \<subseteq> x \<or> sup Y Z \<noteq> X" |
188 have 8: "Z \<subseteq> x \<or> sup Y Z \<noteq> X" |
190 by (metis 7 Un_upper1 sup_set_eq sup_set_eq) |
189 by (metis 7 Un_upper1) |
191 have 9: "sup Y Z = X \<or> \<not> Z \<subseteq> X \<or> \<not> Y \<subseteq> X" |
190 have 9: "sup Y Z = X \<or> \<not> Z \<subseteq> X \<or> \<not> Y \<subseteq> X" |
192 by (metis equalityI 5 sup_set_eq Un_upper2 sup_set_eq Un_upper1 sup_set_eq Un_least sup_set_eq) |
191 by (metis equalityI 5 Un_upper2 Un_upper1 Un_least) |
193 have 10: "Y \<subseteq> x" |
192 have 10: "Y \<subseteq> x" |
194 by (metis 2 sup_set_eq Un_upper2 sup_set_eq 1 sup_set_eq Un_upper1 sup_set_eq 0 sup_set_eq 9 Un_upper2 sup_set_eq 1 sup_set_eq Un_upper1 sup_set_eq 0 sup_set_eq) |
193 by (metis 2 Un_upper2 1 Un_upper1 0 9 Un_upper2 1 Un_upper1 0) |
195 have 11: "X \<subseteq> x" |
194 have 11: "X \<subseteq> x" |
196 by (metis Un_least sup_set_eq 9 Un_upper2 sup_set_eq 1 sup_set_eq Un_upper1 sup_set_eq 0 sup_set_eq 8 9 Un_upper2 sup_set_eq 1 sup_set_eq Un_upper1 sup_set_eq 0 sup_set_eq 10) |
195 by (metis Un_least 9 Un_upper2 1 Un_upper1 0 8 9 Un_upper2 1 Un_upper1 0 10) |
197 show "False" |
196 show "False" |
198 by (metis 11 6 Un_upper2 sup_set_eq 1 sup_set_eq Un_upper1 sup_set_eq 0 sup_set_eq 9 Un_upper2 sup_set_eq 1 sup_set_eq Un_upper1 sup_set_eq 0 sup_set_eq) |
197 by (metis 11 6 Un_upper2 1 Un_upper1 0 9 Un_upper2 1 Un_upper1 0) |
199 qed |
198 qed |
200 |
199 |
201 ML {*AtpWrapper.problem_name := "set__equal_union"*} |
200 ML {*AtpWrapper.problem_name := "set__equal_union"*} |
202 lemma (*equal_union: *) |
201 lemma (*equal_union: *) |
203 "(X = Y \<union> Z) = |
202 "(X = Y \<union> Z) = |
236 by (metis Set.subsetI Union_upper insertCI set_eq_subset) |
235 by (metis Set.subsetI Union_upper insertCI set_eq_subset) |
237 --{*found by SPASS*} |
236 --{*found by SPASS*} |
238 |
237 |
239 lemma (*singleton_example_2:*) |
238 lemma (*singleton_example_2:*) |
240 "\<forall>x \<in> S. \<Union>S \<subseteq> x \<Longrightarrow> \<exists>z. S \<subseteq> {z}" |
239 "\<forall>x \<in> S. \<Union>S \<subseteq> x \<Longrightarrow> \<exists>z. S \<subseteq> {z}" |
241 by (metis Set.subsetI Union_upper insert_code mem_def set_eq_subset) |
240 by (metis Set.subsetI Union_upper insert_iff set_eq_subset) |
242 |
241 |
243 lemma singleton_example_2: |
242 lemma singleton_example_2: |
244 "\<forall>x \<in> S. \<Union>S \<subseteq> x \<Longrightarrow> \<exists>z. S \<subseteq> {z}" |
243 "\<forall>x \<in> S. \<Union>S \<subseteq> x \<Longrightarrow> \<exists>z. S \<subseteq> {z}" |
245 proof (neg_clausify) |
244 proof (neg_clausify) |
246 assume 0: "\<And>x. \<not> S \<subseteq> {x}" |
245 assume 0: "\<And>x. \<not> S \<subseteq> {x}" |