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 package algorithm used by Silicon computes a footprint for a wand that may conditions on facts that are not framed by the wand's footprint, which is unsound, as the example below (which is verified by Silicon) illustrates:
The footprint computed by Silicon for the wand acc(x.f) && (x.f ? acc(a.f, 1/2) : acc(b.f, 1/2)) --* acc(a.f, 1/2) && acc(b.f, 1/2) is x.f ? acc(b.f, 1/2) : acc(a.f, 1/2), which is not a theoretically valid footprint, since it conditions on the value of x.f, even though it holds no permission to it.
The package algorithm used by Silicon computes a footprint for a wand that may conditions on facts that are not framed by the wand's footprint, which is unsound, as the example below (which is verified by Silicon) illustrates:
The footprint computed by Silicon for the wand
acc(x.f) && (x.f ? acc(a.f, 1/2) : acc(b.f, 1/2)) --* acc(a.f, 1/2) && acc(b.f, 1/2)
isx.f ? acc(b.f, 1/2) : acc(a.f, 1/2)
, which is not a theoretically valid footprint, since it conditions on the value of x.f, even though it holds no permission to it.Note that Carbon suffers from the same issue.
The text was updated successfully, but these errors were encountered: