[isabelle-dev] internal TYPE exception at lemma statement
Makarius
makarius at sketis.net
Tue Nov 2 14:46:39 CET 2010
On Mon, 4 Oct 2010, Alexander Krauss wrote:
> To avoid that this issue, encountered by Lars, gets lost, I'll re-raise it
> here:
>
> The following lemma statement raises an obscure internal TYPE exception:
>
> lemma
> assumes "P foo" (is "P ?bar")
> shows "Q ?bar"
>
> I assume that is-bindings cannot be used in the same structured statement. I
> also assume that this would be hard to support in general.
Yes, allowing to bind and reference within the same "expression" would
mean to have full Hindley-Milner let-polymorphism there. This was
dismissed as too complicated in the 2nd generation locale implementation
around 2001/2002, and in the current 3rd or 4th generation it is probably
not easier to achieve that. (Our type inference framework does not even
have a notion of truely local polymorphism.)
At some point, the error behaviour could be improved, though.
Technically it is a bit related to the surprise concerning ?thesis in
'interpretation' noticed by Brian Huffman recently: the simplistic
treatment of 'is' patterns in Isar proof commands is stretched a bit too
far by these more complex applications.
Makarius
More information about the isabelle-dev
mailing list