[isabelle-dev] Fwd: [isabelle] Odd failure to match local statement with pending goal.
Lawrence Paulson
lp15 at cam.ac.uk
Tue Aug 2 13:23:42 CEST 2011
We appear to be in danger of overlooking this problem, which could indicate a significant error somewhere. The names of bound variables should not be significant. Does anybody have any idea what could be causing this?
Larry
Begin forwarded message:
> From: Lars Noschinski <noschinl at in.tum.de>
> Date: 28 July 2011 14:36:19 GMT+01:00
> To: Bertram Felgenhauer <bertram.felgenhauer at googlemail.com>
> Cc: cl-isabelle-users at lists.cam.ac.uk
> Subject: Re: [isabelle] Odd failure to match local statement with pending goal.
>
> Hello all,
>
> As Larry stated, this is indeed a strange problem. I tried to find a minimal example; here is what I came up with:
>
> -------------------
> lemma
> shows "⋀c d. d ∈ Z ⟹ x = c ⟹
> ∃e. e ∈ {_. ∃e. e ∈ Z ∧ y = e}"
> apply (unfold mem_Collect_eq)
> proof -
> fix s t
> assume "x = s" and "t ∈ Z"
> then show "∃s t. t ∈ Z ∧ y = t"
> sorry
> qed
> -------------------
>
> The show statement fails with
>
> > *** Local statement will fail to refine any pending goal
> > *** Failed attempt to solve goal by exported rule:
> > ...
>
> Any of the following actions will make this example succeed:
>
> - Rename any of the two existentially bound variables in the shows
> statement
> - Rename any of the two existentially bound variables in the show
> statement
> - Rename any of the variables mentioned by fix
> - Remove any one of the assume statements
> - Remove the "apply (unfold ...)" and state the unfolded goal directly
>
> This was tested on a relatively current repository version of Isabelle (last week or so).
>
> -- Lars
>
More information about the isabelle-dev
mailing list