equal
deleted
inserted
replaced
178 |
178 |
179 writeln"** Examples with quantifiers **"; |
179 writeln"** Examples with quantifiers **"; |
180 |
180 |
181 writeln"The converse is classical in the following implications..."; |
181 writeln"The converse is classical in the following implications..."; |
182 |
182 |
183 goal IFOLP.thy "?p : (EX x.P(x)-->Q) --> (ALL x.P(x)) --> Q"; |
183 goal IFOLP.thy "?p : (EX x. P(x)-->Q) --> (ALL x. P(x)) --> Q"; |
184 by (IntPr.fast_tac 1); |
184 by (IntPr.fast_tac 1); |
185 result(); |
185 result(); |
186 |
186 |
187 goal IFOLP.thy "?p : ((ALL x.P(x))-->Q) --> ~ (ALL x. P(x) & ~Q)"; |
187 goal IFOLP.thy "?p : ((ALL x. P(x))-->Q) --> ~ (ALL x. P(x) & ~Q)"; |
188 by (IntPr.fast_tac 1); |
188 by (IntPr.fast_tac 1); |
189 result(); |
189 result(); |
190 |
190 |
191 goal IFOLP.thy "?p : ((ALL x. ~P(x))-->Q) --> ~ (ALL x. ~ (P(x)|Q))"; |
191 goal IFOLP.thy "?p : ((ALL x. ~P(x))-->Q) --> ~ (ALL x. ~ (P(x)|Q))"; |
192 by (IntPr.fast_tac 1); |
192 by (IntPr.fast_tac 1); |
193 result(); |
193 result(); |
194 |
194 |
195 goal IFOLP.thy "?p : (ALL x.P(x)) | Q --> (ALL x. P(x) | Q)"; |
195 goal IFOLP.thy "?p : (ALL x. P(x)) | Q --> (ALL x. P(x) | Q)"; |
196 by (IntPr.fast_tac 1); |
196 by (IntPr.fast_tac 1); |
197 result(); |
197 result(); |
198 |
198 |
199 goal IFOLP.thy "?p : (EX x. P --> Q(x)) --> (P --> (EX x. Q(x)))"; |
199 goal IFOLP.thy "?p : (EX x. P --> Q(x)) --> (P --> (EX x. Q(x)))"; |
200 by (IntPr.fast_tac 1); |
200 by (IntPr.fast_tac 1); |
204 |
204 |
205 |
205 |
206 writeln"The following are not constructively valid!"; |
206 writeln"The following are not constructively valid!"; |
207 (*The attempt to prove them terminates quickly!*) |
207 (*The attempt to prove them terminates quickly!*) |
208 |
208 |
209 goal IFOLP.thy "?p : ((ALL x.P(x))-->Q) --> (EX x.P(x)-->Q)"; |
209 goal IFOLP.thy "?p : ((ALL x. P(x))-->Q) --> (EX x. P(x)-->Q)"; |
210 by (IntPr.fast_tac 1) handle ERROR => writeln"Failed, as expected"; |
210 by (IntPr.fast_tac 1) handle ERROR => writeln"Failed, as expected"; |
211 getgoal 1; |
211 getgoal 1; |
212 |
212 |
213 goal IFOLP.thy "?p : (P --> (EX x.Q(x))) --> (EX x. P-->Q(x))"; |
213 goal IFOLP.thy "?p : (P --> (EX x. Q(x))) --> (EX x. P-->Q(x))"; |
214 by (IntPr.fast_tac 1) handle ERROR => writeln"Failed, as expected"; |
214 by (IntPr.fast_tac 1) handle ERROR => writeln"Failed, as expected"; |
215 getgoal 1; |
215 getgoal 1; |
216 |
216 |
217 goal IFOLP.thy "?p : (ALL x. P(x) | Q) --> ((ALL x.P(x)) | Q)"; |
217 goal IFOLP.thy "?p : (ALL x. P(x) | Q) --> ((ALL x. P(x)) | Q)"; |
218 by (IntPr.fast_tac 1) handle ERROR => writeln"Failed, as expected"; |
218 by (IntPr.fast_tac 1) handle ERROR => writeln"Failed, as expected"; |
219 getgoal 1; |
219 getgoal 1; |
220 |
220 |
221 goal IFOLP.thy "?p : (ALL x. ~~P(x)) --> ~~(ALL x. P(x))"; |
221 goal IFOLP.thy "?p : (ALL x. ~~P(x)) --> ~~(ALL x. P(x))"; |
222 by (IntPr.fast_tac 1) handle ERROR => writeln"Failed, as expected"; |
222 by (IntPr.fast_tac 1) handle ERROR => writeln"Failed, as expected"; |
262 by (IntPr.best_tac 1); |
262 by (IntPr.best_tac 1); |
263 result(); |
263 result(); |
264 |
264 |
265 writeln"Problem 24"; |
265 writeln"Problem 24"; |
266 goal IFOLP.thy "?p : ~(EX x. S(x)&Q(x)) & (ALL x. P(x) --> Q(x)|R(x)) & \ |
266 goal IFOLP.thy "?p : ~(EX x. S(x)&Q(x)) & (ALL x. P(x) --> Q(x)|R(x)) & \ |
267 \ (~(EX x.P(x)) --> (EX x.Q(x))) & (ALL x. Q(x)|R(x) --> S(x)) \ |
267 \ (~(EX x. P(x)) --> (EX x. Q(x))) & (ALL x. Q(x)|R(x) --> S(x)) \ |
268 \ --> ~~(EX x. P(x)&R(x))"; |
268 \ --> ~~(EX x. P(x)&R(x))"; |
269 (*Not clear why fast_tac, best_tac, ASTAR and ITER_DEEPEN all take forever*) |
269 (*Not clear why fast_tac, best_tac, ASTAR and ITER_DEEPEN all take forever*) |
270 by IntPr.safe_tac; |
270 by IntPr.safe_tac; |
271 by (etac impE 1); |
271 by (etac impE 1); |
272 by (IntPr.fast_tac 1); |
272 by (IntPr.fast_tac 1); |
295 \ --> (ALL x. ~~S(x))"; |
295 \ --> (ALL x. ~~S(x))"; |
296 by (IntPr.fast_tac 1); |
296 by (IntPr.fast_tac 1); |
297 result(); |
297 result(); |
298 |
298 |
299 writeln"Problem 31"; |
299 writeln"Problem 31"; |
300 goal IFOLP.thy "?p : ~(EX x.P(x) & (Q(x) | R(x))) & \ |
300 goal IFOLP.thy "?p : ~(EX x. P(x) & (Q(x) | R(x))) & \ |
301 \ (EX x. L(x) & P(x)) & \ |
301 \ (EX x. L(x) & P(x)) & \ |
302 \ (ALL x. ~ R(x) --> M(x)) \ |
302 \ (ALL x. ~ R(x) --> M(x)) \ |
303 \ --> (EX x. L(x) & M(x))"; |
303 \ --> (EX x. L(x) & M(x))"; |
304 by (IntPr.fast_tac 1); |
304 by (IntPr.fast_tac 1); |
305 result(); |
305 result(); |