[isabelle-dev] Fwd: [isabelle] Problem with frule_tac substitution
Makarius
makarius at sketis.net
Wed Feb 9 10:54:32 CET 2011
On Tue, 8 Feb 2011, Brian Huffman wrote:
> * Instantiating a rule proved within an open-brace-close-brace block
> in a structured proof. I was surprised by this one. For example:
>
> lemma "True"
> proof -
> { fix n :: nat
> have "n = n" by simp
> }
>
> this:
> ?n2 = ?n2
>
> I expected "this" to have the form "?n = ?n", with index 0. But for some
> reason, the actual rule uses index 2. Some proof scripts in SEQ.thy use
> something like "note foo = this", followed later with an instantiation
> using the "where" attribute that refers to the nonzero index.
Continuing your experiments maybe a few more months, you will discover
more details.
Back in the mid 1990-ies, one could still consider changing the system
from a quick impulse to try a variation of existing functionality. Later
this has become much more tedious, and now its an arcane discipline.
Makarius
More information about the isabelle-dev
mailing list