[isabelle-dev] Highlighting of locale variables
Lars Noschinski
noschinl at in.tum.de
Fri Apr 12 15:40:08 CEST 2013
On 12.04.2013 15:24, Makarius wrote:
> On Fri, 12 Apr 2013, Lars Noschinski wrote:
>> Rationale: In the locale context, these locale variables are morally
>> constants. Somebody suggested to highlight locale variables like
>> constants, but personally I'd prefer a highlighting similar to
>> variables obtained or fixed in a proof (maybe a non-bold orange?).
[...]
> Can you point to situations where this is still treated differently?
> Such incidents are mostly coming from the depths of time, as Larry
> usually calls this.
I was referring to variable fixed by a locale. In the example below, "F"
is always rendered like a free variable (i.e. blue); although it's scope
is not the lemma, but the locale.
-----------
locale dummy = fixes F :: 'a
begin
lemma "P F"
oops
-----------
> There are certain intermediate states, like undeclared frees that are
> implicitly fixed by the system infrastructure via "auto fix", but that
> is slightly different.
An oddity related to this is the let command. In the example below, "a"
is rendered as an undeclared free. This feels wrong as writing such a
statement seems perfectly fine, because constants and variables on the
left hand side are generalized anyway.
-----------
notepad begin
let "?X a" = "1 + a"
end
-----------
-- Lars
More information about the isabelle-dev
mailing list