Strategy queries allow store, load, reuse and refine the strategies by assigning names to them.
AssignQuery ::=
'strategy' StrategyName '=' AssignableQuery
AssignableQuery ::=
ControlQuery
| LearningQuery
| 'loadStrategy' Features '(' Path ')'
NonAssignableQuery ::=
SymbolicQuery
| SMCQuery
| 'saveStrategy' '(' Path ',' StrategyName ')'
") character sequence (string) denoting a file path on the same computer as the used engine (server or verifyta).\) character in (Windows) paths needs to be either escaped with another backslash or replaced with the forwardslash (/), i.e. \ should be replaced with either \\ or /.See rail road diagram of AssignableQuery in Query overview.
strategy Safe = A[] safeSafe.A[] good under Safegood is always satisfied when the player/controller sticks to actions permitted by Safe strategy.E<> goal under Safegoal state predicate is eventually satisfied when the player/controller uses Safe strategy.strategy SafeCheap = minE(cost)[<=10] {i,j} -> {d,f} : <> t>=10 under SafeSafe strategy into SafeCheap by minimizing the expected value of cost expression.saveStrategy("folder/file.json", Safe)Safe strategy to the file with path folder/file.json.strategy Safe = loadStrategy{i,j}->{d,f}("folder/file.json")folder/file.json and stores it under the name Safe.