[isabelle-dev] Regression in the sublocale command
Clemens Ballarin
ballarin at in.tum.de
Thu Feb 12 22:19:25 CET 2015
Hi Florian,
I'm investigating a regression which prevents identifying certain equivalent locales through circular sublocale declarations:
sublocale loc1 < x: loc2 A c (* sigma_1 *)
where "x.b == B" and "x.d == e" (* tau_1 *)
sorry
sublocale loc2 < x: loc1 A b (* sigma_2 *)
where "x.c == C" and "x.e == d" (* tau_2 *)
sorry (* loops from changeset 8fab871a2a6f *)
The last "sorry" loops, which is unfortunate, because it forces certain workarounds on my current project. In a fairly lengthy debug session I figured out that it is the simplifier that loops. This is an indication that the morphisms tau_1 and tau_2 are applied simultaneously, which they should not. In any case, the behaviour appears to have been introduced quite a while ago in 8fab871a2a6f, which is in the first batch of your changes to the locale interpretation commands.
Clemens
More information about the isabelle-dev
mailing list