You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The joins HB declares depend on the name of the structures, which breaks things when we want to rename structures. Here is a MWE, where the first Check uses the join of A and B, and the second one uses the coercion from S0 to B.
From HB RequireImport structures.
HB.mixin Record isA (T : Type) := {}.
HB.mixin Record isB (T : Type) := {}.
HB.mixin Record isC (T : Type) := {}.
HB.structure Definition A := {T of isA T}.
HB.structure Definition B := {T of isB T}.
HB.structure Definition C := {T of isC T}.
HB.structure Definition S := {T of A T & B T}.
HB.structure Definition S0 := {T of C T & B T}.
SetPrintingAll.
Checkfun (T : S.type) => (T : A.type) : B.type.
Checkfun (T : S0.type) => (T : C.type) : B.type.
The text was updated successfully, but these errors were encountered:
Tragicus
changed the title
HB join declaration unstable under renaming
Join declaration unstable under renaming
Nov 28, 2024
I'm not sure what breaks and shouldn't. Could you provide a MWE with a failure at definition time or during proofs? (using e.g. Fail ... to highlight it)
The joins
HB
declares depend on the name of the structures, which breaks things when we want to rename structures. Here is a MWE, where the firstCheck
uses the join ofA
andB
, and the second one uses the coercion fromS0
toB
.The text was updated successfully, but these errors were encountered: