1

I need to show that

$$ \forall{x}\exists{y}{(P(x) \to Q(y))} \vdash \exists{y}\forall{x}{(P(x) \to Q(y))} $$

using the natural deduction rules outlined in Logic in Computer Science: Modelling and Reasoning about Systems by Michael Huth and Mark Ryan.

There is a proof outlined in this answer. However, it seems to violate the scope requirements for $\forall{}$ introduction, as outlined in the book.

Bram28
  • 100,612
  • 6
  • 70
  • 118

2 Answers2

2

A proof of the problem given, adapted from @Bram28's answer

Proof

  • Good work! I did the second part a little more quickly. I'l add my proof to my Answer – Bram28 Jun 11 '19 at 23:46
  • @Bram28 Line 25 looks suspect to me. Term c is used outside of its Flag scope. – Graham Kemp Aug 09 '19 at 00:25
  • @GrahamKemp Same here ... the $Qc$ on line $25$ comes from a $\bot \ Elim$, which this system allows: any statement follows from a contradiction ... and it does not effect the validity of the subproof on ines $3$ through $12$, since line $25$ comes only after that subproof. But I can understand that in some proof systems the use of temporary terms used in a $\forall \ Intro$ proof is restricted to that very subproof, just to avoid any possible confusion. – Bram28 Aug 09 '19 at 11:08
1

Yeah, that one is nasty! Using the Prenex Laws their equivalence is easily demonstrated, but proving those Prenex laws can be a pain. You'll need to use a proof by contradiction. Here is a proof that is quite similar ... and using very similar rules as well.

enter image description here

OK, here's the actual proof:

enter image description here

Bram28
  • 100,612
  • 6
  • 70
  • 118
  • Thanks, this is great, but this proves it for $P(x) v Q(y)$ instead of $P(x) \rightarrow Q(y)$, but I suppose it's somewhat equivalent / the proof will be similar. Out of interest, what did you use to generate this proof? – TheConfuZzledDude Jun 11 '19 at 21:57
  • @TheConfuZzledDude Yes, I actually did the proof for what you want yesterday, and it is very similar. The program I use here is called Fitch ... it is not free, unfortunately; it comes iwht the textbook Language, Proof, and Logic – Bram28 Jun 11 '19 at 22:24
  • Thanks, I adapted your proof to the question, and used FitchJS to check it – TheConfuZzledDude Jun 11 '19 at 23:12
  • On line 19, b is used outside of its declaration scope. – Graham Kemp Aug 09 '19 at 00:41
  • @GrahamKemp In this particular proof system you can introduce variable-free terms for $\forall \ Elim$ as well as $\bot \ Elim$ without having to declare a specific scope for them. So yes, I used a $b$ as an arbitrary individual in lines $3$ through $10$, but I specifically introduced it since this was used for a $\forall \ Elim$. But on line $19$ it was obtained from a $\bot \ Elim$, and in this proof system that's ok. – Bram28 Aug 09 '19 at 11:04