# Re: [isabelle] finishing a proof

```Hi,

My non-expert view:

You have made too many assumptions - namely your assumptions p and q.

Try starting your proof with

proof(rule impI)+

Cheers

Mark

On 13 October 2016 at 10:15, Gergely Buday <buday.gergely at uni-eszterhazy.hu>
wrote:

> Hi,
>
>
>
> I would like to write a forward proof in Isar to have
>
>
>
>    P â (Q â R) â Q â (P â R)
>
>
>
> by hand it can be done through two implication eliminations using P and Q
> as assumptions, and then re-introducing implications but in the reverse
> order.
>
>
>
> I wrote the following to formalise this:
>
>
>
> theory Logic
>
> imports Main
>
> begin
>
>
>
> lemma "P â (Q â R) â Q â (P â R)"
>
> proof -
>
> assume premise : "P â (Q â R)"
>
> assume p: "P"
>
> have qr: "Q â R" by (simp add: p premise)
>
> assume q: "Q"
>
> have r: "R" by (simp add: q qr)
>
> from this have "P â R" by (simp add: p)
>
> from this have "Q â (P â R)" by (simp add: q)
>
> thus "P â (Q â R) â Q â (P â R)" by assumption
>
>
>
> Failed to refine any pending goal
>
> Local statement fails to refine any pending goal
>
> Failed attempt to solve goal by exported rule:
>
>   (P â Q â R) â (P) â (Q) â (P â Q â R) â Q â P â R
>
>
>
> It fails at the last line, it is not really clear why. Can you give a clue?
>
>
>
> - Gergely
>
>

```

This archive was generated by a fusion of Pipermail (Mailman edition) and MHonArc.