コード例 #1
0
ファイル: analyzer.py プロジェクト: adl/ltlcross_wrapper
 def get_sbacc(aut):
     if isinstance(aut, float) and math.isnan(aut):
         return None
     a = spot.automata(aut + '\n')
     aut = next(a)
     aut = spot.sbacc(aut)
     if col == 'states':
         return aut.num_states()
     if col == 'acc':
         return aut.num_sets()
コード例 #2
0
ファイル: sbacc.py プロジェクト: mcc-petrinets/formulas
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Spot is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
# License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

import spot
aut = spot.translate('GFa')
assert aut.num_states() == 1
assert not aut.prop_state_acc().is_true()
aut = spot.sbacc(aut)
assert aut.num_states() == 2
assert aut.prop_state_acc().is_true()

aut = spot.automaton("""HOA: v1
States: 3
Start: 0
AP: 2 "a" "b"
Acceptance: 2 Inf(0) | Inf(1)
properties: trans-labels explicit-labels trans-acc
--BODY--
State: 0
[0&1] 1
[0&!1] 2
State: 1
[t] 1 {0}