[isabelle-dev] NEWS: auxiliary contexts
Makarius
makarius at sketis.net
Sun Apr 15 14:54:54 CEST 2012
* Auxiliary contexts indicate block structure for specifications with
additional parameters and assumptions. Such unnamed contexts may be
nested within other targets, like 'theory', 'locale', 'class',
'instantiation' etc. Results from the local context are generalized
accordingly and applied to the enclosing target context. Example:
context
fixes x y z :: 'a
assumes xy: "x = y" and yz: "y = z"
begin
lemma my_trans: "x = z" using xy yz by simp
end
thm my_trans
The most basic application is to factor-out context elements of
several fixes/assumes/shows theorem statements, e.g. see
~/src/HOL/Isar_Examples/Group_Context.thy
Any other local theory specification element works within the "context
... begin ... end" block as well.
This refers to Isabelle/a83b25e5bad3. The idea has been in the pipeline
since about 2007/2008, but we could not afford it so far due to national
debts.
There might be some rough edges still in the implementation, which are
hopefully ironed out until the release.
Please report your experience with it.
Makarius
More information about the isabelle-dev
mailing list