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 query synthesizer should have visibility into whether it is performing its work before or after a change has been made to its underlying state.
Currently Cozy performs state maintenance for an update method by (1) inserting a hardcoded snippet and (2) generating some subgoals for the query synthesizer to optimize. These subgoals are always in terms of the original abstract state of the data structure---before the update has taken place. However, sometimes it is useful to perform the update afterwards. Consider this state:
theMin = min xs
and this update:
xs.remove(x)
We might desire an implementation such as:
heap.remove(x)
theMin = heap.peek()
However, Cozy cannot discover this, since the synthesizer will always see the originalheap, before the removal has taken place.
The text was updated successfully, but these errors were encountered:
The query synthesizer should have visibility into whether it is performing its work before or after a change has been made to its underlying state.
Currently Cozy performs state maintenance for an update method by (1) inserting a hardcoded snippet and (2) generating some subgoals for the query synthesizer to optimize. These subgoals are always in terms of the original abstract state of the data structure---before the update has taken place. However, sometimes it is useful to perform the update afterwards. Consider this state:
and this update:
We might desire an implementation such as:
However, Cozy cannot discover this, since the synthesizer will always see the original
heap
, before the removal has taken place.The text was updated successfully, but these errors were encountered: