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
src 1 step && tgt 0 step (bsim, or fsim_self_stutter)
src 0 step && tgt 1 step (fsim, or bsim_self_stutter)
current simulation definition does not allow us to refresh the index.
However, src/tgt together made the progress, so we should be able to refresh the index.
Solution
Adopting the idea from gpaco, we can generalize the simulation with additional parameters: gs gt: bool.
gs/gt means whether src/tgt is guarded: it is guarded if it haven't took a step since last refresh, and unguarded otherwise.
Then, we can relax the simulation definition as follows:
Problem
If we prove simulation as follows,
current simulation definition does not allow us to refresh the index.
However, src/tgt together made the progress, so we should be able to refresh the index.
Solution
Adopting the idea from gpaco, we can generalize the simulation with additional parameters:
gs gt: bool
.gs/gt means whether src/tgt is guarded: it is guarded if it haven't took a step since last refresh, and unguarded otherwise.
Then, we can relax the simulation definition as follows:
(bsim, sfsim are omitted)
Note: proving the soundness might require future-aware simulation. To be more specific, proving soundness transitively "xsim => bsim => adequacy" might && proving directly (xsim => adequacy) might not.
The text was updated successfully, but these errors were encountered: