Formally S-Pointer gives us x.store <= x.load
Trans of (a <= x.store , x.store <= x.load) gives us a <= x.load
Trans of (a <= x.load, x.load <= c) gives us a <= c
This proof breaks down in our proof graph. This is related to the variance of stacks. We have to be careful to not break #6 while fixing this portion of the proof graph.
The trick is a should have an edge to x cov store which would then get everything to work out. But this edge was removed in #6
Pretty obviously we should get a <= c here.
Formally S-Pointer gives us x.store <= x.load Trans of (a <= x.store , x.store <= x.load) gives us a <= x.load Trans of (a <= x.load, x.load <= c) gives us a <= c
This proof breaks down in our proof graph. This is related to the variance of stacks. We have to be careful to not break #6 while fixing this portion of the proof graph.
The trick is
a
should have an edge to x cov store which would then get everything to work out. But this edge was removed in #6