Which of My Assumptions are Unnecessary for Realizability and Why Should I Care?
Rafi Shalom, Shahar Maoz
摘要
Specifications for reactive systems synthesis consist of assumptions and guarantees. However, some specifications may include unnecessary assumptions, i.e., assumptions that are not necessary for realizability. While the controllers that are synthesized from such specifications are correct, they are also inflexible and fragile; their executions will satisfy the specification's guarantees in only very specific environments.
In this work we show how to detect unnecessary assumptions, and to transform any realizable specification into a corresponding realizable core specification, one that includes the same guarantees but no unnecessary assumptions. We do this by computing an assumptions core, a locally minimal subset of assumptions that suffices for realizability. Controllers that are synthesized from a core specification are not only correct but, importantly, more general; their executions will satisfy the specification's guarantees in more environments.
We implemented our ideas in the Spectra synthesis environment, and evaluated their impact over different benchmarks from the literature. The evaluation provides evidence for the motivation and significance of our work, by showing (1) that unnecessary assumptions are highly prevalent, (2) that in almost all cases the fully-automated removal of unnecessary assumptions pays off in total synthesis time, and (3) that core specifications induce more general controllers whose reachable state space is larger but whose representation more memory efficient. Listing 2 SPECIFICATION: ROBOT EVADING MOVING OBSTACLE (CONT., ASSUMPTIONS AND GUARANTEES) 34 // The obstacle is initially docking 35 asm initiallyObstacleAtLowerRightCorner: 36 ini obsDock; 37 38 // The obstacle must not go forever without maintenance 39 asm obstacleMustDockInfinitelyOften: 40 alwEv obsDock; 41 42 // The obstacle is initially not waiting 43 asm initiallyObsWaitFalse: 44 ini !obsWait; 45 46 // The obstacle waits every other turn 47 asm obstacleWaitSwitches: 48 alw (obsWait->next(!obsWait))&(!obsWait->next(obsWait)); 49 50 // A waiting obstacle does not move 51 asm obstacleDoesNotMoveWhenObsWait: 52 alw obsWait->(next(obsX)=obsX & next(obsY)=obsY); 53 54 // The obstacle can move only one step in each direction 55 asm obstacleMovesAtMostOne: 56 alw moveObs(obsX) & moveObs(obsY); 57 58 // The robot is initially at top left corner 59 gar initiallyRobotAtTopLeftCorner: 60 ini robAt(1,1); 61 62 // The robot can move only one step in each direction 63 gar robotMovesAtMostOne: 64 alw moveRob(robX) & moveRob(robY); 65 66 // Robot never occupies obstacles's next position 67 gar robotAvoidsObstacle: 68 alw obsNotAt(robX,robY, next(obsX),next(obsY)); 69 70 // Robot never occupies obstacle cells 71 gar robotNotOnObstacle: 72 alw obsNotAt(robX, robY, obsX, obsY);
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper3
相关 Paper
- Performance Heuristics for GR(1) Unrealizable Core ComputationShachaf Cohen, Shahar MaozFM 2026
- Dynamic Update for Synthesized GR(1) ControllersGal Amram, Shahar Maoz, Itai Segall, Matan YossefICSE 2022 · 被引用 4 次
- Efficient Incremental GR(1) Synthesis via Monotonic Fixed-Point ReuseSirui Liu, Wei Dong, Yijie Zheng, Haonan GuoOOPSLA 2026
- Using Reactive Synthesis: An End-to-End Exploratory Case StudyDor Ma'ayan, Shahar MaozICSE 2023 · 被引用 10 次
- Kind Controllers and Fast Heuristics for Non-Well-Separated GR(1) SpecificationsAriel Gorenstein, Shahar Maoz, Jan Oliver RingertICSE 2024 · 被引用 6 次
