def is_realizable( option, specs, env=None, sys=None, ignore_env_init=False, ignore_sys_init=False, bool_states=False, action_vars=None, bool_actions=False ): """Check realizability. For details see L{synthesize}. """ bool_states, action_vars, bool_actions = _check_solver_options( option, bool_states, action_vars, bool_actions ) specs = spec_plus_sys( specs, env, sys, ignore_env_init, ignore_sys_init, bool_states, action_vars, bool_actions ) if option == 'gr1c': r = gr1c.check_realizable(specs) elif option == 'jtlv': r = jtlv.check_realizable(specs) else: raise Exception('Undefined synthesis option. '+\ 'Current options are "jtlv" and "gr1c"') if r: logger.debug('is realizable') else: logger.debug('is not realizable') return r
def is_realizable( option, specs, env=None, sys=None, ignore_env_init=False, ignore_sys_init=False, bool_states=False, bool_actions=False ): """Check realizability. For details see L{synthesize}. """ specs = _spec_plus_sys( specs, env, sys, ignore_env_init, ignore_sys_init, bool_states, bool_actions) if option == 'gr1c': r = gr1c.check_realizable(specs) elif option == 'slugs': if slugs is None: raise ValueError('Import of slugs interface failed. ' + 'Please verify installation of "slugs".') r = slugs.check_realizable(specs) elif option == 'jtlv': r = jtlv.check_realizable(specs) else: raise Exception('Undefined synthesis option. ' + 'Current options are "jtlv", "gr1c", and "slugs"') if r: logger.debug('is realizable') else: logger.debug('is not realizable') return r
def test_check_realizable(self): assert not check_realizable(self.f_un) self.f_un.sys_safety = [] assert check_realizable(self.f_un)