diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 32e536f8..efd19f7f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -48,9 +48,10 @@ jobs: image: gitlab.lrz.de:5005/i7/owl:9e31fba0 strategy: matrix: - suite: ['ltl-to-delta2', 'ltl2aut-all-flags', 'ltl2nba', 'ltl2ldba', 'ltl2dpa', 'ltl2dpa-symbolic', 'ltl2dra', 'ltl2dela', 'aut2parity', 'ngba2ldba', 'nba2dpa-default', 'aut-utilities' ] + suite: [ 'ltl-to-delta2', 'ltl2aut-all-flags', 'ltl2nba', 'ltl2ldba', 'ltl2dpa', 'ltl2dpa-symbolic', 'ltl2dra', 'ltl2dela', 'aut2parity', 'ngba2ldba', 'nba2dpa-default', 'aut-utilities' ] # Expensive Suite: nba2dpa-complete - needs: [build] + fail-fast: false + needs: [ build ] steps: - name: Checkout uses: actions/checkout@v3 @@ -62,5 +63,6 @@ jobs: run: | unzip -d unzipped ./*.zip mv unzipped/owl-*/bin/owl . + mv unzipped/owl-*/bin/kissat . - name: Run Suite run: python3 scripts/util.py test ${{ matrix.suite }} diff --git a/data/formulas/features/BASE.json b/data/formulas/features/BASE.json index b619bcb0..ff7cc1fd 100644 --- a/data/formulas/features/BASE.json +++ b/data/formulas/features/BASE.json @@ -1070,7 +1070,8 @@ }, { "temporalOperatorsProfile": [ - 0 + 0, + 1 ] } ], @@ -1140,7 +1141,8 @@ }, { "temporalOperatorsProfile": [ - 0 + 0, + 1 ] } ], diff --git a/data/formulas/features/CHECK.json b/data/formulas/features/CHECK.json index bc236b09..3c5f3cdd 100644 --- a/data/formulas/features/CHECK.json +++ b/data/formulas/features/CHECK.json @@ -9,9 +9,6 @@ 1, 2 ] - }, - { - "temporalOperatorsProfile": [] } ], [ @@ -20,11 +17,6 @@ 0, 2 ] - }, - { - "temporalOperatorsProfile": [ - 0 - ] } ] ] @@ -154,11 +146,6 @@ 0, 1 ] - }, - { - "temporalOperatorsProfile": [ - 0 - ] } ], [ @@ -167,9 +154,6 @@ 0, 2 ] - }, - { - "temporalOperatorsProfile": [] } ] ] @@ -184,11 +168,6 @@ 1, 2 ] - }, - { - "temporalOperatorsProfile": [ - 0 - ] } ], [ @@ -197,9 +176,6 @@ 1, 2 ] - }, - { - "temporalOperatorsProfile": [] } ] ] @@ -214,9 +190,6 @@ 1, 2 ] - }, - { - "temporalOperatorsProfile": [] } ], [ @@ -225,11 +198,6 @@ 0, 2 ] - }, - { - "temporalOperatorsProfile": [ - 0 - ] } ] ] @@ -35895,56 +35863,58 @@ 0, 1, 2, - 3, - 8 + 3 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0, + 1 + ] } ], [ { "temporalOperatorsProfile": [ - 1 + 0, + 1, + 3 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ { "temporalOperatorsProfile": [ + 0, 2, - 3, - 4, - 5, - 6, - 7, - 8 + 3 ] }, { "temporalOperatorsProfile": [ 0, 1, - 2 + 2, + 3 ] } ], [ { "temporalOperatorsProfile": [ + 0, 2, - 3, - 8 + 3 ] }, { "temporalOperatorsProfile": [ 0, - 1, 2, 3 ] @@ -35953,16 +35923,14 @@ [ { "temporalOperatorsProfile": [ + 1, 2, - 3, - 8 + 3 ] }, { "temporalOperatorsProfile": [ - 0, - 2, - 3 + 0 ] } ] @@ -36028,46 +35996,69 @@ { "temporalOperatorsProfile": [ 0, - 1 + 1, + 3, + 4 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0, + 1, + 2, + 3, + 4 + ] } ], [ { "temporalOperatorsProfile": [ + 0, 1, - 2, 3, - 4, - 7, - 8 + 4 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 1, + 2, + 3, + 4 + ] } ], [ { "temporalOperatorsProfile": [ + 0, 1, - 2, - 5, - 6, - 7, - 8, - 9, - 10 + 3, + 4 ] }, + { + "temporalOperatorsProfile": [ + 2, + 3, + 4 + ] + } + ], + [ { "temporalOperatorsProfile": [ 0, 1, - 2 + 3, + 4 + ] + }, + { + "temporalOperatorsProfile": [ + 3, + 4 ] } ], @@ -36076,182 +36067,157 @@ "temporalOperatorsProfile": [ 1, 2, - 5, - 6, - 7, - 8, - 9, - 10 + 3, + 4 ] }, { "temporalOperatorsProfile": [ - 1, - 2 + 0 ] } ], [ { "temporalOperatorsProfile": [ + 2, + 3, + 4 + ] + }, + { + "temporalOperatorsProfile": [ + 0 + ] + } + ] + ] + }, + { + "formula": "G(a | (((b | (((c & X((!d) U (e)))) M (!d)))) U ((d | G(b | (c & XFe))))))", + "properties": [ + [ + { + "permutation": [ + 0, + 1 + ] + }, + { + "temporalOperatorsProfile": [ + 0, 1, 2, + 3, 7, 8 ] }, + { + "temporalOperatorsProfile": [ + 0, + 1 + ] + }, + { + "temporalOperatorsProfile": [ + 0 + ] + }, + { + "temporalOperatorsProfile": [ + 0, + 1 + ] + }, + { + "temporalOperatorsProfile": [ + 0, + 1 + ] + } + ], + [ + { + "permutation": [ + 0, + 1 + ] + }, { "temporalOperatorsProfile": [ 0, 1, 2, - 3 + 3, + 7, + 8 + ] + }, + { + "temporalOperatorsProfile": [ + 0, + 1 + ] + }, + { + "temporalOperatorsProfile": [ + 0 + ] + }, + { + "temporalOperatorsProfile": [ + 0, + 1, + 2 + ] + }, + { + "temporalOperatorsProfile": [ + 0 ] } ], [ + { + "permutation": [ + 0, + 1 + ] + }, { "temporalOperatorsProfile": [ + 0, 1, 2, + 3, 7, 8 ] }, { "temporalOperatorsProfile": [ - 2, - 3 + 0, + 1 + ] + }, + { + "temporalOperatorsProfile": [ + 0 + ] + }, + { + "temporalOperatorsProfile": [ + 0, + 2 + ] + }, + { + "temporalOperatorsProfile": [ + 0 ] } - ] - ] - }, - { - "formula": "G(a | (((b | (((c & X((!d) U (e)))) M (!d)))) U ((d | G(b | (c & XFe))))))", - "properties": [ - [ - { - "permutation": [ - 0, - 1 - ] - }, - { - "temporalOperatorsProfile": [ - 0, - 1, - 2, - 3, - 7, - 8 - ] - }, - { - "temporalOperatorsProfile": [ - 0, - 1 - ] - }, - { - "temporalOperatorsProfile": [ - 0 - ] - }, - { - "temporalOperatorsProfile": [ - 0, - 1 - ] - }, - { - "temporalOperatorsProfile": [ - 0, - 1 - ] - } - ], - [ - { - "permutation": [ - 0, - 1 - ] - }, - { - "temporalOperatorsProfile": [ - 0, - 1, - 2, - 3, - 7, - 8 - ] - }, - { - "temporalOperatorsProfile": [ - 0, - 1 - ] - }, - { - "temporalOperatorsProfile": [ - 0 - ] - }, - { - "temporalOperatorsProfile": [ - 0, - 1, - 2 - ] - }, - { - "temporalOperatorsProfile": [ - 0 - ] - } - ], - [ - { - "permutation": [ - 0, - 1 - ] - }, - { - "temporalOperatorsProfile": [ - 0, - 1, - 2, - 3, - 7, - 8 - ] - }, - { - "temporalOperatorsProfile": [ - 0, - 1 - ] - }, - { - "temporalOperatorsProfile": [ - 0 - ] - }, - { - "temporalOperatorsProfile": [ - 0, - 2 - ] - }, - { - "temporalOperatorsProfile": [ - 0 - ] - } - ], + ], [ { "permutation": [ @@ -37195,8 +37161,8 @@ "temporalOperatorsProfile": [ 0, 2, - 5, - 6 + 4, + 5 ] }, { @@ -37209,13 +37175,16 @@ { "temporalOperatorsProfile": [ 0, + 4, 5, - 6, - 8 + 9 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0, + 1 + ] } ], [ @@ -37223,7 +37192,7 @@ "temporalOperatorsProfile": [ 1, 2, - 4 + 3 ] }, { @@ -37246,9 +37215,8 @@ { "temporalOperatorsProfile": [ 2, - 3, - 5, - 6 + 6, + 7 ] }, { @@ -37260,10 +37228,9 @@ [ { "temporalOperatorsProfile": [ - 3, - 5, 6, - 7 + 7, + 8 ] }, { @@ -37275,20 +37242,21 @@ [ { "temporalOperatorsProfile": [ - 3, - 5, 6, - 8 + 7, + 10 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ { "temporalOperatorsProfile": [ - 7 + 8 ] }, { @@ -37322,7 +37290,9 @@ ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ @@ -37353,11 +37323,7 @@ 4, 5, 6, - 7, - 8, - 9, 10, - 11, 12 ] }, @@ -37372,15 +37338,24 @@ "temporalOperatorsProfile": [ 0, 1, - 2, + 3, + 4 + ] + }, + { + "temporalOperatorsProfile": [ + 0 + ] + } + ], + [ + { + "temporalOperatorsProfile": [ + 0, + 1, 3, 4, - 5, - 6, - 7, - 8, - 9, - 11 + 6 ] }, { @@ -37394,10 +37369,8 @@ "temporalOperatorsProfile": [ 0, 1, - 2, 3, 4, - 5, 6, 10, 12 @@ -37414,27 +37387,23 @@ "temporalOperatorsProfile": [ 0, 1, - 2, 3, 4, - 5, - 7, - 8, - 9, - 11 + 10, + 12 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ { "temporalOperatorsProfile": [ 0, - 1, - 3, - 4 + 2 ] }, { @@ -37445,10 +37414,12 @@ { "temporalOperatorsProfile": [ 0, - 1, - 3, + 2, 4, - 6 + 8, + 10, + 11, + 12 ] }, { @@ -37461,91 +37432,82 @@ { "temporalOperatorsProfile": [ 0, - 1, - 3, 4, - 6, + 8, 10, + 11, 12 ] }, { "temporalOperatorsProfile": [ - 0 + 0, + 1 ] } ], [ { "temporalOperatorsProfile": [ - 0, 1, 3, 4, - 7, + 5, + 6, 8, - 9, 10, 11, 12 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ { "temporalOperatorsProfile": [ - 0, 1, 3, 4, - 7, + 5, + 6, 8, - 9, 11 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ { "temporalOperatorsProfile": [ - 0, 1, 3, 4, - 10, - 12 + 5, + 8, + 11 ] }, - { - "temporalOperatorsProfile": [] - } - ], - [ { "temporalOperatorsProfile": [ - 0, - 2 + 0 ] - }, - { - "temporalOperatorsProfile": [] } ], [ { "temporalOperatorsProfile": [ - 0, - 2, + 1, + 3, 4, - 7, 8, - 9, 10, 11, 12 @@ -37553,25 +37515,25 @@ }, { "temporalOperatorsProfile": [ - 0 + 0, + 1 ] } ], [ { "temporalOperatorsProfile": [ - 0, + 1, + 3, 4, - 7, 8, - 9, - 10, - 11, - 12 + 11 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ @@ -37603,11 +37565,8 @@ 0, 1, 2, - 3 + 4 ] - }, - { - "temporalOperatorsProfile": [] } ], [ @@ -37615,16 +37574,7 @@ "temporalOperatorsProfile": [ 0, 3, - 6, - 7, - 10, - 11 - ] - }, - { - "temporalOperatorsProfile": [ - 0, - 1 + 4 ] } ], @@ -37633,33 +37583,14 @@ "temporalOperatorsProfile": [ 1, 2, - 4, - 5, - 8, - 9 + 3 ] - }, - { - "temporalOperatorsProfile": [] } ], [ { "temporalOperatorsProfile": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ] - }, - { - "temporalOperatorsProfile": [ - 0, - 1 + 3 ] } ] @@ -42421,7 +42352,8 @@ { "temporalOperatorsProfile": [ 0, - 1 + 1, + 2 ] } ], @@ -42468,7 +42400,8 @@ { "temporalOperatorsProfile": [ 0, - 1 + 1, + 2 ] } ], @@ -42515,7 +42448,9 @@ ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ @@ -42527,7 +42462,10 @@ ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0, + 1 + ] } ], [ @@ -51960,7 +51898,26 @@ }, { "temporalOperatorsProfile": [ - 0 + 0, + 1, + 2, + 3 + ] + } + ], + [ + { + "temporalOperatorsProfile": [ + 0, + 1, + 4, + 5, + 6 + ] + }, + { + "temporalOperatorsProfile": [ + 3 ] } ] @@ -52440,8 +52397,77 @@ }, { "temporalOperatorsProfile": [ - 0, - 3 + 0, + 3 + ] + }, + { + "temporalOperatorsProfile": [ + 0 + ] + }, + { + "temporalOperatorsProfile": [] + }, + { + "temporalOperatorsProfile": [ + 0, + 1 + ] + }, + { + "temporalOperatorsProfile": [ + 0 + ] + } + ], + [ + { + "permutation": [ + 1 + ] + }, + { + "temporalOperatorsProfile": [ + 1, + 2, + 3, + 4 + ] + }, + { + "temporalOperatorsProfile": [ + 0 + ] + }, + { + "temporalOperatorsProfile": [] + }, + { + "temporalOperatorsProfile": [ + 0, + 1 + ] + }, + { + "temporalOperatorsProfile": [ + 0, + 1 + ] + } + ], + [ + { + "permutation": [ + 1 + ] + }, + { + "temporalOperatorsProfile": [ + 1, + 2, + 3, + 4 ] }, { @@ -52455,7 +52481,8 @@ { "temporalOperatorsProfile": [ 0, - 1 + 1, + 2 ] }, { @@ -52463,83 +52490,71 @@ 0 ] } - ], + ] + ] + }, + { + "formula": "GF(a & ((a) U (b)))", + "properties": [ [ { - "permutation": [ + "temporalOperatorsProfile": [ + 0, 1 ] - }, + } + ], + [ { "temporalOperatorsProfile": [ 1, - 2, - 3, - 4 + 2 ] - }, + } + ] + ] + }, + { + "formula": "F((a | Gb) & (c | Gd) & (e | Gf))", + "properties": [ + [ { "temporalOperatorsProfile": [ 0 ] }, - { - "temporalOperatorsProfile": [] - }, - { - "temporalOperatorsProfile": [ - 0, - 1 - ] - }, { "temporalOperatorsProfile": [ - 0, - 1 + 0 ] } ], [ - { - "permutation": [ - 1 - ] - }, { "temporalOperatorsProfile": [ 1, 2, 3, - 4 + 4, + 5 ] }, { "temporalOperatorsProfile": [ 0 ] - }, - { - "temporalOperatorsProfile": [] - }, + } + ], + [ { "temporalOperatorsProfile": [ - 0, 1, - 2 + 2, + 3, + 4, + 5 ] }, - { - "temporalOperatorsProfile": [ - 0 - ] - } - ] - ] - }, - { - "formula": "GF(a & ((a) U (b)))", - "properties": [ - [ { "temporalOperatorsProfile": [ 0, @@ -52551,24 +52566,16 @@ { "temporalOperatorsProfile": [ 1, - 2 - ] - } - ] - ] - }, - { - "formula": "F((a | Gb) & (c | Gd) & (e | Gf))", - "properties": [ - [ - { - "temporalOperatorsProfile": [ - 0 + 2, + 3, + 4, + 5 ] }, { "temporalOperatorsProfile": [ - 0 + 0, + 2 ] } ], @@ -52584,7 +52591,6 @@ }, { "temporalOperatorsProfile": [ - 0, 1 ] } @@ -52601,7 +52607,6 @@ }, { "temporalOperatorsProfile": [ - 0, 1, 2 ] @@ -52619,10 +52624,7 @@ }, { "temporalOperatorsProfile": [ - 0, - 1, - 2, - 3 + 2 ] } ], @@ -52638,8 +52640,6 @@ }, { "temporalOperatorsProfile": [ - 0, - 1, 3 ] } @@ -52656,8 +52656,7 @@ }, { "temporalOperatorsProfile": [ - 0, - 2 + 4 ] } ], @@ -52673,9 +52672,7 @@ }, { "temporalOperatorsProfile": [ - 0, - 2, - 3 + 5 ] } ], @@ -52691,8 +52688,7 @@ }, { "temporalOperatorsProfile": [ - 0, - 3 + 6 ] } ], @@ -52750,6 +52746,25 @@ ] } ], + [ + { + "temporalOperatorsProfile": [ + 1, + 2, + 3, + 5, + 6 + ] + }, + { + "temporalOperatorsProfile": [ + 0, + 1, + 2, + 4 + ] + } + ], [ { "temporalOperatorsProfile": [ @@ -52875,6 +52890,25 @@ ] } ], + [ + { + "temporalOperatorsProfile": [ + 1, + 2, + 4, + 5, + 7 + ] + }, + { + "temporalOperatorsProfile": [ + 0, + 1, + 3, + 4 + ] + } + ], [ { "temporalOperatorsProfile": [ @@ -53163,6 +53197,25 @@ ] } ], + [ + { + "temporalOperatorsProfile": [ + 1, + 3, + 4, + 5, + 8 + ] + }, + { + "temporalOperatorsProfile": [ + 0, + 2, + 3, + 4 + ] + } + ], [ { "temporalOperatorsProfile": [ @@ -53883,7 +53936,34 @@ }, { "temporalOperatorsProfile": [ - 0 + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + } + ], + [ + { + "temporalOperatorsProfile": [ + 1, + 5, + 6, + 7, + 8, + 12, + 13, + 14, + 15 + ] + }, + { + "temporalOperatorsProfile": [ + 7 ] } ] @@ -59525,66 +59605,69 @@ { "temporalOperatorsProfile": [ 0, - 1 + 1, + 3, + 4 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0, + 1, + 2, + 3, + 4 + ] } ], [ { "temporalOperatorsProfile": [ + 0, 1, - 2, 3, - 4, - 7, - 8 + 4 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 1, + 2, + 3, + 4 + ] } ], [ { "temporalOperatorsProfile": [ + 0, 1, - 2, - 5, - 6, - 7, - 8, - 9, - 10 + 3, + 4 ] }, { "temporalOperatorsProfile": [ - 0, - 1, - 2 + 2, + 3, + 4 ] } ], [ { "temporalOperatorsProfile": [ + 0, 1, - 2, - 5, - 6, - 7, - 8, - 9, - 10 + 3, + 4 ] }, { "temporalOperatorsProfile": [ - 1, - 2 + 3, + 4 ] } ], @@ -59593,32 +59676,27 @@ "temporalOperatorsProfile": [ 1, 2, - 7, - 8 + 3, + 4 ] }, { "temporalOperatorsProfile": [ - 0, - 1, - 2, - 3 + 0 ] } ], [ { "temporalOperatorsProfile": [ - 1, 2, - 7, - 8 + 3, + 4 ] }, { "temporalOperatorsProfile": [ - 2, - 3 + 0 ] } ] diff --git a/data/formulas/features/DWYER.json b/data/formulas/features/DWYER.json index d3558b47..8300035d 100644 --- a/data/formulas/features/DWYER.json +++ b/data/formulas/features/DWYER.json @@ -62,23 +62,23 @@ 0, 1, 2, - 3 + 4 ] } ], [ { "temporalOperatorsProfile": [ - 1, + 0, 2, - 3 + 4 ] } ], [ { "temporalOperatorsProfile": [ - 2 + 3 ] } ] @@ -181,25 +181,26 @@ "temporalOperatorsProfile": [ 0, 1, - 2, - 3 + 2 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0, + 1 + ] } ], [ { "temporalOperatorsProfile": [ - 2, - 3 + 1, + 2 ] }, { "temporalOperatorsProfile": [ - 0, - 1 + 0 ] } ] @@ -398,10 +399,7 @@ { "temporalOperatorsProfile": [ 0, - 1, 2, - 3, - 4, 5 ] } @@ -411,26 +409,15 @@ "temporalOperatorsProfile": [ 1, 2, - 3 - ] - } - ], - [ - { - "temporalOperatorsProfile": [ - 1, - 2, - 3, - 4 + 4, + 5 ] } ], [ { "temporalOperatorsProfile": [ - 1, 2, - 3, 4, 5 ] @@ -439,7 +426,7 @@ [ { "temporalOperatorsProfile": [ - 2 + 3 ] } ] @@ -807,25 +794,25 @@ 0, 1, 2, - 3, - 4 + 4, + 5 ] } ], [ { "temporalOperatorsProfile": [ - 1, + 0, 2, - 3, - 4 + 4, + 5 ] } ], [ { "temporalOperatorsProfile": [ - 2 + 3 ] } ] @@ -865,9 +852,6 @@ 1, 2 ] - }, - { - "temporalOperatorsProfile": [] } ], [ @@ -876,11 +860,6 @@ 0, 2 ] - }, - { - "temporalOperatorsProfile": [ - 0 - ] } ] ] @@ -925,9 +904,6 @@ 2, 3 ] - }, - { - "temporalOperatorsProfile": [] } ], [ @@ -937,9 +913,6 @@ 2, 3 ] - }, - { - "temporalOperatorsProfile": [] } ], [ @@ -948,11 +921,6 @@ 0, 3 ] - }, - { - "temporalOperatorsProfile": [ - 0 - ] } ] ] @@ -966,7 +934,7 @@ 0, 1, 2, - 3, + 4, 5 ] } @@ -974,9 +942,9 @@ [ { "temporalOperatorsProfile": [ - 1, + 0, 2, - 3, + 4, 5 ] } @@ -984,9 +952,7 @@ [ { "temporalOperatorsProfile": [ - 2, - 4, - 5, + 3, 6 ] } @@ -1002,33 +968,35 @@ 0, 1, 2, - 3, + 4, 5 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ { "temporalOperatorsProfile": [ - 1, + 0, 2, - 3, + 4, 5 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ { "temporalOperatorsProfile": [ - 2, - 4, - 5, + 3, 6 ] }, @@ -1049,6 +1017,9 @@ "temporalOperatorsProfile": [ 0 ] + }, + { + "temporalOperatorsProfile": [] } ], [ @@ -1059,6 +1030,11 @@ 2, 3 ] + }, + { + "temporalOperatorsProfile": [ + 0 + ] } ], [ @@ -1067,6 +1043,11 @@ 2, 3 ] + }, + { + "temporalOperatorsProfile": [ + 0 + ] } ] ] @@ -1119,6 +1100,9 @@ "temporalOperatorsProfile": [ 0 ] + }, + { + "temporalOperatorsProfile": [] } ], [ @@ -1129,6 +1113,11 @@ 2, 3 ] + }, + { + "temporalOperatorsProfile": [ + 0 + ] } ], [ @@ -1138,6 +1127,9 @@ 2, 3 ] + }, + { + "temporalOperatorsProfile": [] } ], [ @@ -1146,6 +1138,11 @@ 2, 3 ] + }, + { + "temporalOperatorsProfile": [ + 0 + ] } ] ] @@ -1159,37 +1156,37 @@ 0, 1, 2, - 3, - 6 + 4, + 7 ] } ], [ { "temporalOperatorsProfile": [ - 1, + 0, 2, - 3, 4, 5, - 6 + 6, + 7 ] } ], [ { "temporalOperatorsProfile": [ - 1, + 0, 2, - 3, - 6 + 4, + 7 ] } ], [ { "temporalOperatorsProfile": [ - 2 + 3 ] } ] @@ -1313,6 +1310,9 @@ "temporalOperatorsProfile": [ 0 ] + }, + { + "temporalOperatorsProfile": [] } ], [ @@ -1322,6 +1322,9 @@ 1, 2 ] + }, + { + "temporalOperatorsProfile": [] } ], [ @@ -1332,6 +1335,11 @@ 2, 3 ] + }, + { + "temporalOperatorsProfile": [ + 0 + ] } ], [ @@ -1339,6 +1347,9 @@ "temporalOperatorsProfile": [ 2 ] + }, + { + "temporalOperatorsProfile": [] } ] ] @@ -3269,13 +3280,8 @@ { "temporalOperatorsProfile": [ 0, - 1, - 2 - ] - }, - { - "temporalOperatorsProfile": [ - 0 + 3, + 4 ] } ], @@ -3283,15 +3289,9 @@ { "temporalOperatorsProfile": [ 0, - 1, - 2, 3, - 4 - ] - }, - { - "temporalOperatorsProfile": [ - 0 + 4, + 5 ] } ], @@ -3299,26 +3299,20 @@ { "temporalOperatorsProfile": [ 0, - 2 + 4 ] - }, - { - "temporalOperatorsProfile": [] } ], [ { "temporalOperatorsProfile": [ - 0, + 1, 2, - 3, - 4, 5, - 6 + 6, + 7, + 8 ] - }, - { - "temporalOperatorsProfile": [] } ] ] @@ -3390,13 +3384,8 @@ "temporalOperatorsProfile": [ 0, 1, - 3, - 4 - ] - }, - { - "temporalOperatorsProfile": [ - 0 + 7, + 8 ] } ], @@ -3405,15 +3394,9 @@ "temporalOperatorsProfile": [ 0, 1, - 3, - 4, - 5, - 6 - ] - }, - { - "temporalOperatorsProfile": [ - 0 + 7, + 8, + 9 ] } ], @@ -3422,39 +3405,31 @@ "temporalOperatorsProfile": [ 0, 1, - 4 + 8 ] - }, - { - "temporalOperatorsProfile": [] } ], [ { "temporalOperatorsProfile": [ - 0, 1, - 4, - 5, - 6, - 7, - 8 + 2, + 11 ] - }, - { - "temporalOperatorsProfile": [] } ], [ { "temporalOperatorsProfile": [ - 1, - 2, - 9 + 3, + 4, + 5, + 6, + 9, + 10, + 12, + 13 ] - }, - { - "temporalOperatorsProfile": [] } ] ] @@ -9594,7 +9569,9 @@ ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ @@ -9680,9 +9657,6 @@ 1, 3 ] - }, - { - "temporalOperatorsProfile": [] } ], [ @@ -9693,11 +9667,6 @@ 3, 4 ] - }, - { - "temporalOperatorsProfile": [ - 0 - ] } ], [ @@ -9706,9 +9675,6 @@ 1, 3 ] - }, - { - "temporalOperatorsProfile": [] } ] ] @@ -9722,29 +9688,27 @@ 0, 1, 2, - 3, - 8 + 4, + 7 ] } ], [ { "temporalOperatorsProfile": [ - 1, + 0, 2, - 3, - 8 + 4, + 7 ] } ], [ { "temporalOperatorsProfile": [ - 2, - 4, + 3, 5, 6, - 7, 8, 9 ] @@ -9753,9 +9717,7 @@ [ { "temporalOperatorsProfile": [ - 2, - 4, - 8, + 3, 9 ] } @@ -10303,7 +10265,9 @@ ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ @@ -10409,7 +10373,9 @@ ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ @@ -10420,7 +10386,9 @@ ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ @@ -10450,42 +10418,37 @@ 0, 1, 2, - 3, - 9 + 4, + 8 ] } ], [ { "temporalOperatorsProfile": [ - 1, + 0, 2, - 3, - 9 + 4, + 8 ] } ], [ { "temporalOperatorsProfile": [ - 2, - 4, + 3, 5, 6, 7, - 8, - 9, - 10 + 9 ] } ], [ { "temporalOperatorsProfile": [ - 2, - 4, - 9, - 10 + 3, + 9 ] } ] diff --git a/data/formulas/features/LIBEROUTER.json b/data/formulas/features/LIBEROUTER.json index 82d430de..f0b419ce 100644 --- a/data/formulas/features/LIBEROUTER.json +++ b/data/formulas/features/LIBEROUTER.json @@ -548,21 +548,13 @@ 1, 2 ] - }, - { - "temporalOperatorsProfile": [] } ], [ { "temporalOperatorsProfile": [ 0, - 2 - ] - }, - { - "temporalOperatorsProfile": [ - 0 + 3 ] } ] @@ -584,9 +576,6 @@ 1, 2 ] - }, - { - "temporalOperatorsProfile": [] } ], [ @@ -595,11 +584,6 @@ 0, 2 ] - }, - { - "temporalOperatorsProfile": [ - 0 - ] } ] ] @@ -613,11 +597,6 @@ 0, 1 ] - }, - { - "temporalOperatorsProfile": [ - 0 - ] } ], [ @@ -626,9 +605,6 @@ 0, 2 ] - }, - { - "temporalOperatorsProfile": [] } ] ] @@ -642,11 +618,6 @@ 0, 1 ] - }, - { - "temporalOperatorsProfile": [ - 0 - ] } ], [ @@ -655,9 +626,6 @@ 0, 2 ] - }, - { - "temporalOperatorsProfile": [] } ] ] @@ -1272,9 +1240,6 @@ 5, 6 ] - }, - { - "temporalOperatorsProfile": [] } ], [ @@ -1283,11 +1248,6 @@ 0, 6 ] - }, - { - "temporalOperatorsProfile": [ - 0 - ] } ] ] @@ -1354,25 +1314,25 @@ { "temporalOperatorsProfile": [ 0, - 2, - 3, - 5, - 7 + 1, + 4, + 6 ] }, { "temporalOperatorsProfile": [ - 0 + 0, + 1 ] } ], [ { "temporalOperatorsProfile": [ - 0, + 1, 2, - 5, - 7 + 4, + 6 ] }, { @@ -1385,57 +1345,44 @@ [ { "temporalOperatorsProfile": [ - 0, + 2, 3, 4, - 5, - 7 + 6 ] }, { "temporalOperatorsProfile": [ - 0 + 0, + 1 ] } ], [ { "temporalOperatorsProfile": [ - 0, - 3, 4, 5, - 7 + 6 ] }, { "temporalOperatorsProfile": [ - 1 + 0 ] } ], [ { "temporalOperatorsProfile": [ - 1, - 5, - 6, - 7 + 4, + 6 ] }, - { - "temporalOperatorsProfile": [] - } - ], - [ { "temporalOperatorsProfile": [ - 5, - 7 + 0 ] - }, - { - "temporalOperatorsProfile": [] } ] ] @@ -1466,12 +1413,11 @@ 0, 1, 2, - 3, - 4 + 5, + 6, + 7, + 8 ] - }, - { - "temporalOperatorsProfile": [] } ], [ @@ -1479,13 +1425,10 @@ "temporalOperatorsProfile": [ 1, 2, - 3, - 4 - ] - }, - { - "temporalOperatorsProfile": [ - 0 + 5, + 6, + 7, + 8 ] } ], @@ -1496,12 +1439,6 @@ 3, 4 ] - }, - { - "temporalOperatorsProfile": [ - 0, - 1 - ] } ] ] @@ -1557,33 +1494,42 @@ { "temporalOperatorsProfile": [ 0, + 1, 2, + 3, 4, + 5, 6, + 7, 8, - 17, - 23, - 25, - 31, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 32, 33, + 34, + 35, + 36, + 37, + 38, 39, + 40, 41, - 47, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 + 42, + 43, + 44, + 45, + 46, + 47 ] }, { "temporalOperatorsProfile": [ - 0, - 1 + 0 ] } ], @@ -1591,27 +1537,22 @@ { "temporalOperatorsProfile": [ 0, - 2, - 4, - 7, - 8, - 17, - 23, - 25, - 31, - 33, - 39, - 41, - 44, - 46, - 50, + 32, 51, - 52, 53, - 54, 55, - 56, - 57 + 57, + 59, + 61, + 63, + 65, + 67, + 69, + 71, + 73, + 75, + 77, + 79 ] }, { @@ -1624,28 +1565,23 @@ [ { "temporalOperatorsProfile": [ - 0, - 2, - 5, - 6, - 8, - 17, - 23, - 25, - 31, + 1, 33, - 36, - 38, - 47, 49, - 50, - 51, - 52, 53, - 54, 55, - 56, - 57 + 57, + 59, + 61, + 63, + 65, + 67, + 69, + 71, + 73, + 75, + 77, + 79 ] }, { @@ -1658,28 +1594,23 @@ [ { "temporalOperatorsProfile": [ - 0, 2, - 5, - 7, - 8, - 17, - 23, - 25, - 31, - 33, - 36, - 38, - 44, - 46, - 50, + 34, + 49, 51, - 52, - 53, - 54, 55, - 56, - 57 + 57, + 59, + 61, + 63, + 65, + 67, + 69, + 71, + 73, + 75, + 77, + 79 ] }, { @@ -1692,28 +1623,23 @@ [ { "temporalOperatorsProfile": [ - 0, 3, - 4, - 6, - 8, - 17, - 23, - 25, - 28, - 30, - 39, - 41, - 47, + 35, 49, - 50, 51, - 52, 53, - 54, - 55, - 56, - 57 + 57, + 59, + 61, + 63, + 65, + 67, + 69, + 71, + 73, + 75, + 77, + 79 ] }, { @@ -1726,28 +1652,23 @@ [ { "temporalOperatorsProfile": [ - 0, - 3, 4, - 7, - 8, - 17, - 23, - 25, - 28, - 30, - 39, - 41, - 44, - 46, - 50, + 36, + 49, 51, - 52, 53, - 54, 55, - 56, - 57 + 59, + 61, + 63, + 65, + 67, + 69, + 71, + 73, + 75, + 77, + 79 ] }, { @@ -1760,28 +1681,23 @@ [ { "temporalOperatorsProfile": [ - 0, - 3, 5, - 6, - 8, - 17, - 23, - 25, - 28, - 30, - 36, - 38, - 47, + 37, 49, - 50, 51, - 52, 53, - 54, 55, - 56, - 57 + 57, + 61, + 63, + 65, + 67, + 69, + 71, + 73, + 75, + 77, + 79 ] }, { @@ -1794,28 +1710,23 @@ [ { "temporalOperatorsProfile": [ - 0, - 3, - 5, - 7, - 8, - 17, - 23, - 25, - 28, - 30, - 36, + 6, 38, - 44, - 46, - 50, + 49, 51, - 52, 53, - 54, 55, - 56, - 57 + 57, + 59, + 63, + 65, + 67, + 69, + 71, + 73, + 75, + 77, + 79 ] }, { @@ -1828,28 +1739,23 @@ [ { "temporalOperatorsProfile": [ - 1, - 2, - 4, - 6, - 8, - 17, - 20, - 22, - 31, - 33, + 7, 39, - 41, - 47, 49, - 50, 51, - 52, 53, - 54, 55, - 56, - 57 + 57, + 59, + 61, + 65, + 67, + 69, + 71, + 73, + 75, + 77, + 79 ] }, { @@ -1862,28 +1768,23 @@ [ { "temporalOperatorsProfile": [ - 1, - 2, - 4, - 7, 8, - 17, - 20, - 22, - 31, - 33, - 39, - 41, - 44, - 46, - 50, + 40, + 49, 51, - 52, 53, - 54, 55, - 56, - 57 + 57, + 59, + 61, + 63, + 67, + 69, + 71, + 73, + 75, + 77, + 79 ] }, { @@ -1896,28 +1797,23 @@ [ { "temporalOperatorsProfile": [ - 1, - 2, - 5, - 6, - 8, - 17, - 20, - 22, - 31, - 33, - 36, - 38, - 47, + 9, + 41, 49, - 50, 51, - 52, 53, - 54, 55, - 56, - 57 + 57, + 59, + 61, + 63, + 65, + 69, + 71, + 73, + 75, + 77, + 79 ] }, { @@ -1930,28 +1826,23 @@ [ { "temporalOperatorsProfile": [ - 1, - 2, - 5, - 7, - 8, - 17, - 20, - 22, - 31, - 33, - 36, - 38, - 44, - 46, - 50, + 10, + 42, + 49, 51, - 52, 53, - 54, 55, - 56, - 57 + 57, + 59, + 61, + 63, + 65, + 67, + 71, + 73, + 75, + 77, + 79 ] }, { @@ -1964,28 +1855,23 @@ [ { "temporalOperatorsProfile": [ - 1, - 3, - 4, - 6, - 8, - 17, - 20, - 22, - 28, - 30, - 39, - 41, - 47, + 11, + 43, 49, - 50, 51, - 52, 53, - 54, 55, - 56, - 57 + 57, + 59, + 61, + 63, + 65, + 67, + 69, + 73, + 75, + 77, + 79 ] }, { @@ -1998,28 +1884,23 @@ [ { "temporalOperatorsProfile": [ - 1, - 3, - 4, - 7, - 8, - 17, - 20, - 22, - 28, - 30, - 39, - 41, + 12, 44, - 46, - 50, + 49, 51, - 52, 53, - 54, 55, - 56, - 57 + 57, + 59, + 61, + 63, + 65, + 67, + 69, + 71, + 75, + 77, + 79 ] }, { @@ -2032,28 +1913,23 @@ [ { "temporalOperatorsProfile": [ - 1, - 3, - 5, - 6, - 8, - 17, - 20, - 22, - 28, - 30, - 36, - 38, - 47, + 13, + 45, 49, - 50, 51, - 52, 53, - 54, 55, - 56, - 57 + 57, + 59, + 61, + 63, + 65, + 67, + 69, + 71, + 73, + 77, + 79 ] }, { @@ -2066,28 +1942,23 @@ [ { "temporalOperatorsProfile": [ - 1, - 3, - 5, - 7, - 8, - 17, - 20, - 22, - 28, - 30, - 36, - 38, - 44, + 14, 46, - 50, + 49, 51, - 52, 53, - 54, 55, - 56, - 57 + 57, + 59, + 61, + 63, + 65, + 67, + 69, + 71, + 73, + 75, + 79 ] }, { @@ -2100,63 +1971,23 @@ [ { "temporalOperatorsProfile": [ - 8, - 9, - 11, - 13, 15, - 18, - 19, - 20, - 21, - 22, - 25, - 26, - 27, - 28, - 29, - 30, - 33, - 34, - 35, - 36, - 37, - 38, - 41, - 42, - 43, - 44, - 45, - 46, + 47, 49, - 54, + 51, + 53, 55, - 56, 57, + 59, 61, + 63, 65, + 67, 69, - 70, 71, - 72, 73, - 77, - 81, - 91, - 95, - 96, - 97, - 98, - 99, - 103, - 113, - 114, - 115, - 116, - 117, - 124, - 125, - 126 + 75, + 77 ] }, { @@ -2169,63 +2000,9 @@ [ { "temporalOperatorsProfile": [ - 8, - 9, - 11, - 13, 16, - 18, - 19, - 20, - 21, - 22, - 25, - 26, - 27, - 28, - 29, - 30, - 33, - 34, - 35, - 36, - 37, - 38, - 41, - 42, - 43, - 46, - 47, - 48, - 49, - 54, - 55, - 56, - 57, - 61, - 65, - 67, - 70, - 71, - 72, - 73, - 77, - 83, - 91, - 93, - 96, - 97, - 98, - 99, - 105, - 111, - 114, - 115, - 116, - 119, - 127, - 128, - 129 + 32, + 48 ] }, { @@ -2238,63 +2015,9 @@ [ { "temporalOperatorsProfile": [ - 8, - 9, - 11, - 14, - 15, - 18, - 19, - 20, - 21, - 22, - 25, - 26, - 27, - 28, - 29, - 30, + 17, 33, - 34, - 35, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 49, - 54, - 55, - 56, - 57, - 61, - 63, - 69, - 70, - 71, - 72, - 73, - 79, - 81, - 89, - 95, - 96, - 97, - 98, - 101, - 103, - 110, - 120, - 121, - 122, - 123, - 124, - 125, - 126 + 50 ] }, { @@ -2307,63 +2030,9 @@ [ { "temporalOperatorsProfile": [ - 8, - 9, - 11, - 14, - 16, 18, - 19, - 20, - 21, - 22, - 25, - 26, - 27, - 28, - 29, - 30, - 33, 34, - 35, - 38, - 39, - 40, - 41, - 42, - 43, - 46, - 47, - 48, - 49, - 54, - 55, - 56, - 57, - 61, - 63, - 67, - 70, - 71, - 72, - 73, - 79, - 83, - 89, - 93, - 96, - 97, - 98, - 101, - 105, - 112, - 118, - 121, - 122, - 123, - 127, - 128, - 129 + 52 ] }, { @@ -2376,63 +2045,9 @@ [ { "temporalOperatorsProfile": [ - 8, - 9, - 12, - 13, - 15, - 18, 19, - 20, - 21, - 22, - 25, - 26, - 27, - 30, - 31, - 32, - 33, - 34, 35, - 36, - 37, - 38, - 41, - 42, - 43, - 44, - 45, - 46, - 49, - 54, - 55, - 56, - 57, - 59, - 65, - 69, - 70, - 71, - 72, - 75, - 77, - 81, - 88, - 92, - 102, - 106, - 107, - 108, - 109, - 113, - 114, - 115, - 116, - 117, - 124, - 125, - 126 + 54 ] }, { @@ -2445,63 +2060,9 @@ [ { "temporalOperatorsProfile": [ - 8, - 9, - 12, - 13, - 16, - 18, - 19, 20, - 21, - 22, - 25, - 26, - 27, - 30, - 31, - 32, - 33, - 34, - 35, 36, - 37, - 38, - 41, - 42, - 43, - 46, - 47, - 48, - 49, - 54, - 55, - 56, - 57, - 59, - 65, - 67, - 70, - 71, - 72, - 75, - 77, - 83, - 88, - 94, - 102, - 104, - 107, - 108, - 109, - 111, - 114, - 115, - 116, - 119, - 127, - 128, - 129 + 56 ] }, { @@ -2514,63 +2075,9 @@ [ { "temporalOperatorsProfile": [ - 8, - 9, - 12, - 14, - 15, - 18, - 19, - 20, 21, - 22, - 25, - 26, - 27, - 30, - 31, - 32, - 33, - 34, - 35, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 49, - 54, - 55, - 56, - 57, - 59, - 63, - 69, - 70, - 71, - 72, - 75, - 79, - 81, - 90, - 92, - 100, - 106, - 107, - 108, - 109, - 110, - 120, - 121, - 122, - 123, - 124, - 125, - 126 + 37, + 58 ] }, { @@ -2583,63 +2090,9 @@ [ { "temporalOperatorsProfile": [ - 8, - 9, - 12, - 14, - 16, - 18, - 19, - 20, - 21, 22, - 25, - 26, - 27, - 30, - 31, - 32, - 33, - 34, - 35, 38, - 39, - 40, - 41, - 42, - 43, - 46, - 47, - 48, - 49, - 54, - 55, - 56, - 57, - 59, - 63, - 67, - 70, - 71, - 72, - 75, - 79, - 83, - 90, - 94, - 100, - 104, - 107, - 108, - 109, - 112, - 118, - 121, - 122, - 123, - 127, - 128, - 129 + 60 ] }, { @@ -2652,63 +2105,9 @@ [ { "temporalOperatorsProfile": [ - 8, - 10, - 11, - 13, - 15, - 18, - 19, - 22, 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 33, - 34, - 35, - 36, - 37, - 38, - 41, - 42, - 43, - 44, - 45, - 46, - 49, - 54, - 55, - 56, - 57, - 58, - 62, - 66, - 76, - 80, - 84, - 85, - 86, - 87, - 91, - 95, - 96, - 97, - 98, - 99, - 103, - 113, - 114, - 115, - 116, - 117, - 124, - 125, - 126 + 39, + 62 ] }, { @@ -2721,63 +2120,9 @@ [ { "temporalOperatorsProfile": [ - 8, - 10, - 11, - 13, - 16, - 18, - 19, - 22, - 23, 24, - 25, - 26, - 27, - 28, - 29, - 30, - 33, - 34, - 35, - 36, - 37, - 38, - 41, - 42, - 43, - 46, - 47, - 48, - 49, - 54, - 55, - 56, - 57, - 58, - 62, - 68, - 76, - 80, - 82, - 85, - 86, - 87, - 91, - 93, - 96, - 97, - 98, - 99, - 105, - 111, - 114, - 115, - 116, - 119, - 127, - 128, - 129 + 40, + 64 ] }, { @@ -2790,63 +2135,9 @@ [ { "temporalOperatorsProfile": [ - 8, - 10, - 11, - 14, - 15, - 18, - 19, - 22, - 23, - 24, 25, - 26, - 27, - 28, - 29, - 30, - 33, - 34, - 35, - 38, - 39, - 40, 41, - 42, - 43, - 44, - 45, - 46, - 49, - 54, - 55, - 56, - 57, - 58, - 64, - 66, - 76, - 78, - 84, - 85, - 86, - 87, - 89, - 95, - 96, - 97, - 98, - 101, - 103, - 110, - 120, - 121, - 122, - 123, - 124, - 125, - 126 + 66 ] }, { @@ -2859,63 +2150,9 @@ [ { "temporalOperatorsProfile": [ - 8, - 10, - 11, - 14, - 16, - 18, - 19, - 22, - 23, - 24, - 25, 26, - 27, - 28, - 29, - 30, - 33, - 34, - 35, - 38, - 39, - 40, - 41, 42, - 43, - 46, - 47, - 48, - 49, - 54, - 55, - 56, - 57, - 58, - 64, - 68, - 76, - 78, - 82, - 85, - 86, - 87, - 89, - 93, - 96, - 97, - 98, - 101, - 105, - 112, - 118, - 121, - 122, - 123, - 127, - 128, - 129 + 68 ] }, { @@ -2928,63 +2165,9 @@ [ { "temporalOperatorsProfile": [ - 8, - 10, - 12, - 13, - 15, - 18, - 19, - 22, - 23, - 24, - 25, - 26, 27, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 41, - 42, 43, - 44, - 45, - 46, - 49, - 54, - 55, - 56, - 57, - 60, - 62, - 66, - 74, - 80, - 84, - 85, - 86, - 87, - 88, - 92, - 102, - 106, - 107, - 108, - 109, - 113, - 114, - 115, - 116, - 117, - 124, - 125, - 126 + 70 ] }, { @@ -2997,63 +2180,9 @@ [ { "temporalOperatorsProfile": [ - 8, - 10, - 12, - 13, - 16, - 18, - 19, - 22, - 23, - 24, - 25, - 26, - 27, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 41, - 42, - 43, - 46, - 47, - 48, - 49, - 54, - 55, - 56, - 57, - 60, - 62, - 68, - 74, - 80, - 82, - 85, - 86, - 87, - 88, - 94, - 102, - 104, - 107, - 108, - 109, - 111, - 114, - 115, - 116, - 119, - 127, - 128, - 129 + 28, + 44, + 72 ] }, { @@ -3065,64 +2194,10 @@ ], [ { - "temporalOperatorsProfile": [ - 8, - 10, - 12, - 14, - 15, - 18, - 19, - 22, - 23, - 24, - 25, - 26, - 27, - 30, - 31, - 32, - 33, - 34, - 35, - 38, - 39, - 40, - 41, - 42, - 43, - 44, + "temporalOperatorsProfile": [ + 29, 45, - 46, - 49, - 54, - 55, - 56, - 57, - 60, - 64, - 66, - 74, - 78, - 84, - 85, - 86, - 87, - 90, - 92, - 100, - 106, - 107, - 108, - 109, - 110, - 120, - 121, - 122, - 123, - 124, - 125, - 126 + 74 ] }, { @@ -3135,63 +2210,9 @@ [ { "temporalOperatorsProfile": [ - 8, - 10, - 12, - 14, - 16, - 18, - 19, - 22, - 23, - 24, - 25, - 26, - 27, 30, - 31, - 32, - 33, - 34, - 35, - 38, - 39, - 40, - 41, - 42, - 43, 46, - 47, - 48, - 49, - 54, - 55, - 56, - 57, - 60, - 64, - 68, - 74, - 78, - 82, - 85, - 86, - 87, - 90, - 94, - 100, - 104, - 107, - 108, - 109, - 112, - 118, - 121, - 122, - 123, - 127, - 128, - 129 + 76 ] }, { @@ -3204,27 +2225,16 @@ [ { "temporalOperatorsProfile": [ - 8, - 19, - 22, - 25, - 27, - 30, - 33, - 35, - 38, - 41, - 43, - 46, - 49, - 54, - 55, - 56, - 57 + 31, + 47, + 78 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0, + 1 + ] } ] ] @@ -3262,7 +2272,9 @@ ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ @@ -3326,7 +2338,9 @@ ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ @@ -3334,27 +2348,28 @@ "temporalOperatorsProfile": [ 0, 3, - 5, - 6, - 7 + 4 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0, + 1 + ] } ], [ { "temporalOperatorsProfile": [ 0, - 4, + 5, + 6, 7 ] }, { "temporalOperatorsProfile": [ - 0, - 1 + 0 ] } ], @@ -3386,7 +2401,9 @@ ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ @@ -3395,27 +2412,28 @@ 0, 3, 5, - 6, - 8 + 6 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0, + 1 + ] } ], [ { "temporalOperatorsProfile": [ 0, - 4, 7, - 8 + 8, + 10 ] }, { "temporalOperatorsProfile": [ - 0, - 1 + 0 ] } ], @@ -3423,16 +2441,14 @@ { "temporalOperatorsProfile": [ 0, - 4, - 8, - 9 + 9, + 10 ] }, { "temporalOperatorsProfile": [ 0, - 1, - 2 + 1 ] } ], @@ -3440,23 +2456,22 @@ { "temporalOperatorsProfile": [ 0, - 7, - 8 + 10 ] }, { "temporalOperatorsProfile": [ 0, - 1, - 2 + 1 ] } ], [ { "temporalOperatorsProfile": [ - 0, - 8 + 3, + 4, + 10 ] }, { @@ -3480,7 +2495,9 @@ ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ @@ -3489,19 +2506,20 @@ 0, 3, 4, - 5, - 8 + 10 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ { "temporalOperatorsProfile": [ 0, - 6, + 5, 7, 8 ] @@ -3517,16 +2535,14 @@ { "temporalOperatorsProfile": [ 0, - 6, - 8, - 9 + 9, + 10 ] }, { "temporalOperatorsProfile": [ 0, - 1, - 2 + 1 ] } ], @@ -3534,23 +2550,22 @@ { "temporalOperatorsProfile": [ 0, - 7, - 8 + 10 ] }, { "temporalOperatorsProfile": [ 0, - 1, - 2 + 1 ] } ], [ { "temporalOperatorsProfile": [ - 0, - 8 + 5, + 6, + 10 ] }, { @@ -3574,7 +2589,9 @@ ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ @@ -3583,19 +2600,20 @@ 0, 3, 4, - 5, - 9 + 12 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ { "temporalOperatorsProfile": [ 0, - 6, + 5, 7, 8, 9 @@ -3612,17 +2630,15 @@ { "temporalOperatorsProfile": [ 0, - 6, - 8, - 9, - 10 + 10, + 11, + 12 ] }, { "temporalOperatorsProfile": [ 0, - 1, - 2 + 1 ] } ], @@ -3630,16 +2646,14 @@ { "temporalOperatorsProfile": [ 0, - 6, - 9, - 11 + 11, + 12 ] }, { "temporalOperatorsProfile": [ 0, - 1, - 2 + 1 ] } ], @@ -3647,40 +2661,38 @@ { "temporalOperatorsProfile": [ 0, - 7, - 8, - 9 + 12 ] }, { "temporalOperatorsProfile": [ 0, - 1, - 2 + 1 ] } ], [ { "temporalOperatorsProfile": [ - 0, - 8, - 9 + 5, + 6, + 11, + 12 ] }, { "temporalOperatorsProfile": [ 0, - 1, - 2 + 1 ] } ], [ { "temporalOperatorsProfile": [ - 0, - 9 + 5, + 6, + 12 ] }, { @@ -3700,11 +2712,10 @@ "temporalOperatorsProfile": [ 0, 1, + 2, 3, 4, - 5, - 6, - 7 + 5 ] }, { @@ -3717,23 +2728,18 @@ [ { "temporalOperatorsProfile": [ - 1, + 0, 2, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 + 3, + 4, + 5 ] }, { "temporalOperatorsProfile": [ 0, - 1 + 1, + 2 ] } ], @@ -3741,11 +2747,10 @@ { "temporalOperatorsProfile": [ 1, + 2, 3, 4, - 5, - 6, - 7 + 5 ] }, { @@ -3758,46 +2763,43 @@ [ { "temporalOperatorsProfile": [ - 1, - 7 + 2, + 3, + 4 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ { "temporalOperatorsProfile": [ - 1, - 7, - 8, - 9, - 12, - 13 + 2, + 3, + 4, + 5 ] }, { "temporalOperatorsProfile": [ - 0 + 0, + 1 ] } ], [ { "temporalOperatorsProfile": [ - 1, - 7, - 10, - 11, - 14, - 15 + 3, + 4 ] }, { "temporalOperatorsProfile": [ - 0, - 1 + 0 ] } ] @@ -4025,14 +3027,14 @@ [ { "temporalOperatorsProfile": [ - 0, - 1 + 0 ] } ], [ { "temporalOperatorsProfile": [ + 0, 1 ] } diff --git a/data/formulas/features/PARAMETRISED.json b/data/formulas/features/PARAMETRISED.json index 87adbaa4..3416ceac 100644 --- a/data/formulas/features/PARAMETRISED.json +++ b/data/formulas/features/PARAMETRISED.json @@ -388,20 +388,22 @@ ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0, + 1 + ] } ], [ { "temporalOperatorsProfile": [ - 0, + 1, 2 ] }, { "temporalOperatorsProfile": [ - 0, - 1 + 0 ] } ] @@ -414,22 +416,23 @@ { "temporalOperatorsProfile": [ 0, - 1, 2, - 5 + 3, + 8 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ { "temporalOperatorsProfile": [ - 0, - 2, - 4, - 5 + 1, + 3, + 8 ] }, { @@ -443,9 +446,11 @@ [ { "temporalOperatorsProfile": [ - 0, - 2, - 5 + 1, + 5, + 6, + 7, + 9 ] }, { @@ -459,10 +464,10 @@ [ { "temporalOperatorsProfile": [ - 2, 3, 4, - 5 + 7, + 8 ] }, { @@ -481,25 +486,25 @@ { "temporalOperatorsProfile": [ 0, - 1, 2, - 7, - 11 + 3, + 12, + 17 ] }, { - "temporalOperatorsProfile": [] + "temporalOperatorsProfile": [ + 0 + ] } ], [ { "temporalOperatorsProfile": [ - 0, - 2, - 5, - 6, - 7, - 11 + 1, + 3, + 12, + 17 ] }, { @@ -514,18 +519,15 @@ [ { "temporalOperatorsProfile": [ - 0, - 2, - 5, - 7, - 10, - 11 + 1, + 3, + 12, + 17 ] }, { "temporalOperatorsProfile": [ 0, - 1, 2, 3 ] @@ -534,10 +536,13 @@ [ { "temporalOperatorsProfile": [ - 0, - 2, - 7, - 11 + 1, + 6, + 9, + 10, + 11, + 15, + 18 ] }, { @@ -552,15 +557,19 @@ [ { "temporalOperatorsProfile": [ - 0, - 2, - 7, - 11 + 1, + 6, + 9, + 10, + 15, + 16, + 18 ] }, { "temporalOperatorsProfile": [ 0, + 1, 2, 3 ] @@ -569,13 +578,13 @@ [ { "temporalOperatorsProfile": [ - 2, 3, 4, 5, - 6, - 7, - 11 + 10, + 11, + 12, + 17 ] }, { @@ -589,13 +598,13 @@ [ { "temporalOperatorsProfile": [ - 2, 3, - 5, - 7, - 9, + 4, 10, - 11 + 12, + 14, + 16, + 17 ] }, { @@ -609,13 +618,13 @@ [ { "temporalOperatorsProfile": [ - 3, 4, 5, - 6, - 7, - 8, - 11 + 10, + 11, + 12, + 13, + 17 ] }, { @@ -628,94 +637,17 @@ [ { "temporalOperatorsProfile": [ - 3, - 4, - 5, - 6, - 7, - 8, - 11 - ] - }, - { - "temporalOperatorsProfile": [ - 0, - 1, - 2, - 3 - ] - } - ], - [ - { - "temporalOperatorsProfile": [ - 3, - 4, - 7, - 8, - 11 - ] - }, - { - "temporalOperatorsProfile": [ - 0, - 1, - 3, - 4 - ] - } - ], - [ - { - "temporalOperatorsProfile": [ - 3, - 4, 7, 8, - 11 + 12, + 13, + 17 ] }, { "temporalOperatorsProfile": [ 0, - 4 - ] - } - ], - [ - { - "temporalOperatorsProfile": [ - 3, - 4, - 7, - 8, - 11 - ] - }, - { - "temporalOperatorsProfile": [ - 1, - 2, - 3 - ] - } - ], - [ - { - "temporalOperatorsProfile": [ - 3, - 4, - 7, - 8, - 11 - ] - }, - { - "temporalOperatorsProfile": [ - 1, - 3, - 5, - 6 + 1 ] } ] diff --git a/data/formulas/sizes/coSafetySafety.json b/data/formulas/sizes/coSafetySafety.json index 401f9159..7f92fe3e 100644 --- a/data/formulas/sizes/coSafetySafety.json +++ b/data/formulas/sizes/coSafetySafety.json @@ -432,50 +432,6 @@ "deterministic": true } }, - { - "formula": "F(a & b & c & d & e)", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "F(a & b & c & d & e & f)", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "F(a & b & c & d & e & f & g)", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "F(a & b & c & d & e & f & g & h)", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "FGa", "properties": { @@ -498,50 +454,6 @@ "deterministic": true } }, - { - "formula": "G(a | b | c | d | e)", - "properties": { - "size": 1, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "G(a | b | c | d | e | f)", - "properties": { - "size": 1, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "G(a | b | c | d | e | f | g)", - "properties": { - "size": 1, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "G(a | b | c | d | e | f | g | h)", - "properties": { - "size": 1, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "GFa" }, @@ -713,17 +625,6 @@ "deterministic": true } }, - { - "formula": "(a & XG!a)", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "(Fa & (a | Gb))", "properties": { @@ -1019,9 +920,6 @@ { "formula": "(FGa & GFb & GFc & GFd & GFe & GFf)" }, - { - "formula": "(GFa & GFb & GFc & GFd & GFe & GFf & GFg & GFh & GFi)" - }, { "formula": "(a | (Fa & Gb))", "properties": { @@ -1036,17 +934,6 @@ { "formula": "(a | GFa)" }, - { - "formula": "(!a | XFa)", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "(Fa | ((a | b) & (!a | !b)))", "properties": { @@ -1072,7 +959,7 @@ { "formula": "(Fa | FGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -1199,7 +1086,7 @@ { "formula": "((a & Fb) | FGa)", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -1232,7 +1119,7 @@ { "formula": "(F(a & b) | FGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -1243,7 +1130,7 @@ { "formula": "(F(a & b) | FGc)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -1254,7 +1141,7 @@ { "formula": "(FGa | FG!a)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -1265,7 +1152,7 @@ { "formula": "(FGa | FGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -1282,7 +1169,7 @@ { "formula": "(FGa | XFb)", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -1307,7 +1194,7 @@ { "formula": "(Fa | Fb | FGc)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -1318,7 +1205,7 @@ { "formula": "(Fa | F(b & c) | FGc)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -1329,7 +1216,7 @@ { "formula": "(Fa | FGb | FGc)", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -1351,7 +1238,7 @@ { "formula": "(F(a & b) | FGb | FGc)", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -1362,7 +1249,7 @@ { "formula": "(FGa | FGb | FGc)", "properties": { - "size": 3, + "size": 7, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -1393,7 +1280,7 @@ { "formula": "(Fa | FGb | FGc | FGd)", "properties": { - "size": 4, + "size": 9, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -1404,7 +1291,7 @@ { "formula": "(Ga | Gb | FGc | FGd)", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -1426,7 +1313,7 @@ { "formula": "(FGa | FGb | FGc | FGd)", "properties": { - "size": 4, + "size": 15, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -1443,7 +1330,7 @@ { "formula": "(FGa | FGb | FGc | FGd | FGe)", "properties": { - "size": 5, + "size": 31, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -1460,7 +1347,7 @@ { "formula": "(Ga | Gb | Gc | FGd | FGe | FGf)", "properties": { - "size": 10, + "size": 14, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -1471,17 +1358,6 @@ { "formula": "(FGa | FGb | FGc | FGd | FGe | GFf)" }, - { - "formula": "(FGa | FGb | FGc | FGd | FGe | FGf | FGg | FGh | FGi)", - "properties": { - "size": 9, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "(F!a <-> (!a <-> Ga))" }, @@ -1620,28 +1496,6 @@ "deterministic": true } }, - { - "formula": "F(a & b & (c | d | e))", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "F(a & b & Xc)", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "F(a & b & ((c) M (b)))", "properties": { @@ -1653,17 +1507,6 @@ "deterministic": true } }, - { - "formula": "F(a & (b | !c) & (!b | c))", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "F(a & Fb & ((c) R (!b)))", "properties": { @@ -1697,39 +1540,6 @@ "deterministic": true } }, - { - "formula": "F(a & (b | !c) & (!b | c) & (d | e | f | g))", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "F(a & Gb & Gc & Gd)", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "F(a & !b & c & Xa & Xb & Xd)", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "FG(a | b)", "properties": { @@ -1810,9 +1620,9 @@ "formula": "G(Fa | ((b) W (c)))" }, { - "formula": "G(a | b | (c & d & e))", + "formula": "G(a | b | ((c) W (b)))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -1821,18 +1631,30 @@ } }, { - "formula": "G(a | b | Xc)", + "formula": "G(a | Fb | Fc)" + }, + { + "formula": "G(a | G!b | ((c) U (b)))" + }, + { + "formula": "G(a | b | G!b | ((c) U (b)))" + }, + { + "formula": "GF(a & b)" + }, + { + "formula": "XF(a & b)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, - "complete": false, + "complete": true, "deterministic": true } }, { - "formula": "G(a | b | ((c) W (b)))", + "formula": "XG(a | b)", "properties": { "size": 2, "initialStatesSize": 1, @@ -1843,29 +1665,37 @@ } }, { - "formula": "G(a | (b & !c) | (!b & c))", + "formula": "XXFa", "properties": { - "size": 1, + "size": 4, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, - "complete": false, + "complete": true, "deterministic": true } }, { - "formula": "G(a | Fb | Fc)" + "formula": "XXGa", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } }, { - "formula": "G(a | G!b | ((c) U (b)))" + "formula": "((((a) R (Fb))) M (a))" }, { - "formula": "G(a | b | G!b | ((c) U (b)))" + "formula": "((a) R ((b | Fc)))" }, { - "formula": "G(a | (b & !c) | (!b & c) | (d & e & f & g))", + "formula": "((a) R ((b | Ga)))", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -1874,87 +1704,9 @@ } }, { - "formula": "G(a | Fb | Fc | Fd)" - }, - { - "formula": "G(a | b | c | Xa | X!b | Xd)", + "formula": "((a) R (((b) R (((c) R (d))))))", "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "GF(a & b)" - }, - { - "formula": "XF(a & b)", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "XG(a | b)", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "XXFa", - "properties": { - "size": 4, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "XXGa", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "((((a) R (Fb))) M (a))" - }, - { - "formula": "((a) R ((b | Fc)))" - }, - { - "formula": "((a) R ((b | Ga)))", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "((a) R (((b) R (((c) R (d))))))", - "properties": { - "size": 4, + "size": 4, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -2200,7 +1952,7 @@ { "formula": "(FGa & (FGb | FGc))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -2351,12 +2103,6 @@ { "formula": "((Ga | Gb | Gc) & (FG!d | GFe | GF!f) & (FGf | GFd | GFe))" }, - { - "formula": "(FGa & FGb & GF(a & b))" - }, - { - "formula": "(FGa & GFb & (FGc | GFd))" - }, { "formula": "(GFa & GFb & (FGc | FGd))" }, @@ -2372,17 +2118,6 @@ { "formula": "((FGa | GFb) & (FGc | GFd) & (FGe | GFf))" }, - { - "formula": "(FG(a | b) & FG(c | d) & FG(e | f))", - "properties": { - "size": 1, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "(G(a | Xb) & G(c | Xd) & G(e | Xf))", "properties": { @@ -2394,21 +2129,12 @@ "deterministic": true } }, - { - "formula": "(GF(a & b) & GF(c & d) & GF(e & f))" - }, - { - "formula": "(FGa & FGb & GFb & GF(a & b))" - }, { "formula": "(GFa & (a | GFb) & (c | GFd) & (FGa | GFc))" }, { "formula": "((FGa | GFb) & (FGc | GFa) & (FGd | GFc) & (FGe | GFd))" }, - { - "formula": "(G(a | Fb) & G(c | Fd) & G(e | Ff) & G(g | Fh))" - }, { "formula": "(a | ((b) W ((a | ((b) W (!a))))))", "properties": { @@ -2531,7 +2257,7 @@ { "formula": "(F(a & b) | FG(b | c))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -2570,7 +2296,7 @@ { "formula": "(FGa | F(b & Xa))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -2584,7 +2310,7 @@ { "formula": "(FGa | XF(a & b))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -2731,7 +2457,7 @@ { "formula": "(FGa | FGb | FG(c | d))", "properties": { - "size": 3, + "size": 7, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -2742,12 +2468,6 @@ { "formula": "(FGa | FGb | GF(a & b))" }, - { - "formula": "(FGa | GFb | (FGc & GFd))" - }, - { - "formula": "(GFa | GFb | FG(a | b))" - }, { "formula": "((FGa & GFb) | (FGb & GFc) | (FGd & GFa))" }, @@ -2765,40 +2485,12 @@ "deterministic": true } }, - { - "formula": "(FG(a | b) | FG(c | d) | FG(e | f))", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "(GF(a & b) | GF(c & d) | GF(e & f))" - }, - { - "formula": "(FGa | GFa | GFb | FG(a | b))" - }, { "formula": "(FGa | (a & FGb) | (c & FGd) | (FGc & GFa))" }, { "formula": "((FGa & GFb) | (FGb & GFc) | (FGc & GFd) | (FGe & GFa))" }, - { - "formula": "(F(a & Gb) | F(c & Gd) | F(e & Gf) | F(g & Gh))", - "properties": { - "size": 33, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "(Fa <-> X(Fa | Gb))" }, @@ -2816,17 +2508,6 @@ "deterministic": true } }, - { - "formula": "F(a & G(!a | b))", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "F(a & G(b | c))", "properties": { @@ -2838,17 +2519,6 @@ "deterministic": true } }, - { - "formula": "F(a & X(!a & b))", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "F(a & XGb)", "properties": { @@ -2871,17 +2541,6 @@ "deterministic": true } }, - { - "formula": "F(a & X((a) R (b)))", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "F(a & X((b) U (c)))", "properties": { @@ -2918,7 +2577,7 @@ { "formula": "F((a | !b) & (Ga | Gb | Gc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -2962,7 +2621,7 @@ { "formula": "F((a | Gb) & (c | Gd))", "properties": { - "size": 9, + "size": 10, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -3036,43 +2695,10 @@ "deterministic": true } }, - { - "formula": "F(a & Gb & XGc)", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "F(!a & Xa & X((!a) M (b)))", - "properties": { - "size": 4, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "F((a | Fb) & (c | Fd) & (e | Ff))", - "properties": { - "size": 19, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "F((a | Gb) & (b | Ga) & (c | Gd))", "properties": { - "size": 20, + "size": 19, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -3083,18 +2709,7 @@ { "formula": "F((a | Gb) & (c | Gd) & (e | Gf))", "properties": { - "size": 73, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "F((a | X!a) & (b | Xb) & (!b | X!b))", - "properties": { - "size": 6, + "size": 80, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -3113,17 +2728,6 @@ "deterministic": true } }, - { - "formula": "F(a & b & c & d & e & G(f | g | h | i))", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "FG(a | (b & c))", "properties": { @@ -3191,9 +2795,6 @@ "deterministic": true } }, - { - "formula": "G(a | X((a) U (b)))" - }, { "formula": "G(a | ((b) R ((b | c))))", "properties": { @@ -3208,20 +2809,6 @@ { "formula": "G(a | ((!a) U (Xa)))" }, - { - "formula": "G(!a | F(a & b))" - }, - { - "formula": "G(!a | X(a | b))", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "G((a & b) | (Fa & F!b & Fc))" }, @@ -3276,20 +2863,6 @@ "deterministic": true } }, - { - "formula": "G(a | Fb | XFc)" - }, - { - "formula": "G(a | X!a | X((a) W (b)))", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "G(!a | b | ((b) R ((a | b))))", "properties": { @@ -3308,32 +2881,7 @@ "formula": "G((a & Fb) | (c & Fd) | (e & Ff))" }, { - "formula": "G((a & Gb) | (c & Gd) | (e & Gf))", - "properties": { - "size": 18, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "G((!a & Xa) | (b & Xb) | (!b & X!b))", - "properties": { - "size": 5, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "G(a | b | G!b | ((c) U ((b | d))))" - }, - { - "formula": "G(a | b | c | d | e | F(f & g & h & i))" + "formula": "G(a | b | G!b | ((c) U ((b | d))))" }, { "formula": "GF(a & (b | c))" @@ -3358,53 +2906,9 @@ "deterministic": true } }, - { - "formula": "XF(a & b & ((!b) M (c)))", - "properties": { - "size": 4, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "XF(a & !b & ((b) M (c)))", - "properties": { - "size": 4, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "XG(a | Fb)" }, - { - "formula": "XG(a | b | ((!b) W (c)))", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "XG(a | !b | ((b) W (c)))", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "((a) M ((a | b | X((a) R (c)))))", "properties": { @@ -3438,9 +2942,6 @@ "deterministic": true } }, - { - "formula": "((a) R ((F(b & c) | F(b & d) | F(b & e) | F(c & d) | F(c & e) | F(d & e))))" - }, { "formula": "((a) R (((b) R (((c) R (((d) R (e))))))))", "properties": { @@ -3494,17 +2995,6 @@ "deterministic": true } }, - { - "formula": "((a) U ((G(b | c) & G(b | d) & G(b | e) & G(c | d) & G(c | e) & G(d | e))))", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "((a) U (((b) U (((c) U (((d) U (e))))))))", "properties": { @@ -3564,7 +3054,7 @@ { "formula": "(a & F(b & (a | Gb)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -3575,7 +3065,7 @@ { "formula": "(Fa & (FGb | (FGa & FGc)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -3619,17 +3109,6 @@ "deterministic": true } }, - { - "formula": "(Xa & G(a | X!a | XXa))", - "properties": { - "size": 5, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "(((a) R (b)) & F(a & XFc))", "properties": { @@ -3701,9 +3180,6 @@ { "formula": "((FGa | GFb) & (GFc | (FGd & FGe)))" }, - { - "formula": "((FGa | GFb) & (FGc | GFd | (FGe & GFf)))" - }, { "formula": "((FG!a | FG!b | FG!c) & (GFc | (GFa & GFb)))" }, @@ -3808,37 +3284,6 @@ { "formula": "(GFa & GFb & (FGc | GFd) & GF(d & X!c))" }, - { - "formula": "(FG(a | X!a) & FG(!a | Xa) & FG(b | X!b) & FG(!b | Xb))", - "properties": { - "size": 5, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "(G(a | Fb) & G(c | Fd) & G(e | Ff) & G((!b & !d) | (!f & (!b | !d))) & G(a | Xc | F(b & d)) & G(a | Xe | F(b & f)) & G(c | Xe | F(d & f)))" - }, - { - "formula": "(FG(a | X!a) & FG(!a | Xa) & FG(b | X!b) & FG(!b | Xb) & FG(c | X!c) & FG(!c | Xc) & FG(d | X!d) & FG(!d | Xd))", - "properties": { - "size": 17, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "(((a) R (!b)) & ((c) R (!d)) & G(!b | !d) & (GFa | GF!b) & (GFc | GF!d) & G(!a | Fb) & G(!c | Fd) & G(!b | X(a | b) | X((a) R (!b))) & G(!d | X(c | d) | X((c) R (!d))))" - }, - { - "formula": "(((a) R (!b)) & ((c) R (!d)) & ((e) R (!f)) & ((g) R (!h)) & (GFa | GF!b) & (GFc | GF!d) & (GFe | GF!f) & (GFg | GF!h) & G(!a | Fb) & G(!c | Fd) & G(!e | Ff) & G(!g | Fh) & G((!b & !d & (!f | !h)) | (!f & !h & (!b | !d))) & G(!b | X(a | b) | X((a) R (!b))) & G(!d | X(c | d) | X((c) R (!d))) & G(!f | X(e | f) | X((e) R (!f))) & G(!h | X(g | h) | X((g) R (!h))))" - }, { "formula": "(a | G(b | (a & Fb)))" }, @@ -3851,7 +3296,7 @@ { "formula": "(Ga | F(Xb & (b | Gc)))", "properties": { - "size": 11, + "size": 12, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -3881,17 +3326,6 @@ "deterministic": true } }, - { - "formula": "(X!a | F(!a & Xa & XX!a))", - "properties": { - "size": 6, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "(((a) U (b)) | (Fc & ((G!a) M ((!b | X!a)))))", "properties": { @@ -3917,7 +3351,7 @@ { "formula": "(F(a & b) | FG(b | Xc))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -3928,7 +3362,7 @@ { "formula": "(F(a & b) | FG(c | Xb))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -3939,7 +3373,7 @@ { "formula": "(FGa | F(!a & XGb))", "properties": { - "size": 3, + "size": 2, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -3950,7 +3384,7 @@ { "formula": "(FGa | F(b & G(b | c)))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -3987,9 +3421,6 @@ { "formula": "((FGa & GFb) | (FGc & (GFd | GFe)))" }, - { - "formula": "((FGa & GFb) | (FGc & GFd & (FGe | GFf)))" - }, { "formula": "((GFa & GFb & GFc) | (FG!c & (FG!a | FG!b)))" }, @@ -4013,7 +3444,7 @@ { "formula": "(F(a & Xb) | FG(b | Xc))", "properties": { - "size": 6, + "size": 7, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -4035,7 +3466,7 @@ { "formula": "(F(a & Xb) | FG(c | Xb))", "properties": { - "size": 5, + "size": 8, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -4046,7 +3477,7 @@ { "formula": "(FG(a | b) | FG(!a | Xb))", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -4107,7 +3538,7 @@ { "formula": "(FG(a | Xb) | FG(c | Xd))", "properties": { - "size": 4, + "size": 8, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -4121,7 +3552,7 @@ { "formula": "(Fa | (FGb & FGc) | F(!d & ((d) R ((b & c)))))", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -4132,7 +3563,7 @@ { "formula": "(FGa | FG!a | F(!a & XGb))", "properties": { - "size": 4, + "size": 6, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -4143,7 +3574,7 @@ { "formula": "(FGa | FGb | FG(c | Xd))", "properties": { - "size": 4, + "size": 11, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -4171,7 +3602,7 @@ { "formula": "(FG(a | Xb) | FG(c | Xd) | FG(e | Xf))", "properties": { - "size": 6, + "size": 26, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -4182,49 +3613,10 @@ { "formula": "(FGa | FGb | (FGc & GF!d) | FG(c | Xd))" }, - { - "formula": "(GF(a & X!a) | GF(!a & Xa) | GF(b & X!b) | GF(!b & Xb))" - }, - { - "formula": "(F(a & G!b) | F(c & G!d) | F(e & G!f) | F((b | d) & (f | (b & d))) | F(a & Xc & G(!b | !d)) | F(a & Xe & G(!b | !f)) | F(c & Xe & G(!d | !f)))", - "properties": { - "size": 449, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "(GF(a & X!a) | GF(!a & Xa) | GF(b & X!b) | GF(!b & Xb) | GF(c & X!c) | GF(!c & Xc) | GF(d & X!d) | GF(!d & Xd))" - }, - { - "formula": "(((!a) U (b)) | ((!c) U (d)) | F(b & d) | (FG!a & FGb) | (FG!c & FGd) | F(a & G!b) | F(c & G!d) | F(b & X(!a & !b) & X((!a) U (b))) | F(d & X(!c & !d) & X((!c) U (d))))", - "properties": { - "size": 16, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "(((!a) U (b)) | ((!c) U (d)) | ((!e) U (f)) | ((!g) U (h)) | (FG!a & FGb) | (FG!c & FGd) | (FG!e & FGf) | (FG!g & FGh) | F(a & G!b) | F(c & G!d) | F(e & G!f) | F(g & G!h) | F((b | d | (f & h)) & (f | h | (b & d))) | F(b & X(!a & !b) & X((!a) U (b))) | F(d & X(!c & !d) & X((!c) U (d))) | F(f & X(!e & !f) & X((!e) U (f))) | F(h & X(!g & !h) & X((!g) U (h))))", - "properties": { - "size": 181, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "F(a & (Ga | Gb | (c & Gd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -4312,17 +3704,6 @@ "deterministic": true } }, - { - "formula": "F(a & ((!b) R (((b) R ((c & d))))))", - "properties": { - "size": 4, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "F(a & ((a) W ((b & ((b) W (a))))))", "properties": { @@ -4378,39 +3759,6 @@ "deterministic": true } }, - { - "formula": "F((a | X!a) & ((b & X!b) | (!b & Xb)))", - "properties": { - "size": 6, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "F((a | Xb) & (b | XGc))", - "properties": { - "size": 6, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "F((a | XXb) & (b | XXc) & (c | XGd))", - "properties": { - "size": 60, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "FG(a | XXb)", "properties": { @@ -4471,9 +3819,6 @@ { "formula": "G(a | ((b) U ((Gc | Gd))))" }, - { - "formula": "G(a | ((b) U (((!b) U ((c | d))))))" - }, { "formula": "G(a | ((!b) U (((b) U ((b & c))))))" }, @@ -4505,23 +3850,6 @@ "deterministic": true } }, - { - "formula": "G((a & Xb) | (b & XFc))" - }, - { - "formula": "G((!a & Xa) | ((b | X!b) & (!b | Xb)))", - "properties": { - "size": 5, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "G((a & XXb) | (b & XXc) | (c & XFd))" - }, { "formula": "GF(a & XXb)" }, @@ -4537,20 +3865,6 @@ { "formula": "X((a & GF!a) | (!a & FGa))" }, - { - "formula": "XF(a & Fb & ((Xb) R (c)))", - "properties": { - "size": 5, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "XG(a | Gb | ((Xb) U (c)))" - }, { "formula": "((a) M (((!a) M (((a) M (((!a) M (Fa))))))))", "properties": { @@ -4655,9 +3969,6 @@ { "formula": "((FGa | GFb) & (GFc | FG(d | Xe)))" }, - { - "formula": "((FGa | GFb) & ((FGc & GFd) | (FGe & GFf & (FGg | GFh))))" - }, { "formula": "((GFa | GFb) & GF(c & XXa))" }, @@ -4707,17 +4018,6 @@ "deterministic": true } }, - { - "formula": "(G(a | !b | !c) & G(b | d | !e) & G(!b | e | f) & G(!a | (b & c)) & G(!d | (!b & e)) & G(!f | (b & !e)) & G(c | Xb | X!c | Xg) & G(X!g | (!c & X!b & Xc)) & G((a & !g & !h) | (!a & ((g & !h) | (!g & h)))) & G((d & !f & !i) | (!d & ((f & !i) | (!f & i)))))", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "(Fa | FG(a | XXa))", "properties": { @@ -4771,7 +4071,7 @@ { "formula": "((FGa & FGb) | FG(c | XXa))", "properties": { - "size": 5, + "size": 8, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -4782,9 +4082,6 @@ { "formula": "((FGa & GFb) | (FGc & GF(d & Xe)))" }, - { - "formula": "((FGa & GFb) | ((FGc | GFd) & (FGe | GFf | (FGg & GFh))))" - }, { "formula": "(F(a & Gb) | G(b | F(a & Gb)))" }, @@ -4794,7 +4091,7 @@ { "formula": "(FG(a | Xb) | FG(c | XXa))", "properties": { - "size": 6, + "size": 14, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -4805,7 +4102,7 @@ { "formula": "(F(G(a | b) & (Fa | XFc)) | F(G(d | e) & (Fd | XFf)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -4816,7 +4113,7 @@ { "formula": "(FG(a | XXb) | FG(c | XXd))", "properties": { - "size": 8, + "size": 24, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -4833,7 +4130,7 @@ { "formula": "(FG(a | b) | FG(!a | Xb) | FG(a | XXb))", "properties": { - "size": 7, + "size": 22, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -4844,7 +4141,7 @@ { "formula": "(FG(a | XXb) | FG(c | XXd) | FG(e | XXf))", "properties": { - "size": 12, + "size": 124, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -4863,17 +4160,6 @@ "deterministic": true } }, - { - "formula": "(F(!a & b & c) | F(b & !d & !e) | F(!b & d & !f) | F(a & (!b | !c)) | F(e & (!b | d)) | F(f & (b | !d)) | F(!c & X!b & Xc & X!g) | F(Xg & (c | Xb | X!c)) | F((!a | g | h) & (a | ((g | !h) & (!g | h)))) | F((e | !f | i) & (f | ((e | !i) & (!e | i)))))", - "properties": { - "size": 4, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "(a <-> (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))))" }, @@ -4886,12 +4172,6 @@ { "formula": "(!a <-> ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc))))))" }, - { - "formula": "((GF(a & Xa) & GF(b & Xb) & GF(c & Xc)) <-> (GF(d & Xd) & GF(e & Xe) & GF(f & Xf)))" - }, - { - "formula": "((FG(a | Xa) | FG(b | Xb) | FG(c | Xc)) <-> (GF(d & Xd) & GF(e & Xe) & GF(f & Xf)))" - }, { "formula": "F(a & F(b & (a | Gc)))", "properties": { @@ -4964,17 +4244,6 @@ "deterministic": true } }, - { - "formula": "F(!a & Xa & X(((!a & Xa)) R ((b | X!b))))", - "properties": { - "size": 7, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "F(a & !b & Fb & (((c & ((b) R ((b | d))))) R (!b)))", "properties": { @@ -4986,17 +4255,6 @@ "deterministic": true } }, - { - "formula": "F(a & b & !c & Xc & X(d & X(b & d)))", - "properties": { - "size": 4, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "FG(a | XXXb)", "properties": { @@ -5043,9 +4301,6 @@ { "formula": "G(a | b | (((c | ((!b) U ((!b & d))))) W (b)))" }, - { - "formula": "G(a | X!a | X(((a | X!a)) U ((!b & Xb))))" - }, { "formula": "G(a | XG!b | XF(b & Fc))" }, @@ -5055,17 +4310,6 @@ { "formula": "G(a | b | G!b | (((c | ((!b) U ((!b & d))))) U (b)))" }, - { - "formula": "G(a | b | c | X!c | X(d | X(b | d)))", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "GF(a & XXXb)" }, @@ -5167,9 +4411,6 @@ { "formula": "((!a | GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a)))) & (a | (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a))))))" }, - { - "formula": "((FG(!a | X!a) | FG(!b | X!b) | FG(!c | X!c) | FG(!d | X!d) | FG(!e | X!e) | FG(!f | X!f)) & ((GF(a & Xa) & GF(b & Xb) & GF(c & Xc)) | (GF(d & Xd) & GF(e & Xe) & GF(f & Xf))))" - }, { "formula": "((a | ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc)))))) & (!a | ((((b | F!a) & (!b | Ga))) R (((!a) U (G(a | G!c)))))))" }, @@ -5187,21 +4428,12 @@ "deterministic": true } }, - { - "formula": "(a & GFa & (!b | c | F(!a & c) | F(b & d) | F(!b & !d) | (FG!b & FGe) | (FG!d & FGf) | F(b & (e | g) & (!e | !g)) | F(d & (f | g) & (!f | !g)) | F(c & !e & !f & X!b) | F(!a & (b | Xb) & (!b | X!b)) | F(!a & (d | Xd) & (!d | X!d)) | F(c & (b | X!b) & (!b | Xb) & (d | X!d) & (!d | Xd)) | F(!c & ((b & X!b) | (!b & Xb) | (d & X!d) | (!d & Xd)))))" - }, - { - "formula": "(a & GFa & (!b | c | F(!a & c) | F(!b & !d & !e & !f) | (FG!b & FGg) | (FG!d & FGh) | (FG!e & FGi) | (FG!f & FGj) | F(b & (g | k) & (!g | !k)) | F(d & (h | k) & (!h | !k)) | F(e & (i | k) & (!i | !k)) | F(f & (j | k) & (!j | !k)) | F(c & !g & !h & !i & !j & X!b) | F((b | d | (e & f)) & (e | f | (b & d))) | F(!a & (b | Xb) & (!b | X!b)) | F(!a & (d | Xd) & (!d | X!d)) | F(!a & (e | Xe) & (!e | X!e)) | F(!a & (f | Xf) & (!f | X!f)) | F(c & (b | X!b) & (!b | Xb) & (d | X!d) & (!d | Xd) & (e | X!e) & (!e | Xe) & (f | X!f) & (!f | Xf)) | F(!c & ((b & X!b) | (!b & Xb) | (d & X!d) | (!d & Xd) | (e & X!e) | (!e & Xe) | (f & X!f) | (!f & Xf)))))" - }, { "formula": "(GFa & FG(b | Xc) & GF(d & XXXe))" }, { "formula": "(GF(!a & b) & GF(a & Xb) & GF(!a & XXb) & GF(a & XXXb))" }, - { - "formula": "(G((a & !b & !c) | (!a & ((b & !c) | (!b & c)))) & G((!d & e & !f) | (!e & ((d & !f) | (!d & f)))) & G((!g & h & !i) | (!h & ((g & !i) | (!g & i)))) & (F(a & Xj) | F(b & Xk) | (G(!j | Fa) & G(!j | ((!b) W (k))) & G(!k | Fb) & G(!k | ((!a) W (j))) & G(j | k | Fa | Fb) & G((l & Xm) | X(!d | !g)) & G((l & X!m) | X(!e | !h)) & G(!l | Xm | X(e & h)) & G(!l | X!m | X(d & g)))))" - }, { "formula": "(G!a | (((b | ((!a) U ((!a & c & X((!a) U (d))))))) U (a)))", "properties": { @@ -5233,9 +4465,6 @@ { "formula": "((a & FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))) | (!a & (GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a))))))" }, - { - "formula": "((GF(a & Xa) & GF(b & Xb) & GF(c & Xc) & GF(d & Xd) & GF(e & Xe) & GF(f & Xf)) | ((FG(!a | X!a) | FG(!b | X!b) | FG(!c | X!c)) & (FG(!d | X!d) | FG(!e | X!e) | FG(!f | X!f))))" - }, { "formula": "((a & ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc)))))) | (!a & ((((b | F!a) & (!b | Ga))) R (((!a) U (G(a | G!c)))))))" }, @@ -5245,41 +4474,13 @@ { "formula": "(GF(a & XXXa) | GF(!a & XXX!a))" }, - { - "formula": "(!a | FG!a | (b & !c & G(a | !c) & G(b | d) & G(!b | !d) & (GFb | GF!e) & (GFd | GF!f) & G(!b | (e & g) | (!e & !g)) & G(!d | (f & g) | (!f & !g)) & G(!c | e | f | Xb) & G(a | (b & Xb) | (!b & X!b)) & G(a | (d & Xd) | (!d & X!d)) & G(!c | (b & X!b) | (!b & Xb) | (d & X!d) | (!d & Xd)) & G(c | ((b | X!b) & (!b | Xb) & (d | X!d) & (!d | Xd)))))" - }, - { - "formula": "(!a | FG!a | (b & !c & G(a | !c) & G(b | d | e | f) & (GFb | GF!g) & (GFd | GF!h) & (GFe | GF!i) & (GFf | GF!j) & G(!b | (g & k) | (!g & !k)) & G(!d | (h & k) | (!h & !k)) & G(!e | (i & k) | (!i & !k)) & G(!f | (j & k) | (!j & !k)) & G(!c | g | h | i | j | Xb) & G((!b & !d & (!e | !f)) | (!e & !f & (!b | !d))) & G(a | (b & Xb) | (!b & X!b)) & G(a | (d & Xd) | (!d & X!d)) & G(a | (e & Xe) | (!e & X!e)) & G(a | (f & Xf) | (!f & X!f)) & G(!c | (b & X!b) | (!b & Xb) | (d & X!d) | (!d & Xd) | (e & X!e) | (!e & Xe) | (f & X!f) | (!f & Xf)) & G(c | ((b | X!b) & (!b | Xb) & (d | X!d) & (!d | Xd) & (e | X!e) & (!e | Xe) & (f | X!f) & (!f | Xf)))))" - }, { "formula": "(FGa | GF(b & Xc) | FG(d | XXXe))" }, { "formula": "(FG(a | b) | FG(!a | Xb) | FG(a | XXb) | FG(!a | XXXb))", "properties": { - "size": 15, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "(F((!a | b | c) & (a | ((b | !c) & (!b | c)))) | F((d | !e | f) & (e | ((d | !f) & (!d | f)))) | F((g | !h | i) & (h | ((g | !i) & (!g | i)))) | (G(!a | X!j) & G(!b | X!k) & (F(j & G!a) | F(j & ((b) M (!k))) | F(k & G!b) | F(k & ((a) M (!j))) | F(!j & !k & G!a & G!b) | F((!l | Xm) & X(e & h)) | F((!l | X!m) & X(d & g)) | F(l & Xm & X(!d | !g)) | F(l & X!m & X(!e | !h)))))", - "properties": { - "size": 62, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "(Fa | Fb | Fc | XF!b | X(Xa | ((b) U (((!b) U (((b) U ((a | d)))))))))", - "properties": { - "size": 2, + "size": 89, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -5323,7 +4524,7 @@ { "formula": "F(a & ((!a) R ((b | ((b) R ((c | ((c) R (d)))))))))", "properties": { - "size": 14, + "size": 10, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -5334,7 +4535,7 @@ { "formula": "F(a & ((b) R (((!b) R (((b) R (((!b) R ((!b | c))))))))))", "properties": { - "size": 8, + "size": 6, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -5376,17 +4577,6 @@ { "formula": "F(a & F(b & XFc) & (((b & Gd & XF(c & d))) R ((d & e))))" }, - { - "formula": "F(!a & Xa & X((!a) R ((!a | b | X(!a | !b)))))", - "properties": { - "size": 5, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "F(a & b & !c & Xc & X(Xb & ((c) R (((!c) R ((b & d)))))))", "properties": { @@ -5422,9 +4612,6 @@ { "formula": "G(a | G!b | (((b | c | X((b) R ((b | d))))) U ((b | e))))" }, - { - "formula": "G(a | X!a | X((a) U ((a & !b & X(a & b)))))" - }, { "formula": "G(a | G(b | XGc) | (((b | d | X((d) R ((c | d))))) U ((d | e))))" }, @@ -5507,20 +4694,6 @@ "deterministic": true } }, - { - "formula": "(a & GFa & (!b | c | F(!a & c) | F(!b & !d & !e & !f & !g & !h) | (FG!b & FGi) | (FG!d & FGj) | (FG!e & FGk) | (FG!f & FGl) | (FG!g & FGm) | (FG!h & FGn) | F(c & !i & !j & !k & !l & !m & !n & X!b) | F(b & ((i & !o) | (!i & o))) | F(d & ((j & !o) | (!j & o))) | F(e & ((k & !o) | (!k & o))) | F(f & ((l & !o) | (!l & o))) | F(g & ((m & !o) | (!m & o))) | F(h & ((n & !o) | (!n & o))) | F(c & (b | X!b) & (!b | Xb) & (d | X!d) & (!d | Xd) & (e | X!e) & (!e | Xe) & (f | X!f) & (!f | Xf) & (g | X!g) & (!g | Xg) & (h | X!h) & (!h | Xh)) | F(!a & ((b & X!b) | (!b & Xb))) | F(!a & ((d & X!d) | (!d & Xd))) | F(!a & ((e & X!e) | (!e & Xe))) | F(!a & ((f & X!f) | (!f & Xf))) | F(!a & ((g & X!g) | (!g & Xg))) | F(!a & ((h & X!h) | (!h & Xh))) | F(!c & ((b & X!b) | (!b & Xb) | (d & X!d) | (!d & Xd) | (e & X!e) | (!e & Xe) | (f & X!f) | (!f & Xf) | (g & X!g) | (!g & Xg) | (h & X!h) | (!h & Xh))) | F((b | d | e | ((f | g) & (h | (f & g)))) & (f | g | h | ((b | d) & (e | (b & d)))))))" - }, - { - "formula": "(G((a & !b & !c) | (!a & ((b & !c) | (!b & c)))) & G((d & !e & !f) | (!d & ((e & !f) | (!e & f)))) & G((g & !h & !i) | (!g & ((h & !i) | (!h & i)))) & (((j) M (!d)) | F(k & l) | F(d & X((!j) M (!f))) | F(f & X((j) M (!d))) | (G(a | !j) & G(!a | j) & G(b | j) & G(!b | !j) & G(i | !l) & G(!i | l) & G(h | !j | !k) & G(!h | (j & k)) & G(!k | (j & X!j) | (!j & Xj)) & G(k | ((j | X!j) & (!j | Xj))))))", - "properties": { - "size": 8, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "(G!a | (((b | ((!a) U ((!a & c & d & X(((!a & d)) U (e))))))) U (a)))", "properties": { @@ -5538,20 +4711,6 @@ { "formula": "(GF(a & XXXXa) | GF(!a & XXXX!a))" }, - { - "formula": "(!a | FG!a | (b & !c & G(a | !c) & G(b | d | e | f | g | h) & (GFb | GF!i) & (GFd | GF!j) & (GFe | GF!k) & (GFf | GF!l) & (GFg | GF!m) & (GFh | GF!n) & G(!b | (i & o) | (!i & !o)) & G(!d | (j & o) | (!j & !o)) & G(!e | (k & o) | (!k & !o)) & G(!f | (l & o) | (!l & !o)) & G(!g | (m & o) | (!m & !o)) & G(!h | (n & o) | (!n & !o)) & G(!c | i | j | k | l | m | n | Xb) & G(a | (b & Xb) | (!b & X!b)) & G(a | (d & Xd) | (!d & X!d)) & G(a | (e & Xe) | (!e & X!e)) & G(a | (f & Xf) | (!f & X!f)) & G(a | (g & Xg) | (!g & X!g)) & G(a | (h & Xh) | (!h & X!h)) & G(!c | (b & X!b) | (!b & Xb) | (d & X!d) | (!d & Xd) | (e & X!e) | (!e & Xe) | (f & X!f) | (!f & Xf) | (g & X!g) | (!g & Xg) | (h & X!h) | (!h & Xh)) & G(c | ((b | X!b) & (!b | Xb) & (d | X!d) & (!d | Xd) & (e | X!e) & (!e | Xe) & (f | X!f) & (!f | Xf) & (g | X!g) & (!g | Xg) & (h | X!h) & (!h | Xh))) & G((!b & !d & !e & ((!f & !g) | (!h & (!f | !g)))) | (!f & !g & !h & ((!b & !d) | (!e & (!b | !d)))))))" - }, - { - "formula": "(F((!a | b | c) & (a | ((b | !c) & (!b | c)))) | F((!d | e | f) & (d | ((e | !f) & (!e | f)))) | F((!g | h | i) & (g | ((h | !i) & (!h | i)))) | (((!j) W (d)) & G(!k | !l) & G(!d | X((j) W (f))) & G(!f | X((!j) W (d))) & (F(a & !j) | F(!a & j) | F(b & j) | F(!b & !j) | F(i & !l) | F(!i & l) | F(!h & j & k) | F(h & (!j | !k)) | F(k & (j | X!j) & (!j | Xj)) | F(!k & ((j & X!j) | (!j & Xj))))))", - "properties": { - "size": 9, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "(a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))" }, @@ -5572,7 +4731,7 @@ { "formula": "F(a & ((!a) R (((b) R ((!a | ((!a) R ((c | ((c) R (!a)))))))))))", "properties": { - "size": 10, + "size": 8, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -5597,7 +4756,7 @@ { "formula": "F(!a & Xa & X(Xb & ((!a) R (((a) R (((!a) R ((b & c)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -5608,7 +4767,7 @@ { "formula": "F(a & b & !c & Xc & X(Xb & ((!c) R (((c) R (((!c) R ((b & d)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -5637,53 +4796,9 @@ { "formula": "((!a | GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a))))))) & (a | (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a)))))))))" }, - { - "formula": "(G((a & !b) | (!a & b)) & G((c & !d & !e) | (!c & ((d & !e) | (!d & e)))) & G((f & !g & !h) | (!f & ((g & !h) | (!g & h)))) & (!i | !j | F(k & l) | F(m & n) | F(c & o & X!i) | F(d & p & X!i) | F(f & q & X!j) | F(g & r & X!j) | F(h & j & X!j) | (Gi & Gj & G(b | !s) & G(!b | s) & G(!k | (((c & n & o) | (!c & (!n | !o))) & ((d & m & p) | (!d & (!m | !p))))) & G(!l | (((f & n & q) | (!f & (!n | !q))) & ((g & m & r) | (!g & (!m | !r))))))))", - "properties": { - "size": 9, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "(G((a & !b) | (!a & b)) & G((c & !d & !e) | (!c & ((d & !e) | (!d & e)))) & G((f & !g & !h) | (!f & ((g & !h) | (!g & h)))) & (!i | !j | F(k & l) | F(m & n) | F(c & o & X!i) | F(d & p & X!i) | F(e & i & X!i) | F(f & q & X!j) | F(g & r & X!j) | F(h & j & X!j) | (Gi & Gj & G(b | !s) & G(!b | s) & G(!k | (((c & n & o) | (!c & (!n | !o))) & ((d & m & p) | (!d & (!m | !p))))) & G(!l | (((f & n & q) | (!f & (!n | !q))) & ((g & m & r) | (!g & (!m | !r))))))))", - "properties": { - "size": 9, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "((a & FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))) | (!a & (GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a)))))))))" }, - { - "formula": "(F((a | !b) & (!a | b)) | F((!c | d | e) & (c | ((d | !e) & (!d | e)))) | F((!f | g | h) & (f | ((g | !h) & (!g | h)))) | (i & j & G(!k | !l) & G(!m | !n) & G(!c | !o | Xi) & G(!d | !p | Xi) & G(!f | !q | Xj) & G(!g | !r | Xj) & G(!h | !j | Xj) & (F!i | F!j | F(b & !s) | F(!b & s) | F(k & (((!c | !n | !o) & (c | (n & o))) | ((!d | !m | !p) & (d | (m & p))))) | F(l & (((!f | !n | !q) & (f | (n & q))) | ((!g | !m | !r) & (g | (m & r))))))))", - "properties": { - "size": 10, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "(F((a | !b) & (!a | b)) | F((!c | d | e) & (c | ((d | !e) & (!d | e)))) | F((!f | g | h) & (f | ((g | !h) & (!g | h)))) | (i & j & G(!k | !l) & G(!m | !n) & G(!c | !o | Xi) & G(!d | !p | Xi) & G(!e | !i | Xi) & G(!f | !q | Xj) & G(!g | !r | Xj) & G(!h | !j | Xj) & (F!i | F!j | F(b & !s) | F(!b & s) | F(k & (((!c | !n | !o) & (c | (n & o))) | ((!d | !m | !p) & (d | (m & p))))) | F(l & (((!f | !n | !q) & (f | (n & q))) | ((!g | !m | !r) & (g | (m & r))))))))", - "properties": { - "size": 10, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "F(a & (((b & ((c) R ((c | d | X((c) R (e))))))) R ((!c & F(b & (d | XGe))))))" }, @@ -5696,17 +4811,6 @@ { "formula": "F(a & (((b & (((c | d | X(((d | e)) R (f)))) W (e)))) R ((!e & F(b & (c | d | X((d) R (f))))))))" }, - { - "formula": "F((((a | Xa) & (!a | X!a)) | ((b | Xb) & (!b | X!b)) | ((c | Xc) & (!c | X!c)) | ((d | Xd) & (!d | X!d))) & X(e | (((((a | Xa) & (!a | X!a)) | ((b | Xb) & (!b | X!b)) | ((c | Xc) & (!c | X!c)) | ((d | Xd) & (!d | X!d)))) R (!e))))", - "properties": { - "size": 34, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "F(a & Fb & (((c & ((b) R ((b | d | e | X(((b | e)) R (f))))))) R (!b)))", "properties": { @@ -5730,9 +4834,6 @@ { "formula": "G(a | (((b | ((!c) U ((!c & d & e & X(((!c & e)) U (f))))))) U ((c | G(b | (d & e & X((e) U (f))))))))" }, - { - "formula": "G((((a & Xa) | (!a & X!a)) & ((b & Xb) | (!b & X!b)) & ((c & Xc) | (!c & X!c)) & ((d & Xd) | (!d & X!d))) | X(!e & (((((a & Xa) | (!a & X!a)) & ((b & Xb) | (!b & X!b)) & ((c & Xc) | (!c & X!c)) & ((d & Xd) | (!d & X!d)))) U (e))))" - }, { "formula": "G(a | G!b | (((c | ((!b) U ((!b & d & e & X(((!b & e)) U (f))))))) U (b)))" }, @@ -5770,7 +4871,7 @@ { "formula": "XX(F(a & X(b | ((Fa) U (c))) & X(!b | ((G!a) R (!c)))) | F(!a & X((b & ((Fa) U (c))) | (!b & ((G!a) R (!c))))))", "properties": { - "size": 19, + "size": 20, "initialStatesSize": 1, "acceptanceName": "CoBuchiAcceptance", "acceptanceSets": 1, @@ -5814,28 +4915,6 @@ "deterministic": true } }, - { - "formula": "F(a & X!a & X((a) R ((a | b | X(a | !b | ((a) R ((a | b | X(a | !b)))))))))", - "properties": { - "size": 7, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "F(!a & Xa & X((!a) R ((!a | b | X(!a | !b | ((!a) R ((!a | b | X(!a | !b)))))))))", - "properties": { - "size": 7, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "G(a | (((!b & !c)) U ((c | (((b & !c)) U ((c | (((!b & !c)) U ((c | (((b & !c)) U ((c | Gb | ((!b) W (c)))))))))))))))" }, @@ -5848,12 +4927,6 @@ { "formula": "G(a | G!b | (((!b & !c)) U ((b | (((!b & c)) U ((b | (((!b & !c)) U ((b | (((!b & c)) U ((b | ((!c) U (b)))))))))))))))" }, - { - "formula": "G(a | X!a | X((a) U ((a & !b & X(a & b & ((a) U ((a & !b & X(a & b)))))))))" - }, - { - "formula": "G(!a | Xa | X((!a) U ((!a & !b & X(!a & b & ((!a) U ((!a & !b & X(!a & b)))))))))" - }, { "formula": "((a) R ((b | X(c | G(d | XG(e | XG(f | XGg)))))))", "properties": { @@ -5875,47 +4948,5 @@ "complete": false, "deterministic": true } - }, - { - "formula": "F(a & X!a & X((a) R ((a | b | X(a | !b | ((a) R ((a | b | X(a | !b | ((a) R ((a | b | X(a | !b)))))))))))))", - "properties": { - "size": 9, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "G(!a | Xa | X((!a) U ((!a & !b & X(!a & b & ((!a) U ((!a & !b & X(!a & b & ((!a) U ((!a & !b & X(!a & b)))))))))))))" - }, - { - "formula": "(!a & !b & !c & !d & !e & G(!b | c) & G(!d | e) & G(!f | !g) & GFa & G(f | g | !h | XF!i) & (h | j | k | !l | !m | n | !o | F(!a & Xl) | F(!n & ((n) M (!e))) | F(!c & !e & o & X!m) | (FGc & FG(j | k)) | (FGe & FG(j | !k)) | F(!j & k & ((e & !i) | (!e & i))) | F(!j & !k & ((c & !i) | (!c & i))) | F(a & ((p & X!h) | (!p & Xh))) | F(!o & ((p & X!p) | (!p & Xp))) | F(!o & ((m & X!m) | (!m & Xm) | (n & X!n) | (!n & Xn))) | F(o & Xm & ((b & X!p) | (!b & Xp))) | F(o & Xn & ((d & X!p) | (!d & Xp))) | F(!f & !g & h & l & X((l) M ((i | l)))) | F(a & ((m & X(j | k)) | (!m & X(!j & !k)))) | F(a & ((n & X(j | !k)) | (!n & X(!j & k)))) | F(X!l & ((h & X!h) | (!h & Xh) | ((j | k) & X(!j & !k)) | (!j & !k & X(j | k)))) | F(X!l & ((h & X!h) | (!h & Xh) | ((j | !k) & X(!j & k)) | (!j & k & X(j | !k)))) | F(a & f & !g & h & l & X((l) M ((!a | l | X((l) M ((!a | l | X((l) M ((!a | l)))))))))) | F(!a & f & !g & h & l & X((l) M ((!a | l | X((l) M ((!a | l | X((l) M ((!a | l | X((l) M ((!a | l)))))))))))))))" - }, - { - "formula": "(a | b | c | d | e | F(b & !c) | F(d & !e) | F(f & g) | FG!a | F(!f & !g & h & XGi) | (!h & !j & !k & l & m & !n & o & G(a | X!l) & G(n | ((!n) W (e))) & G(c | e | !o | Xm) & G(j | k | (c & i) | (!c & !i)) & G(j | !k | (e & i) | (!e & !i)) & (GF!c | GF(!j & !k)) & (GF!e | GF(!j & k)) & G(!a | (p & Xh) | (!p & X!h)) & G(o | (p & Xp) | (!p & X!p)) & G(!o | X!m | (b & Xp) | (!b & X!p)) & G(!o | X!n | (d & Xp) | (!d & X!p)) & G(!a | (m & X(!j & !k)) | (!m & X(j | k))) & G(!a | (n & X(!j & k)) | (!n & X(j | !k))) & G(f | g | !h | !l | X((!l) W ((!i & !l)))) & G(o | (((m & Xm) | (!m & X!m)) & ((n & Xn) | (!n & X!n)))) & G(Xl | (((h & Xh) | (!h & X!h)) & (((j | k) & X(j | k)) | (!j & !k & X(!j & !k))))) & G(Xl | (((h & Xh) | (!h & X!h)) & (((j | !k) & X(j | !k)) | (!j & k & X(!j & k))))) & G(!a | !f | g | !h | !l | X((!l) W ((a & !l & X((!l) W ((a & !l & X((!l) W ((a & !l)))))))))) & G(a | !f | g | !h | !l | X((!l) W ((a & !l & X((!l) W ((a & !l & X((!l) W ((a & !l & X((!l) W ((a & !l)))))))))))))))" - }, - { - "formula": "F(a & X(a & X(a & X(a & X(a & X(a & X(a & X(a & X(a & X(a & X(a & Xa)))))))))))", - "properties": { - "size": 13, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "G(a | X(a | X(a | X(a | X(a | X(a | X(a | X(a | X(a | X(a | X(a | Xa)))))))))))", - "properties": { - "size": 12, - "initialStatesSize": 1, - "acceptanceName": "CoBuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } } ] \ No newline at end of file diff --git a/data/formulas/sizes/coSafetySafety.minimal.json b/data/formulas/sizes/coSafetySafety.minimal.json new file mode 100644 index 00000000..3b585c40 --- /dev/null +++ b/data/formulas/sizes/coSafetySafety.minimal.json @@ -0,0 +1,4952 @@ +[ + { + "formula": "false", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "true", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "a", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a | b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a <-> b)" + }, + { + "formula": "Fa", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "Ga", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "Xa", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & F!a)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & ((b) R (a)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a & Fa)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a | b) & (!a | !b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a | !b) & (!a | b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a <-> b) & G!b)" + }, + { + "formula": "(Fa & F!a)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & Fb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & Gb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & Xb)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((b) R (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & Gb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & Xb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) M (b)) & ((c) U (d)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a | ((b) U (a)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a | Ga)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a & b) | (!a & !b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a & !b) | (!a & b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a <-> b) | Fb)" + }, + { + "formula": "(Fa | Fb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | Gb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | Xb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | G!a)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | Gb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | Xb)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((b) U (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) R (b)) | ((c) W (d)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a <-> Ga)" + }, + { + "formula": "(!a <-> Ga)" + }, + { + "formula": "F(a & b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FGa", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | b)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GFa" + }, + { + "formula": "X(a & b)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "X(a | b)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "XFa", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XGa", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M ((a | b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R ((a | b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R (((b) R (c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Ga) R (Fb))" + }, + { + "formula": "((((a) R (b))) R (c))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((a & b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (((b) U (c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa) U (Gb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((a) U (b))) U (c))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W ((a & b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & (Fb | Ga))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & FGa)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (a | Gb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & FGa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & GFb)" + }, + { + "formula": "(Fa & XF!a)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & XFb)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & ((((a) R (b))) M (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((b) R ((!a & c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((a & b)) R (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F!a & XFa)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga & F(b & c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & G(b | c))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & GFb)" + }, + { + "formula": "(G!a & ((a & b) | (!a & !b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a | Gb) & GFa)" + }, + { + "formula": "((Fa | Gb) & (Fb | Gc))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((Fa | G!b) & (Fb | G!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFa)" + }, + { + "formula": "(FGa & GFb)" + }, + { + "formula": "(G(a | b) & GFb)" + }, + { + "formula": "(G(a | b) & GFc)" + }, + { + "formula": "(GFa & GF!a)" + }, + { + "formula": "(GFa & GFb)" + }, + { + "formula": "(GFa & XGb)" + }, + { + "formula": "(Ga & Gb & GFc)" + }, + { + "formula": "(Ga & G(b | c) & GFc)" + }, + { + "formula": "(Ga & GFb & GFc)" + }, + { + "formula": "((Fa | Gb) & (Fb | Gc) & (Fc | Gd))", + "properties": { + "size": 18, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb & FGc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb & GFc)" + }, + { + "formula": "(FGa & GFb & GFc)" + }, + { + "formula": "(G(a | b) & GFb & GFc)" + }, + { + "formula": "(GFa & GFb & GFc)" + }, + { + "formula": "(((a) R (((b) R (c)))) & ((b) R (((c) R (a)))) & ((c) R (((a) R (b)))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & Fb & GFc & GFd)" + }, + { + "formula": "(Ga & GFb & GFc & GFd)" + }, + { + "formula": "((Fa | Gb) & (Fb | Gc) & (Fc | Gd) & (Fd | Ge))", + "properties": { + "size": 42, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb & FGc & FGd)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb & GFc & GFd)" + }, + { + "formula": "(GFa & GFb & GFc & GFd)" + }, + { + "formula": "(FGa & FGb & FGc & FGd & FGe)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb & GFc & GFd & GFe)" + }, + { + "formula": "(GFa & GFb & GFc & GFd & GFe)" + }, + { + "formula": "(Fa & Fb & Fc & GFd & GFe & GFf)" + }, + { + "formula": "(FGa & GFb & GFc & GFd & GFe & GFf)" + }, + { + "formula": "(a | (Fa & Gb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a | GFa)" + }, + { + "formula": "(Fa | ((a | b) & (!a | !b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | F(b & c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | FGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | G(b | c))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | XF!a)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F!a | XFa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | (a & Fb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | FGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | GFa)" + }, + { + "formula": "(Ga | XG!a)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | XGb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | (((a | b)) U (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | XGa)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((b) U ((a | c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((((!a) U (b))) W (a)))" + }, + { + "formula": "((a & Fb) | FGa)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((Fa & Gb) | (Fc & Ga))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa & G!b) | (Fb & G!a))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FGc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FG!a)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GFa)" + }, + { + "formula": "(FGa | GFb)" + }, + { + "formula": "(FGa | XFb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | GFb)" + }, + { + "formula": "(((a) U (Ga)) | ((b) U (Gb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa | Fb | FGc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | F(b & c) | FGc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | FGb | FGc)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((Fa & Gb) | (Fc & Ga) | (Fd & Gc))", + "properties": { + "size": 17, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FGb | FGc)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FGc)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | GFc)" + }, + { + "formula": "(FGa | GFb | GFc)" + }, + { + "formula": "(GFa | GFb | GFc)" + }, + { + "formula": "(((a) U (((b) U (c)))) | ((b) U (((c) U (a)))) | ((c) U (((a) U (b)))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa | FGb | FGc | FGd)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | Gb | FGc | FGd)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((Fa & Gb) | (Fc & Ga) | (Fd & Gc) | (Fe & Gd))", + "properties": { + "size": 41, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FGc | FGd)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FGc | GFd)" + }, + { + "formula": "(GFa | GFb | GFc | GFd)" + }, + { + "formula": "(FGa | FGb | FGc | FGd | FGe)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FGc | FGd | GFe)" + }, + { + "formula": "(GFa | GFb | GFc | GFd | GFe)" + }, + { + "formula": "(Ga | Gb | Gc | FGd | FGe | FGf)", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FGc | FGd | FGe | GFf)" + }, + { + "formula": "(F!a <-> (!a <-> Ga))" + }, + { + "formula": "(Ga <-> (!a <-> Ga))" + }, + { + "formula": "F(a & Fb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Gb)", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & Xb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) M (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((!a) R (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) R (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) U (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) W (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Ga & ((b) M (c)))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(Ga & ((b) R (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Ga & ((b) U (c)))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(Ga & ((b) W (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & ((c) M (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & ((c) R (!b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Gb & Gc)", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & !b & Fb & ((c) R (!b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | b)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | Fb)" + }, + { + "formula": "G(a | Gb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | Xb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) M (c)))" + }, + { + "formula": "G(a | ((b) R (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) U (c)))" + }, + { + "formula": "G(a | ((b) W (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(!a | ((a) U (b)))" + }, + { + "formula": "G(Fa | ((b) M (c)))" + }, + { + "formula": "G(Fa | ((b) R (c)))" + }, + { + "formula": "G(Fa | ((b) U (c)))" + }, + { + "formula": "G(Fa | ((b) W (c)))" + }, + { + "formula": "G(a | b | ((c) W (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | Fb | Fc)" + }, + { + "formula": "G(a | G!b | ((c) U (b)))" + }, + { + "formula": "G(a | b | G!b | ((c) U (b)))" + }, + { + "formula": "GF(a & b)" + }, + { + "formula": "XF(a & b)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XG(a | b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "XXFa", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XXGa", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) R (Fb))) M (a))" + }, + { + "formula": "((a) R ((b | Fc)))" + }, + { + "formula": "((a) R ((b | Ga)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R (((b) R (((c) R (d))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((Ga & Xb)) R (b))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((F!a | Xb)) R ((Fc & Xa)))" + }, + { + "formula": "((((((a) R (b))) R (c))) R (d))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & Fa)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & Gc)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (((b) U (((c) U (d))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((Ga & Xb)) U ((Gc | X!a)))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((Fa | Xb)) U (b))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((!a) U (G!a))) U ((a | G!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((((a) U (b))) U (c))) U (d))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) U (Gb))) W (a))" + }, + { + "formula": "(a & F(a & ((b) M (!a))))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a & ((b) M ((!a & ((b) M (a))))))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (a | GFb))" + }, + { + "formula": "(Fa & (FGb | GFa))" + }, + { + "formula": "(Fa & G(!a | Gb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & G(!a | ((b) M (c))))" + }, + { + "formula": "(Fa & XXXb)", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((Gb) M ((b | Xb))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((((a) R ((a | b)))) R (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & F(b & Xc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Xa & (Ga | ((b) M (Xa))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(X!a & (b | Fc | ((((d) R (!b))) U (Xa))))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) R (b)) & F(c & Xa))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & (Ga | ((b) U (Ga))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & (FGb | FGc))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & (GFb | GFc | GFd))" + }, + { + "formula": "(G(a | b) & GF(b & c))" + }, + { + "formula": "(GFa & (F!a | FGb))" + }, + { + "formula": "(GFa & (FGb | FGc))" + }, + { + "formula": "(GFa & (FGb | GFc))" + }, + { + "formula": "(GFa & FG(b | c))" + }, + { + "formula": "(GFa & G(a | Xa))" + }, + { + "formula": "(GFa & G(a | Xb))" + }, + { + "formula": "(GFa & G(b | Xa))" + }, + { + "formula": "(GFa & XG(a | b))" + }, + { + "formula": "(((X!a) R (!b)) & X((a) U ((a & b))))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((!a | ((b) U (Xa))) & (Fc | ((b) R (X!a))))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa | FG!b) & (FG!a | GFb))" + }, + { + "formula": "((FGa | GFb) & (FG!a | FG!b))" + }, + { + "formula": "((FGa | GFb) & (FGc | GFa))" + }, + { + "formula": "((FGa | GFb) & (FGc | GFd))" + }, + { + "formula": "((FG!a | GFb) & (FG!b | GFa))" + }, + { + "formula": "((FG!a | GF!b) & (FGb | GFa))" + }, + { + "formula": "(G(a | Xa) & G(!a | X!a))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & G(!a | X!b))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & G(c | Xd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & GF(b & c))" + }, + { + "formula": "(a & (FGa | FG!a) & (GFa | GFb))" + }, + { + "formula": "(Fa & Fb & (FGc | FG!c))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & Fb & (GFc | GF!c))" + }, + { + "formula": "(Fa & FGb & (Ga | GFb))" + }, + { + "formula": "(Ga & FGb & (Fc | XFd))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a & GFb & G(b | Xa))" + }, + { + "formula": "((Ga | Gb | Gc) & (FG!d | GFe | GF!f) & (FGf | GFd | GFe))" + }, + { + "formula": "(GFa & GFb & (FGc | FGd))" + }, + { + "formula": "(GFa & GFb & FG(a | b))" + }, + { + "formula": "(GFa & GFb & GF(c & d))" + }, + { + "formula": "((FGa | GFb) & (FGc | GFa) & (FGd | GFc))" + }, + { + "formula": "((FGa | GFb) & (FGc | GFd) & (FGe | GFf))" + }, + { + "formula": "(G(a | Xb) & G(c | Xd) & G(e | Xf))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & (a | GFb) & (c | GFd) & (FGa | GFc))" + }, + { + "formula": "((FGa | GFb) & (FGc | GFa) & (FGd | GFc) & (FGe | GFd))" + }, + { + "formula": "(a | ((b) W ((a | ((b) W (!a))))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(!a | G(!a | ((b) W (a))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | G(b | Xc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | (a & FGb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | (FGa & GFb))" + }, + { + "formula": "(Ga | XXXb)", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | ((Fb) W ((b & Xb))))" + }, + { + "formula": "(G!a | F(a & Fb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | F(a & ((b) W (c))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | ((((!a) U ((!a & b)))) U (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Xa | (Fa & ((b) W (Xa))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Xa | (!b & Gc & ((((d) U (b))) R (X!a))))" + }, + { + "formula": "(((a) U (b)) | G(c | Xa))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FG(b | c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | (FGb & GFc))" + }, + { + "formula": "(FGa | (GFb & GFc))" + }, + { + "formula": "(FGa | F(a & Xa))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(a & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(b & Xa))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GF(b & c))" + }, + { + "formula": "(FGa | XF(a & b))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG!a | (Ga & GFb))" + }, + { + "formula": "(GFa | (Fa & ((b) R (Fa))))" + }, + { + "formula": "(GFa | (GFb & GFc))" + }, + { + "formula": "(GFa | (FGb & FGc & FGd))" + }, + { + "formula": "(((Xa) U (b)) | X((!a) R ((!a | !b))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a & ((b) R (X!a))) | (Gc & ((b) U (Xa))))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGc & GFa))" + }, + { + "formula": "((FGa & GFb) | (FGc & GFd))" + }, + { + "formula": "((FG!a & GFb) | (FG!b & GFa))" + }, + { + "formula": "((FG!a & GFb) | (GFa & GF!b))" + }, + { + "formula": "((FG!a & GF!b) | (FGb & GFa))" + }, + { + "formula": "((FG!a & GF!b) | (GFa & GFb))" + }, + { + "formula": "(F(a & Xa) | F(!a & X!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | F(!a & X!b))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | F(c & Xd))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | FG(b | c))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(!a | (FG!a & FGb) | (GFa & GF!a))" + }, + { + "formula": "(Fa | FGb | F(b & X!a))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | GFb | (Gc & XGd))" + }, + { + "formula": "(Ga | Gb | (FGc & FG!c))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | Gb | (GFc & GF!c))" + }, + { + "formula": "(Ga | GFb | (Fa & FGb))" + }, + { + "formula": "((Fa & Fb & Fc) | (FG!d & FGe & GF!f) | (FGe & FGf & GFd))" + }, + { + "formula": "(FGa | FGb | (GFc & GFd))" + }, + { + "formula": "(FGa | FGb | FG(c | d))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | GF(a & b))" + }, + { + "formula": "((FGa & GFb) | (FGb & GFc) | (FGd & GFa))" + }, + { + "formula": "((FGa & GFb) | (FGc & GFd) | (FGe & GFf))" + }, + { + "formula": "(F(a & Xb) | F(c & Xd) | F(e & Xf))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | (a & FGb) | (c & FGd) | (FGc & GFa))" + }, + { + "formula": "((FGa & GFb) | (FGb & GFc) | (FGc & GFd) | (FGe & GFa))" + }, + { + "formula": "(Fa <-> X(Fa | Gb))" + }, + { + "formula": "(G!a <-> X(Fa | Gb))" + }, + { + "formula": "F(a & (b | ((c) R (d))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | c))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & XGb)", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & XXb)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & X((b) U (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) U ((b & c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(!a & ((a) R (X!a)))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((a | !b) & (Ga | Gb | Gc))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Fa & (Fb | Gb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(((a) U (b)) & (Fc | Ga))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((a | Fb) & (c | Fd))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((a | Gb) & (c | Gd))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((a | ((b) M (!c))) & (!a | ((!b) W (c))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((Fa | Gb) & (((b) M (c)) | ((c) M (d))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & ((c) M ((b & d))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & ((b) U ((!a & b))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & ((b) M ((b | c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & ((b) R ((b | c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((a | Gb) & (b | Ga) & (c | Gd))", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((a | Gb) & (c | Gd) & (e | Gf))", + "properties": { + "size": 32, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & Fb & ((c) R ((!b & d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | (b & c))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | Xb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | ((b) M (!a)))" + }, + { + "formula": "FG(a | ((a) R (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (b & ((c) U (d))))" + }, + { + "formula": "G(a | F(b & c))" + }, + { + "formula": "G(a | XFb)" + }, + { + "formula": "G(a | XXb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | X((b) R (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) R ((b | c))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((!a) U (Xa)))" + }, + { + "formula": "G((a & b) | (Fa & F!b & Fc))" + }, + { + "formula": "G(Ga | (Fb & Gb))" + }, + { + "formula": "G(((a) R (b)) | (Fa & Gc))" + }, + { + "formula": "G((a & Fb) | (c & Fd))" + }, + { + "formula": "G((a & Gb) | (c & Gd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((a & ((b) M (!c))) | (!a & ((!b) W (c))))" + }, + { + "formula": "G((Fa & Gb) | (((a) W (c)) & ((c) W (d))))" + }, + { + "formula": "G(a | b | ((!b) U ((!b & c))))" + }, + { + "formula": "G(a | b | ((!b) W ((!b & c))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | ((c) W ((b | d))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(!a | b | ((b) R ((a | b))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((a & Fb) | (b & Fa) | (c & Fd))" + }, + { + "formula": "G((a & Fb) | (c & Fd) | (e & Ff))" + }, + { + "formula": "G(a | b | G!b | ((c) U ((b | d))))" + }, + { + "formula": "GF(a & (b | c))" + }, + { + "formula": "GF(a & Xb)" + }, + { + "formula": "GF(a & ((a) U (b)))" + }, + { + "formula": "GF(!a & ((b) W (a)))" + }, + { + "formula": "XF(a & Gb)", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "XG(a | Fb)" + }, + { + "formula": "((a) M ((a | b | X((a) R (c)))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) R (Xa))) M (((((Ga) M (a))) U (((b) R (c))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R ((b | X((c) R (d)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R (((b) R (((c) R (((d) R (e))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Xa) R (((((Gb) R (c))) W (d))))", + "properties": { + "size": 15, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((F!a & X!b) | (Ga & Xb))) R ((Fc & Xa)))" + }, + { + "formula": "((X((((a) R (b))) U (c))) R (((a) U (c))))" + }, + { + "formula": "((((((Fa) W (a))) M (b))) R (((a) U (Xa))))" + }, + { + "formula": "((((((((a) R (b))) R (c))) R (d))) R (e))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & X((c) U (d)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (((b) U (((c) U (((d) U (e))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Xa) U (((((Fb) U (c))) M (d))))", + "properties": { + "size": 15, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((F!a | X!b) & (Ga | Xb))) U ((Gc | X!a)))", + "properties": { + "size": 15, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((X((((a) U (b))) R (c))) U (((a) R (c))))" + }, + { + "formula": "((((((((a) U (b))) U (c))) U (d))) U (e))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((((Ga) M (a))) W (b))) U (((a) R (Xa))))" + }, + { + "formula": "((a) W ((a & b & X((a) U (c)))))" + }, + { + "formula": "((((a) U (Xa))) W (((((Fa) W (a))) R (((b) U (c))))))" + }, + { + "formula": "(a & F(b & (a | Gb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (FGb | (FGa & FGc)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & G(Xb | (b & Fc)))" + }, + { + "formula": "(Fa & XF(b & Xc))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & ((a) R ((a | c))))) R (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & (Fb | F(Fb & Ga)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) R (b)) & F(a & XFc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((!a) R (!b)) & (Gc | ((Fa) W ((b & Xa)))))" + }, + { + "formula": "(FGa & G(a | XGa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & GF(a & Xa))" + }, + { + "formula": "(FG!a & (F(b & X!a) | F(!b & Xa)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GF(b & Xc))" + }, + { + "formula": "(G(a | b) & GF(c & Xb))" + }, + { + "formula": "(GFa & F(b & G(a | c)))" + }, + { + "formula": "(GFa & FG(b | Xc))" + }, + { + "formula": "(GFa & G(b | F(b & c)))" + }, + { + "formula": "(GF!a & G(a | XFb))" + }, + { + "formula": "((((a | b)) R (c)) & G(d | (((a | b)) R (c))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (GFc | (FGd & FGe)))" + }, + { + "formula": "((FG!a | FG!b | FG!c) & (GFc | (GFa & GFb)))" + }, + { + "formula": "((FG!a | FG!b | FG!c | FG!d) & (GFc | (GFa & GFb & GFd)))" + }, + { + "formula": "((FG!a | FG!b | FG!c | FG!d | FG!e) & (GFc | (GFa & GFb & GFd & GFe)))" + }, + { + "formula": "(G(a | Xb) & GF(b & Xc))" + }, + { + "formula": "(G(a | Xb) & GF(c & Xa))" + }, + { + "formula": "(G(a | Xb) & GF(c & Xb))" + }, + { + "formula": "(G(!a | Fb) & (((Xa) U (b)) | X((!a) R ((!a | !b)))))" + }, + { + "formula": "(GF(!a & b) & GF(a & Xb))" + }, + { + "formula": "(XG(a | b) & GF(c & Xb))" + }, + { + "formula": "((Fa | X(F!b & G!a)) & (G!a | X(Fa | Gb)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((a) R (b)) | (FGa & GFb) | (FGc & GFd)) & (((a) R (c)) | (FGa & GFd) | (FGc & GFb)))" + }, + { + "formula": "((FGa | XFb | GF(a & c)) & (FGd | XXe | GF(d & f)))" + }, + { + "formula": "(FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a))))" + }, + { + "formula": "(G(a | XGb) & G(c | XG!b))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | XXb) & G(c | XXd))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GF(a & Xb) & GF(c & Xd))" + }, + { + "formula": "(Ga & (GFb | GFc) & G(d | ((!d) U ((b | c)))))" + }, + { + "formula": "(FGa & GFb & FG(b | X!a))" + }, + { + "formula": "(FGa & GFb & GF(a & Xb))" + }, + { + "formula": "(GFa & GF!a & G(a | XFb))" + }, + { + "formula": "(GFa & GFb & GF(c & Xd))" + }, + { + "formula": "(G(a | XXb) & G(c | XXd) & G(e | XXf))", + "properties": { + "size": 64, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GF(a & Xb) & GF(c & Xd) & GF(e & Xf))" + }, + { + "formula": "(GFa & GFb & (FGc | GFd) & GF(d & X!c))" + }, + { + "formula": "(a | G(b | (a & Fb)))" + }, + { + "formula": "(Fa | (Gb & G(Fa | Gb)))" + }, + { + "formula": "(Ga | (GFb & (GFa | GFc)))" + }, + { + "formula": "(Ga | F(Xb & (b | Gc)))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | XG(b | Xc))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | ((!a) U ((!a & c))))) U (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) U (b)) | (Fc & ((G!a) M ((!b | X!a)))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) U (b)) | G(a | XGc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FG(b | Xc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FG(c | Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(!a & XGb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(b & G(b | c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | G(b | F(a & c)))" + }, + { + "formula": "(FGa | GF(b & Xc))" + }, + { + "formula": "(GFa | (G(b | X!a) & G(!b | Xa)))" + }, + { + "formula": "(GFa | F(a & XFa))" + }, + { + "formula": "(GFa | FG(a | Xa))" + }, + { + "formula": "((((a & b)) U (c)) | F(d & (((a & b)) U (c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGc & (GFd | GFe)))" + }, + { + "formula": "((GFa & GFb & GFc) | (FG!c & (FG!a | FG!b)))" + }, + { + "formula": "((GFa & GFb & GFc & GFd) | (FG!c & (FG!a | FG!b | FG!d)))" + }, + { + "formula": "((GFa & GFb & GFc & GFd & GFe) | (FG!c & (FG!a | FG!b | FG!d | FG!e)))" + }, + { + "formula": "(F(a & G!b) | (((X!a) R (!b)) & X((a) U ((a & b)))))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | FG(b | Xc))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | FG(c | Xa))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | FG(c | Xb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | b) | FG(!a | Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(XF(a & b) | FG(c | Xb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((Fa & X(F!b & G!a)) | (G!a & X(Fa | Gb)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) U (b)) & (FGb | GFa) & (FGc | GFd)) | (((a) U (d)) & (FGb | GFd) & (FGc | GFa)))" + }, + { + "formula": "((GFa & XGb & FG(a | c)) | (GFd & XXe & FG(d | f)))" + }, + { + "formula": "(F(a & XF!b) | F(c & XFb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & XXb) | F(c & XXd))", + "properties": { + "size": 17, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | Xb) | FG(c | Xd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a))))" + }, + { + "formula": "(Fa | (FGb & FGc) | F(!d & ((d) R ((b & c)))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FG!a | F(!a & XGb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FG(c | Xd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GFb | FG(b | Xa))" + }, + { + "formula": "(FGa | GF!b | GF(a & Xb))" + }, + { + "formula": "(F(a & XXb) | F(c & XXd) | F(e & XXf))", + "properties": { + "size": 65, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | Xb) | FG(c | Xd) | FG(e | Xf))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | (FGc & GF!d) | FG(c | Xd))" + }, + { + "formula": "F(a & (Ga | Gb | (c & Gd)))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & Gc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(a | Xb))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | Ga))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | Xb))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | Xc))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & ((!a) R ((b | ((b) R (c))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) R ((Fc & Fd))))" + }, + { + "formula": "F(a & ((b) R (((!b) R ((!b | c))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((a) W ((b & ((b) W (a))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((a) W ((b & ((c) W (a))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Fa & (Gb | F(b & c)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Fa & (!a | b | X(!a & b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(F!a & (a | XF!a))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | XXb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(Xa | ((a) W (Xa)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | Xb | XXc)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (Fa & Fb & (c | Fd)))" + }, + { + "formula": "G(a | F(a & Xb))" + }, + { + "formula": "G(a | F(b & Fa))" + }, + { + "formula": "G(a | F(b & Xb))" + }, + { + "formula": "G(a | F(b & Xc))" + }, + { + "formula": "G(a | G(b | Fc))" + }, + { + "formula": "G(a | ((a) M ((b | ((b) M (a))))))" + }, + { + "formula": "G(a | ((a) M ((b | ((c) M (a))))))" + }, + { + "formula": "G(a | ((b) U ((Gc | Gd))))" + }, + { + "formula": "G(a | ((!b) U (((b) U ((b & c))))))" + }, + { + "formula": "G(!a | ((a) U ((b & ((b) U (c))))))" + }, + { + "formula": "G(Ga | (!a & XGa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(Ga | (Fb & G(b | c)))" + }, + { + "formula": "G(G!a | (a & b & X(a | b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GF(a & XXb)" + }, + { + "formula": "GF(Xa & ((a) M (Xa)))" + }, + { + "formula": "GF(a & Xb & XXc)" + }, + { + "formula": "X((a & FGa) | (!a & GF!a))" + }, + { + "formula": "X((a & GF!a) | (!a & FGa))" + }, + { + "formula": "((a) M (((!a) M (((a) M (((!a) M (Fa))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((Ga | ((((a) M (b))) R (a))) & (F(a & b) | FGa))) M (b))" + }, + { + "formula": "((a) R (X(b | XGa)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a & Xb)) R (X((((((c) U (d))) R (a))) U (((c) R (a))))))" + }, + { + "formula": "((a) U (X(b & XFa)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a | Xb)) U (X((((((c) R (d))) U (a))) R (((c) U (a))))))" + }, + { + "formula": "((!a) W (((a) W (((!a) W (((a) W (G!a))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((Fa & ((((a) W (b))) U (a))) | (G(a | b) & GFa))) W (b))" + }, + { + "formula": "(Fa & ((b) M ((G!a & ((XXb) M (!a))))))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((b) R ((!a & (b | c | X((b) R (d)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((!a & b & X((!a) U ((!a & c))))) R ((!a & d))))" + }, + { + "formula": "(Ga & G(!b | (((!c | ((b) R (!a)))) U ((b | c)))))" + }, + { + "formula": "(Ga & GF(a & XXa))" + }, + { + "formula": "(FGa & (Ga | G(Xb | (a & Xa) | (!a & X!a))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & GF(a & XXa))" + }, + { + "formula": "((FGa | GFb) & (GFc | FG(d | Xe)))" + }, + { + "formula": "((GFa | GFb) & GF(c & XXa))" + }, + { + "formula": "(G(a | Fb) & F(b & G(a | Fb)))" + }, + { + "formula": "(((a) U (((b) R (Fc)))) & ((((a & Gb) | (!a & F!b))) R (((!b) U (G(b | G!c))))))" + }, + { + "formula": "(GF(a & Xb) & GF(c & XXa))" + }, + { + "formula": "(FG(a | XXa) & FG(!a | XX!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(F(a & b) | (Ga & XGc)) & G(F(d & e) | (Gd & XGf)))" + }, + { + "formula": "(GF(a & XXb) & GF(c & XXd))" + }, + { + "formula": "(FGa & GFb & GF(a & XXb))" + }, + { + "formula": "(GF(!a & b) & GF(a & Xb) & GF(!a & XXb))" + }, + { + "formula": "(GF(a & XXb) & GF(c & XXd) & GF(e & XXf))" + }, + { + "formula": "(a & Xb & XXc & XXXd & XXXXGe)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa | FG(a | XXa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F!a | F(b & (((c & ((!b) U (a)))) R ((!b & !c)))))" + }, + { + "formula": "(G!a | ((b) U ((a | (b & c & X((b) U (d)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((a | b | X((a) R ((a | c))))) U ((a | d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((b) W ((Fa | ((XXb) W (a))))))" + }, + { + "formula": "(FGa | FG(a | XXa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & FGb) | FG(c | XXa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGc & GF(d & Xe)))" + }, + { + "formula": "(F(a & Gb) | G(b | F(a & Gb)))" + }, + { + "formula": "(((!a) R (((!b) U (G!c)))) | ((((a & F!b) | (!a & Gb))) U (((b) R (F(!b & Fc))))))" + }, + { + "formula": "(FG(a | Xb) | FG(c | XXa))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(G(a | b) & (Fa | XFc)) | F(G(d | e) & (Fd | XFf)))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FG(a | XXb) | FG(c | XXd))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(a & XXa) | GF(!a & XX!a))" + }, + { + "formula": "(FGa | GFb | FG(b | XXa))" + }, + { + "formula": "(FG(a | b) | FG(!a | Xb) | FG(a | XXb))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | XXb) | FG(c | XXd) | FG(e | XXf))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a | Xb | XXc | XXXd | XXXXFe)", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a <-> (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))))" + }, + { + "formula": "(a <-> ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc))))))" + }, + { + "formula": "(!a <-> (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))))" + }, + { + "formula": "(!a <-> ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc))))))" + }, + { + "formula": "F(a & F(b & (a | Gc)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | XGc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | c | X((c) R (d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | Fc | (Fd & Ge)))" + }, + { + "formula": "F(a & X(b & XFc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) R (((!b) R ((b | ((c) U (b))))))))" + }, + { + "formula": "F(a & !b & (((c & ((b) R ((b | d))))) M (!b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & XFb & XG(!b | Gc))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & !b & Fb & (((c & ((b) R ((b | d))))) R (!b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | XXXb)", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG((a & Fb) | ((Fc) U ((a & Fc))))" + }, + { + "formula": "FG(((a) U (XXb)) | ((c) U (XXd)))" + }, + { + "formula": "G(a | F(b & XFc))" + }, + { + "formula": "G(a | F(b & c & X((c) U (d))))" + }, + { + "formula": "G(a | F(b & Gc & (Fd | Ge)))" + }, + { + "formula": "G(a | G(b | (a & Fc)))" + }, + { + "formula": "G(a | X(b | XGc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((!b) U (((b) U ((!b & ((c) R (!b))))))))" + }, + { + "formula": "G(a | b | (((c | ((!b) U ((!b & d))))) W (b)))" + }, + { + "formula": "G(a | XG!b | XF(b & Fc))" + }, + { + "formula": "G(((!a) M (F!b)) | (a & G(a | b) & GFb) | (!a & (F(!a & !b) | FG!b)))" + }, + { + "formula": "G(a | b | G!b | (((c | ((!b) U ((!b & d))))) U (b)))" + }, + { + "formula": "GF(a & XXXb)" + }, + { + "formula": "GF((a | Gb) & ((Gc) R ((a | Gc))))" + }, + { + "formula": "GF(((a) R (XXb)) & ((c) R (XXd)))" + }, + { + "formula": "X(a & X(b & XGc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "X(a | X(b | XFc))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) M ((a & ((b) M ((b | c | X((b) R (d))))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((!a) M (((b & XF!a) | (!b & XGa))))) M (!a))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((XXa) R ((b & (((c) R (XXd)) | ((e) R (XXf)) | ((g) R (XXh))))))", + "properties": { + "size": 314, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((XXa) U ((b | (((c) U (XXd)) & ((e) U (XXf)) & ((g) U (XXh))))))", + "properties": { + "size": 314, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W ((a | ((b) W ((b & c & X((b) U (d))))))))" + }, + { + "formula": "((((a) W (((b & XGa) | (!b & XF!a))))) W (a))" + }, + { + "formula": "(Fa & (((b & ((a) R ((a | c | X((a) R (d))))))) R (!a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & X((!a) U (c)) & X((a) R ((!c | Gd))))) R (!a)))" + }, + { + "formula": "((FGa | GFb | GFc) & G(b | d | G(a | XFc)))" + }, + { + "formula": "((!a | GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a)))) & (a | (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a))))))" + }, + { + "formula": "((a | ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc)))))) & (!a | ((((b | F!a) & (!b | Ga))) R (((!a) U (G(a | G!c)))))))" + }, + { + "formula": "((FGa | GF(b & XXa)) & FG(c | X(b & Xa)))" + }, + { + "formula": "(FG(a | XXXa) & FG(!a | XXX!a))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & FG(b | Xc) & GF(d & XXXe))" + }, + { + "formula": "(GF(!a & b) & GF(a & Xb) & GF(!a & XXb) & GF(a & XXXb))" + }, + { + "formula": "(G!a | (((b | ((!a) U ((!a & c & X((!a) U (d))))))) U (a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | X((a) R (!c)) | X((!a) U ((c & Fd))))) U (a)))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF!a | (F!a & F(Xb & ((a & X!a) | (!a & Xa)))))" + }, + { + "formula": "((FGa & FGb & GFc) | F(a & d & F(c & XGb)))" + }, + { + "formula": "((a & FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))) | (!a & (GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a))))))" + }, + { + "formula": "((a & ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc)))))) | (!a & ((((b | F!a) & (!b | Ga))) R (((!a) U (G(a | G!c)))))))" + }, + { + "formula": "((GFa & FG(b | XXa)) | GF(c & X(b | Xa)))" + }, + { + "formula": "(GF(a & XXXa) | GF(!a & XXX!a))" + }, + { + "formula": "(FGa | GF(b & Xc) | FG(d | XXXe))" + }, + { + "formula": "(FG(a | b) | FG(!a | Xb) | FG(a | XXb) | FG(!a | XXXb))", + "properties": { + "size": 15, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & (c | XGd)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & (c | d | X((d) R (e)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) M ((c & (b | d | X((b) R (e)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((!a) R ((b | ((b) R ((c | ((c) R (d)))))))))", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) R (((!b) R (((b) R (((!b) R ((!b | c))))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(((a) W (Gb)) & ((!a & G(a | b) & GFb) | (a & (F(!a & !b) | FG!b))))" + }, + { + "formula": "F(a & Fb & ((c) R ((!b & (c | d | X((c) R (e)))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((!b & c & X((!b) U ((!b & d))))) R ((!b & e))))" + }, + { + "formula": "F(a & F!b & ((b) R ((c & (b | d | X((b) R (e)))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & XFc) & (((b & d & X((d) U ((c & d))))) R ((d & e))))" + }, + { + "formula": "F(a & F(b & XFc) & (((b & Gd & XF(c & d))) R ((d & e))))" + }, + { + "formula": "F(a & b & !c & Xc & X(Xb & ((c) R (((!c) R ((b & d)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | (c & XFd)))" + }, + { + "formula": "G(a | G(b | (c & d & X((d) U (e)))))" + }, + { + "formula": "G(a | ((!b) U (((b) U (((!b) U (((b) U ((b & c))))))))))" + }, + { + "formula": "G(a | ((b) W ((c | (b & d & X((b) U (e)))))))" + }, + { + "formula": "G(!a | ((a) U ((b & ((b) U ((c & ((c) U (d)))))))))" + }, + { + "formula": "G(a | Gb | ((!b) U ((c | (!b & d & X((!b) U (e)))))))" + }, + { + "formula": "G(a | G!b | ((c) U ((b | (c & d & X((c) U (e)))))))" + }, + { + "formula": "G(a | G!b | (((b | c | X((b) R ((b | d))))) U ((b | e))))" + }, + { + "formula": "G(a | G(b | XGc) | (((b | d | X((d) R ((c | d))))) U ((d | e))))" + }, + { + "formula": "G(a | G(b | XGc) | (((b | Fd | XG(c | d))) U ((d | e))))" + }, + { + "formula": "G(a | b | c | X!c | X(Xb | ((!c) U (((c) U ((b | d)))))))" + }, + { + "formula": "((a) M ((!a | (((b) R (c)) & F(b & XFd)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M ((!a | ((b) M (((!b) M (((b) M (((!b) M (Fb)))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((!a) M (((!b & GFa & G(b | Xa)) | (b & (FG!a | F(!b & X!a))))))" + }, + { + "formula": "((a) R ((!b | !c | ((Gb) M (((c | d) & (!d | ((!c) R ((a | !c))))))))))" + }, + { + "formula": "((a) U ((b & c & ((F!b) W (((!c & !d) | (d & ((c) U ((a & c))))))))))" + }, + { + "formula": "((a) W (((b & GFa & G(b | Xa)) | (!b & (FG!a | F(!b & X!a))))))" + }, + { + "formula": "((!a) W ((a & (((b) U (c)) | G(b | XGd)))))" + }, + { + "formula": "((!a) W ((a & ((!b) W (((b) W (((!b) W (((b) W (G!b)))))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & ((a) R ((a | c | d | X(((a | d)) R (e))))))) R (!a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa | GF(b & XXc)) & (GFc | FG(d | X(b & Xa))))" + }, + { + "formula": "(FG(a | XXXXa) & FG(!a | XXXX!a))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | ((!a) U ((!a & c & d & X(((!a & d)) U (e))))))) U (a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((GFa & FG(b | XXc)) | (FGc & GF(d & X(b | Xa))))" + }, + { + "formula": "(GF(a & XXXXa) | GF(!a & XXXX!a))" + }, + { + "formula": "(a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))" + }, + { + "formula": "(!a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))" + }, + { + "formula": "F(a & F(b & XFc & XG(!c | Gd)))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & ((!a) R (((b) R ((!a | ((!a) R ((c | ((c) R (!a)))))))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((c & ((b) R ((b | d | X((b) R (e))))))) R (!b)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((c & X((!b) U (d)) & X((b) R ((!d | Ge))))) R (!b)))" + }, + { + "formula": "F(!a & Xa & X(Xb & ((!a) R (((a) R (((!a) R ((b & c)))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & !c & Xc & X(Xb & ((!c) R (((c) R (((!c) R ((b & d)))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | XG!c | XF(c & Fd)))" + }, + { + "formula": "G(!a | ((a) U (((b) U ((a & ((a) U ((c & ((c) U (a)))))))))))" + }, + { + "formula": "G(a | G!b | (((c | ((!b) U ((!b & d & X((!b) U (e))))))) U (b)))" + }, + { + "formula": "G(a | G!b | (((c | X((b) R (!d)) | X((!b) U ((d & Fe))))) U (b)))" + }, + { + "formula": "G(a | X!a | X(Xb | ((a) U (((!a) U (((a) U ((b | c)))))))))" + }, + { + "formula": "G(a | b | c | X!c | X(Xb | ((c) U (((!c) U (((c) U ((b | d)))))))))" + }, + { + "formula": "((!a | GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a))))))) & (a | (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a)))))))))" + }, + { + "formula": "((a & FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))) | (!a & (GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a)))))))))" + }, + { + "formula": "F(a & (((b & ((c) R ((c | d | X((c) R (e))))))) R ((!c & F(b & (d | XGe))))))" + }, + { + "formula": "F(a & (((b & (((c | X((d) R (e)))) W (d)))) R ((!d & F(b & (c | XGe))))))" + }, + { + "formula": "F(a & (((b & ((c) R ((c | d | e | X(((c | e)) R (f))))))) R ((!c & F(b & (d | e | X((e) R (f))))))))" + }, + { + "formula": "F(a & (((b & (((c | d | X(((d | e)) R (f)))) W (e)))) R ((!e & F(b & (c | d | X((d) R (f))))))))" + }, + { + "formula": "F(a & Fb & (((c & ((b) R ((b | d | e | X(((b | e)) R (f))))))) R (!b)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (((b | (((c & X((!d) U (e)))) M (!d)))) U ((d | G(b | (c & XFe))))))" + }, + { + "formula": "G(a | (((b | ((!c) U ((!c & d & X((!c) U (e))))))) U ((c | G(b | (d & XFe))))))" + }, + { + "formula": "G(a | (((b | (((c & d & X(((d & !e)) U (f)))) M (!e)))) U ((e | G(b | (c & d & X((d) U (f))))))))" + }, + { + "formula": "G(a | (((b | ((!c) U ((!c & d & e & X(((!c & e)) U (f))))))) U ((c | G(b | (d & e & X((e) U (f))))))))" + }, + { + "formula": "G(a | G!b | (((c | ((!b) U ((!b & d & e & X(((!b & e)) U (f))))))) U (b)))" + }, + { + "formula": "(Fa & (((a | b)) R ((!a & (((a | !b)) R ((!a & (((a | b)) R ((!a & (((a | !b)) R ((!a & ((b) R (!a)))))))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((!a & !b)) U ((a | (((!a & b)) U ((a | (((!a & !b)) U ((a | (((!a & b)) U ((a | ((!b) U (a)))))))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & (((b & X((!c) U (d)) & X((c) R ((!d | Ge))))) R ((!c & F(b & X((!c) U (d)) & X((c) R ((!d | Ge))))))))" + }, + { + "formula": "G(a | (((b | X((c) R (!d)) | X((!c) U ((d & Fe))))) U ((c | G(b | X((c) R (!d)) | X((!c) U ((d & Fe))))))))" + }, + { + "formula": "XX(G(!a | X(b & ((Fa) U (c))) | X(!b & ((G!a) R (!c)))) & G(a | X((b | ((Fa) U (c))) & (!b | ((G!a) R (!c))))))" + }, + { + "formula": "XX(F(a & X(b | ((Fa) U (c))) & X(!b | ((G!a) R (!c)))) | F(!a & X((b & ((Fa) U (c))) | (!b & ((G!a) R (!c))))))", + "properties": { + "size": 14, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & (((b | c)) R ((!c & (((!b | c)) R ((!c & (((b | c)) R ((!c & (((!b | c)) R ((!c & F!b & ((b) M (!c)))))))))))))))" + }, + { + "formula": "F((!a | Xa) & X((!a) R ((!a | b | X(!a | !b | ((!a) R ((!a | b | X(!a | !b)))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((!a | Xa) & X(((b | X(!b | (((b | X(!a | !b))) W (!a))))) W (!a)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((b | c)) R ((!b & (((b | !c)) R ((!b & (((b | c)) R ((!b & (((b | !c)) R ((!b & ((c) R (!b)))))))))))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (((!b & !c)) U ((c | (((b & !c)) U ((c | (((!b & !c)) U ((c | (((b & !c)) U ((c | Gb | ((!b) W (c)))))))))))))))" + }, + { + "formula": "G((a & X!a) | X(((!b & X(b & (((!b & X(a & b))) M (a))))) M (a)))" + }, + { + "formula": "G((a & X!a) | X((a) U ((a & !b & X(a & b & ((a) U ((a & !b & X(a & b)))))))))" + }, + { + "formula": "G(a | G!b | (((!b & !c)) U ((b | (((!b & c)) U ((b | (((!b & !c)) U ((b | (((!b & c)) U ((b | ((!c) U (b)))))))))))))))" + }, + { + "formula": "((a) R ((b | X(c | G(d | XG(e | XG(f | XGg)))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & X(c & F(d & XF(e & XF(f & XFg)))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "CoBuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + } +] \ No newline at end of file diff --git a/data/formulas/sizes/dgra.normalform.json b/data/formulas/sizes/dgra.normalform.json index 750f6c1d..0940727f 100644 --- a/data/formulas/sizes/dgra.normalform.json +++ b/data/formulas/sizes/dgra.normalform.json @@ -904,7 +904,7 @@ { "formula": "(Ga & GFb)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -926,7 +926,7 @@ { "formula": "((a | Gb) & GFa)", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -992,7 +992,7 @@ { "formula": "(G(a | b) & GFb)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1003,7 +1003,7 @@ { "formula": "(G(a | b) & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1014,7 +1014,7 @@ { "formula": "(GFa & GF!a)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1025,7 +1025,7 @@ { "formula": "(GFa & GFb)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1036,7 +1036,7 @@ { "formula": "(GFa & XGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1047,7 +1047,7 @@ { "formula": "(Ga & Gb & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1058,7 +1058,7 @@ { "formula": "(Ga & G(b | c) & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1069,7 +1069,7 @@ { "formula": "(Ga & GFb & GFc)", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1113,7 +1113,7 @@ { "formula": "(FGa & GFb & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1124,7 +1124,7 @@ { "formula": "(G(a | b) & GFb & GFc)", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1135,7 +1135,7 @@ { "formula": "(GFa & GFb & GFc)", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1157,7 +1157,7 @@ { "formula": "(Fa & Fb & GFc & GFd)", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1168,7 +1168,7 @@ { "formula": "(Ga & GFb & GFc & GFd)", "properties": { - "size": 3, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1201,7 +1201,7 @@ { "formula": "(FGa & GFb & GFc & GFd)", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1212,7 +1212,7 @@ { "formula": "(GFa & GFb & GFc & GFd)", "properties": { - "size": 1, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1234,7 +1234,7 @@ { "formula": "(FGa & GFb & GFc & GFd & GFe)", "properties": { - "size": 1, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1245,7 +1245,7 @@ { "formula": "(GFa & GFb & GFc & GFd & GFe)", "properties": { - "size": 1, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1256,7 +1256,7 @@ { "formula": "(Fa & Fb & Fc & GFd & GFe & GFf)", "properties": { - "size": 10, + "size": 14, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1267,7 +1267,7 @@ { "formula": "(FGa & GFb & GFc & GFd & GFe & GFf)", "properties": { - "size": 1, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1278,7 +1278,7 @@ { "formula": "(GFa & GFb & GFc & GFd & GFe & GFf & GFg & GFh & GFi)", "properties": { - "size": 1, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1344,7 +1344,7 @@ { "formula": "(Fa | FGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1487,7 +1487,7 @@ { "formula": "((a & Fb) | FGa)", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1520,7 +1520,7 @@ { "formula": "(F(a & b) | FGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1531,7 +1531,7 @@ { "formula": "(F(a & b) | FGc)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1542,7 +1542,7 @@ { "formula": "(FGa | FG!a)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1553,7 +1553,7 @@ { "formula": "(FGa | FGb)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1586,7 +1586,7 @@ { "formula": "(FGa | XFb)", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1619,7 +1619,7 @@ { "formula": "(Fa | Fb | FGc)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1630,7 +1630,7 @@ { "formula": "(Fa | F(b & c) | FGc)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1641,7 +1641,7 @@ { "formula": "(Fa | FGb | FGc)", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1663,7 +1663,7 @@ { "formula": "(F(a & b) | FGb | FGc)", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1674,7 +1674,7 @@ { "formula": "(FGa | FGb | FGc)", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1685,7 +1685,7 @@ { "formula": "(FGa | FGb | GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1729,7 +1729,7 @@ { "formula": "(Fa | FGb | FGc | FGd)", "properties": { - "size": 4, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1740,7 +1740,7 @@ { "formula": "(Ga | Gb | FGc | FGd)", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1762,7 +1762,7 @@ { "formula": "(FGa | FGb | FGc | FGd)", "properties": { - "size": 1, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1773,7 +1773,7 @@ { "formula": "(FGa | FGb | FGc | GFd)", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1795,7 +1795,7 @@ { "formula": "(FGa | FGb | FGc | FGd | FGe)", "properties": { - "size": 1, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1806,7 +1806,7 @@ { "formula": "(FGa | FGb | FGc | FGd | GFe)", "properties": { - "size": 1, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1828,7 +1828,7 @@ { "formula": "(Ga | Gb | Gc | FGd | FGe | FGf)", "properties": { - "size": 10, + "size": 14, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1839,7 +1839,7 @@ { "formula": "(FGa | FGb | FGc | FGd | FGe | GFf)", "properties": { - "size": 1, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1850,7 +1850,7 @@ { "formula": "(FGa | FGb | FGc | FGd | FGe | FGf | FGg | FGh | FGi)", "properties": { - "size": 1, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2752,7 +2752,7 @@ { "formula": "(FGa & (FGb | FGc))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2774,7 +2774,7 @@ { "formula": "(G(a | b) & GF(b & c))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2807,7 +2807,7 @@ { "formula": "(GFa & (FGb | GFc))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2851,7 +2851,7 @@ { "formula": "(GFa & G(b | Xa))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2862,7 +2862,7 @@ { "formula": "(GFa & XG(a | b))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2917,7 +2917,7 @@ { "formula": "((FGa | GFb) & (FGc | GFa))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2928,7 +2928,7 @@ { "formula": "((FGa | GFb) & (FGc | GFd))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2939,7 +2939,7 @@ { "formula": "((FG!a | GFb) & (FG!b | GFa))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2950,7 +2950,7 @@ { "formula": "((FG!a | GF!b) & (FGb | GFa))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3071,7 +3071,7 @@ { "formula": "((Ga | Gb | Gc) & (FG!d | GFe | GF!f) & (FGf | GFd | GFe))", "properties": { - "size": 24, + "size": 28, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3093,7 +3093,7 @@ { "formula": "(FGa & GFb & (FGc | GFd))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3104,7 +3104,7 @@ { "formula": "(GFa & GFb & (FGc | FGd))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3115,7 +3115,7 @@ { "formula": "(GFa & GFb & FG(a | b))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3126,7 +3126,7 @@ { "formula": "(GFa & GFb & GF(c & d))", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3137,7 +3137,7 @@ { "formula": "((FGa | GFb) & (FGc | GFa) & (FGd | GFc))", "properties": { - "size": 1, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3148,7 +3148,7 @@ { "formula": "((FGa | GFb) & (FGc | GFd) & (FGe | GFf))", "properties": { - "size": 1, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3181,7 +3181,7 @@ { "formula": "(GF(a & b) & GF(c & d) & GF(e & f))", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3192,7 +3192,7 @@ { "formula": "(FGa & FGb & GFb & GF(a & b))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3203,7 +3203,7 @@ { "formula": "(GFa & (a | GFb) & (c | GFd) & (FGa | GFc))", "properties": { - "size": 13, + "size": 98, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3214,7 +3214,7 @@ { "formula": "((FGa | GFb) & (FGc | GFa) & (FGd | GFc) & (FGe | GFd))", "properties": { - "size": 1, + "size": 324, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3225,7 +3225,7 @@ { "formula": "(G(a | Fb) & G(c | Fd) & G(e | Ff) & G(g | Fh))", "properties": { - "size": 33, + "size": 66, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3379,7 +3379,7 @@ { "formula": "(F(a & b) | FG(b | c))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3401,7 +3401,7 @@ { "formula": "(FGa | (GFb & GFc))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3434,7 +3434,7 @@ { "formula": "(FGa | F(b & Xa))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3456,7 +3456,7 @@ { "formula": "(FGa | XF(a & b))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3467,7 +3467,7 @@ { "formula": "(FG!a | (Ga & GFb))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3489,7 +3489,7 @@ { "formula": "(GFa | (GFb & GFc))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3566,7 +3566,7 @@ { "formula": "((FG!a & GFb) | (GFa & GF!b))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3588,7 +3588,7 @@ { "formula": "((FG!a & GF!b) | (GFa & GFb))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3643,7 +3643,7 @@ { "formula": "(!a | (FG!a & FGb) | (GFa & GF!a))", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3720,7 +3720,7 @@ { "formula": "(FGa | FGb | (GFc & GFd))", "properties": { - "size": 1, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3731,7 +3731,7 @@ { "formula": "(FGa | FGb | FG(c | d))", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3742,7 +3742,7 @@ { "formula": "(FGa | FGb | GF(a & b))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3808,7 +3808,7 @@ { "formula": "(FG(a | b) | FG(c | d) | FG(e | f))", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3830,7 +3830,7 @@ { "formula": "(FGa | GFa | GFb | FG(a | b))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3841,7 +3841,7 @@ { "formula": "(FGa | (a & FGb) | (c & FGd) | (FGc & GFa))", "properties": { - "size": 9, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3863,7 +3863,7 @@ { "formula": "(F(a & Gb) | F(c & Gd) | F(e & Gf) | F(g & Gh))", "properties": { - "size": 33, + "size": 66, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4006,7 +4006,7 @@ { "formula": "F((a | !b) & (Ga | Gb | Gc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4050,7 +4050,7 @@ { "formula": "F((a | Gb) & (c | Gd))", "properties": { - "size": 9, + "size": 10, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4160,7 +4160,7 @@ { "formula": "F((a | Gb) & (b | Ga) & (c | Gd))", "properties": { - "size": 20, + "size": 19, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4171,7 +4171,7 @@ { "formula": "F((a | Gb) & (c | Gd) & (e | Gf))", "properties": { - "size": 73, + "size": 80, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4369,7 +4369,7 @@ { "formula": "G((a & b) | (Fa & F!b & Fc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4402,7 +4402,7 @@ { "formula": "G((a & Fb) | (c & Fd))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4512,7 +4512,7 @@ { "formula": "G((a & Fb) | (b & Fa) | (c & Fd))", "properties": { - "size": 19, + "size": 18, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4523,7 +4523,7 @@ { "formula": "G((a & Fb) | (c & Fd) | (e & Ff))", "properties": { - "size": 72, + "size": 79, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4853,7 +4853,7 @@ { "formula": "((X((((a) U (b))) R (c))) U (((a) R (c))))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4908,7 +4908,7 @@ { "formula": "(a & F(b & (a | Gb)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4919,7 +4919,7 @@ { "formula": "(Fa & (FGb | (FGa & FGc)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4930,7 +4930,7 @@ { "formula": "(Fa & G(Xb | (b & Fc)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5040,7 +5040,7 @@ { "formula": "(G(a | b) & GF(b & Xc))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5051,7 +5051,7 @@ { "formula": "(G(a | b) & GF(c & Xb))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5084,7 +5084,7 @@ { "formula": "(GFa & G(b | F(b & c)))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5095,7 +5095,7 @@ { "formula": "(GF!a & G(a | XFb))", "properties": { - "size": 3, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5117,7 +5117,7 @@ { "formula": "((FGa | GFb) & (GFc | (FGd & FGe)))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5128,7 +5128,7 @@ { "formula": "((FGa | GFb) & (FGc | GFd | (FGe & GFf)))", "properties": { - "size": 1, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5139,7 +5139,7 @@ { "formula": "((FG!a | FG!b | FG!c) & (GFc | (GFa & GFb)))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5150,7 +5150,7 @@ { "formula": "((FG!a | FG!b | FG!c | FG!d) & (GFc | (GFa & GFb & GFd)))", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5161,7 +5161,7 @@ { "formula": "((FG!a | FG!b | FG!c | FG!d | FG!e) & (GFc | (GFa & GFb & GFd & GFe)))", "properties": { - "size": 1, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5172,7 +5172,7 @@ { "formula": "(G(a | Xb) & GF(b & Xc))", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5194,7 +5194,7 @@ { "formula": "(G(a | Xb) & GF(c & Xb))", "properties": { - "size": 4, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5216,7 +5216,7 @@ { "formula": "(GF(!a & b) & GF(a & Xb))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5249,7 +5249,7 @@ { "formula": "((((a) R (b)) | (FGa & GFb) | (FGc & GFd)) & (((a) R (c)) | (FGa & GFd) | (FGc & GFb)))", "properties": { - "size": 7, + "size": 14, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5260,7 +5260,7 @@ { "formula": "((FGa | XFb | GF(a & c)) & (FGd | XXe | GF(d & f)))", "properties": { - "size": 10, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5315,7 +5315,7 @@ { "formula": "(Ga & (GFb | GFc) & G(d | ((!d) U ((b | c)))))", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5337,7 +5337,7 @@ { "formula": "(FGa & GFb & GF(a & Xb))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5348,7 +5348,7 @@ { "formula": "(GFa & GF!a & G(a | XFb))", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5359,7 +5359,7 @@ { "formula": "(GFa & GFb & GF(c & Xd))", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5392,7 +5392,7 @@ { "formula": "(GFa & GFb & (FGc | GFd) & GF(d & X!c))", "properties": { - "size": 2, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5425,7 +5425,7 @@ { "formula": "(a | G(b | (a & Fb)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5447,7 +5447,7 @@ { "formula": "(Ga | (GFb & (GFa | GFc)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5458,7 +5458,7 @@ { "formula": "(Ga | F(Xb & (b | Gc)))", "properties": { - "size": 11, + "size": 12, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5524,7 +5524,7 @@ { "formula": "(F(a & b) | FG(b | Xc))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5535,7 +5535,7 @@ { "formula": "(F(a & b) | FG(c | Xb))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5546,7 +5546,7 @@ { "formula": "(FGa | F(!a & XGb))", "properties": { - "size": 3, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5557,7 +5557,7 @@ { "formula": "(FGa | F(b & G(b | c)))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5645,7 +5645,7 @@ { "formula": "((FGa & GFb) | (FGc & GFd & (FGe | GFf)))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5656,7 +5656,7 @@ { "formula": "((GFa & GFb & GFc) | (FG!c & (FG!a | FG!b)))", "properties": { - "size": 2, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5667,7 +5667,7 @@ { "formula": "((GFa & GFb & GFc & GFd) | (FG!c & (FG!a | FG!b | FG!d)))", "properties": { - "size": 3, + "size": 21, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5678,7 +5678,7 @@ { "formula": "((GFa & GFb & GFc & GFd & GFe) | (FG!c & (FG!a | FG!b | FG!d | FG!e)))", "properties": { - "size": 4, + "size": 56, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5700,7 +5700,7 @@ { "formula": "(F(a & Xb) | FG(b | Xc))", "properties": { - "size": 6, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5722,7 +5722,7 @@ { "formula": "(F(a & Xb) | FG(c | Xb))", "properties": { - "size": 5, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5733,7 +5733,7 @@ { "formula": "(FG(a | b) | FG(!a | Xb))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5766,7 +5766,7 @@ { "formula": "((((a) U (b)) & (FGb | GFa) & (FGc | GFd)) | (((a) U (d)) & (FGb | GFd) & (FGc | GFa)))", "properties": { - "size": 11, + "size": 13, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5832,7 +5832,7 @@ { "formula": "(Fa | (FGb & FGc) | F(!d & ((d) R ((b & c)))))", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5843,7 +5843,7 @@ { "formula": "(FGa | FG!a | F(!a & XGb))", "properties": { - "size": 4, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5854,7 +5854,7 @@ { "formula": "(FGa | FGb | FG(c | Xd))", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5909,7 +5909,7 @@ { "formula": "(FGa | FGb | (FGc & GF!d) | FG(c | Xd))", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5942,7 +5942,7 @@ { "formula": "F(a & (Ga | Gb | (c & Gd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6129,7 +6129,7 @@ { "formula": "F((a | XXb) & (b | XXc) & (c | XGd))", "properties": { - "size": 60, + "size": 63, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6173,7 +6173,7 @@ { "formula": "G(a | (Fa & Fb & (c | Fd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6261,7 +6261,7 @@ { "formula": "G(a | ((b) U ((Gc | Gd))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6360,7 +6360,7 @@ { "formula": "G((a & XXb) | (b & XXc) | (c & XFd))", "properties": { - "size": 59, + "size": 62, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6481,7 +6481,7 @@ { "formula": "(((a & Xb)) R (X((((((c) U (d))) R (a))) U (((c) R (a))))))", "properties": { - "size": 7, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6602,7 +6602,7 @@ { "formula": "(GFa & GF(a & XXa))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6613,7 +6613,7 @@ { "formula": "((FGa | GFb) & (GFc | FG(d | Xe)))", "properties": { - "size": 3, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6624,7 +6624,7 @@ { "formula": "((FGa | GFb) & ((FGc & GFd) | (FGe & GFf & (FGg | GFh))))", "properties": { - "size": 1, + "size": 14, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6635,7 +6635,7 @@ { "formula": "((GFa | GFb) & GF(c & XXa))", "properties": { - "size": 5, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6657,7 +6657,7 @@ { "formula": "(((a) U (((b) R (Fc)))) & ((((a & Gb) | (!a & F!b))) R (((!b) U (G(b | G!c))))))", "properties": { - "size": 40, + "size": 29, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6690,7 +6690,7 @@ { "formula": "(G(F(a & b) | (Ga & XGc)) & G(F(d & e) | (Gd & XGf)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6712,7 +6712,7 @@ { "formula": "(FGa & GFb & GF(a & XXb))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6723,7 +6723,7 @@ { "formula": "(GF(!a & b) & GF(a & Xb) & GF(!a & XXb))", "properties": { - "size": 6, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6822,7 +6822,7 @@ { "formula": "((FGa & FGb) | FG(c | XXa))", "properties": { - "size": 5, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6844,7 +6844,7 @@ { "formula": "((FGa & GFb) | ((FGc | GFd) & (FGe | GFf | (FGg & GFh))))", "properties": { - "size": 1, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6866,7 +6866,7 @@ { "formula": "(((!a) R (((!b) U (G!c)))) | ((((a & F!b) | (!a & Gb))) U (((b) R (F(!b & Fc))))))", "properties": { - "size": 44, + "size": 36, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6888,7 +6888,7 @@ { "formula": "(F(G(a | b) & (Fa | XFc)) | F(G(d | e) & (Fd | XFf)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6932,7 +6932,7 @@ { "formula": "(FG(a | b) | FG(!a | Xb) | FG(a | XXb))", "properties": { - "size": 6, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6998,7 +6998,7 @@ { "formula": "(!a <-> ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc))))))", "properties": { - "size": 31, + "size": 49, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7042,7 +7042,7 @@ { "formula": "F(a & G(b | Fc | (Fd & Ge)))", "properties": { - "size": 7, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7141,7 +7141,7 @@ { "formula": "FG((a & Fb) | ((Fc) U ((a & Fc))))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7152,7 +7152,7 @@ { "formula": "FG(((a) U (XXb)) | ((c) U (XXd)))", "properties": { - "size": 72, + "size": 144, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7185,7 +7185,7 @@ { "formula": "G(a | F(b & Gc & (Fd | Ge)))", "properties": { - "size": 6, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7460,7 +7460,7 @@ { "formula": "((a | ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc)))))) & (!a | ((((b | F!a) & (!b | Ga))) R (((!a) U (G(a | G!c)))))))", "properties": { - "size": 43, + "size": 49, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7493,7 +7493,7 @@ { "formula": "(GFa & FG(b | Xc) & GF(d & XXXe))", "properties": { - "size": 16, + "size": 18, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7504,7 +7504,7 @@ { "formula": "(GF(!a & b) & GF(a & Xb) & GF(!a & XXb) & GF(a & XXXb))", "properties": { - "size": 14, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7603,7 +7603,7 @@ { "formula": "(FGa | GF(b & Xc) | FG(d | XXXe))", "properties": { - "size": 16, + "size": 18, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7614,7 +7614,7 @@ { "formula": "(FG(a | b) | FG(!a | Xb) | FG(a | XXb) | FG(!a | XXXb))", "properties": { - "size": 14, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7669,7 +7669,7 @@ { "formula": "F(a & ((!a) R ((b | ((b) R ((c | ((c) R (d)))))))))", "properties": { - "size": 14, + "size": 10, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7680,7 +7680,7 @@ { "formula": "F(a & ((b) R (((!b) R (((b) R (((!b) R ((!b | c))))))))))", "properties": { - "size": 8, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7691,7 +7691,7 @@ { "formula": "F(((a) W (Gb)) & ((!a & G(a | b) & GFb) | (a & (F(!a & !b) | FG!b))))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7801,7 +7801,7 @@ { "formula": "G(a | ((!b) U (((b) U (((!b) U (((b) U ((b & c))))))))))", "properties": { - "size": 7, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7823,7 +7823,7 @@ { "formula": "G(!a | ((a) U ((b & ((b) U ((c & ((c) U (d)))))))))", "properties": { - "size": 13, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7889,7 +7889,7 @@ { "formula": "G(a | G(b | XGc) | (((b | Fd | XG(c | d))) U ((d | e))))", "properties": { - "size": 39, + "size": 22, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7933,7 +7933,7 @@ { "formula": "((!a) M (((!b & GFa & G(b | Xa)) | (b & (FG!a | F(!b & X!a))))))", "properties": { - "size": 7, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7966,7 +7966,7 @@ { "formula": "((a) W (((b & GFa & G(b | Xa)) | (!b & (FG!a | F(!b & X!a))))))", "properties": { - "size": 14, + "size": 19, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8010,7 +8010,7 @@ { "formula": "((FGa | GF(b & XXc)) & (GFc | FG(d | X(b & Xa))))", "properties": { - "size": 18, + "size": 54, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8065,7 +8065,7 @@ { "formula": "(a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8076,7 +8076,7 @@ { "formula": "(!a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8098,7 +8098,7 @@ { "formula": "F(a & ((!a) R (((b) R ((!a | ((!a) R ((c | ((c) R (!a)))))))))))", "properties": { - "size": 10, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8131,7 +8131,7 @@ { "formula": "F(!a & Xa & X(Xb & ((!a) R (((a) R (((!a) R ((b & c)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8142,7 +8142,7 @@ { "formula": "F(a & b & !c & Xc & X(Xb & ((!c) R (((c) R (((!c) R ((b & d)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8164,7 +8164,7 @@ { "formula": "G(!a | ((a) U (((b) U ((a & ((a) U ((c & ((c) U (a)))))))))))", "properties": { - "size": 9, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8186,7 +8186,7 @@ { "formula": "G(a | G!b | (((c | X((b) R (!d)) | X((!b) U ((d & Fe))))) U (b)))", "properties": { - "size": 14, + "size": 23, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8197,7 +8197,7 @@ { "formula": "G(a | X!a | X(Xb | ((a) U (((!a) U (((a) U ((b | c)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8208,7 +8208,7 @@ { "formula": "G(a | b | c | X!c | X(Xb | ((c) U (((!c) U (((c) U ((b | d)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8219,7 +8219,7 @@ { "formula": "((!a | GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a))))))) & (a | (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a)))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8230,7 +8230,7 @@ { "formula": "((a & FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))) | (!a & (GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a)))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8241,7 +8241,7 @@ { "formula": "F(a & (((b & ((c) R ((c | d | X((c) R (e))))))) R ((!c & F(b & (d | XGe))))))", "properties": { - "size": 25, + "size": 38, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8252,7 +8252,7 @@ { "formula": "F(a & (((b & (((c | X((d) R (e)))) W (d)))) R ((!d & F(b & (c | XGe))))))", "properties": { - "size": 25, + "size": 38, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8263,7 +8263,7 @@ { "formula": "F(a & (((b & ((c) R ((c | d | e | X(((c | e)) R (f))))))) R ((!c & F(b & (d | e | X((e) R (f))))))))", "properties": { - "size": 66, + "size": 60, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8274,7 +8274,7 @@ { "formula": "F(a & (((b & (((c | d | X(((d | e)) R (f)))) W (e)))) R ((!e & F(b & (c | d | X((d) R (f))))))))", "properties": { - "size": 66, + "size": 60, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8307,7 +8307,7 @@ { "formula": "G(a | (((b | (((c & X((!d) U (e)))) M (!d)))) U ((d | G(b | (c & XFe))))))", "properties": { - "size": 40, + "size": 331, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8318,7 +8318,7 @@ { "formula": "G(a | (((b | ((!c) U ((!c & d & X((!c) U (e))))))) U ((c | G(b | (d & XFe))))))", "properties": { - "size": 40, + "size": 332, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8329,7 +8329,7 @@ { "formula": "G(a | (((b | (((c & d & X(((d & !e)) U (f)))) M (!e)))) U ((e | G(b | (c & d & X((d) U (f))))))))", "properties": { - "size": 59, + "size": 435, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8340,7 +8340,7 @@ { "formula": "G(a | (((b | ((!c) U ((!c & d & e & X(((!c & e)) U (f))))))) U ((c | G(b | (d & e & X((e) U (f))))))))", "properties": { - "size": 59, + "size": 446, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8406,7 +8406,7 @@ { "formula": "G(a | (((b | X((c) R (!d)) | X((!c) U ((d & Fe))))) U ((c | G(b | X((c) R (!d)) | X((!c) U ((d & Fe))))))))", "properties": { - "size": 139, + "size": 474, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8428,7 +8428,7 @@ { "formula": "XX(F(a & X(b | ((Fa) U (c))) & X(!b | ((G!a) R (!c)))) | F(!a & X((b & ((Fa) U (c))) | (!b & ((G!a) R (!c))))))", "properties": { - "size": 19, + "size": 20, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8439,7 +8439,7 @@ { "formula": "F(a & (((b | c)) R ((!c & (((!b | c)) R ((!c & (((b | c)) R ((!c & (((!b | c)) R ((!c & F!b & ((b) M (!c)))))))))))))))", "properties": { - "size": 8, + "size": 10, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8505,7 +8505,7 @@ { "formula": "G(a | (((!b & !c)) U ((c | (((b & !c)) U ((c | (((!b & !c)) U ((c | (((b & !c)) U ((c | Gb | ((!b) W (c)))))))))))))))", "properties": { - "size": 939, + "size": 29, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, diff --git a/data/formulas/sizes/dgra.normalform.portfolio.json b/data/formulas/sizes/dgra.normalform.portfolio.json index 4df38e45..1e51b29c 100644 --- a/data/formulas/sizes/dgra.normalform.portfolio.json +++ b/data/formulas/sizes/dgra.normalform.portfolio.json @@ -904,7 +904,7 @@ { "formula": "(Ga & GFb)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -926,7 +926,7 @@ { "formula": "((a | Gb) & GFa)", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -992,7 +992,7 @@ { "formula": "(G(a | b) & GFb)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1003,7 +1003,7 @@ { "formula": "(G(a | b) & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1036,7 +1036,7 @@ { "formula": "(GFa & XGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1047,7 +1047,7 @@ { "formula": "(Ga & Gb & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1058,7 +1058,7 @@ { "formula": "(Ga & G(b | c) & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1069,7 +1069,7 @@ { "formula": "(Ga & GFb & GFc)", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1113,7 +1113,7 @@ { "formula": "(FGa & GFb & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1124,7 +1124,7 @@ { "formula": "(G(a | b) & GFb & GFc)", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1157,7 +1157,7 @@ { "formula": "(Fa & Fb & GFc & GFd)", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1168,7 +1168,7 @@ { "formula": "(Ga & GFb & GFc & GFd)", "properties": { - "size": 3, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1201,7 +1201,7 @@ { "formula": "(FGa & GFb & GFc & GFd)", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1234,7 +1234,7 @@ { "formula": "(FGa & GFb & GFc & GFd & GFe)", "properties": { - "size": 1, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1256,7 +1256,7 @@ { "formula": "(Fa & Fb & Fc & GFd & GFe & GFf)", "properties": { - "size": 10, + "size": 14, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1267,7 +1267,7 @@ { "formula": "(FGa & GFb & GFc & GFd & GFe & GFf)", "properties": { - "size": 1, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1344,7 +1344,7 @@ { "formula": "(Fa | FGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1487,7 +1487,7 @@ { "formula": "((a & Fb) | FGa)", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1520,7 +1520,7 @@ { "formula": "(F(a & b) | FGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1531,7 +1531,7 @@ { "formula": "(F(a & b) | FGc)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1586,7 +1586,7 @@ { "formula": "(FGa | XFb)", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1619,7 +1619,7 @@ { "formula": "(Fa | Fb | FGc)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1630,7 +1630,7 @@ { "formula": "(Fa | F(b & c) | FGc)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1641,7 +1641,7 @@ { "formula": "(Fa | FGb | FGc)", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1663,7 +1663,7 @@ { "formula": "(F(a & b) | FGb | FGc)", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1685,7 +1685,7 @@ { "formula": "(FGa | FGb | GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1729,7 +1729,7 @@ { "formula": "(Fa | FGb | FGc | FGd)", "properties": { - "size": 4, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1740,7 +1740,7 @@ { "formula": "(Ga | Gb | FGc | FGd)", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1773,7 +1773,7 @@ { "formula": "(FGa | FGb | FGc | GFd)", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1806,7 +1806,7 @@ { "formula": "(FGa | FGb | FGc | FGd | GFe)", "properties": { - "size": 1, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1828,7 +1828,7 @@ { "formula": "(Ga | Gb | Gc | FGd | FGe | FGf)", "properties": { - "size": 10, + "size": 14, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1839,7 +1839,7 @@ { "formula": "(FGa | FGb | FGc | FGd | FGe | GFf)", "properties": { - "size": 1, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2752,7 +2752,7 @@ { "formula": "(FGa & (FGb | FGc))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2774,7 +2774,7 @@ { "formula": "(G(a | b) & GF(b & c))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2807,7 +2807,7 @@ { "formula": "(GFa & (FGb | GFc))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2851,7 +2851,7 @@ { "formula": "(GFa & G(b | Xa))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2862,7 +2862,7 @@ { "formula": "(GFa & XG(a | b))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2917,7 +2917,7 @@ { "formula": "((FGa | GFb) & (FGc | GFa))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2928,7 +2928,7 @@ { "formula": "((FGa | GFb) & (FGc | GFd))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2939,7 +2939,7 @@ { "formula": "((FG!a | GFb) & (FG!b | GFa))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2950,7 +2950,7 @@ { "formula": "((FG!a | GF!b) & (FGb | GFa))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3071,7 +3071,7 @@ { "formula": "((Ga | Gb | Gc) & (FG!d | GFe | GF!f) & (FGf | GFd | GFe))", "properties": { - "size": 24, + "size": 28, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3093,7 +3093,7 @@ { "formula": "(FGa & GFb & (FGc | GFd))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3104,7 +3104,7 @@ { "formula": "(GFa & GFb & (FGc | FGd))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3115,7 +3115,7 @@ { "formula": "(GFa & GFb & FG(a | b))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3137,7 +3137,7 @@ { "formula": "((FGa | GFb) & (FGc | GFa) & (FGd | GFc))", "properties": { - "size": 1, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3148,7 +3148,7 @@ { "formula": "((FGa | GFb) & (FGc | GFd) & (FGe | GFf))", "properties": { - "size": 1, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3192,7 +3192,7 @@ { "formula": "(FGa & FGb & GFb & GF(a & b))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3203,7 +3203,7 @@ { "formula": "(GFa & (a | GFb) & (c | GFd) & (FGa | GFc))", "properties": { - "size": 13, + "size": 98, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3214,7 +3214,7 @@ { "formula": "((FGa | GFb) & (FGc | GFa) & (FGd | GFc) & (FGe | GFd))", "properties": { - "size": 1, + "size": 324, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3225,7 +3225,7 @@ { "formula": "(G(a | Fb) & G(c | Fd) & G(e | Ff) & G(g | Fh))", "properties": { - "size": 33, + "size": 66, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3379,7 +3379,7 @@ { "formula": "(F(a & b) | FG(b | c))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3401,7 +3401,7 @@ { "formula": "(FGa | (GFb & GFc))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3434,7 +3434,7 @@ { "formula": "(FGa | F(b & Xa))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3456,7 +3456,7 @@ { "formula": "(FGa | XF(a & b))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3467,7 +3467,7 @@ { "formula": "(FG!a | (Ga & GFb))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3489,7 +3489,7 @@ { "formula": "(GFa | (GFb & GFc))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3566,7 +3566,7 @@ { "formula": "((FG!a & GFb) | (GFa & GF!b))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3588,7 +3588,7 @@ { "formula": "((FG!a & GF!b) | (GFa & GFb))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3643,7 +3643,7 @@ { "formula": "(!a | (FG!a & FGb) | (GFa & GF!a))", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3720,7 +3720,7 @@ { "formula": "(FGa | FGb | (GFc & GFd))", "properties": { - "size": 1, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3742,7 +3742,7 @@ { "formula": "(FGa | FGb | GF(a & b))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3830,7 +3830,7 @@ { "formula": "(FGa | GFa | GFb | FG(a | b))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3841,7 +3841,7 @@ { "formula": "(FGa | (a & FGb) | (c & FGd) | (FGc & GFa))", "properties": { - "size": 9, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3863,7 +3863,7 @@ { "formula": "(F(a & Gb) | F(c & Gd) | F(e & Gf) | F(g & Gh))", "properties": { - "size": 33, + "size": 66, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4006,7 +4006,7 @@ { "formula": "F((a | !b) & (Ga | Gb | Gc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4050,7 +4050,7 @@ { "formula": "F((a | Gb) & (c | Gd))", "properties": { - "size": 9, + "size": 10, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4160,7 +4160,7 @@ { "formula": "F((a | Gb) & (b | Ga) & (c | Gd))", "properties": { - "size": 20, + "size": 19, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4171,7 +4171,7 @@ { "formula": "F((a | Gb) & (c | Gd) & (e | Gf))", "properties": { - "size": 73, + "size": 80, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4369,7 +4369,7 @@ { "formula": "G((a & b) | (Fa & F!b & Fc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4402,7 +4402,7 @@ { "formula": "G((a & Fb) | (c & Fd))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4512,7 +4512,7 @@ { "formula": "G((a & Fb) | (b & Fa) | (c & Fd))", "properties": { - "size": 19, + "size": 18, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4523,7 +4523,7 @@ { "formula": "G((a & Fb) | (c & Fd) | (e & Ff))", "properties": { - "size": 72, + "size": 79, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4853,7 +4853,7 @@ { "formula": "((X((((a) U (b))) R (c))) U (((a) R (c))))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4908,7 +4908,7 @@ { "formula": "(a & F(b & (a | Gb)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4919,7 +4919,7 @@ { "formula": "(Fa & (FGb | (FGa & FGc)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4930,7 +4930,7 @@ { "formula": "(Fa & G(Xb | (b & Fc)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5040,7 +5040,7 @@ { "formula": "(G(a | b) & GF(b & Xc))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5051,7 +5051,7 @@ { "formula": "(G(a | b) & GF(c & Xb))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5084,7 +5084,7 @@ { "formula": "(GFa & G(b | F(b & c)))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5095,7 +5095,7 @@ { "formula": "(GF!a & G(a | XFb))", "properties": { - "size": 3, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5117,7 +5117,7 @@ { "formula": "((FGa | GFb) & (GFc | (FGd & FGe)))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5128,7 +5128,7 @@ { "formula": "((FGa | GFb) & (FGc | GFd | (FGe & GFf)))", "properties": { - "size": 1, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5139,7 +5139,7 @@ { "formula": "((FG!a | FG!b | FG!c) & (GFc | (GFa & GFb)))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5150,7 +5150,7 @@ { "formula": "((FG!a | FG!b | FG!c | FG!d) & (GFc | (GFa & GFb & GFd)))", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5161,7 +5161,7 @@ { "formula": "((FG!a | FG!b | FG!c | FG!d | FG!e) & (GFc | (GFa & GFb & GFd & GFe)))", "properties": { - "size": 1, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5172,7 +5172,7 @@ { "formula": "(G(a | Xb) & GF(b & Xc))", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5194,7 +5194,7 @@ { "formula": "(G(a | Xb) & GF(c & Xb))", "properties": { - "size": 4, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5249,7 +5249,7 @@ { "formula": "((((a) R (b)) | (FGa & GFb) | (FGc & GFd)) & (((a) R (c)) | (FGa & GFd) | (FGc & GFb)))", "properties": { - "size": 7, + "size": 14, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5260,7 +5260,7 @@ { "formula": "((FGa | XFb | GF(a & c)) & (FGd | XXe | GF(d & f)))", "properties": { - "size": 10, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5315,7 +5315,7 @@ { "formula": "(Ga & (GFb | GFc) & G(d | ((!d) U ((b | c)))))", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5337,7 +5337,7 @@ { "formula": "(FGa & GFb & GF(a & Xb))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5348,7 +5348,7 @@ { "formula": "(GFa & GF!a & G(a | XFb))", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5392,7 +5392,7 @@ { "formula": "(GFa & GFb & (FGc | GFd) & GF(d & X!c))", "properties": { - "size": 2, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5425,7 +5425,7 @@ { "formula": "(a | G(b | (a & Fb)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5447,7 +5447,7 @@ { "formula": "(Ga | (GFb & (GFa | GFc)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5458,7 +5458,7 @@ { "formula": "(Ga | F(Xb & (b | Gc)))", "properties": { - "size": 11, + "size": 12, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5524,7 +5524,7 @@ { "formula": "(F(a & b) | FG(b | Xc))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5535,7 +5535,7 @@ { "formula": "(F(a & b) | FG(c | Xb))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5546,7 +5546,7 @@ { "formula": "(FGa | F(!a & XGb))", "properties": { - "size": 3, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5557,7 +5557,7 @@ { "formula": "(FGa | F(b & G(b | c)))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5645,7 +5645,7 @@ { "formula": "((FGa & GFb) | (FGc & GFd & (FGe | GFf)))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5656,7 +5656,7 @@ { "formula": "((GFa & GFb & GFc) | (FG!c & (FG!a | FG!b)))", "properties": { - "size": 2, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5667,7 +5667,7 @@ { "formula": "((GFa & GFb & GFc & GFd) | (FG!c & (FG!a | FG!b | FG!d)))", "properties": { - "size": 3, + "size": 21, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5678,7 +5678,7 @@ { "formula": "((GFa & GFb & GFc & GFd & GFe) | (FG!c & (FG!a | FG!b | FG!d | FG!e)))", "properties": { - "size": 4, + "size": 56, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5700,7 +5700,7 @@ { "formula": "(F(a & Xb) | FG(b | Xc))", "properties": { - "size": 6, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5722,7 +5722,7 @@ { "formula": "(F(a & Xb) | FG(c | Xb))", "properties": { - "size": 5, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5766,7 +5766,7 @@ { "formula": "((((a) U (b)) & (FGb | GFa) & (FGc | GFd)) | (((a) U (d)) & (FGb | GFd) & (FGc | GFa)))", "properties": { - "size": 11, + "size": 13, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5832,7 +5832,7 @@ { "formula": "(Fa | (FGb & FGc) | F(!d & ((d) R ((b & c)))))", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5843,7 +5843,7 @@ { "formula": "(FGa | FG!a | F(!a & XGb))", "properties": { - "size": 4, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5909,7 +5909,7 @@ { "formula": "(FGa | FGb | (FGc & GF!d) | FG(c | Xd))", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5942,7 +5942,7 @@ { "formula": "F(a & (Ga | Gb | (c & Gd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6129,7 +6129,7 @@ { "formula": "F((a | XXb) & (b | XXc) & (c | XGd))", "properties": { - "size": 60, + "size": 63, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6173,7 +6173,7 @@ { "formula": "G(a | (Fa & Fb & (c | Fd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6261,7 +6261,7 @@ { "formula": "G(a | ((b) U ((Gc | Gd))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6360,7 +6360,7 @@ { "formula": "G((a & XXb) | (b & XXc) | (c & XFd))", "properties": { - "size": 59, + "size": 62, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6481,7 +6481,7 @@ { "formula": "(((a & Xb)) R (X((((((c) U (d))) R (a))) U (((c) R (a))))))", "properties": { - "size": 7, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6613,7 +6613,7 @@ { "formula": "((FGa | GFb) & (GFc | FG(d | Xe)))", "properties": { - "size": 3, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6624,7 +6624,7 @@ { "formula": "((FGa | GFb) & ((FGc & GFd) | (FGe & GFf & (FGg | GFh))))", "properties": { - "size": 1, + "size": 14, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6635,7 +6635,7 @@ { "formula": "((GFa | GFb) & GF(c & XXa))", "properties": { - "size": 5, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6657,7 +6657,7 @@ { "formula": "(((a) U (((b) R (Fc)))) & ((((a & Gb) | (!a & F!b))) R (((!b) U (G(b | G!c))))))", "properties": { - "size": 40, + "size": 29, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6690,7 +6690,7 @@ { "formula": "(G(F(a & b) | (Ga & XGc)) & G(F(d & e) | (Gd & XGf)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6712,7 +6712,7 @@ { "formula": "(FGa & GFb & GF(a & XXb))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6822,7 +6822,7 @@ { "formula": "((FGa & FGb) | FG(c | XXa))", "properties": { - "size": 5, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6844,7 +6844,7 @@ { "formula": "((FGa & GFb) | ((FGc | GFd) & (FGe | GFf | (FGg & GFh))))", "properties": { - "size": 1, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6866,7 +6866,7 @@ { "formula": "(((!a) R (((!b) U (G!c)))) | ((((a & F!b) | (!a & Gb))) U (((b) R (F(!b & Fc))))))", "properties": { - "size": 44, + "size": 36, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6888,7 +6888,7 @@ { "formula": "(F(G(a | b) & (Fa | XFc)) | F(G(d | e) & (Fd | XFf)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6998,7 +6998,7 @@ { "formula": "(!a <-> ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc))))))", "properties": { - "size": 31, + "size": 49, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7042,7 +7042,7 @@ { "formula": "F(a & G(b | Fc | (Fd & Ge)))", "properties": { - "size": 7, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7141,7 +7141,7 @@ { "formula": "FG((a & Fb) | ((Fc) U ((a & Fc))))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7152,7 +7152,7 @@ { "formula": "FG(((a) U (XXb)) | ((c) U (XXd)))", "properties": { - "size": 72, + "size": 144, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7185,7 +7185,7 @@ { "formula": "G(a | F(b & Gc & (Fd | Ge)))", "properties": { - "size": 6, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7460,7 +7460,7 @@ { "formula": "((a | ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc)))))) & (!a | ((((b | F!a) & (!b | Ga))) R (((!a) U (G(a | G!c)))))))", "properties": { - "size": 43, + "size": 49, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7493,7 +7493,7 @@ { "formula": "(GFa & FG(b | Xc) & GF(d & XXXe))", "properties": { - "size": 16, + "size": 18, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7603,7 +7603,7 @@ { "formula": "(FGa | GF(b & Xc) | FG(d | XXXe))", "properties": { - "size": 16, + "size": 18, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7669,7 +7669,7 @@ { "formula": "F(a & ((!a) R ((b | ((b) R ((c | ((c) R (d)))))))))", "properties": { - "size": 14, + "size": 10, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7680,7 +7680,7 @@ { "formula": "F(a & ((b) R (((!b) R (((b) R (((!b) R ((!b | c))))))))))", "properties": { - "size": 8, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7691,7 +7691,7 @@ { "formula": "F(((a) W (Gb)) & ((!a & G(a | b) & GFb) | (a & (F(!a & !b) | FG!b))))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7801,7 +7801,7 @@ { "formula": "G(a | ((!b) U (((b) U (((!b) U (((b) U ((b & c))))))))))", "properties": { - "size": 7, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7823,7 +7823,7 @@ { "formula": "G(!a | ((a) U ((b & ((b) U ((c & ((c) U (d)))))))))", "properties": { - "size": 13, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7889,7 +7889,7 @@ { "formula": "G(a | G(b | XGc) | (((b | Fd | XG(c | d))) U ((d | e))))", "properties": { - "size": 39, + "size": 22, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7933,7 +7933,7 @@ { "formula": "((!a) M (((!b & GFa & G(b | Xa)) | (b & (FG!a | F(!b & X!a))))))", "properties": { - "size": 7, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7966,7 +7966,7 @@ { "formula": "((a) W (((b & GFa & G(b | Xa)) | (!b & (FG!a | F(!b & X!a))))))", "properties": { - "size": 14, + "size": 19, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8010,7 +8010,7 @@ { "formula": "((FGa | GF(b & XXc)) & (GFc | FG(d | X(b & Xa))))", "properties": { - "size": 18, + "size": 54, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8065,7 +8065,7 @@ { "formula": "(a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8076,7 +8076,7 @@ { "formula": "(!a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8098,7 +8098,7 @@ { "formula": "F(a & ((!a) R (((b) R ((!a | ((!a) R ((c | ((c) R (!a)))))))))))", "properties": { - "size": 10, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8131,7 +8131,7 @@ { "formula": "F(!a & Xa & X(Xb & ((!a) R (((a) R (((!a) R ((b & c)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8142,7 +8142,7 @@ { "formula": "F(a & b & !c & Xc & X(Xb & ((!c) R (((c) R (((!c) R ((b & d)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8164,7 +8164,7 @@ { "formula": "G(!a | ((a) U (((b) U ((a & ((a) U ((c & ((c) U (a)))))))))))", "properties": { - "size": 9, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8186,7 +8186,7 @@ { "formula": "G(a | G!b | (((c | X((b) R (!d)) | X((!b) U ((d & Fe))))) U (b)))", "properties": { - "size": 14, + "size": 23, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8197,7 +8197,7 @@ { "formula": "G(a | X!a | X(Xb | ((a) U (((!a) U (((a) U ((b | c)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8208,7 +8208,7 @@ { "formula": "G(a | b | c | X!c | X(Xb | ((c) U (((!c) U (((c) U ((b | d)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8219,7 +8219,7 @@ { "formula": "((!a | GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a))))))) & (a | (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a)))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8230,7 +8230,7 @@ { "formula": "((a & FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))) | (!a & (GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a)))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8241,7 +8241,7 @@ { "formula": "F(a & (((b & ((c) R ((c | d | X((c) R (e))))))) R ((!c & F(b & (d | XGe))))))", "properties": { - "size": 25, + "size": 38, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8252,7 +8252,7 @@ { "formula": "F(a & (((b & (((c | X((d) R (e)))) W (d)))) R ((!d & F(b & (c | XGe))))))", "properties": { - "size": 25, + "size": 38, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8263,7 +8263,7 @@ { "formula": "F(a & (((b & ((c) R ((c | d | e | X(((c | e)) R (f))))))) R ((!c & F(b & (d | e | X((e) R (f))))))))", "properties": { - "size": 66, + "size": 60, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8274,7 +8274,7 @@ { "formula": "F(a & (((b & (((c | d | X(((d | e)) R (f)))) W (e)))) R ((!e & F(b & (c | d | X((d) R (f))))))))", "properties": { - "size": 66, + "size": 60, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8307,7 +8307,7 @@ { "formula": "G(a | (((b | (((c & X((!d) U (e)))) M (!d)))) U ((d | G(b | (c & XFe))))))", "properties": { - "size": 40, + "size": 331, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8318,7 +8318,7 @@ { "formula": "G(a | (((b | ((!c) U ((!c & d & X((!c) U (e))))))) U ((c | G(b | (d & XFe))))))", "properties": { - "size": 40, + "size": 332, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8329,7 +8329,7 @@ { "formula": "G(a | (((b | (((c & d & X(((d & !e)) U (f)))) M (!e)))) U ((e | G(b | (c & d & X((d) U (f))))))))", "properties": { - "size": 59, + "size": 435, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8340,7 +8340,7 @@ { "formula": "G(a | (((b | ((!c) U ((!c & d & e & X(((!c & e)) U (f))))))) U ((c | G(b | (d & e & X((e) U (f))))))))", "properties": { - "size": 59, + "size": 446, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8406,7 +8406,7 @@ { "formula": "G(a | (((b | X((c) R (!d)) | X((!c) U ((d & Fe))))) U ((c | G(b | X((c) R (!d)) | X((!c) U ((d & Fe))))))))", "properties": { - "size": 139, + "size": 474, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8428,7 +8428,7 @@ { "formula": "XX(F(a & X(b | ((Fa) U (c))) & X(!b | ((G!a) R (!c)))) | F(!a & X((b & ((Fa) U (c))) | (!b & ((G!a) R (!c))))))", "properties": { - "size": 19, + "size": 20, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8439,7 +8439,7 @@ { "formula": "F(a & (((b | c)) R ((!c & (((!b | c)) R ((!c & (((b | c)) R ((!c & (((!b | c)) R ((!c & F!b & ((b) M (!c)))))))))))))))", "properties": { - "size": 8, + "size": 10, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8505,7 +8505,7 @@ { "formula": "G(a | (((!b & !c)) U ((c | (((b & !c)) U ((c | (((!b & !c)) U ((c | (((b & !c)) U ((c | Gb | ((!b) W (c)))))))))))))))", "properties": { - "size": 939, + "size": 29, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, diff --git a/data/formulas/sizes/dgra.symmetric.portfolio.json b/data/formulas/sizes/dgra.symmetric.portfolio.json index d262419c..2657b7cf 100644 --- a/data/formulas/sizes/dgra.symmetric.portfolio.json +++ b/data/formulas/sizes/dgra.symmetric.portfolio.json @@ -4006,7 +4006,7 @@ { "formula": "F((a | !b) & (Ga | Gb | Gc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "GeneralizedRabinAcceptance", "acceptanceSets": 1, @@ -4050,7 +4050,7 @@ { "formula": "F((a | Gb) & (c | Gd))", "properties": { - "size": 9, + "size": 10, "initialStatesSize": 1, "acceptanceName": "GeneralizedRabinAcceptance", "acceptanceSets": 1, @@ -4160,7 +4160,7 @@ { "formula": "F((a | Gb) & (b | Ga) & (c | Gd))", "properties": { - "size": 20, + "size": 19, "initialStatesSize": 1, "acceptanceName": "GeneralizedRabinAcceptance", "acceptanceSets": 1, @@ -4171,7 +4171,7 @@ { "formula": "F((a | Gb) & (c | Gd) & (e | Gf))", "properties": { - "size": 73, + "size": 80, "initialStatesSize": 1, "acceptanceName": "GeneralizedRabinAcceptance", "acceptanceSets": 1, @@ -4369,7 +4369,7 @@ { "formula": "G((a & b) | (Fa & F!b & Fc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -4402,7 +4402,7 @@ { "formula": "G((a & Fb) | (c & Fd))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -4512,7 +4512,7 @@ { "formula": "G((a & Fb) | (b & Fa) | (c & Fd))", "properties": { - "size": 19, + "size": 18, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -4523,7 +4523,7 @@ { "formula": "G((a & Fb) | (c & Fd) | (e & Ff))", "properties": { - "size": 72, + "size": 79, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -5942,7 +5942,7 @@ { "formula": "F(a & (Ga | Gb | (c & Gd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "GeneralizedRabinAcceptance", "acceptanceSets": 1, @@ -6129,7 +6129,7 @@ { "formula": "F((a | XXb) & (b | XXc) & (c | XGd))", "properties": { - "size": 60, + "size": 63, "initialStatesSize": 1, "acceptanceName": "GeneralizedRabinAcceptance", "acceptanceSets": 1, @@ -6173,7 +6173,7 @@ { "formula": "G(a | (Fa & Fb & (c | Fd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -6360,7 +6360,7 @@ { "formula": "G((a & XXb) | (b & XXc) | (c & XFd))", "properties": { - "size": 59, + "size": 62, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -7669,7 +7669,7 @@ { "formula": "F(a & ((!a) R ((b | ((b) R ((c | ((c) R (d)))))))))", "properties": { - "size": 14, + "size": 10, "initialStatesSize": 1, "acceptanceName": "GeneralizedRabinAcceptance", "acceptanceSets": 1, @@ -7680,7 +7680,7 @@ { "formula": "F(a & ((b) R (((!b) R (((b) R (((!b) R ((!b | c))))))))))", "properties": { - "size": 8, + "size": 6, "initialStatesSize": 1, "acceptanceName": "GeneralizedRabinAcceptance", "acceptanceSets": 1, @@ -7801,7 +7801,7 @@ { "formula": "G(a | ((!b) U (((b) U (((!b) U (((b) U ((b & c))))))))))", "properties": { - "size": 7, + "size": 5, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -7823,7 +7823,7 @@ { "formula": "G(!a | ((a) U ((b & ((b) U ((c & ((c) U (d)))))))))", "properties": { - "size": 13, + "size": 9, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -8098,7 +8098,7 @@ { "formula": "F(a & ((!a) R (((b) R ((!a | ((!a) R ((c | ((c) R (!a)))))))))))", "properties": { - "size": 10, + "size": 8, "initialStatesSize": 1, "acceptanceName": "GeneralizedRabinAcceptance", "acceptanceSets": 1, @@ -8131,7 +8131,7 @@ { "formula": "F(!a & Xa & X(Xb & ((!a) R (((a) R (((!a) R ((b & c)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "GeneralizedRabinAcceptance", "acceptanceSets": 1, @@ -8142,7 +8142,7 @@ { "formula": "F(a & b & !c & Xc & X(Xb & ((!c) R (((c) R (((!c) R ((b & d)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "GeneralizedRabinAcceptance", "acceptanceSets": 1, @@ -8164,7 +8164,7 @@ { "formula": "G(!a | ((a) U (((b) U ((a & ((a) U ((c & ((c) U (a)))))))))))", "properties": { - "size": 9, + "size": 7, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -8197,7 +8197,7 @@ { "formula": "G(a | X!a | X(Xb | ((a) U (((!a) U (((a) U ((b | c)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -8208,7 +8208,7 @@ { "formula": "G(a | b | c | X!c | X(Xb | ((c) U (((!c) U (((c) U ((b | d)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, diff --git a/data/formulas/sizes/dpa.asymmetric.optimizations.minimal.json b/data/formulas/sizes/dpa.asymmetric.optimizations.minimal.json new file mode 100644 index 00000000..6731ed6b --- /dev/null +++ b/data/formulas/sizes/dpa.asymmetric.optimizations.minimal.json @@ -0,0 +1,6580 @@ +[ + { + "formula": "false", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 0, + "complete": false, + "deterministic": true + } + }, + { + "formula": "true", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "a", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a | b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a <-> b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "Fa", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "Ga", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "Xa", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & F!a)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & ((b) R (a)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a & Fa)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a | b) & (!a | !b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a | !b) & (!a | b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a <-> b) & G!b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & F!a)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & Fb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & Gb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & Xb)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((b) R (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & Gb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & Xb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) M (b)) & ((c) U (d)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a | ((b) U (a)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a | Ga)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a & b) | (!a & !b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a & !b) | (!a & b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a <-> b) | Fb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | Fb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | Gb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | Xb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | G!a)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | Gb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | Xb)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((b) U (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) R (b)) | ((c) W (d)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a <-> Ga)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a <-> Ga)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FGa", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | b)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GFa", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "X(a & b)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "X(a | b)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "XFa", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XGa", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M ((a | b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R ((a | b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R (((b) R (c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Ga) R (Fb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((a) R (b))) R (c))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((a & b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (((b) U (c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa) U (Gb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((a) U (b))) U (c))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W ((a & b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & FGa)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (a | Gb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & FGa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & GFb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & XF!a)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & ((((a) R (b))) M (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((b) R ((!a & c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F!a & XFa)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga & F(b & c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & G(b | c))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a & ((a & b) | (!a & !b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a | Gb) & GFa)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa | Gb) & (Fb | Gc))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((Fa | G!b) & (Fb | G!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & GF!a)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & GFb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & XGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & Gb & GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & G(b | c) & GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & GFb & GFc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa | Gb) & (Fb | Gc) & (Fc | Gd))", + "properties": { + "size": 18, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb & FGc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb & GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb & GFc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GFb & GFc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & GFb & GFc)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(((a) R (((b) R (c)))) & ((b) R (((c) R (a)))) & ((c) R (((a) R (b)))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & Fb & GFc & GFd)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga & GFb & GFc & GFd)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa | Gb) & (Fb | Gc) & (Fc | Gd) & (Fd | Ge))", + "properties": { + "size": 42, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb & FGc & FGd)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb & GFc & GFd)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & GFb & GFc & GFd)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb & FGc & FGd & FGe)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb & GFc & GFd & GFe)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & GFb & GFc & GFd & GFe)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & Fb & Fc & GFd & GFe & GFf)", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a | GFa)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | ((a | b) & (!a | !b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | F(b & c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | FGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | G(b | c))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | XF!a)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F!a | XFa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | (a & Fb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | FGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | GFa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | XG!a)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | XGa)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((b) U ((a | c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((((!a) U (b))) W (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a & Fb) | FGa)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((Fa & Gb) | (Fc & Ga))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa & G!b) | (Fb & G!a))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FGc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FG!a)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GFa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | XFb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(((a) U (Ga)) | ((b) U (Gb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa | Fb | FGc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | F(b & c) | FGc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | FGb | FGc)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((Fa & Gb) | (Fc & Ga) | (Fd & Gc))", + "properties": { + "size": 17, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FGb | FGc)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FGc)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | GFc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GFb | GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | GFb | GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(((a) U (((b) U (c)))) | ((b) U (((c) U (a)))) | ((c) U (((a) U (b)))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa | FGb | FGc | FGd)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | Gb | FGc | FGd)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((Fa & Gb) | (Fc & Ga) | (Fd & Gc) | (Fe & Gd))", + "properties": { + "size": 41, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FGc | FGd)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FGc | GFd)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | GFb | GFc | GFd)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FGc | FGd | FGe)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FGc | FGd | GFe)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | GFb | GFc | GFd | GFe)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | Gb | Gc | FGd | FGe | FGf)", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F!a <-> (!a <-> Ga))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga <-> (!a <-> Ga))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & Fb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Gb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Xb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) M (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((!a) R (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) R (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) U (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) W (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Ga & ((b) M (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Ga & ((b) R (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Ga & ((b) U (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Ga & ((b) W (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & ((c) M (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & ((c) R (!b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Gb & Gc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & Fb & ((c) R (!b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | b)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | Fb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | Gb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | Xb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) M (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) R (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) U (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) W (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(!a | ((a) U (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(Fa | ((b) M (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(Fa | ((b) R (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(Fa | ((b) U (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(Fa | ((b) W (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | b | ((c) W (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | Fb | Fc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | ((c) U (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | G!b | ((c) U (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GF(a & b)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XF(a & b)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XG(a | b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "XXFa", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XXGa", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) R (Fb))) M (a))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R ((b | Fc)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) R ((b | Ga)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R (((b) R (((c) R (d))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((Ga & Xb)) R (b))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((((a) R (b))) R (c))) R (d))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & Fa)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & Gc)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (((b) U (((c) U (d))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((Fa | Xb)) U (b))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((!a) U (G!a))) U ((a | G!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((((a) U (b))) U (c))) U (d))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) U (Gb))) W (a))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & F(a & ((b) M (!a))))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 0, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a & ((b) M ((!a & ((b) M (a))))))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 0, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (a | GFb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & (FGb | GFa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & G(!a | Gb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & G(!a | ((b) M (c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((Gb) M ((b | Xb))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((((a) R ((a | b)))) R (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & F(b & Xc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Xa & (Ga | ((b) M (Xa))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(X!a & (b | Fc | ((((d) R (!b))) U (Xa))))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) R (b)) & F(c & Xa))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & (Ga | ((b) U (Ga))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & (FGb | FGc))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & (GFb | GFc | GFd))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GF(b & c))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & (FGb | GFc))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & FG(b | c))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & G(a | Xa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & G(a | Xb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & G(b | Xa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & XG(a | b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((X!a) R (!b)) & X((a) U ((a & b))))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 0, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((!a | ((b) U (Xa))) & (Fc | ((b) R (X!a))))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa | FG!b) & (FG!a | GFb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (FG!b | GF!a))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (FGc | GFa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (FGc | GFd))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 5, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FG!a | GFb) & (FG!b | GFa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | Xa) & G(!a | X!a))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & G(!a | X!b))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & G(c | Xd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & GF(b & c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & (FGa | FG!a) & (GFa | GFb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & Fb & (FGc | FG!c))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & Fb & (GFc | GF!c))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & FGb & (Ga | GFb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga & FGb & (Fc | XFd))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a & GFb & G(b | Xa))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb & GF(a & b))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & GFb & GF(c & d))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (FGc | GFa) & (FGd | GFc))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 5, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (FGc | GFd) & (FGe | GFf))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 7, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & G(c | Xd) & G(e | Xf))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb & GFb & GF(a & b))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & (a | GFb) & (c | GFd) & (FGa | GFc))", + "properties": { + "size": 39, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (FGc | GFa) & (FGd | GFc) & (FGe | GFd))", + "properties": { + "size": 32, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a | ((b) W ((a | ((b) W (!a))))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(!a | G(!a | ((b) W (a))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | G(b | Xc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | (a & FGb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | (FGa & GFb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | ((Fb) W ((b & Xb))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | F(a & Fb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | F(a & ((b) W (c))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | ((((!a) U ((!a & b)))) U (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Xa | (Fa & ((b) W (Xa))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Xa | (!b & Gc & ((((d) U (b))) R (X!a))))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) U (b)) | G(c | Xa))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FG(b | c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | (FGb & GFc))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 5, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(a & Xa))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(a & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(b & Xa))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GF(b & c))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | XF(a & b))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | (Fa & ((b) R (Fa))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | (GFb & GFc))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | (FGb & FGc & FGd))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(((Xa) U (b)) | X((!a) R ((!a | !b))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a & ((b) R (X!a))) | (Gc & ((b) U (Xa))))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGb & GFc))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 5, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FG!b & GF!a))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGc & GFd))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FG!a & GFb) | (FG!b & GFa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FG!a & GFb) | (GFa & GF!b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xa) | F(!a & X!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | F(!a & X!b))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | F(c & Xd))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | FG(b | c))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(!a | (FG!a & FGb) | (GFa & GF!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | FGb | F(b & X!a))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | GFb | (Gc & XGd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | Gb | (FGc & FG!c))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | Gb | (GFc & GF!c))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | GFb | (Fa & FGb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FG(c | d))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | GFb | FG(a | b))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGb & GFc) | (FGc & GFd))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGc & GFd) | (FGe & GFf))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 8, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | F(c & Xd) | F(e & Xf))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GFa | GFb | FG(a | b))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | (a & FGb) | (c & FGd) | (FGc & GFa))", + "properties": { + "size": 39, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 5, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGb & GFc) | (FGc & GFd) | (FGd & GFe))", + "properties": { + "size": 31, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 7, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa <-> X(Fa | Gb))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a <-> X(Fa | Gb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & (b | ((c) R (d))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & XGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & XXb)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & X((b) U (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) U ((b & c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(!a & ((a) R (X!a)))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((a | !b) & (Ga | Gb | Gc))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Fa & (Fb | Gb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(((a) U (b)) & (Fc | Ga))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((Fa | Gb) & (((b) M (c)) | ((c) M (d))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & ((c) M ((b & d))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & ((b) U ((!a & b))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & ((b) M ((b | c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & ((b) R ((b | c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((a | Gb) & (b | Ga) & (c | Gd))", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & Fb & ((c) R ((!b & d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | (b & c))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | Xb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | ((b) M (!a)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | ((a) R (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (b & ((c) U (d))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | XFb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | XXb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | X((b) R (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) R ((b | c))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((!a) U (Xa)))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G((a & b) | (Fa & F!b & Fc))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(Ga | (Fb & Gb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(((a) R (b)) | (Fa & Gc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((Fa & Gb) | (((a) W (c)) & ((c) W (d))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | ((!b) U ((!b & c))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | ((!b) W ((!b & c))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | ((c) W ((b | d))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(!a | b | ((b) R ((a | b))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((a & Fb) | (b & Fa) | (c & Fd))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | G!b | ((c) U ((b | d))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GF(a & (b | c))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(a & Xb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(a & ((a) U (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(!a & ((b) W (a)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) M ((a | b | X((a) R (c)))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) R (Xa))) M (((((Ga) M (a))) U (((b) R (c))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R ((b | X((c) R (d)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R (((b) R (((c) R (((d) R (e))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((((Fa) W (a))) M (b))) R (((a) U (Xa))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((((((a) R (b))) R (c))) R (d))) R (e))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & X((c) U (d)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (((b) U (((c) U (((d) U (e))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((((((a) U (b))) U (c))) U (d))) U (e))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((((Ga) M (a))) W (b))) U (((a) R (Xa))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W ((a & b & X((a) U (c)))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) U (Xa))) W (((((Fa) W (a))) R (((b) U (c))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & F(b & (a | Gb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (FGb | (FGa & FGc)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & G(Xb | (b & Fc)))", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & ((a) R ((a | c))))) R (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & (Fb | F(Fb & Ga)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) R (b)) & F(a & XFc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((!a) R (!b)) & (Gc | ((Fa) W ((b & Xa)))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & GF(a & Xa))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GF(b & Xc))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GF(c & Xb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & F(b & G(a | c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & FG(b | Xc))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & G(b | F(b & c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF!a & G(a | XFb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((a | b)) R (c)) & G(d | (((a | b)) R (c))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (GFc | (FGd & FGe)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 5, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FG!a | FG!b | FG!c) & (GFc | (GFa & GFb)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FG!a | FG!b | FG!c | FG!d) & (GFc | (GFa & GFb & GFd)))", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FG!a | FG!b | FG!c | FG!d | FG!e) & (GFc | (GFa & GFb & GFd & GFe)))", + "properties": { + "size": 20, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & GF(b & Xc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & GF(c & Xa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & GF(c & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(!a | Fb) & (((Xa) U (b)) | X((!a) R ((!a | !b)))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(!a & b) & GF(a & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(XG(a | b) & GF(c & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa | X(F!b & G!a)) & (G!a | X(Fa | Gb)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | XGb) & G(c | XG!b))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | XXb) & G(c | XXd))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GF(a & Xb) & GF(c & Xd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb & FG(b | X!a))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb & GF(a & Xb))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & GF!a & G(a | XFb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | XXb) & G(c | XXd) & G(e | XXf))", + "properties": { + "size": 64, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GF(a & Xb) & GF(c & Xd) & GF(e & Xf))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a | G(b | (a & Fb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa | (Gb & G(Fa | Gb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | (GFb & (GFa | GFc)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | F(Xb & (b | Gc)))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | ((!a) U ((!a & c))))) U (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) U (b)) | (Fc & ((G!a) M ((!b | X!a)))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) U (b)) | G(a | XGc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FG(b | Xc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FG(c | Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(!a & XGb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(b & G(b | c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | G(b | F(a & c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GF(b & Xc))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | FG(a | Xa))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((a & b)) U (c)) | F(d & (((a & b)) U (c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGc & (GFd | GFe)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((GFa & GFb & GFc) | (FG!c & (FG!a | FG!b)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((GFa & GFb & GFc & GFd) | (FG!c & (FG!a | FG!b | FG!d)))", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((GFa & GFb & GFc & GFd & GFe) | (FG!c & (FG!a | FG!b | FG!d | FG!e)))", + "properties": { + "size": 20, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & G!b) | (((X!a) R (!b)) & X((a) U ((a & b)))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | FG(b | Xc))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | FG(c | Xa))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | FG(c | Xb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | b) | FG(!a | Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(XF(a & b) | FG(c | Xb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((Fa & X(F!b & G!a)) | (G!a & X(Fa | Gb)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & XF!b) | F(c & XFb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & XXb) | F(c & XXd))", + "properties": { + "size": 17, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | Xb) | FG(c | Xd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FG!a | F(!a & XGb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GFb | FG(b | Xa))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GF!b | GF(a & Xb))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & XXb) | F(c & XXd) | F(e & XXf))", + "properties": { + "size": 65, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | Xb) | FG(c | Xd) | FG(e | Xf))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & (Ga | Gb | (c & Gd)))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & Gc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(a | Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | Ga))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | Xc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((!a) R ((b | ((b) R (c))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) R ((Fc & Fd))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) R (((!b) R ((!b | c))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Fa & (Gb | F(b & c)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | XXb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(Xa | ((a) W (Xa)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | Xb | XXc)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (Fa & Fb & (c | Fd)))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(a & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & Fa))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & Xc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | Fc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) U ((Gc | Gd))))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((!b) U (((b) U ((b & c))))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(!a | ((a) U ((b & ((b) U (c))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(Ga | (Fb & G(b | c)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GF(a & XXb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(Xa & ((a) M (Xa)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(a & Xb & XXc)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "X((a & FGa) | (!a & GF!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "X((a & GF!a) | (!a & FGa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) M (((!a) M (((a) M (((!a) M (Fa))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((Ga | ((((a) M (b))) R (a))) & (F(a & b) | FGa))) M (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R (X(b | XGa)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a & Xb)) R (X((((((c) U (d))) R (a))) U (((c) R (a))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (X(b & XFa)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a | Xb)) U (X((((((c) R (d))) U (a))) R (((c) U (a))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((!a) W (((a) W (((!a) W (((a) W (G!a))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((Fa & ((((a) W (b))) U (a))) | (G(a | b) & GFa))) W (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((b) M ((G!a & ((XXb) M (!a))))))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 0, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((b) R ((!a & (b | c | X((b) R (d)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((!a & b & X((!a) U ((!a & c))))) R ((!a & d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & G(!b | (((!c | ((b) R (!a)))) U ((b | c)))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & GF(a & XXa))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & (Ga | G(Xb | (a & Xa) | (!a & X!a))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & GF(a & XXa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((GFa | GFb) & GF(c & XXa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | Fb) & F(b & G(a | Fb)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(((a) U (((b) R (Fc)))) & ((((a & Gb) | (!a & F!b))) R (((!b) U (G(b | G!c))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FG(a | XXa) & FG(!a | XX!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(a & XXb) & GF(c & XXd))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb & GF(a & XXb))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(!a & b) & GF(a & Xb) & GF(!a & XXb))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(a & XXb) & GF(c & XXd) & GF(e & XXf))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a & Xb & XXc & XXXd & XXXXGe)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa | FG(a | XXa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F!a | F(b & (((c & ((!b) U (a)))) R ((!b & !c)))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | ((b) U ((a | (b & c & X((b) U (d)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((a | b | X((a) R ((a | c))))) U ((a | d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((b) W ((Fa | ((XXb) W (a))))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FG(a | XXa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & FGb) | FG(c | XXa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Gb) | G(b | F(a & Gb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(((!a) R (((!b) U (G!c)))) | ((((a & F!b) | (!a & Gb))) U (((b) R (F(!b & Fc))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | XXb) | FG(c | XXd))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(a & XXa) | GF(!a & XX!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GFb | FG(b | XXa))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | b) | FG(!a | Xb) | FG(a | XXb))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | XXb) | FG(c | XXd) | FG(e | XXf))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a | Xb | XXc | XXXd | XXXXFe)", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a <-> (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a <-> ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a <-> (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(!a <-> ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | XGc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | c | X((c) R (d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | Fc | (Fd & Ge)))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 5, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & X(b & XFc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) R (((!b) R ((b | ((c) U (b))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & (((c & ((b) R ((b | d))))) M (!b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & XFb & XG(!b | Gc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & Fb & (((c & ((b) R ((b | d))))) R (!b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | XXXb)", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG((a & Fb) | ((Fc) U ((a & Fc))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & XFc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & c & X((c) U (d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & Gc & (Fd | Ge)))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | X(b | XGc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((!b) U (((b) U ((!b & ((c) R (!b))))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | (((c | ((!b) U ((!b & d))))) W (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | XG!b | XF(b & Fc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(((!a) M (F!b)) | (a & G(a | b) & GFb) | (!a & (F(!a & !b) | FG!b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | b | G!b | (((c | ((!b) U ((!b & d))))) U (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GF(a & XXXb)", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF((a | Gb) & ((Gc) R ((a | Gc))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 5, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) M ((a & ((b) M ((b | c | X((b) R (d))))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((!a) M (((b & XF!a) | (!b & XGa))))) M (!a))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W ((a | ((b) W ((b & c & X((b) U (d))))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) W (((b & XGa) | (!b & XF!a))))) W (a))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & ((a) R ((a | c | X((a) R (d))))))) R (!a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & X((!a) U (c)) & X((a) R ((!c | Gd))))) R (!a)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb | GFc) & G(b | d | G(a | XFc)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((!a | GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a)))) & (a | (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a | ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc)))))) & (!a | ((((b | F!a) & (!b | Ga))) R (((!a) U (G(a | G!c)))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FG(a | XXXa) & FG(!a | XXX!a))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & FG(b | Xc) & GF(d & XXXe))", + "properties": { + "size": 18, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(!a & b) & GF(a & Xb) & GF(!a & XXb) & GF(a & XXXb))", + "properties": { + "size": 15, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | ((!a) U ((!a & c & X((!a) U (d))))))) U (a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | X((a) R (!c)) | X((!a) U ((c & Fd))))) U (a)))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF!a | (F!a & F(Xb & ((a & X!a) | (!a & Xa)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & FGb & GFc) | F(a & d & F(c & XGb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a & FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))) | (!a & (GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a & ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc)))))) | (!a & ((((b | F!a) & (!b | Ga))) R (((!a) U (G(a | G!c)))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GF(a & XXXa) | GF(!a & XXX!a))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GF(b & Xc) | FG(d | XXXe))", + "properties": { + "size": 18, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | b) | FG(!a | Xb) | FG(a | XXb) | FG(!a | XXXb))", + "properties": { + "size": 15, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & (c | XGd)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & (c | d | X((d) R (e)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) M ((c & (b | d | X((b) R (e)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((!a) R ((b | ((b) R ((c | ((c) R (d)))))))))", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) R (((!b) R (((b) R (((!b) R ((!b | c))))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(((a) W (Gb)) & ((!a & G(a | b) & GFb) | (a & (F(!a & !b) | FG!b))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & ((c) R ((!b & (c | d | X((c) R (e)))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((!b & c & X((!b) U ((!b & d))))) R ((!b & e))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & XFc) & (((b & d & X((d) U ((c & d))))) R ((d & e))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & !c & Xc & X(Xb & ((c) R (((!c) R ((b & d)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | (c & XFd)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | (c & d & X((d) U (e)))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((!b) U (((b) U (((!b) U (((b) U ((b & c))))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) W ((c | (b & d & X((b) U (e)))))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(!a | ((a) U ((b & ((b) U ((c & ((c) U (d)))))))))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | ((c) U ((b | (c & d & X((c) U (e)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((b | c | X((b) R ((b | d))))) U ((b | e))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | XGc) | (((b | d | X((d) R ((c | d))))) U ((d | e))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | c | X!c | X(Xb | ((!c) U (((c) U ((b | d)))))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M ((!a | (((b) R (c)) & F(b & XFd)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M ((!a | ((b) M (((!b) M (((b) M (((!b) M (Fb)))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((!a) M (((!b & GFa & G(b | Xa)) | (b & (FG!a | F(!b & X!a))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W (((b & GFa & G(b | Xa)) | (!b & (FG!a | F(!b & X!a))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((!a) W ((a & (((b) U (c)) | G(b | XGd)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((!a) W ((a & ((!b) W (((b) W (((!b) W (((b) W (G!b)))))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & ((a) R ((a | c | d | X(((a | d)) R (e))))))) R (!a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FG(a | XXXXa) & FG(!a | XXXX!a))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | ((!a) U ((!a & c & d & X(((!a & d)) U (e))))))) U (a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GF(a & XXXXa) | GF(!a & XXXX!a))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & XFc & XG(!c | Gd)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((!a) R (((b) R ((!a | ((!a) R ((c | ((c) R (!a)))))))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((c & ((b) R ((b | d | X((b) R (e))))))) R (!b)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((c & X((!b) U (d)) & X((b) R ((!d | Ge))))) R (!b)))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(!a & Xa & X(Xb & ((!a) R (((a) R (((!a) R ((b & c)))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & !c & Xc & X(Xb & ((!c) R (((c) R (((!c) R ((b & d)))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | XG!c | XF(c & Fd)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(!a | ((a) U (((b) U ((a & ((a) U ((c & ((c) U (a)))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((c | ((!b) U ((!b & d & X((!b) U (e))))))) U (b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((c | X((b) R (!d)) | X((!b) U ((d & Fe))))) U (b)))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | X!a | X(Xb | ((a) U (((!a) U (((a) U ((b | c)))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | c | X!c | X(Xb | ((c) U (((!c) U (((c) U ((b | d)))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((!a | GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a))))))) & (a | (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a)))))))))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a & FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))) | (!a & (GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a)))))))))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & (((b & ((c) R ((c | d | X((c) R (e))))))) R ((!c & F(b & (d | XGe))))))", + "properties": { + "size": 13, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 5, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & (((b & ((c) R ((c | d | e | X(((c | e)) R (f))))))) R ((!c & F(b & (d | e | X((e) R (f))))))))", + "properties": { + "size": 13, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 5, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((c & ((b) R ((b | d | e | X(((b | e)) R (f))))))) R (!b)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (((b | ((!c) U ((!c & d & X((!c) U (e))))))) U ((c | G(b | (d & XFe))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | (((b | ((!c) U ((!c & d & e & X(((!c & e)) U (f))))))) U ((c | G(b | (d & e & X((e) U (f))))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((c | ((!b) U ((!b & d & e & X(((!b & e)) U (f))))))) U (b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((a | b)) R ((!a & (((a | !b)) R ((!a & (((a | b)) R ((!a & (((a | !b)) R ((!a & ((b) R (!a)))))))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((!a & !b)) U ((a | (((!a & b)) U ((a | (((!a & !b)) U ((a | (((!a & b)) U ((a | ((!b) U (a)))))))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & (((b & X((!c) U (d)) & X((c) R ((!d | Ge))))) R ((!c & F(b & X((!c) U (d)) & X((c) R ((!d | Ge))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (((b | X((c) R (!d)) | X((!c) U ((d & Fe))))) U ((c | G(b | X((c) R (!d)) | X((!c) U ((d & Fe))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XX(G(!a | X(b & ((Fa) U (c))) | X(!b & ((G!a) R (!c)))) & G(a | X((b | ((Fa) U (c))) & (!b | ((G!a) R (!c))))))", + "properties": { + "size": 13, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "XX(F(a & X(b | ((Fa) U (c))) & X(!b | ((G!a) R (!c)))) | F(!a & X((b & ((Fa) U (c))) | (!b & ((G!a) R (!c))))))", + "properties": { + "size": 14, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 3, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & (((b | c)) R ((!c & (((!b | c)) R ((!c & (((b | c)) R ((!c & (((!b | c)) R ((!c & F!b & ((b) M (!c)))))))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((b | c)) R ((!b & (((b | !c)) R ((!b & (((b | c)) R ((!b & (((b | !c)) R ((!b & ((c) R (!b)))))))))))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (((!b & !c)) U ((c | (((b & !c)) U ((c | (((!b & !c)) U ((c | (((b & !c)) U ((c | Gb | ((!b) W (c)))))))))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((!b & !c)) U ((b | (((!b & c)) U ((b | (((!b & !c)) U ((b | (((!b & c)) U ((b | ((!c) U (b)))))))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R ((b | X(c | G(d | XG(e | XG(f | XGg)))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & X(c & F(d & XF(e & XF(f & XFg)))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "ParityAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + } +] \ No newline at end of file diff --git a/data/formulas/sizes/dpa.asymmetric.portfolio.json b/data/formulas/sizes/dpa.asymmetric.portfolio.json index 334ff1b3..1c4b39bd 100644 --- a/data/formulas/sizes/dpa.asymmetric.portfolio.json +++ b/data/formulas/sizes/dpa.asymmetric.portfolio.json @@ -3577,7 +3577,7 @@ { "formula": "F((a | !b) & (Ga | Gb | Gc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -3621,7 +3621,7 @@ { "formula": "F((a | Gb) & (c | Gd))", "properties": { - "size": 9, + "size": 10, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -3698,7 +3698,7 @@ { "formula": "F((a | Gb) & (b | Ga) & (c | Gd))", "properties": { - "size": 20, + "size": 19, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -3709,7 +3709,7 @@ { "formula": "F((a | Gb) & (c | Gd) & (e | Gf))", "properties": { - "size": 73, + "size": 80, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -3852,7 +3852,7 @@ { "formula": "G((a & b) | (Fa & F!b & Fc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -3885,7 +3885,7 @@ { "formula": "G((a & Fb) | (c & Fd))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -3973,7 +3973,7 @@ { "formula": "G((a & Fb) | (b & Fa) | (c & Fd))", "properties": { - "size": 19, + "size": 18, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -3984,7 +3984,7 @@ { "formula": "G((a & Fb) | (c & Fd) | (e & Ff))", "properties": { - "size": 72, + "size": 79, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -5216,7 +5216,7 @@ { "formula": "F(a & (Ga | Gb | (c & Gd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -5403,7 +5403,7 @@ { "formula": "G(a | (Fa & Fb & (c | Fd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -6756,7 +6756,7 @@ { "formula": "F(a & ((!a) R ((b | ((b) R ((c | ((c) R (d)))))))))", "properties": { - "size": 14, + "size": 10, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -6767,7 +6767,7 @@ { "formula": "F(a & ((b) R (((!b) R (((b) R (((!b) R ((!b | c))))))))))", "properties": { - "size": 8, + "size": 6, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -6877,7 +6877,7 @@ { "formula": "G(a | ((!b) U (((b) U (((!b) U (((b) U ((b & c))))))))))", "properties": { - "size": 7, + "size": 5, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -6899,7 +6899,7 @@ { "formula": "G(!a | ((a) U ((b & ((b) U ((c & ((c) U (d)))))))))", "properties": { - "size": 13, + "size": 9, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -7163,7 +7163,7 @@ { "formula": "F(a & ((!a) R (((b) R ((!a | ((!a) R ((c | ((c) R (!a)))))))))))", "properties": { - "size": 10, + "size": 8, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -7196,7 +7196,7 @@ { "formula": "F(!a & Xa & X(Xb & ((!a) R (((a) R (((!a) R ((b & c)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -7207,7 +7207,7 @@ { "formula": "F(a & b & !c & Xc & X(Xb & ((!c) R (((c) R (((!c) R ((b & d)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -7229,7 +7229,7 @@ { "formula": "G(!a | ((a) U (((b) U ((a & ((a) U ((c & ((c) U (a)))))))))))", "properties": { - "size": 9, + "size": 7, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -7262,7 +7262,7 @@ { "formula": "G(a | X!a | X(Xb | ((a) U (((!a) U (((a) U ((b | c)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -7273,7 +7273,7 @@ { "formula": "G(a | b | c | X!c | X(Xb | ((c) U (((!c) U (((c) U ((b | d)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, diff --git a/data/formulas/sizes/dpa.symmetric.portfolio.json b/data/formulas/sizes/dpa.symmetric.portfolio.json index fe3f1f69..53ac7484 100644 --- a/data/formulas/sizes/dpa.symmetric.portfolio.json +++ b/data/formulas/sizes/dpa.symmetric.portfolio.json @@ -3577,7 +3577,7 @@ { "formula": "F((a | !b) & (Ga | Gb | Gc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -3621,7 +3621,7 @@ { "formula": "F((a | Gb) & (c | Gd))", "properties": { - "size": 9, + "size": 10, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -3698,7 +3698,7 @@ { "formula": "F((a | Gb) & (b | Ga) & (c | Gd))", "properties": { - "size": 20, + "size": 19, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -3709,7 +3709,7 @@ { "formula": "F((a | Gb) & (c | Gd) & (e | Gf))", "properties": { - "size": 73, + "size": 80, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -3852,7 +3852,7 @@ { "formula": "G((a & b) | (Fa & F!b & Fc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -3885,7 +3885,7 @@ { "formula": "G((a & Fb) | (c & Fd))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -3973,7 +3973,7 @@ { "formula": "G((a & Fb) | (b & Fa) | (c & Fd))", "properties": { - "size": 19, + "size": 18, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -3984,7 +3984,7 @@ { "formula": "G((a & Fb) | (c & Fd) | (e & Ff))", "properties": { - "size": 72, + "size": 79, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -5216,7 +5216,7 @@ { "formula": "F(a & (Ga | Gb | (c & Gd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -5403,7 +5403,7 @@ { "formula": "G(a | (Fa & Fb & (c | Fd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -6756,7 +6756,7 @@ { "formula": "F(a & ((!a) R ((b | ((b) R ((c | ((c) R (d)))))))))", "properties": { - "size": 14, + "size": 10, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -6767,7 +6767,7 @@ { "formula": "F(a & ((b) R (((!b) R (((b) R (((!b) R ((!b | c))))))))))", "properties": { - "size": 8, + "size": 6, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -6877,7 +6877,7 @@ { "formula": "G(a | ((!b) U (((b) U (((!b) U (((b) U ((b & c))))))))))", "properties": { - "size": 7, + "size": 5, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -6899,7 +6899,7 @@ { "formula": "G(!a | ((a) U ((b & ((b) U ((c & ((c) U (d)))))))))", "properties": { - "size": 13, + "size": 9, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -7163,7 +7163,7 @@ { "formula": "F(a & ((!a) R (((b) R ((!a | ((!a) R ((c | ((c) R (!a)))))))))))", "properties": { - "size": 10, + "size": 8, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -7196,7 +7196,7 @@ { "formula": "F(!a & Xa & X(Xb & ((!a) R (((a) R (((!a) R ((b & c)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -7207,7 +7207,7 @@ { "formula": "F(a & b & !c & Xc & X(Xb & ((!c) R (((c) R (((!c) R ((b & d)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -7229,7 +7229,7 @@ { "formula": "G(!a | ((a) U (((b) U ((a & ((a) U ((c & ((c) U (a)))))))))))", "properties": { - "size": 9, + "size": 7, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -7262,7 +7262,7 @@ { "formula": "G(a | X!a | X(Xb | ((a) U (((!a) U (((a) U ((b | c)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, @@ -7273,7 +7273,7 @@ { "formula": "G(a | b | c | X!c | X(Xb | ((c) U (((!c) U (((c) U ((b | d)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "ParityAcceptance", "acceptanceSets": 2, diff --git a/data/formulas/sizes/dra.normalform.dual.json b/data/formulas/sizes/dra.normalform.dual.json index d092ab7e..2359d8d1 100644 --- a/data/formulas/sizes/dra.normalform.dual.json +++ b/data/formulas/sizes/dra.normalform.dual.json @@ -904,7 +904,7 @@ { "formula": "(Ga & GFb)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -926,7 +926,7 @@ { "formula": "((a | Gb) & GFa)", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -992,7 +992,7 @@ { "formula": "(G(a | b) & GFb)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1003,7 +1003,7 @@ { "formula": "(G(a | b) & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1036,7 +1036,7 @@ { "formula": "(GFa & XGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1047,7 +1047,7 @@ { "formula": "(Ga & Gb & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1058,7 +1058,7 @@ { "formula": "(Ga & G(b | c) & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1069,7 +1069,7 @@ { "formula": "(Ga & GFb & GFc)", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1124,7 +1124,7 @@ { "formula": "(G(a | b) & GFb & GFc)", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1157,7 +1157,7 @@ { "formula": "(Fa & Fb & GFc & GFd)", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1168,7 +1168,7 @@ { "formula": "(Ga & GFb & GFc & GFd)", "properties": { - "size": 3, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1256,7 +1256,7 @@ { "formula": "(Fa & Fb & Fc & GFd & GFe & GFf)", "properties": { - "size": 10, + "size": 14, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1344,7 +1344,7 @@ { "formula": "(Fa | FGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1487,7 +1487,7 @@ { "formula": "((a & Fb) | FGa)", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1520,7 +1520,7 @@ { "formula": "(F(a & b) | FGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1531,7 +1531,7 @@ { "formula": "(F(a & b) | FGc)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1542,7 +1542,7 @@ { "formula": "(FGa | FG!a)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1553,7 +1553,7 @@ { "formula": "(FGa | FGb)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1586,7 +1586,7 @@ { "formula": "(FGa | XFb)", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1619,7 +1619,7 @@ { "formula": "(Fa | Fb | FGc)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1630,7 +1630,7 @@ { "formula": "(Fa | F(b & c) | FGc)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1641,7 +1641,7 @@ { "formula": "(Fa | FGb | FGc)", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1663,7 +1663,7 @@ { "formula": "(F(a & b) | FGb | FGc)", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1674,7 +1674,7 @@ { "formula": "(FGa | FGb | FGc)", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1685,7 +1685,7 @@ { "formula": "(FGa | FGb | GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1729,7 +1729,7 @@ { "formula": "(Fa | FGb | FGc | FGd)", "properties": { - "size": 4, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1740,7 +1740,7 @@ { "formula": "(Ga | Gb | FGc | FGd)", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1762,7 +1762,7 @@ { "formula": "(FGa | FGb | FGc | FGd)", "properties": { - "size": 1, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1773,7 +1773,7 @@ { "formula": "(FGa | FGb | FGc | GFd)", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1795,7 +1795,7 @@ { "formula": "(FGa | FGb | FGc | FGd | FGe)", "properties": { - "size": 1, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1806,7 +1806,7 @@ { "formula": "(FGa | FGb | FGc | FGd | GFe)", "properties": { - "size": 1, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1828,7 +1828,7 @@ { "formula": "(Ga | Gb | Gc | FGd | FGe | FGf)", "properties": { - "size": 10, + "size": 14, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1839,7 +1839,7 @@ { "formula": "(FGa | FGb | FGc | FGd | FGe | GFf)", "properties": { - "size": 1, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1850,7 +1850,7 @@ { "formula": "(FGa | FGb | FGc | FGd | FGe | FGf | FGg | FGh | FGi)", "properties": { - "size": 1, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2752,7 +2752,7 @@ { "formula": "(FGa & (FGb | FGc))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2774,7 +2774,7 @@ { "formula": "(G(a | b) & GF(b & c))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2851,7 +2851,7 @@ { "formula": "(GFa & G(b | Xa))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2862,7 +2862,7 @@ { "formula": "(GFa & XG(a | b))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3071,7 +3071,7 @@ { "formula": "((Ga | Gb | Gc) & (FG!d | GFe | GF!f) & (FGf | GFd | GFe))", "properties": { - "size": 24, + "size": 28, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3203,7 +3203,7 @@ { "formula": "(GFa & (a | GFb) & (c | GFd) & (FGa | GFc))", "properties": { - "size": 55, + "size": 98, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3225,7 +3225,7 @@ { "formula": "(G(a | Fb) & G(c | Fd) & G(e | Ff) & G(g | Fh))", "properties": { - "size": 33, + "size": 66, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3379,7 +3379,7 @@ { "formula": "(F(a & b) | FG(b | c))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3434,7 +3434,7 @@ { "formula": "(FGa | F(b & Xa))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3456,7 +3456,7 @@ { "formula": "(FGa | XF(a & b))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3467,7 +3467,7 @@ { "formula": "(FG!a | (Ga & GFb))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3489,7 +3489,7 @@ { "formula": "(GFa | (GFb & GFc))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3643,7 +3643,7 @@ { "formula": "(!a | (FG!a & FGb) | (GFa & GF!a))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3720,7 +3720,7 @@ { "formula": "(FGa | FGb | (GFc & GFd))", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3731,7 +3731,7 @@ { "formula": "(FGa | FGb | FG(c | d))", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3742,7 +3742,7 @@ { "formula": "(FGa | FGb | GF(a & b))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3808,7 +3808,7 @@ { "formula": "(FG(a | b) | FG(c | d) | FG(e | f))", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3830,7 +3830,7 @@ { "formula": "(FGa | GFa | GFb | FG(a | b))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3841,7 +3841,7 @@ { "formula": "(FGa | (a & FGb) | (c & FGd) | (FGc & GFa))", "properties": { - "size": 9, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3863,7 +3863,7 @@ { "formula": "(F(a & Gb) | F(c & Gd) | F(e & Gf) | F(g & Gh))", "properties": { - "size": 33, + "size": 66, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4006,7 +4006,7 @@ { "formula": "F((a | !b) & (Ga | Gb | Gc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4050,7 +4050,7 @@ { "formula": "F((a | Gb) & (c | Gd))", "properties": { - "size": 9, + "size": 10, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4160,7 +4160,7 @@ { "formula": "F((a | Gb) & (b | Ga) & (c | Gd))", "properties": { - "size": 20, + "size": 19, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4171,7 +4171,7 @@ { "formula": "F((a | Gb) & (c | Gd) & (e | Gf))", "properties": { - "size": 73, + "size": 80, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4369,7 +4369,7 @@ { "formula": "G((a & b) | (Fa & F!b & Fc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4402,7 +4402,7 @@ { "formula": "G((a & Fb) | (c & Fd))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4512,7 +4512,7 @@ { "formula": "G((a & Fb) | (b & Fa) | (c & Fd))", "properties": { - "size": 19, + "size": 18, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4523,7 +4523,7 @@ { "formula": "G((a & Fb) | (c & Fd) | (e & Ff))", "properties": { - "size": 72, + "size": 79, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4765,7 +4765,7 @@ { "formula": "((X((((a) R (b))) U (c))) R (((a) U (c))))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4853,7 +4853,7 @@ { "formula": "((X((((a) U (b))) R (c))) U (((a) R (c))))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4875,7 +4875,7 @@ { "formula": "((((((Ga) M (a))) W (b))) U (((a) R (Xa))))", "properties": { - "size": 8, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4908,7 +4908,7 @@ { "formula": "(a & F(b & (a | Gb)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4919,7 +4919,7 @@ { "formula": "(Fa & (FGb | (FGa & FGc)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4930,7 +4930,7 @@ { "formula": "(Fa & G(Xb | (b & Fc)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5040,7 +5040,7 @@ { "formula": "(G(a | b) & GF(b & Xc))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5051,7 +5051,7 @@ { "formula": "(G(a | b) & GF(c & Xb))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5084,7 +5084,7 @@ { "formula": "(GFa & G(b | F(b & c)))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5095,7 +5095,7 @@ { "formula": "(GF!a & G(a | XFb))", "properties": { - "size": 3, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5172,7 +5172,7 @@ { "formula": "(G(a | Xb) & GF(b & Xc))", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5194,7 +5194,7 @@ { "formula": "(G(a | Xb) & GF(c & Xb))", "properties": { - "size": 4, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5249,7 +5249,7 @@ { "formula": "((((a) R (b)) | (FGa & GFb) | (FGc & GFd)) & (((a) R (c)) | (FGa & GFd) | (FGc & GFb)))", "properties": { - "size": 13, + "size": 14, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5260,7 +5260,7 @@ { "formula": "((FGa | XFb | GF(a & c)) & (FGd | XXe | GF(d & f)))", "properties": { - "size": 10, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5315,7 +5315,7 @@ { "formula": "(Ga & (GFb | GFc) & G(d | ((!d) U ((b | c)))))", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5348,7 +5348,7 @@ { "formula": "(GFa & GF!a & G(a | XFb))", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5425,7 +5425,7 @@ { "formula": "(a | G(b | (a & Fb)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5447,7 +5447,7 @@ { "formula": "(Ga | (GFb & (GFa | GFc)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5458,7 +5458,7 @@ { "formula": "(Ga | F(Xb & (b | Gc)))", "properties": { - "size": 11, + "size": 12, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5524,7 +5524,7 @@ { "formula": "(F(a & b) | FG(b | Xc))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5535,7 +5535,7 @@ { "formula": "(F(a & b) | FG(c | Xb))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5546,7 +5546,7 @@ { "formula": "(FGa | F(!a & XGb))", "properties": { - "size": 3, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5557,7 +5557,7 @@ { "formula": "(FGa | F(b & G(b | c)))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5656,7 +5656,7 @@ { "formula": "((GFa & GFb & GFc) | (FG!c & (FG!a | FG!b)))", "properties": { - "size": 6, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5667,7 +5667,7 @@ { "formula": "((GFa & GFb & GFc & GFd) | (FG!c & (FG!a | FG!b | FG!d)))", "properties": { - "size": 12, + "size": 21, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5678,7 +5678,7 @@ { "formula": "((GFa & GFb & GFc & GFd & GFe) | (FG!c & (FG!a | FG!b | FG!d | FG!e)))", "properties": { - "size": 20, + "size": 56, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5700,7 +5700,7 @@ { "formula": "(F(a & Xb) | FG(b | Xc))", "properties": { - "size": 6, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5722,7 +5722,7 @@ { "formula": "(F(a & Xb) | FG(c | Xb))", "properties": { - "size": 5, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5733,7 +5733,7 @@ { "formula": "(FG(a | b) | FG(!a | Xb))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5766,7 +5766,7 @@ { "formula": "((((a) U (b)) & (FGb | GFa) & (FGc | GFd)) | (((a) U (d)) & (FGb | GFd) & (FGc | GFa)))", "properties": { - "size": 11, + "size": 13, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5832,7 +5832,7 @@ { "formula": "(Fa | (FGb & FGc) | F(!d & ((d) R ((b & c)))))", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5843,7 +5843,7 @@ { "formula": "(FGa | FG!a | F(!a & XGb))", "properties": { - "size": 4, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5854,7 +5854,7 @@ { "formula": "(FGa | FGb | FG(c | Xd))", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5909,7 +5909,7 @@ { "formula": "(FGa | FGb | (FGc & GF!d) | FG(c | Xd))", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5942,7 +5942,7 @@ { "formula": "F(a & (Ga | Gb | (c & Gd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6129,7 +6129,7 @@ { "formula": "F((a | XXb) & (b | XXc) & (c | XGd))", "properties": { - "size": 60, + "size": 63, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6173,7 +6173,7 @@ { "formula": "G(a | (Fa & Fb & (c | Fd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6360,7 +6360,7 @@ { "formula": "G((a & XXb) | (b & XXc) | (c & XFd))", "properties": { - "size": 59, + "size": 62, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6635,7 +6635,7 @@ { "formula": "((GFa | GFb) & GF(c & XXa))", "properties": { - "size": 5, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6657,7 +6657,7 @@ { "formula": "(((a) U (((b) R (Fc)))) & ((((a & Gb) | (!a & F!b))) R (((!b) U (G(b | G!c))))))", "properties": { - "size": 40, + "size": 29, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6690,7 +6690,7 @@ { "formula": "(G(F(a & b) | (Ga & XGc)) & G(F(d & e) | (Gd & XGf)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6822,7 +6822,7 @@ { "formula": "((FGa & FGb) | FG(c | XXa))", "properties": { - "size": 5, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6866,7 +6866,7 @@ { "formula": "(((!a) R (((!b) U (G!c)))) | ((((a & F!b) | (!a & Gb))) U (((b) R (F(!b & Fc))))))", "properties": { - "size": 50, + "size": 40, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6888,7 +6888,7 @@ { "formula": "(F(G(a | b) & (Fa | XFc)) | F(G(d | e) & (Fd | XFf)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6932,7 +6932,7 @@ { "formula": "(FG(a | b) | FG(!a | Xb) | FG(a | XXb))", "properties": { - "size": 6, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6976,7 +6976,7 @@ { "formula": "(a <-> ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc))))))", "properties": { - "size": 49, + "size": 44, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6998,7 +6998,7 @@ { "formula": "(!a <-> ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc))))))", "properties": { - "size": 27, + "size": 47, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7042,7 +7042,7 @@ { "formula": "F(a & G(b | Fc | (Fd & Ge)))", "properties": { - "size": 7, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7185,7 +7185,7 @@ { "formula": "G(a | F(b & Gc & (Fd | Ge)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7262,7 +7262,7 @@ { "formula": "G(((!a) M (F!b)) | (a & G(a | b) & GFb) | (!a & (F(!a & !b) | FG!b)))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7460,7 +7460,7 @@ { "formula": "((a | ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc)))))) & (!a | ((((b | F!a) & (!b | Ga))) R (((!a) U (G(a | G!c)))))))", "properties": { - "size": 48, + "size": 47, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7570,7 +7570,7 @@ { "formula": "((a & ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc)))))) | (!a & ((((b | F!a) & (!b | Ga))) R (((!a) U (G(a | G!c)))))))", "properties": { - "size": 49, + "size": 44, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7603,7 +7603,7 @@ { "formula": "(FGa | GF(b & Xc) | FG(d | XXXe))", "properties": { - "size": 16, + "size": 18, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7614,7 +7614,7 @@ { "formula": "(FG(a | b) | FG(!a | Xb) | FG(a | XXb) | FG(!a | XXXb))", "properties": { - "size": 14, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7669,7 +7669,7 @@ { "formula": "F(a & ((!a) R ((b | ((b) R ((c | ((c) R (d)))))))))", "properties": { - "size": 14, + "size": 10, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7680,7 +7680,7 @@ { "formula": "F(a & ((b) R (((!b) R (((b) R (((!b) R ((!b | c))))))))))", "properties": { - "size": 8, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7691,7 +7691,7 @@ { "formula": "F(((a) W (Gb)) & ((!a & G(a | b) & GFb) | (a & (F(!a & !b) | FG!b))))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7801,7 +7801,7 @@ { "formula": "G(a | ((!b) U (((b) U (((!b) U (((b) U ((b & c))))))))))", "properties": { - "size": 7, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7823,7 +7823,7 @@ { "formula": "G(!a | ((a) U ((b & ((b) U ((c & ((c) U (d)))))))))", "properties": { - "size": 13, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7933,7 +7933,7 @@ { "formula": "((!a) M (((!b & GFa & G(b | Xa)) | (b & (FG!a | F(!b & X!a))))))", "properties": { - "size": 7, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7966,7 +7966,7 @@ { "formula": "((a) W (((b & GFa & G(b | Xa)) | (!b & (FG!a | F(!b & X!a))))))", "properties": { - "size": 14, + "size": 19, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8065,7 +8065,7 @@ { "formula": "(a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8076,7 +8076,7 @@ { "formula": "(!a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8098,7 +8098,7 @@ { "formula": "F(a & ((!a) R (((b) R ((!a | ((!a) R ((c | ((c) R (!a)))))))))))", "properties": { - "size": 10, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8131,7 +8131,7 @@ { "formula": "F(!a & Xa & X(Xb & ((!a) R (((a) R (((!a) R ((b & c)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8142,7 +8142,7 @@ { "formula": "F(a & b & !c & Xc & X(Xb & ((!c) R (((c) R (((!c) R ((b & d)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8164,7 +8164,7 @@ { "formula": "G(!a | ((a) U (((b) U ((a & ((a) U ((c & ((c) U (a)))))))))))", "properties": { - "size": 9, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8197,7 +8197,7 @@ { "formula": "G(a | X!a | X(Xb | ((a) U (((!a) U (((a) U ((b | c)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8208,7 +8208,7 @@ { "formula": "G(a | b | c | X!c | X(Xb | ((c) U (((!c) U (((c) U ((b | d)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8219,7 +8219,7 @@ { "formula": "((!a | GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a))))))) & (a | (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a)))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8230,7 +8230,7 @@ { "formula": "((a & FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))) | (!a & (GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a)))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8241,7 +8241,7 @@ { "formula": "F(a & (((b & ((c) R ((c | d | X((c) R (e))))))) R ((!c & F(b & (d | XGe))))))", "properties": { - "size": 25, + "size": 38, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8252,7 +8252,7 @@ { "formula": "F(a & (((b & (((c | X((d) R (e)))) W (d)))) R ((!d & F(b & (c | XGe))))))", "properties": { - "size": 25, + "size": 38, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8263,7 +8263,7 @@ { "formula": "F(a & (((b & ((c) R ((c | d | e | X(((c | e)) R (f))))))) R ((!c & F(b & (d | e | X((e) R (f))))))))", "properties": { - "size": 66, + "size": 60, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8274,7 +8274,7 @@ { "formula": "F(a & (((b & (((c | d | X(((d | e)) R (f)))) W (e)))) R ((!e & F(b & (c | d | X((d) R (f))))))))", "properties": { - "size": 66, + "size": 60, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8307,7 +8307,7 @@ { "formula": "G(a | (((b | (((c & X((!d) U (e)))) M (!d)))) U ((d | G(b | (c & XFe))))))", "properties": { - "size": 21, + "size": 42, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8318,7 +8318,7 @@ { "formula": "G(a | (((b | ((!c) U ((!c & d & X((!c) U (e))))))) U ((c | G(b | (d & XFe))))))", "properties": { - "size": 21, + "size": 42, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8329,7 +8329,7 @@ { "formula": "G(a | (((b | (((c & d & X(((d & !e)) U (f)))) M (!e)))) U ((e | G(b | (c & d & X((d) U (f))))))))", "properties": { - "size": 91, + "size": 57, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8340,7 +8340,7 @@ { "formula": "G(a | (((b | ((!c) U ((!c & d & e & X(((!c & e)) U (f))))))) U ((c | G(b | (d & e & X((e) U (f))))))))", "properties": { - "size": 91, + "size": 57, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8406,7 +8406,7 @@ { "formula": "G(a | (((b | X((c) R (!d)) | X((!c) U ((d & Fe))))) U ((c | G(b | X((c) R (!d)) | X((!c) U ((d & Fe))))))))", "properties": { - "size": 32, + "size": 42, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8428,7 +8428,7 @@ { "formula": "XX(F(a & X(b | ((Fa) U (c))) & X(!b | ((G!a) R (!c)))) | F(!a & X((b & ((Fa) U (c))) | (!b & ((G!a) R (!c))))))", "properties": { - "size": 19, + "size": 20, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8439,7 +8439,7 @@ { "formula": "F(a & (((b | c)) R ((!c & (((!b | c)) R ((!c & (((b | c)) R ((!c & (((!b | c)) R ((!c & F!b & ((b) M (!c)))))))))))))))", "properties": { - "size": 9, + "size": 10, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8505,7 +8505,7 @@ { "formula": "G(a | (((!b & !c)) U ((c | (((b & !c)) U ((c | (((!b & !c)) U ((c | (((b & !c)) U ((c | Gb | ((!b) W (c)))))))))))))))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, diff --git a/data/formulas/sizes/dra.normalform.dual.portfolio.json b/data/formulas/sizes/dra.normalform.dual.portfolio.json index f30d1c3e..5c5dc350 100644 --- a/data/formulas/sizes/dra.normalform.dual.portfolio.json +++ b/data/formulas/sizes/dra.normalform.dual.portfolio.json @@ -904,7 +904,7 @@ { "formula": "(Ga & GFb)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -926,7 +926,7 @@ { "formula": "((a | Gb) & GFa)", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -992,7 +992,7 @@ { "formula": "(G(a | b) & GFb)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1003,7 +1003,7 @@ { "formula": "(G(a | b) & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1036,7 +1036,7 @@ { "formula": "(GFa & XGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1047,7 +1047,7 @@ { "formula": "(Ga & Gb & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1058,7 +1058,7 @@ { "formula": "(Ga & G(b | c) & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1069,7 +1069,7 @@ { "formula": "(Ga & GFb & GFc)", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1124,7 +1124,7 @@ { "formula": "(G(a | b) & GFb & GFc)", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1157,7 +1157,7 @@ { "formula": "(Fa & Fb & GFc & GFd)", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1168,7 +1168,7 @@ { "formula": "(Ga & GFb & GFc & GFd)", "properties": { - "size": 3, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1256,7 +1256,7 @@ { "formula": "(Fa & Fb & Fc & GFd & GFe & GFf)", "properties": { - "size": 10, + "size": 14, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1344,7 +1344,7 @@ { "formula": "(Fa | FGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1487,7 +1487,7 @@ { "formula": "((a & Fb) | FGa)", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1520,7 +1520,7 @@ { "formula": "(F(a & b) | FGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1531,7 +1531,7 @@ { "formula": "(F(a & b) | FGc)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1586,7 +1586,7 @@ { "formula": "(FGa | XFb)", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1619,7 +1619,7 @@ { "formula": "(Fa | Fb | FGc)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1630,7 +1630,7 @@ { "formula": "(Fa | F(b & c) | FGc)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1641,7 +1641,7 @@ { "formula": "(Fa | FGb | FGc)", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1663,7 +1663,7 @@ { "formula": "(F(a & b) | FGb | FGc)", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1685,7 +1685,7 @@ { "formula": "(FGa | FGb | GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1729,7 +1729,7 @@ { "formula": "(Fa | FGb | FGc | FGd)", "properties": { - "size": 4, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1740,7 +1740,7 @@ { "formula": "(Ga | Gb | FGc | FGd)", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1773,7 +1773,7 @@ { "formula": "(FGa | FGb | FGc | GFd)", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1806,7 +1806,7 @@ { "formula": "(FGa | FGb | FGc | FGd | GFe)", "properties": { - "size": 1, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1828,7 +1828,7 @@ { "formula": "(Ga | Gb | Gc | FGd | FGe | FGf)", "properties": { - "size": 10, + "size": 14, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1839,7 +1839,7 @@ { "formula": "(FGa | FGb | FGc | FGd | FGe | GFf)", "properties": { - "size": 1, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2752,7 +2752,7 @@ { "formula": "(FGa & (FGb | FGc))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2774,7 +2774,7 @@ { "formula": "(G(a | b) & GF(b & c))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2851,7 +2851,7 @@ { "formula": "(GFa & G(b | Xa))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2862,7 +2862,7 @@ { "formula": "(GFa & XG(a | b))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3071,7 +3071,7 @@ { "formula": "((Ga | Gb | Gc) & (FG!d | GFe | GF!f) & (FGf | GFd | GFe))", "properties": { - "size": 24, + "size": 28, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3203,7 +3203,7 @@ { "formula": "(GFa & (a | GFb) & (c | GFd) & (FGa | GFc))", "properties": { - "size": 55, + "size": 98, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3225,7 +3225,7 @@ { "formula": "(G(a | Fb) & G(c | Fd) & G(e | Ff) & G(g | Fh))", "properties": { - "size": 33, + "size": 66, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3379,7 +3379,7 @@ { "formula": "(F(a & b) | FG(b | c))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3434,7 +3434,7 @@ { "formula": "(FGa | F(b & Xa))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3456,7 +3456,7 @@ { "formula": "(FGa | XF(a & b))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3467,7 +3467,7 @@ { "formula": "(FG!a | (Ga & GFb))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3489,7 +3489,7 @@ { "formula": "(GFa | (GFb & GFc))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3643,7 +3643,7 @@ { "formula": "(!a | (FG!a & FGb) | (GFa & GF!a))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3720,7 +3720,7 @@ { "formula": "(FGa | FGb | (GFc & GFd))", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3742,7 +3742,7 @@ { "formula": "(FGa | FGb | GF(a & b))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3830,7 +3830,7 @@ { "formula": "(FGa | GFa | GFb | FG(a | b))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3841,7 +3841,7 @@ { "formula": "(FGa | (a & FGb) | (c & FGd) | (FGc & GFa))", "properties": { - "size": 9, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3863,7 +3863,7 @@ { "formula": "(F(a & Gb) | F(c & Gd) | F(e & Gf) | F(g & Gh))", "properties": { - "size": 33, + "size": 66, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4006,7 +4006,7 @@ { "formula": "F((a | !b) & (Ga | Gb | Gc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4050,7 +4050,7 @@ { "formula": "F((a | Gb) & (c | Gd))", "properties": { - "size": 9, + "size": 10, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4160,7 +4160,7 @@ { "formula": "F((a | Gb) & (b | Ga) & (c | Gd))", "properties": { - "size": 20, + "size": 19, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4171,7 +4171,7 @@ { "formula": "F((a | Gb) & (c | Gd) & (e | Gf))", "properties": { - "size": 73, + "size": 80, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4369,7 +4369,7 @@ { "formula": "G((a & b) | (Fa & F!b & Fc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4402,7 +4402,7 @@ { "formula": "G((a & Fb) | (c & Fd))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4512,7 +4512,7 @@ { "formula": "G((a & Fb) | (b & Fa) | (c & Fd))", "properties": { - "size": 19, + "size": 18, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4523,7 +4523,7 @@ { "formula": "G((a & Fb) | (c & Fd) | (e & Ff))", "properties": { - "size": 72, + "size": 79, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4765,7 +4765,7 @@ { "formula": "((X((((a) R (b))) U (c))) R (((a) U (c))))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4853,7 +4853,7 @@ { "formula": "((X((((a) U (b))) R (c))) U (((a) R (c))))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4875,7 +4875,7 @@ { "formula": "((((((Ga) M (a))) W (b))) U (((a) R (Xa))))", "properties": { - "size": 8, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4908,7 +4908,7 @@ { "formula": "(a & F(b & (a | Gb)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4919,7 +4919,7 @@ { "formula": "(Fa & (FGb | (FGa & FGc)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4930,7 +4930,7 @@ { "formula": "(Fa & G(Xb | (b & Fc)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5040,7 +5040,7 @@ { "formula": "(G(a | b) & GF(b & Xc))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5051,7 +5051,7 @@ { "formula": "(G(a | b) & GF(c & Xb))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5084,7 +5084,7 @@ { "formula": "(GFa & G(b | F(b & c)))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5095,7 +5095,7 @@ { "formula": "(GF!a & G(a | XFb))", "properties": { - "size": 3, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5172,7 +5172,7 @@ { "formula": "(G(a | Xb) & GF(b & Xc))", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5194,7 +5194,7 @@ { "formula": "(G(a | Xb) & GF(c & Xb))", "properties": { - "size": 4, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5249,7 +5249,7 @@ { "formula": "((((a) R (b)) | (FGa & GFb) | (FGc & GFd)) & (((a) R (c)) | (FGa & GFd) | (FGc & GFb)))", "properties": { - "size": 13, + "size": 14, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5260,7 +5260,7 @@ { "formula": "((FGa | XFb | GF(a & c)) & (FGd | XXe | GF(d & f)))", "properties": { - "size": 10, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5315,7 +5315,7 @@ { "formula": "(Ga & (GFb | GFc) & G(d | ((!d) U ((b | c)))))", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5348,7 +5348,7 @@ { "formula": "(GFa & GF!a & G(a | XFb))", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5425,7 +5425,7 @@ { "formula": "(a | G(b | (a & Fb)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5447,7 +5447,7 @@ { "formula": "(Ga | (GFb & (GFa | GFc)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5458,7 +5458,7 @@ { "formula": "(Ga | F(Xb & (b | Gc)))", "properties": { - "size": 11, + "size": 12, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5524,7 +5524,7 @@ { "formula": "(F(a & b) | FG(b | Xc))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5535,7 +5535,7 @@ { "formula": "(F(a & b) | FG(c | Xb))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5546,7 +5546,7 @@ { "formula": "(FGa | F(!a & XGb))", "properties": { - "size": 3, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5557,7 +5557,7 @@ { "formula": "(FGa | F(b & G(b | c)))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5656,7 +5656,7 @@ { "formula": "((GFa & GFb & GFc) | (FG!c & (FG!a | FG!b)))", "properties": { - "size": 6, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5667,7 +5667,7 @@ { "formula": "((GFa & GFb & GFc & GFd) | (FG!c & (FG!a | FG!b | FG!d)))", "properties": { - "size": 12, + "size": 21, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5678,7 +5678,7 @@ { "formula": "((GFa & GFb & GFc & GFd & GFe) | (FG!c & (FG!a | FG!b | FG!d | FG!e)))", "properties": { - "size": 20, + "size": 56, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5700,7 +5700,7 @@ { "formula": "(F(a & Xb) | FG(b | Xc))", "properties": { - "size": 6, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5722,7 +5722,7 @@ { "formula": "(F(a & Xb) | FG(c | Xb))", "properties": { - "size": 5, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5766,7 +5766,7 @@ { "formula": "((((a) U (b)) & (FGb | GFa) & (FGc | GFd)) | (((a) U (d)) & (FGb | GFd) & (FGc | GFa)))", "properties": { - "size": 11, + "size": 13, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5832,7 +5832,7 @@ { "formula": "(Fa | (FGb & FGc) | F(!d & ((d) R ((b & c)))))", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5843,7 +5843,7 @@ { "formula": "(FGa | FG!a | F(!a & XGb))", "properties": { - "size": 4, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5909,7 +5909,7 @@ { "formula": "(FGa | FGb | (FGc & GF!d) | FG(c | Xd))", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5942,7 +5942,7 @@ { "formula": "F(a & (Ga | Gb | (c & Gd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6129,7 +6129,7 @@ { "formula": "F((a | XXb) & (b | XXc) & (c | XGd))", "properties": { - "size": 60, + "size": 63, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6173,7 +6173,7 @@ { "formula": "G(a | (Fa & Fb & (c | Fd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6360,7 +6360,7 @@ { "formula": "G((a & XXb) | (b & XXc) | (c & XFd))", "properties": { - "size": 59, + "size": 62, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6635,7 +6635,7 @@ { "formula": "((GFa | GFb) & GF(c & XXa))", "properties": { - "size": 5, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6657,7 +6657,7 @@ { "formula": "(((a) U (((b) R (Fc)))) & ((((a & Gb) | (!a & F!b))) R (((!b) U (G(b | G!c))))))", "properties": { - "size": 40, + "size": 29, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6690,7 +6690,7 @@ { "formula": "(G(F(a & b) | (Ga & XGc)) & G(F(d & e) | (Gd & XGf)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6822,7 +6822,7 @@ { "formula": "((FGa & FGb) | FG(c | XXa))", "properties": { - "size": 5, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6866,7 +6866,7 @@ { "formula": "(((!a) R (((!b) U (G!c)))) | ((((a & F!b) | (!a & Gb))) U (((b) R (F(!b & Fc))))))", "properties": { - "size": 50, + "size": 40, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6888,7 +6888,7 @@ { "formula": "(F(G(a | b) & (Fa | XFc)) | F(G(d | e) & (Fd | XFf)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6976,7 +6976,7 @@ { "formula": "(a <-> ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc))))))", "properties": { - "size": 49, + "size": 44, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6998,7 +6998,7 @@ { "formula": "(!a <-> ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc))))))", "properties": { - "size": 27, + "size": 47, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7042,7 +7042,7 @@ { "formula": "F(a & G(b | Fc | (Fd & Ge)))", "properties": { - "size": 7, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7185,7 +7185,7 @@ { "formula": "G(a | F(b & Gc & (Fd | Ge)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7262,7 +7262,7 @@ { "formula": "G(((!a) M (F!b)) | (a & G(a | b) & GFb) | (!a & (F(!a & !b) | FG!b)))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7460,7 +7460,7 @@ { "formula": "((a | ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc)))))) & (!a | ((((b | F!a) & (!b | Ga))) R (((!a) U (G(a | G!c)))))))", "properties": { - "size": 48, + "size": 47, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7570,7 +7570,7 @@ { "formula": "((a & ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc)))))) | (!a & ((((b | F!a) & (!b | Ga))) R (((!a) U (G(a | G!c)))))))", "properties": { - "size": 49, + "size": 44, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7603,7 +7603,7 @@ { "formula": "(FGa | GF(b & Xc) | FG(d | XXXe))", "properties": { - "size": 16, + "size": 18, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7669,7 +7669,7 @@ { "formula": "F(a & ((!a) R ((b | ((b) R ((c | ((c) R (d)))))))))", "properties": { - "size": 14, + "size": 10, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7680,7 +7680,7 @@ { "formula": "F(a & ((b) R (((!b) R (((b) R (((!b) R ((!b | c))))))))))", "properties": { - "size": 8, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7691,7 +7691,7 @@ { "formula": "F(((a) W (Gb)) & ((!a & G(a | b) & GFb) | (a & (F(!a & !b) | FG!b))))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7801,7 +7801,7 @@ { "formula": "G(a | ((!b) U (((b) U (((!b) U (((b) U ((b & c))))))))))", "properties": { - "size": 7, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7823,7 +7823,7 @@ { "formula": "G(!a | ((a) U ((b & ((b) U ((c & ((c) U (d)))))))))", "properties": { - "size": 13, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7933,7 +7933,7 @@ { "formula": "((!a) M (((!b & GFa & G(b | Xa)) | (b & (FG!a | F(!b & X!a))))))", "properties": { - "size": 7, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7966,7 +7966,7 @@ { "formula": "((a) W (((b & GFa & G(b | Xa)) | (!b & (FG!a | F(!b & X!a))))))", "properties": { - "size": 14, + "size": 19, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8065,7 +8065,7 @@ { "formula": "(a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8076,7 +8076,7 @@ { "formula": "(!a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8098,7 +8098,7 @@ { "formula": "F(a & ((!a) R (((b) R ((!a | ((!a) R ((c | ((c) R (!a)))))))))))", "properties": { - "size": 10, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8131,7 +8131,7 @@ { "formula": "F(!a & Xa & X(Xb & ((!a) R (((a) R (((!a) R ((b & c)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8142,7 +8142,7 @@ { "formula": "F(a & b & !c & Xc & X(Xb & ((!c) R (((c) R (((!c) R ((b & d)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8164,7 +8164,7 @@ { "formula": "G(!a | ((a) U (((b) U ((a & ((a) U ((c & ((c) U (a)))))))))))", "properties": { - "size": 9, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8197,7 +8197,7 @@ { "formula": "G(a | X!a | X(Xb | ((a) U (((!a) U (((a) U ((b | c)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8208,7 +8208,7 @@ { "formula": "G(a | b | c | X!c | X(Xb | ((c) U (((!c) U (((c) U ((b | d)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8219,7 +8219,7 @@ { "formula": "((!a | GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a))))))) & (a | (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a)))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8230,7 +8230,7 @@ { "formula": "((a & FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))) | (!a & (GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a)))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8241,7 +8241,7 @@ { "formula": "F(a & (((b & ((c) R ((c | d | X((c) R (e))))))) R ((!c & F(b & (d | XGe))))))", "properties": { - "size": 25, + "size": 38, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8252,7 +8252,7 @@ { "formula": "F(a & (((b & (((c | X((d) R (e)))) W (d)))) R ((!d & F(b & (c | XGe))))))", "properties": { - "size": 25, + "size": 38, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8263,7 +8263,7 @@ { "formula": "F(a & (((b & ((c) R ((c | d | e | X(((c | e)) R (f))))))) R ((!c & F(b & (d | e | X((e) R (f))))))))", "properties": { - "size": 66, + "size": 60, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8274,7 +8274,7 @@ { "formula": "F(a & (((b & (((c | d | X(((d | e)) R (f)))) W (e)))) R ((!e & F(b & (c | d | X((d) R (f))))))))", "properties": { - "size": 66, + "size": 60, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8307,7 +8307,7 @@ { "formula": "G(a | (((b | (((c & X((!d) U (e)))) M (!d)))) U ((d | G(b | (c & XFe))))))", "properties": { - "size": 21, + "size": 42, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8318,7 +8318,7 @@ { "formula": "G(a | (((b | ((!c) U ((!c & d & X((!c) U (e))))))) U ((c | G(b | (d & XFe))))))", "properties": { - "size": 21, + "size": 42, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8329,7 +8329,7 @@ { "formula": "G(a | (((b | (((c & d & X(((d & !e)) U (f)))) M (!e)))) U ((e | G(b | (c & d & X((d) U (f))))))))", "properties": { - "size": 91, + "size": 57, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8340,7 +8340,7 @@ { "formula": "G(a | (((b | ((!c) U ((!c & d & e & X(((!c & e)) U (f))))))) U ((c | G(b | (d & e & X((e) U (f))))))))", "properties": { - "size": 91, + "size": 57, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8406,7 +8406,7 @@ { "formula": "G(a | (((b | X((c) R (!d)) | X((!c) U ((d & Fe))))) U ((c | G(b | X((c) R (!d)) | X((!c) U ((d & Fe))))))))", "properties": { - "size": 32, + "size": 42, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8428,7 +8428,7 @@ { "formula": "XX(F(a & X(b | ((Fa) U (c))) & X(!b | ((G!a) R (!c)))) | F(!a & X((b & ((Fa) U (c))) | (!b & ((G!a) R (!c))))))", "properties": { - "size": 19, + "size": 20, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8439,7 +8439,7 @@ { "formula": "F(a & (((b | c)) R ((!c & (((!b | c)) R ((!c & (((b | c)) R ((!c & (((!b | c)) R ((!c & F!b & ((b) M (!c)))))))))))))))", "properties": { - "size": 9, + "size": 10, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8505,7 +8505,7 @@ { "formula": "G(a | (((!b & !c)) U ((c | (((b & !c)) U ((c | (((!b & !c)) U ((c | (((b & !c)) U ((c | Gb | ((!b) W (c)))))))))))))))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, diff --git a/data/formulas/sizes/dra.normalform.json b/data/formulas/sizes/dra.normalform.json index 320479e6..0940727f 100644 --- a/data/formulas/sizes/dra.normalform.json +++ b/data/formulas/sizes/dra.normalform.json @@ -904,7 +904,7 @@ { "formula": "(Ga & GFb)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -926,7 +926,7 @@ { "formula": "((a | Gb) & GFa)", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -992,7 +992,7 @@ { "formula": "(G(a | b) & GFb)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1003,7 +1003,7 @@ { "formula": "(G(a | b) & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1036,7 +1036,7 @@ { "formula": "(GFa & XGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1047,7 +1047,7 @@ { "formula": "(Ga & Gb & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1058,7 +1058,7 @@ { "formula": "(Ga & G(b | c) & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1069,7 +1069,7 @@ { "formula": "(Ga & GFb & GFc)", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1124,7 +1124,7 @@ { "formula": "(G(a | b) & GFb & GFc)", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1157,7 +1157,7 @@ { "formula": "(Fa & Fb & GFc & GFd)", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1168,7 +1168,7 @@ { "formula": "(Ga & GFb & GFc & GFd)", "properties": { - "size": 3, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1256,7 +1256,7 @@ { "formula": "(Fa & Fb & Fc & GFd & GFe & GFf)", "properties": { - "size": 10, + "size": 14, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1344,7 +1344,7 @@ { "formula": "(Fa | FGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1487,7 +1487,7 @@ { "formula": "((a & Fb) | FGa)", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1520,7 +1520,7 @@ { "formula": "(F(a & b) | FGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1531,7 +1531,7 @@ { "formula": "(F(a & b) | FGc)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1542,7 +1542,7 @@ { "formula": "(FGa | FG!a)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1553,7 +1553,7 @@ { "formula": "(FGa | FGb)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1586,7 +1586,7 @@ { "formula": "(FGa | XFb)", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1619,7 +1619,7 @@ { "formula": "(Fa | Fb | FGc)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1630,7 +1630,7 @@ { "formula": "(Fa | F(b & c) | FGc)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1641,7 +1641,7 @@ { "formula": "(Fa | FGb | FGc)", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1663,7 +1663,7 @@ { "formula": "(F(a & b) | FGb | FGc)", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1674,7 +1674,7 @@ { "formula": "(FGa | FGb | FGc)", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1685,7 +1685,7 @@ { "formula": "(FGa | FGb | GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1729,7 +1729,7 @@ { "formula": "(Fa | FGb | FGc | FGd)", "properties": { - "size": 4, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1740,7 +1740,7 @@ { "formula": "(Ga | Gb | FGc | FGd)", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1762,7 +1762,7 @@ { "formula": "(FGa | FGb | FGc | FGd)", "properties": { - "size": 1, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1773,7 +1773,7 @@ { "formula": "(FGa | FGb | FGc | GFd)", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1795,7 +1795,7 @@ { "formula": "(FGa | FGb | FGc | FGd | FGe)", "properties": { - "size": 1, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1806,7 +1806,7 @@ { "formula": "(FGa | FGb | FGc | FGd | GFe)", "properties": { - "size": 1, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1828,7 +1828,7 @@ { "formula": "(Ga | Gb | Gc | FGd | FGe | FGf)", "properties": { - "size": 10, + "size": 14, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1839,7 +1839,7 @@ { "formula": "(FGa | FGb | FGc | FGd | FGe | GFf)", "properties": { - "size": 1, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1850,7 +1850,7 @@ { "formula": "(FGa | FGb | FGc | FGd | FGe | FGf | FGg | FGh | FGi)", "properties": { - "size": 1, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2752,7 +2752,7 @@ { "formula": "(FGa & (FGb | FGc))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2774,7 +2774,7 @@ { "formula": "(G(a | b) & GF(b & c))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2851,7 +2851,7 @@ { "formula": "(GFa & G(b | Xa))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2862,7 +2862,7 @@ { "formula": "(GFa & XG(a | b))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3071,7 +3071,7 @@ { "formula": "((Ga | Gb | Gc) & (FG!d | GFe | GF!f) & (FGf | GFd | GFe))", "properties": { - "size": 24, + "size": 28, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3203,7 +3203,7 @@ { "formula": "(GFa & (a | GFb) & (c | GFd) & (FGa | GFc))", "properties": { - "size": 55, + "size": 98, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3225,7 +3225,7 @@ { "formula": "(G(a | Fb) & G(c | Fd) & G(e | Ff) & G(g | Fh))", "properties": { - "size": 33, + "size": 66, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3379,7 +3379,7 @@ { "formula": "(F(a & b) | FG(b | c))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3434,7 +3434,7 @@ { "formula": "(FGa | F(b & Xa))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3456,7 +3456,7 @@ { "formula": "(FGa | XF(a & b))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3467,7 +3467,7 @@ { "formula": "(FG!a | (Ga & GFb))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3489,7 +3489,7 @@ { "formula": "(GFa | (GFb & GFc))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3643,7 +3643,7 @@ { "formula": "(!a | (FG!a & FGb) | (GFa & GF!a))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3720,7 +3720,7 @@ { "formula": "(FGa | FGb | (GFc & GFd))", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3731,7 +3731,7 @@ { "formula": "(FGa | FGb | FG(c | d))", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3742,7 +3742,7 @@ { "formula": "(FGa | FGb | GF(a & b))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3808,7 +3808,7 @@ { "formula": "(FG(a | b) | FG(c | d) | FG(e | f))", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3830,7 +3830,7 @@ { "formula": "(FGa | GFa | GFb | FG(a | b))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3841,7 +3841,7 @@ { "formula": "(FGa | (a & FGb) | (c & FGd) | (FGc & GFa))", "properties": { - "size": 9, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3863,7 +3863,7 @@ { "formula": "(F(a & Gb) | F(c & Gd) | F(e & Gf) | F(g & Gh))", "properties": { - "size": 33, + "size": 66, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4006,7 +4006,7 @@ { "formula": "F((a | !b) & (Ga | Gb | Gc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4050,7 +4050,7 @@ { "formula": "F((a | Gb) & (c | Gd))", "properties": { - "size": 9, + "size": 10, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4160,7 +4160,7 @@ { "formula": "F((a | Gb) & (b | Ga) & (c | Gd))", "properties": { - "size": 20, + "size": 19, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4171,7 +4171,7 @@ { "formula": "F((a | Gb) & (c | Gd) & (e | Gf))", "properties": { - "size": 73, + "size": 80, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4369,7 +4369,7 @@ { "formula": "G((a & b) | (Fa & F!b & Fc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4402,7 +4402,7 @@ { "formula": "G((a & Fb) | (c & Fd))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4512,7 +4512,7 @@ { "formula": "G((a & Fb) | (b & Fa) | (c & Fd))", "properties": { - "size": 19, + "size": 18, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4523,7 +4523,7 @@ { "formula": "G((a & Fb) | (c & Fd) | (e & Ff))", "properties": { - "size": 72, + "size": 79, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4853,7 +4853,7 @@ { "formula": "((X((((a) U (b))) R (c))) U (((a) R (c))))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4908,7 +4908,7 @@ { "formula": "(a & F(b & (a | Gb)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4919,7 +4919,7 @@ { "formula": "(Fa & (FGb | (FGa & FGc)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4930,7 +4930,7 @@ { "formula": "(Fa & G(Xb | (b & Fc)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5040,7 +5040,7 @@ { "formula": "(G(a | b) & GF(b & Xc))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5051,7 +5051,7 @@ { "formula": "(G(a | b) & GF(c & Xb))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5084,7 +5084,7 @@ { "formula": "(GFa & G(b | F(b & c)))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5095,7 +5095,7 @@ { "formula": "(GF!a & G(a | XFb))", "properties": { - "size": 3, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5172,7 +5172,7 @@ { "formula": "(G(a | Xb) & GF(b & Xc))", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5194,7 +5194,7 @@ { "formula": "(G(a | Xb) & GF(c & Xb))", "properties": { - "size": 4, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5249,7 +5249,7 @@ { "formula": "((((a) R (b)) | (FGa & GFb) | (FGc & GFd)) & (((a) R (c)) | (FGa & GFd) | (FGc & GFb)))", "properties": { - "size": 13, + "size": 14, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5260,7 +5260,7 @@ { "formula": "((FGa | XFb | GF(a & c)) & (FGd | XXe | GF(d & f)))", "properties": { - "size": 10, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5315,7 +5315,7 @@ { "formula": "(Ga & (GFb | GFc) & G(d | ((!d) U ((b | c)))))", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5348,7 +5348,7 @@ { "formula": "(GFa & GF!a & G(a | XFb))", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5425,7 +5425,7 @@ { "formula": "(a | G(b | (a & Fb)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5447,7 +5447,7 @@ { "formula": "(Ga | (GFb & (GFa | GFc)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5458,7 +5458,7 @@ { "formula": "(Ga | F(Xb & (b | Gc)))", "properties": { - "size": 11, + "size": 12, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5524,7 +5524,7 @@ { "formula": "(F(a & b) | FG(b | Xc))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5535,7 +5535,7 @@ { "formula": "(F(a & b) | FG(c | Xb))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5546,7 +5546,7 @@ { "formula": "(FGa | F(!a & XGb))", "properties": { - "size": 3, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5557,7 +5557,7 @@ { "formula": "(FGa | F(b & G(b | c)))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5656,7 +5656,7 @@ { "formula": "((GFa & GFb & GFc) | (FG!c & (FG!a | FG!b)))", "properties": { - "size": 6, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5667,7 +5667,7 @@ { "formula": "((GFa & GFb & GFc & GFd) | (FG!c & (FG!a | FG!b | FG!d)))", "properties": { - "size": 12, + "size": 21, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5678,7 +5678,7 @@ { "formula": "((GFa & GFb & GFc & GFd & GFe) | (FG!c & (FG!a | FG!b | FG!d | FG!e)))", "properties": { - "size": 20, + "size": 56, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5700,7 +5700,7 @@ { "formula": "(F(a & Xb) | FG(b | Xc))", "properties": { - "size": 6, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5722,7 +5722,7 @@ { "formula": "(F(a & Xb) | FG(c | Xb))", "properties": { - "size": 5, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5733,7 +5733,7 @@ { "formula": "(FG(a | b) | FG(!a | Xb))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5766,7 +5766,7 @@ { "formula": "((((a) U (b)) & (FGb | GFa) & (FGc | GFd)) | (((a) U (d)) & (FGb | GFd) & (FGc | GFa)))", "properties": { - "size": 11, + "size": 13, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5832,7 +5832,7 @@ { "formula": "(Fa | (FGb & FGc) | F(!d & ((d) R ((b & c)))))", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5843,7 +5843,7 @@ { "formula": "(FGa | FG!a | F(!a & XGb))", "properties": { - "size": 4, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5854,7 +5854,7 @@ { "formula": "(FGa | FGb | FG(c | Xd))", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5909,7 +5909,7 @@ { "formula": "(FGa | FGb | (FGc & GF!d) | FG(c | Xd))", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5942,7 +5942,7 @@ { "formula": "F(a & (Ga | Gb | (c & Gd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6129,7 +6129,7 @@ { "formula": "F((a | XXb) & (b | XXc) & (c | XGd))", "properties": { - "size": 60, + "size": 63, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6173,7 +6173,7 @@ { "formula": "G(a | (Fa & Fb & (c | Fd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6261,7 +6261,7 @@ { "formula": "G(a | ((b) U ((Gc | Gd))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6360,7 +6360,7 @@ { "formula": "G((a & XXb) | (b & XXc) | (c & XFd))", "properties": { - "size": 59, + "size": 62, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6481,7 +6481,7 @@ { "formula": "(((a & Xb)) R (X((((((c) U (d))) R (a))) U (((c) R (a))))))", "properties": { - "size": 12, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6635,7 +6635,7 @@ { "formula": "((GFa | GFb) & GF(c & XXa))", "properties": { - "size": 5, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6657,7 +6657,7 @@ { "formula": "(((a) U (((b) R (Fc)))) & ((((a & Gb) | (!a & F!b))) R (((!b) U (G(b | G!c))))))", "properties": { - "size": 40, + "size": 29, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6690,7 +6690,7 @@ { "formula": "(G(F(a & b) | (Ga & XGc)) & G(F(d & e) | (Gd & XGf)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6822,7 +6822,7 @@ { "formula": "((FGa & FGb) | FG(c | XXa))", "properties": { - "size": 5, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6866,7 +6866,7 @@ { "formula": "(((!a) R (((!b) U (G!c)))) | ((((a & F!b) | (!a & Gb))) U (((b) R (F(!b & Fc))))))", "properties": { - "size": 44, + "size": 36, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6888,7 +6888,7 @@ { "formula": "(F(G(a | b) & (Fa | XFc)) | F(G(d | e) & (Fd | XFf)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6932,7 +6932,7 @@ { "formula": "(FG(a | b) | FG(!a | Xb) | FG(a | XXb))", "properties": { - "size": 6, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6998,7 +6998,7 @@ { "formula": "(!a <-> ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc))))))", "properties": { - "size": 31, + "size": 49, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7042,7 +7042,7 @@ { "formula": "F(a & G(b | Fc | (Fd & Ge)))", "properties": { - "size": 7, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7185,7 +7185,7 @@ { "formula": "G(a | F(b & Gc & (Fd | Ge)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7262,7 +7262,7 @@ { "formula": "G(((!a) M (F!b)) | (a & G(a | b) & GFb) | (!a & (F(!a & !b) | FG!b)))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7460,7 +7460,7 @@ { "formula": "((a | ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc)))))) & (!a | ((((b | F!a) & (!b | Ga))) R (((!a) U (G(a | G!c)))))))", "properties": { - "size": 52, + "size": 49, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7603,7 +7603,7 @@ { "formula": "(FGa | GF(b & Xc) | FG(d | XXXe))", "properties": { - "size": 16, + "size": 18, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7614,7 +7614,7 @@ { "formula": "(FG(a | b) | FG(!a | Xb) | FG(a | XXb) | FG(!a | XXXb))", "properties": { - "size": 14, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7669,7 +7669,7 @@ { "formula": "F(a & ((!a) R ((b | ((b) R ((c | ((c) R (d)))))))))", "properties": { - "size": 14, + "size": 10, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7680,7 +7680,7 @@ { "formula": "F(a & ((b) R (((!b) R (((b) R (((!b) R ((!b | c))))))))))", "properties": { - "size": 8, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7691,7 +7691,7 @@ { "formula": "F(((a) W (Gb)) & ((!a & G(a | b) & GFb) | (a & (F(!a & !b) | FG!b))))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7801,7 +7801,7 @@ { "formula": "G(a | ((!b) U (((b) U (((!b) U (((b) U ((b & c))))))))))", "properties": { - "size": 7, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7823,7 +7823,7 @@ { "formula": "G(!a | ((a) U ((b & ((b) U ((c & ((c) U (d)))))))))", "properties": { - "size": 13, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7889,7 +7889,7 @@ { "formula": "G(a | G(b | XGc) | (((b | Fd | XG(c | d))) U ((d | e))))", "properties": { - "size": 39, + "size": 22, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7933,7 +7933,7 @@ { "formula": "((!a) M (((!b & GFa & G(b | Xa)) | (b & (FG!a | F(!b & X!a))))))", "properties": { - "size": 7, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7966,7 +7966,7 @@ { "formula": "((a) W (((b & GFa & G(b | Xa)) | (!b & (FG!a | F(!b & X!a))))))", "properties": { - "size": 14, + "size": 19, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8065,7 +8065,7 @@ { "formula": "(a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8076,7 +8076,7 @@ { "formula": "(!a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8098,7 +8098,7 @@ { "formula": "F(a & ((!a) R (((b) R ((!a | ((!a) R ((c | ((c) R (!a)))))))))))", "properties": { - "size": 10, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8131,7 +8131,7 @@ { "formula": "F(!a & Xa & X(Xb & ((!a) R (((a) R (((!a) R ((b & c)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8142,7 +8142,7 @@ { "formula": "F(a & b & !c & Xc & X(Xb & ((!c) R (((c) R (((!c) R ((b & d)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8164,7 +8164,7 @@ { "formula": "G(!a | ((a) U (((b) U ((a & ((a) U ((c & ((c) U (a)))))))))))", "properties": { - "size": 9, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8186,7 +8186,7 @@ { "formula": "G(a | G!b | (((c | X((b) R (!d)) | X((!b) U ((d & Fe))))) U (b)))", "properties": { - "size": 25, + "size": 23, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8197,7 +8197,7 @@ { "formula": "G(a | X!a | X(Xb | ((a) U (((!a) U (((a) U ((b | c)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8208,7 +8208,7 @@ { "formula": "G(a | b | c | X!c | X(Xb | ((c) U (((!c) U (((c) U ((b | d)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8219,7 +8219,7 @@ { "formula": "((!a | GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a))))))) & (a | (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a)))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8230,7 +8230,7 @@ { "formula": "((a & FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))) | (!a & (GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a)))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8241,7 +8241,7 @@ { "formula": "F(a & (((b & ((c) R ((c | d | X((c) R (e))))))) R ((!c & F(b & (d | XGe))))))", "properties": { - "size": 25, + "size": 38, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8252,7 +8252,7 @@ { "formula": "F(a & (((b & (((c | X((d) R (e)))) W (d)))) R ((!d & F(b & (c | XGe))))))", "properties": { - "size": 25, + "size": 38, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8263,7 +8263,7 @@ { "formula": "F(a & (((b & ((c) R ((c | d | e | X(((c | e)) R (f))))))) R ((!c & F(b & (d | e | X((e) R (f))))))))", "properties": { - "size": 66, + "size": 60, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8274,7 +8274,7 @@ { "formula": "F(a & (((b & (((c | d | X(((d | e)) R (f)))) W (e)))) R ((!e & F(b & (c | d | X((d) R (f))))))))", "properties": { - "size": 66, + "size": 60, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8307,7 +8307,7 @@ { "formula": "G(a | (((b | (((c & X((!d) U (e)))) M (!d)))) U ((d | G(b | (c & XFe))))))", "properties": { - "size": 203, + "size": 331, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8318,7 +8318,7 @@ { "formula": "G(a | (((b | ((!c) U ((!c & d & X((!c) U (e))))))) U ((c | G(b | (d & XFe))))))", "properties": { - "size": 204, + "size": 332, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8329,7 +8329,7 @@ { "formula": "G(a | (((b | (((c & d & X(((d & !e)) U (f)))) M (!e)))) U ((e | G(b | (c & d & X((d) U (f))))))))", "properties": { - "size": 276, + "size": 435, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8340,7 +8340,7 @@ { "formula": "G(a | (((b | ((!c) U ((!c & d & e & X(((!c & e)) U (f))))))) U ((c | G(b | (d & e & X((e) U (f))))))))", "properties": { - "size": 285, + "size": 446, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8406,7 +8406,7 @@ { "formula": "G(a | (((b | X((c) R (!d)) | X((!c) U ((d & Fe))))) U ((c | G(b | X((c) R (!d)) | X((!c) U ((d & Fe))))))))", "properties": { - "size": 452, + "size": 474, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8428,7 +8428,7 @@ { "formula": "XX(F(a & X(b | ((Fa) U (c))) & X(!b | ((G!a) R (!c)))) | F(!a & X((b & ((Fa) U (c))) | (!b & ((G!a) R (!c))))))", "properties": { - "size": 19, + "size": 20, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8439,7 +8439,7 @@ { "formula": "F(a & (((b | c)) R ((!c & (((!b | c)) R ((!c & (((b | c)) R ((!c & (((!b | c)) R ((!c & F!b & ((b) M (!c)))))))))))))))", "properties": { - "size": 9, + "size": 10, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8505,7 +8505,7 @@ { "formula": "G(a | (((!b & !c)) U ((c | (((b & !c)) U ((c | (((!b & !c)) U ((c | (((b & !c)) U ((c | Gb | ((!b) W (c)))))))))))))))", "properties": { - "size": 939, + "size": 29, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, diff --git a/data/formulas/sizes/dra.normalform.minimal.json b/data/formulas/sizes/dra.normalform.minimal.json new file mode 100644 index 00000000..43344d74 --- /dev/null +++ b/data/formulas/sizes/dra.normalform.minimal.json @@ -0,0 +1,7592 @@ +[ + { + "formula": "false", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "true", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "a", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a | b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a <-> b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "Fa", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "Ga", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "Xa", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & F!a)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & ((b) R (a)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a & Fa)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a | b) & (!a | !b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a | !b) & (!a | b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a <-> b) & G!b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & F!a)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & Fb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & Gb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & Xb)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((b) R (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & Gb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & Xb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) M (b)) & ((c) U (d)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a | ((b) U (a)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a | Ga)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a & b) | (!a & !b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a & !b) | (!a & b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a <-> b) | Fb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | Fb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | Gb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | Xb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | G!a)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | Gb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | Xb)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((b) U (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) R (b)) | ((c) W (d)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a <-> Ga)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a <-> Ga)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FGa", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | b)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GFa", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "X(a & b)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "X(a | b)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "XFa", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XGa", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M ((a | b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R ((a | b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R (((b) R (c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Ga) R (Fb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((a) R (b))) R (c))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((a & b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (((b) U (c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa) U (Gb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((a) U (b))) U (c))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W ((a & b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & (Fb | Ga))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & FGa)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (a | Gb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & FGa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & GFb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & XF!a)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & XFb)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & ((((a) R (b))) M (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((b) R ((!a & c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((a & b)) R (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F!a & XFa)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga & F(b & c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & G(b | c))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a & ((a & b) | (!a & !b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a | Gb) & GFa)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa | Gb) & (Fb | Gc))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((Fa | G!b) & (Fb | G!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & GF!a)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & GFb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & XGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & Gb & GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & G(b | c) & GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & GFb & GFc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa | Gb) & (Fb | Gc) & (Fc | Gd))", + "properties": { + "size": 18, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb & FGc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb & GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb & GFc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GFb & GFc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & GFb & GFc)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(((a) R (((b) R (c)))) & ((b) R (((c) R (a)))) & ((c) R (((a) R (b)))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & Fb & GFc & GFd)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga & GFb & GFc & GFd)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa | Gb) & (Fb | Gc) & (Fc | Gd) & (Fd | Ge))", + "properties": { + "size": 42, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb & FGc & FGd)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb & GFc & GFd)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & GFb & GFc & GFd)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb & FGc & FGd & FGe)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb & GFc & GFd & GFe)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & GFb & GFc & GFd & GFe)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & Fb & Fc & GFd & GFe & GFf)", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb & GFc & GFd & GFe & GFf)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a | (Fa & Gb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a | GFa)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | ((a | b) & (!a | !b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | F(b & c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | FGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | G(b | c))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | XF!a)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F!a | XFa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | (a & Fb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | FGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | GFa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | XG!a)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | XGb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | (((a | b)) U (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | XGa)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((b) U ((a | c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((((!a) U (b))) W (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a & Fb) | FGa)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((Fa & Gb) | (Fc & Ga))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa & G!b) | (Fb & G!a))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FGc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FG!a)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GFa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | XFb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(((a) U (Ga)) | ((b) U (Gb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa | Fb | FGc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | F(b & c) | FGc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | FGb | FGc)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((Fa & Gb) | (Fc & Ga) | (Fd & Gc))", + "properties": { + "size": 17, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FGb | FGc)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FGc)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | GFc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GFb | GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | GFb | GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(((a) U (((b) U (c)))) | ((b) U (((c) U (a)))) | ((c) U (((a) U (b)))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa | FGb | FGc | FGd)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | Gb | FGc | FGd)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((Fa & Gb) | (Fc & Ga) | (Fd & Gc) | (Fe & Gd))", + "properties": { + "size": 41, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FGc | FGd)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FGc | GFd)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | GFb | GFc | GFd)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FGc | FGd | FGe)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FGc | FGd | GFe)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | GFb | GFc | GFd | GFe)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | Gb | Gc | FGd | FGe | FGf)", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FGc | FGd | FGe | GFf)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F!a <-> (!a <-> Ga))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga <-> (!a <-> Ga))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & Fb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Gb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Xb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) M (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((!a) R (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) R (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) U (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) W (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Ga & ((b) M (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Ga & ((b) R (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Ga & ((b) U (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Ga & ((b) W (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & ((c) M (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & ((c) R (!b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Gb & Gc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & Fb & ((c) R (!b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | b)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | Fb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | Gb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | Xb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) M (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) R (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) U (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) W (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(!a | ((a) U (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(Fa | ((b) M (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(Fa | ((b) R (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(Fa | ((b) U (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(Fa | ((b) W (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | b | ((c) W (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | Fb | Fc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | ((c) U (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | G!b | ((c) U (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GF(a & b)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XF(a & b)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XG(a | b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "XXFa", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XXGa", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) R (Fb))) M (a))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R ((b | Fc)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) R ((b | Ga)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R (((b) R (((c) R (d))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((Ga & Xb)) R (b))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((F!a | Xb)) R ((Fc & Xa)))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((((a) R (b))) R (c))) R (d))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & Fa)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & Gc)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (((b) U (((c) U (d))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((Ga & Xb)) U ((Gc | X!a)))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((Fa | Xb)) U (b))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((!a) U (G!a))) U ((a | G!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((((a) U (b))) U (c))) U (d))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) U (Gb))) W (a))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & F(a & ((b) M (!a))))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a & ((b) M ((!a & ((b) M (a))))))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (a | GFb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & (FGb | GFa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & G(!a | Gb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & G(!a | ((b) M (c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & XXXb)", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((Gb) M ((b | Xb))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((((a) R ((a | b)))) R (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & F(b & Xc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Xa & (Ga | ((b) M (Xa))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(X!a & (b | Fc | ((((d) R (!b))) U (Xa))))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) R (b)) & F(c & Xa))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & (Ga | ((b) U (Ga))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & (FGb | FGc))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & (GFb | GFc | GFd))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GF(b & c))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & (F!a | FGb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & (FGb | FGc))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & (FGb | GFc))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & FG(b | c))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & G(a | Xa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & G(a | Xb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & G(b | Xa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & XG(a | b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((X!a) R (!b)) & X((a) U ((a & b))))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((!a | ((b) U (Xa))) & (Fc | ((b) R (X!a))))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa | FG!b) & (FG!a | GFb))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (FG!a | FG!b))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (FGc | GFa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (FGc | GFd))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FG!a | GFb) & (FG!b | GFa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FG!a | GF!b) & (FGb | GFa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | Xa) & G(!a | X!a))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & G(!a | X!b))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & G(c | Xd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & GF(b & c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & (FGa | FG!a) & (GFa | GFb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & Fb & (FGc | FG!c))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & Fb & (GFc | GF!c))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & FGb & (Ga | GFb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga & FGb & (Fc | XFd))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a & GFb & G(b | Xa))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Ga | Gb | Gc) & (FG!d | GFe | GF!f) & (FGf | GFd | GFe))", + "properties": { + "size": 14, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & GFb & (FGc | FGd))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & GFb & FG(a | b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & GFb & GF(c & d))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (FGc | GFa) & (FGd | GFc))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (FGc | GFd) & (FGe | GFf))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & G(c | Xd) & G(e | Xf))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & (a | GFb) & (c | GFd) & (FGa | GFc))", + "properties": { + "size": 75, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (FGc | GFa) & (FGd | GFc) & (FGe | GFd))", + "properties": { + "size": 324, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a | ((b) W ((a | ((b) W (!a))))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(!a | G(!a | ((b) W (a))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | G(b | Xc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | (a & FGb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | (FGa & GFb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | XXXb)", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | ((Fb) W ((b & Xb))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | F(a & Fb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | F(a & ((b) W (c))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | ((((!a) U ((!a & b)))) U (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Xa | (Fa & ((b) W (Xa))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Xa | (!b & Gc & ((((d) U (b))) R (X!a))))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) U (b)) | G(c | Xa))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FG(b | c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | (FGb & GFc))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | (GFb & GFc))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(a & Xa))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(a & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(b & Xa))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GF(b & c))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | XF(a & b))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG!a | (Ga & GFb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | (Fa & ((b) R (Fa))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | (GFb & GFc))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | (FGb & FGc & FGd))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(((Xa) U (b)) | X((!a) R ((!a | !b))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a & ((b) R (X!a))) | (Gc & ((b) U (Xa))))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGc & GFa))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGc & GFd))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FG!a & GFb) | (FG!b & GFa))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FG!a & GFb) | (GFa & GF!b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FG!a & GF!b) | (FGb & GFa))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FG!a & GF!b) | (GFa & GFb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xa) | F(!a & X!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | F(!a & X!b))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | F(c & Xd))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | FG(b | c))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(!a | (FG!a & FGb) | (GFa & GF!a))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | FGb | F(b & X!a))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | GFb | (Gc & XGd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | Gb | (FGc & FG!c))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | Gb | (GFc & GF!c))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | GFb | (Fa & FGb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((Fa & Fb & Fc) | (FG!d & FGe & GF!f) | (FGe & FGf & GFd))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | (GFc & GFd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FG(c | d))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | GF(a & b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGb & GFc) | (FGd & GFa))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGc & GFd) | (FGe & GFf))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | F(c & Xd) | F(e & Xf))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | (a & FGb) | (c & FGd) | (FGc & GFa))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGb & GFc) | (FGc & GFd) | (FGe & GFa))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa <-> X(Fa | Gb))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a <-> X(Fa | Gb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & (b | ((c) R (d))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & XGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & XXb)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & X((b) U (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) U ((b & c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(!a & ((a) R (X!a)))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((a | !b) & (Ga | Gb | Gc))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Fa & (Fb | Gb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(((a) U (b)) & (Fc | Ga))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((a | Fb) & (c | Fd))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((a | Gb) & (c | Gd))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((a | ((b) M (!c))) & (!a | ((!b) W (c))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((Fa | Gb) & (((b) M (c)) | ((c) M (d))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & ((c) M ((b & d))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & ((b) U ((!a & b))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & ((b) M ((b | c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & ((b) R ((b | c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((a | Gb) & (b | Ga) & (c | Gd))", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((a | Gb) & (c | Gd) & (e | Gf))", + "properties": { + "size": 32, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & Fb & ((c) R ((!b & d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | (b & c))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | Xb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | ((b) M (!a)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | ((a) R (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (b & ((c) U (d))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | XFb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | XXb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | X((b) R (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) R ((b | c))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((!a) U (Xa)))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G((a & b) | (Fa & F!b & Fc))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(Ga | (Fb & Gb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(((a) R (b)) | (Fa & Gc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((a & Fb) | (c & Fd))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((a & Gb) | (c & Gd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((a & ((b) M (!c))) | (!a & ((!b) W (c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((Fa & Gb) | (((a) W (c)) & ((c) W (d))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | ((!b) U ((!b & c))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | ((!b) W ((!b & c))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | ((c) W ((b | d))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(!a | b | ((b) R ((a | b))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((a & Fb) | (b & Fa) | (c & Fd))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((a & Fb) | (c & Fd) | (e & Ff))", + "properties": { + "size": 31, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | G!b | ((c) U ((b | d))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GF(a & (b | c))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(a & Xb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(a & ((a) U (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(!a & ((b) W (a)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XF(a & Gb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XG(a | Fb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) M ((a | b | X((a) R (c)))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) R (Xa))) M (((((Ga) M (a))) U (((b) R (c))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R ((b | X((c) R (d)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R (((b) R (((c) R (((d) R (e))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Xa) R (((((Gb) R (c))) W (d))))", + "properties": { + "size": 15, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((F!a & X!b) | (Ga & Xb))) R ((Fc & Xa)))", + "properties": { + "size": 15, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((X((((a) R (b))) U (c))) R (((a) U (c))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((((Fa) W (a))) M (b))) R (((a) U (Xa))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((((((a) R (b))) R (c))) R (d))) R (e))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & X((c) U (d)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (((b) U (((c) U (((d) U (e))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Xa) U (((((Fb) U (c))) M (d))))", + "properties": { + "size": 15, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((F!a | X!b) & (Ga | Xb))) U ((Gc | X!a)))", + "properties": { + "size": 15, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((X((((a) U (b))) R (c))) U (((a) R (c))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((((((a) U (b))) U (c))) U (d))) U (e))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((((Ga) M (a))) W (b))) U (((a) R (Xa))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W ((a & b & X((a) U (c)))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) U (Xa))) W (((((Fa) W (a))) R (((b) U (c))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & F(b & (a | Gb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (FGb | (FGa & FGc)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & G(Xb | (b & Fc)))", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & XF(b & Xc))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & ((a) R ((a | c))))) R (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & (Fb | F(Fb & Ga)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) R (b)) & F(a & XFc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((!a) R (!b)) & (Gc | ((Fa) W ((b & Xa)))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & G(a | XGa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & GF(a & Xa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG!a & (F(b & X!a) | F(!b & Xa)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GF(b & Xc))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GF(c & Xb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & F(b & G(a | c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & FG(b | Xc))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & G(b | F(b & c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF!a & G(a | XFb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((a | b)) R (c)) & G(d | (((a | b)) R (c))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (GFc | (FGd & FGe)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FG!a | FG!b | FG!c) & (GFc | (GFa & GFb)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FG!a | FG!b | FG!c | FG!d) & (GFc | (GFa & GFb & GFd)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FG!a | FG!b | FG!c | FG!d | FG!e) & (GFc | (GFa & GFb & GFd & GFe)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & GF(b & Xc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & GF(c & Xa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & GF(c & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(!a | Fb) & (((Xa) U (b)) | X((!a) R ((!a | !b)))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(!a & b) & GF(a & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(XG(a | b) & GF(c & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa | X(F!b & G!a)) & (G!a | X(Fa | Gb)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((a) R (b)) | (FGa & GFb) | (FGc & GFd)) & (((a) R (c)) | (FGa & GFd) | (FGc & GFb)))", + "properties": { + "size": 14, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa | XFb | GF(a & c)) & (FGd | XXe | GF(d & f)))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | XGb) & G(c | XG!b))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | XXb) & G(c | XXd))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GF(a & Xb) & GF(c & Xd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga & (GFb | GFc) & G(d | ((!d) U ((b | c)))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb & FG(b | X!a))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb & GF(a & Xb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & GF!a & G(a | XFb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & GFb & GF(c & Xd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | XXb) & G(c | XXd) & G(e | XXf))", + "properties": { + "size": 64, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GF(a & Xb) & GF(c & Xd) & GF(e & Xf))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & GFb & (FGc | GFd) & GF(d & X!c))", + "properties": { + "size": 14, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a | G(b | (a & Fb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa | (Gb & G(Fa | Gb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | (GFb & (GFa | GFc)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | F(Xb & (b | Gc)))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | XG(b | Xc))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | ((!a) U ((!a & c))))) U (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) U (b)) | (Fc & ((G!a) M ((!b | X!a)))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) U (b)) | G(a | XGc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FG(b | Xc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FG(c | Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(!a & XGb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(b & G(b | c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | G(b | F(a & c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GF(b & Xc))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | (G(b | X!a) & G(!b | Xa)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | F(a & XFa))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | FG(a | Xa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((a & b)) U (c)) | F(d & (((a & b)) U (c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGc & (GFd | GFe)))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((GFa & GFb & GFc) | (FG!c & (FG!a | FG!b)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((GFa & GFb & GFc & GFd) | (FG!c & (FG!a | FG!b | FG!d)))", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((GFa & GFb & GFc & GFd & GFe) | (FG!c & (FG!a | FG!b | FG!d | FG!e)))", + "properties": { + "size": 20, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & G!b) | (((X!a) R (!b)) & X((a) U ((a & b)))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | FG(b | Xc))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | FG(c | Xa))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | FG(c | Xb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | b) | FG(!a | Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(XF(a & b) | FG(c | Xb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((Fa & X(F!b & G!a)) | (G!a & X(Fa | Gb)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) U (b)) & (FGb | GFa) & (FGc | GFd)) | (((a) U (d)) & (FGb | GFd) & (FGc | GFa)))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((GFa & XGb & FG(a | c)) | (GFd & XXe & FG(d | f)))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & XF!b) | F(c & XFb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & XXb) | F(c & XXd))", + "properties": { + "size": 17, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | Xb) | FG(c | Xd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | (FGb & FGc) | F(!d & ((d) R ((b & c)))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FG!a | F(!a & XGb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FG(c | Xd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GFb | FG(b | Xa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GF!b | GF(a & Xb))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & XXb) | F(c & XXd) | F(e & XXf))", + "properties": { + "size": 65, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | Xb) | FG(c | Xd) | FG(e | Xf))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | (FGc & GF!d) | FG(c | Xd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & (Ga | Gb | (c & Gd)))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & Gc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(a | Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | Ga))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | Xc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((!a) R ((b | ((b) R (c))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) R ((Fc & Fd))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) R (((!b) R ((!b | c))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((a) W ((b & ((b) W (a))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((a) W ((b & ((c) W (a))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Fa & (Gb | F(b & c)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Fa & (!a | b | X(!a & b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(F!a & (a | XF!a))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | XXb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(Xa | ((a) W (Xa)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | Xb | XXc)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (Fa & Fb & (c | Fd)))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(a & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & Fa))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & Xc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | Fc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | ((a) M ((b | ((b) M (a))))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((a) M ((b | ((c) M (a))))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) U ((Gc | Gd))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((!b) U (((b) U ((b & c))))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(!a | ((a) U ((b & ((b) U (c))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(Ga | (!a & XGa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(Ga | (Fb & G(b | c)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(G!a | (a & b & X(a | b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GF(a & XXb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(Xa & ((a) M (Xa)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(a & Xb & XXc)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "X((a & FGa) | (!a & GF!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "X((a & GF!a) | (!a & FGa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) M (((!a) M (((a) M (((!a) M (Fa))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((Ga | ((((a) M (b))) R (a))) & (F(a & b) | FGa))) M (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R (X(b | XGa)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a & Xb)) R (X((((((c) U (d))) R (a))) U (((c) R (a))))))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (X(b & XFa)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a | Xb)) U (X((((((c) R (d))) U (a))) R (((c) U (a))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((!a) W (((a) W (((!a) W (((a) W (G!a))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((Fa & ((((a) W (b))) U (a))) | (G(a | b) & GFa))) W (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((b) M ((G!a & ((XXb) M (!a))))))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((b) R ((!a & (b | c | X((b) R (d)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((!a & b & X((!a) U ((!a & c))))) R ((!a & d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & G(!b | (((!c | ((b) R (!a)))) U ((b | c)))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & GF(a & XXa))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & (Ga | G(Xb | (a & Xa) | (!a & X!a))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & GF(a & XXa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (GFc | FG(d | Xe)))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((GFa | GFb) & GF(c & XXa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | Fb) & F(b & G(a | Fb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(((a) U (((b) R (Fc)))) & ((((a & Gb) | (!a & F!b))) R (((!b) U (G(b | G!c))))))", + "properties": { + "size": 17, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GF(a & Xb) & GF(c & XXa))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | XXa) & FG(!a | XX!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(F(a & b) | (Ga & XGc)) & G(F(d & e) | (Gd & XGf)))", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(a & XXb) & GF(c & XXd))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb & GF(a & XXb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(!a & b) & GF(a & Xb) & GF(!a & XXb))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(a & XXb) & GF(c & XXd) & GF(e & XXf))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a & Xb & XXc & XXXd & XXXXGe)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa | FG(a | XXa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F!a | F(b & (((c & ((!b) U (a)))) R ((!b & !c)))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | ((b) U ((a | (b & c & X((b) U (d)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((a | b | X((a) R ((a | c))))) U ((a | d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((b) W ((Fa | ((XXb) W (a))))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FG(a | XXa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & FGb) | FG(c | XXa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGc & GF(d & Xe)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Gb) | G(b | F(a & Gb)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(((!a) R (((!b) U (G!c)))) | ((((a & F!b) | (!a & Gb))) U (((b) R (F(!b & Fc))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | Xb) | FG(c | XXa))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(G(a | b) & (Fa | XFc)) | F(G(d | e) & (Fd | XFf)))", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | XXb) | FG(c | XXd))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(a & XXa) | GF(!a & XX!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GFb | FG(b | XXa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | b) | FG(!a | Xb) | FG(a | XXb))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | XXb) | FG(c | XXd) | FG(e | XXf))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a | Xb | XXc | XXXd | XXXXFe)", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a <-> (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a <-> ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a <-> (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(!a <-> ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc))))))", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & (a | Gc)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | XGc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | c | X((c) R (d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | Fc | (Fd & Ge)))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & X(b & XFc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) R (((!b) R ((b | ((c) U (b))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & (((c & ((b) R ((b | d))))) M (!b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & XFb & XG(!b | Gc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & Fb & (((c & ((b) R ((b | d))))) R (!b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | XXXb)", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG((a & Fb) | ((Fc) U ((a & Fc))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(((a) U (XXb)) | ((c) U (XXd)))", + "properties": { + "size": 144, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & XFc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & c & X((c) U (d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & Gc & (Fd | Ge)))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | (a & Fc)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | X(b | XGc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((!b) U (((b) U ((!b & ((c) R (!b))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | (((c | ((!b) U ((!b & d))))) W (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | XG!b | XF(b & Fc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(((!a) M (F!b)) | (a & G(a | b) & GFb) | (!a & (F(!a & !b) | FG!b)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | b | G!b | (((c | ((!b) U ((!b & d))))) U (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GF(a & XXXb)", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF((a | Gb) & ((Gc) R ((a | Gc))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(((a) R (XXb)) & ((c) R (XXd)))", + "properties": { + "size": 72, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "X(a & X(b & XGc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "X(a | X(b | XFc))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) M ((a & ((b) M ((b | c | X((b) R (d))))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((!a) M (((b & XF!a) | (!b & XGa))))) M (!a))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((XXa) R ((b & (((c) R (XXd)) | ((e) R (XXf)) | ((g) R (XXh))))))", + "properties": { + "size": 314, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((XXa) U ((b | (((c) U (XXd)) & ((e) U (XXf)) & ((g) U (XXh))))))", + "properties": { + "size": 314, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W ((a | ((b) W ((b & c & X((b) U (d))))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) W (((b & XGa) | (!b & XF!a))))) W (a))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & ((a) R ((a | c | X((a) R (d))))))) R (!a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & X((!a) U (c)) & X((a) R ((!c | Gd))))) R (!a)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb | GFc) & G(b | d | G(a | XFc)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((!a | GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a)))) & (a | (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a | ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc)))))) & (!a | ((((b | F!a) & (!b | Ga))) R (((!a) U (G(a | G!c)))))))", + "properties": { + "size": 31, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa | GF(b & XXa)) & FG(c | X(b & Xa)))", + "properties": { + "size": 18, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | XXXa) & FG(!a | XXX!a))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & FG(b | Xc) & GF(d & XXXe))", + "properties": { + "size": 18, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(!a & b) & GF(a & Xb) & GF(!a & XXb) & GF(a & XXXb))", + "properties": { + "size": 15, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | ((!a) U ((!a & c & X((!a) U (d))))))) U (a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | X((a) R (!c)) | X((!a) U ((c & Fd))))) U (a)))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF!a | (F!a & F(Xb & ((a & X!a) | (!a & Xa)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & FGb & GFc) | F(a & d & F(c & XGb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a & FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))) | (!a & (GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a & ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc)))))) | (!a & ((((b | F!a) & (!b | Ga))) R (((!a) U (G(a | G!c)))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((GFa & FG(b | XXa)) | GF(c & X(b | Xa)))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(a & XXXa) | GF(!a & XXX!a))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GF(b & Xc) | FG(d | XXXe))", + "properties": { + "size": 18, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | b) | FG(!a | Xb) | FG(a | XXb) | FG(!a | XXXb))", + "properties": { + "size": 15, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & (c | XGd)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & (c | d | X((d) R (e)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) M ((c & (b | d | X((b) R (e)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((!a) R ((b | ((b) R ((c | ((c) R (d)))))))))", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) R (((!b) R (((b) R (((!b) R ((!b | c))))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(((a) W (Gb)) & ((!a & G(a | b) & GFb) | (a & (F(!a & !b) | FG!b))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & ((c) R ((!b & (c | d | X((c) R (e)))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((!b & c & X((!b) U ((!b & d))))) R ((!b & e))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F!b & ((b) R ((c & (b | d | X((b) R (e)))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & XFc) & (((b & d & X((d) U ((c & d))))) R ((d & e))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & XFc) & (((b & Gd & XF(c & d))) R ((d & e))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & !c & Xc & X(Xb & ((c) R (((!c) R ((b & d)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | (c & XFd)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | (c & d & X((d) U (e)))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((!b) U (((b) U (((!b) U (((b) U ((b & c))))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) W ((c | (b & d & X((b) U (e)))))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(!a | ((a) U ((b & ((b) U ((c & ((c) U (d)))))))))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | Gb | ((!b) U ((c | (!b & d & X((!b) U (e)))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | ((c) U ((b | (c & d & X((c) U (e)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((b | c | X((b) R ((b | d))))) U ((b | e))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | XGc) | (((b | d | X((d) R ((c | d))))) U ((d | e))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | XGc) | (((b | Fd | XG(c | d))) U ((d | e))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | b | c | X!c | X(Xb | ((!c) U (((c) U ((b | d)))))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M ((!a | (((b) R (c)) & F(b & XFd)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M ((!a | ((b) M (((!b) M (((b) M (((!b) M (Fb)))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((!a) M (((!b & GFa & G(b | Xa)) | (b & (FG!a | F(!b & X!a))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R ((!b | !c | ((Gb) M (((c | d) & (!d | ((!c) R ((a | !c))))))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & c & ((F!b) W (((!c & !d) | (d & ((c) U ((a & c))))))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W (((b & GFa & G(b | Xa)) | (!b & (FG!a | F(!b & X!a))))))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((!a) W ((a & (((b) U (c)) | G(b | XGd)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((!a) W ((a & ((!b) W (((b) W (((!b) W (((b) W (G!b)))))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & ((a) R ((a | c | d | X(((a | d)) R (e))))))) R (!a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa | GF(b & XXc)) & (GFc | FG(d | X(b & Xa))))", + "properties": { + "size": 31, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | XXXXa) & FG(!a | XXXX!a))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | ((!a) U ((!a & c & d & X(((!a & d)) U (e))))))) U (a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((GFa & FG(b | XXc)) | (FGc & GF(d & X(b | Xa))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(a & XXXXa) | GF(!a & XXXX!a))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))", + "properties": { + "size": 14, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))", + "properties": { + "size": 14, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & XFc & XG(!c | Gd)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((!a) R (((b) R ((!a | ((!a) R ((c | ((c) R (!a)))))))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((c & ((b) R ((b | d | X((b) R (e))))))) R (!b)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((c & X((!b) U (d)) & X((b) R ((!d | Ge))))) R (!b)))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(!a & Xa & X(Xb & ((!a) R (((a) R (((!a) R ((b & c)))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & !c & Xc & X(Xb & ((!c) R (((c) R (((!c) R ((b & d)))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | XG!c | XF(c & Fd)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(!a | ((a) U (((b) U ((a & ((a) U ((c & ((c) U (a)))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((c | ((!b) U ((!b & d & X((!b) U (e))))))) U (b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((c | X((b) R (!d)) | X((!b) U ((d & Fe))))) U (b)))", + "properties": { + "size": 25, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | X!a | X(Xb | ((a) U (((!a) U (((a) U ((b | c)))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | c | X!c | X(Xb | ((c) U (((!c) U (((c) U ((b | d)))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((!a | GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a))))))) & (a | (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a)))))))))", + "properties": { + "size": 14, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a & FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))) | (!a & (GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a)))))))))", + "properties": { + "size": 14, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & (((b & ((c) R ((c | d | X((c) R (e))))))) R ((!c & F(b & (d | XGe))))))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & (((b & (((c | X((d) R (e)))) W (d)))) R ((!d & F(b & (c | XGe))))))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & (((b & ((c) R ((c | d | e | X(((c | e)) R (f))))))) R ((!c & F(b & (d | e | X((e) R (f))))))))", + "properties": { + "size": 15, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & (((b & (((c | d | X(((d | e)) R (f)))) W (e)))) R ((!e & F(b & (c | d | X((d) R (f))))))))", + "properties": { + "size": 15, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((c & ((b) R ((b | d | e | X(((b | e)) R (f))))))) R (!b)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (((b | (((c & X((!d) U (e)))) M (!d)))) U ((d | G(b | (c & XFe))))))", + "properties": { + "size": 65, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | (((b | ((!c) U ((!c & d & X((!c) U (e))))))) U ((c | G(b | (d & XFe))))))", + "properties": { + "size": 63, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | (((b | (((c & d & X(((d & !e)) U (f)))) M (!e)))) U ((e | G(b | (c & d & X((d) U (f))))))))", + "properties": { + "size": 110, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | (((b | ((!c) U ((!c & d & e & X(((!c & e)) U (f))))))) U ((c | G(b | (d & e & X((e) U (f))))))))", + "properties": { + "size": 116, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((c | ((!b) U ((!b & d & e & X(((!b & e)) U (f))))))) U (b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((a | b)) R ((!a & (((a | !b)) R ((!a & (((a | b)) R ((!a & (((a | !b)) R ((!a & ((b) R (!a)))))))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((!a & !b)) U ((a | (((!a & b)) U ((a | (((!a & !b)) U ((a | (((!a & b)) U ((a | ((!b) U (a)))))))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & (((b & X((!c) U (d)) & X((c) R ((!d | Ge))))) R ((!c & F(b & X((!c) U (d)) & X((c) R ((!d | Ge))))))))", + "properties": { + "size": 20, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (((b | X((c) R (!d)) | X((!c) U ((d & Fe))))) U ((c | G(b | X((c) R (!d)) | X((!c) U ((d & Fe))))))))", + "properties": { + "size": 83, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XX(G(!a | X(b & ((Fa) U (c))) | X(!b & ((G!a) R (!c)))) & G(a | X((b | ((Fa) U (c))) & (!b | ((G!a) R (!c))))))", + "properties": { + "size": 13, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "XX(F(a & X(b | ((Fa) U (c))) & X(!b | ((G!a) R (!c)))) | F(!a & X((b & ((Fa) U (c))) | (!b & ((G!a) R (!c))))))", + "properties": { + "size": 14, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & (((b | c)) R ((!c & (((!b | c)) R ((!c & (((b | c)) R ((!c & (((!b | c)) R ((!c & F!b & ((b) M (!c)))))))))))))))", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((!a | Xa) & X((!a) R ((!a | b | X(!a | !b | ((!a) R ((!a | b | X(!a | !b)))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((!a | Xa) & X(((b | X(!b | (((b | X(!a | !b))) W (!a))))) W (!a)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((b | c)) R ((!b & (((b | !c)) R ((!b & (((b | c)) R ((!b & (((b | !c)) R ((!b & ((c) R (!b)))))))))))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (((!b & !c)) U ((c | (((b & !c)) U ((c | (((!b & !c)) U ((c | (((b & !c)) U ((c | Gb | ((!b) W (c)))))))))))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((a & X!a) | X(((!b & X(b & (((!b & X(a & b))) M (a))))) M (a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((a & X!a) | X((a) U ((a & !b & X(a & b & ((a) U ((a & !b & X(a & b)))))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((!b & !c)) U ((b | (((!b & c)) U ((b | (((!b & !c)) U ((b | (((!b & c)) U ((b | ((!c) U (b)))))))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R ((b | X(c | G(d | XG(e | XG(f | XGg)))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & X(c & F(d & XF(e & XF(f & XFg)))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "EmersonLeiAcceptance", + "acceptanceSets": -1, + "complete": false, + "deterministic": true + } + } +] \ No newline at end of file diff --git a/data/formulas/sizes/dra.normalform.portfolio.json b/data/formulas/sizes/dra.normalform.portfolio.json index a1742062..46192232 100644 --- a/data/formulas/sizes/dra.normalform.portfolio.json +++ b/data/formulas/sizes/dra.normalform.portfolio.json @@ -904,7 +904,7 @@ { "formula": "(Ga & GFb)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -926,7 +926,7 @@ { "formula": "((a | Gb) & GFa)", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -992,7 +992,7 @@ { "formula": "(G(a | b) & GFb)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1003,7 +1003,7 @@ { "formula": "(G(a | b) & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1036,7 +1036,7 @@ { "formula": "(GFa & XGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1047,7 +1047,7 @@ { "formula": "(Ga & Gb & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1058,7 +1058,7 @@ { "formula": "(Ga & G(b | c) & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1069,7 +1069,7 @@ { "formula": "(Ga & GFb & GFc)", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1124,7 +1124,7 @@ { "formula": "(G(a | b) & GFb & GFc)", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1157,7 +1157,7 @@ { "formula": "(Fa & Fb & GFc & GFd)", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1168,7 +1168,7 @@ { "formula": "(Ga & GFb & GFc & GFd)", "properties": { - "size": 3, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1256,7 +1256,7 @@ { "formula": "(Fa & Fb & Fc & GFd & GFe & GFf)", "properties": { - "size": 10, + "size": 14, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1344,7 +1344,7 @@ { "formula": "(Fa | FGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1487,7 +1487,7 @@ { "formula": "((a & Fb) | FGa)", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1520,7 +1520,7 @@ { "formula": "(F(a & b) | FGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1531,7 +1531,7 @@ { "formula": "(F(a & b) | FGc)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1586,7 +1586,7 @@ { "formula": "(FGa | XFb)", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1619,7 +1619,7 @@ { "formula": "(Fa | Fb | FGc)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1630,7 +1630,7 @@ { "formula": "(Fa | F(b & c) | FGc)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1641,7 +1641,7 @@ { "formula": "(Fa | FGb | FGc)", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1663,7 +1663,7 @@ { "formula": "(F(a & b) | FGb | FGc)", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1685,7 +1685,7 @@ { "formula": "(FGa | FGb | GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1729,7 +1729,7 @@ { "formula": "(Fa | FGb | FGc | FGd)", "properties": { - "size": 4, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1740,7 +1740,7 @@ { "formula": "(Ga | Gb | FGc | FGd)", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1773,7 +1773,7 @@ { "formula": "(FGa | FGb | FGc | GFd)", "properties": { - "size": 1, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1806,7 +1806,7 @@ { "formula": "(FGa | FGb | FGc | FGd | GFe)", "properties": { - "size": 1, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1828,7 +1828,7 @@ { "formula": "(Ga | Gb | Gc | FGd | FGe | FGf)", "properties": { - "size": 10, + "size": 14, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -1839,7 +1839,7 @@ { "formula": "(FGa | FGb | FGc | FGd | FGe | GFf)", "properties": { - "size": 1, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2752,7 +2752,7 @@ { "formula": "(FGa & (FGb | FGc))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2774,7 +2774,7 @@ { "formula": "(G(a | b) & GF(b & c))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2851,7 +2851,7 @@ { "formula": "(GFa & G(b | Xa))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -2862,7 +2862,7 @@ { "formula": "(GFa & XG(a | b))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3071,7 +3071,7 @@ { "formula": "((Ga | Gb | Gc) & (FG!d | GFe | GF!f) & (FGf | GFd | GFe))", "properties": { - "size": 24, + "size": 28, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3203,7 +3203,7 @@ { "formula": "(GFa & (a | GFb) & (c | GFd) & (FGa | GFc))", "properties": { - "size": 55, + "size": 98, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3225,7 +3225,7 @@ { "formula": "(G(a | Fb) & G(c | Fd) & G(e | Ff) & G(g | Fh))", "properties": { - "size": 33, + "size": 66, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3379,7 +3379,7 @@ { "formula": "(F(a & b) | FG(b | c))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3434,7 +3434,7 @@ { "formula": "(FGa | F(b & Xa))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3456,7 +3456,7 @@ { "formula": "(FGa | XF(a & b))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3467,7 +3467,7 @@ { "formula": "(FG!a | (Ga & GFb))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3489,7 +3489,7 @@ { "formula": "(GFa | (GFb & GFc))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3643,7 +3643,7 @@ { "formula": "(!a | (FG!a & FGb) | (GFa & GF!a))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3720,7 +3720,7 @@ { "formula": "(FGa | FGb | (GFc & GFd))", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3742,7 +3742,7 @@ { "formula": "(FGa | FGb | GF(a & b))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3830,7 +3830,7 @@ { "formula": "(FGa | GFa | GFb | FG(a | b))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3841,7 +3841,7 @@ { "formula": "(FGa | (a & FGb) | (c & FGd) | (FGc & GFa))", "properties": { - "size": 9, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -3863,7 +3863,7 @@ { "formula": "(F(a & Gb) | F(c & Gd) | F(e & Gf) | F(g & Gh))", "properties": { - "size": 33, + "size": 66, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4006,7 +4006,7 @@ { "formula": "F((a | !b) & (Ga | Gb | Gc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4050,7 +4050,7 @@ { "formula": "F((a | Gb) & (c | Gd))", "properties": { - "size": 9, + "size": 10, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4160,7 +4160,7 @@ { "formula": "F((a | Gb) & (b | Ga) & (c | Gd))", "properties": { - "size": 20, + "size": 19, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4171,7 +4171,7 @@ { "formula": "F((a | Gb) & (c | Gd) & (e | Gf))", "properties": { - "size": 73, + "size": 80, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4369,7 +4369,7 @@ { "formula": "G((a & b) | (Fa & F!b & Fc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4402,7 +4402,7 @@ { "formula": "G((a & Fb) | (c & Fd))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4512,7 +4512,7 @@ { "formula": "G((a & Fb) | (b & Fa) | (c & Fd))", "properties": { - "size": 19, + "size": 18, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4523,7 +4523,7 @@ { "formula": "G((a & Fb) | (c & Fd) | (e & Ff))", "properties": { - "size": 72, + "size": 79, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4853,7 +4853,7 @@ { "formula": "((X((((a) U (b))) R (c))) U (((a) R (c))))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4908,7 +4908,7 @@ { "formula": "(a & F(b & (a | Gb)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4919,7 +4919,7 @@ { "formula": "(Fa & (FGb | (FGa & FGc)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -4930,7 +4930,7 @@ { "formula": "(Fa & G(Xb | (b & Fc)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5040,7 +5040,7 @@ { "formula": "(G(a | b) & GF(b & Xc))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5051,7 +5051,7 @@ { "formula": "(G(a | b) & GF(c & Xb))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5084,7 +5084,7 @@ { "formula": "(GFa & G(b | F(b & c)))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5095,7 +5095,7 @@ { "formula": "(GF!a & G(a | XFb))", "properties": { - "size": 3, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5172,7 +5172,7 @@ { "formula": "(G(a | Xb) & GF(b & Xc))", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5194,7 +5194,7 @@ { "formula": "(G(a | Xb) & GF(c & Xb))", "properties": { - "size": 4, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5249,7 +5249,7 @@ { "formula": "((((a) R (b)) | (FGa & GFb) | (FGc & GFd)) & (((a) R (c)) | (FGa & GFd) | (FGc & GFb)))", "properties": { - "size": 13, + "size": 14, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5260,7 +5260,7 @@ { "formula": "((FGa | XFb | GF(a & c)) & (FGd | XXe | GF(d & f)))", "properties": { - "size": 10, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5315,7 +5315,7 @@ { "formula": "(Ga & (GFb | GFc) & G(d | ((!d) U ((b | c)))))", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5348,7 +5348,7 @@ { "formula": "(GFa & GF!a & G(a | XFb))", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5425,7 +5425,7 @@ { "formula": "(a | G(b | (a & Fb)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5447,7 +5447,7 @@ { "formula": "(Ga | (GFb & (GFa | GFc)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5458,7 +5458,7 @@ { "formula": "(Ga | F(Xb & (b | Gc)))", "properties": { - "size": 11, + "size": 12, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5524,7 +5524,7 @@ { "formula": "(F(a & b) | FG(b | Xc))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5535,7 +5535,7 @@ { "formula": "(F(a & b) | FG(c | Xb))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5546,7 +5546,7 @@ { "formula": "(FGa | F(!a & XGb))", "properties": { - "size": 3, + "size": 2, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5557,7 +5557,7 @@ { "formula": "(FGa | F(b & G(b | c)))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5656,7 +5656,7 @@ { "formula": "((GFa & GFb & GFc) | (FG!c & (FG!a | FG!b)))", "properties": { - "size": 6, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5667,7 +5667,7 @@ { "formula": "((GFa & GFb & GFc & GFd) | (FG!c & (FG!a | FG!b | FG!d)))", "properties": { - "size": 12, + "size": 21, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5678,7 +5678,7 @@ { "formula": "((GFa & GFb & GFc & GFd & GFe) | (FG!c & (FG!a | FG!b | FG!d | FG!e)))", "properties": { - "size": 20, + "size": 56, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5700,7 +5700,7 @@ { "formula": "(F(a & Xb) | FG(b | Xc))", "properties": { - "size": 6, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5722,7 +5722,7 @@ { "formula": "(F(a & Xb) | FG(c | Xb))", "properties": { - "size": 5, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5766,7 +5766,7 @@ { "formula": "((((a) U (b)) & (FGb | GFa) & (FGc | GFd)) | (((a) U (d)) & (FGb | GFd) & (FGc | GFa)))", "properties": { - "size": 11, + "size": 13, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5832,7 +5832,7 @@ { "formula": "(Fa | (FGb & FGc) | F(!d & ((d) R ((b & c)))))", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5843,7 +5843,7 @@ { "formula": "(FGa | FG!a | F(!a & XGb))", "properties": { - "size": 4, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5909,7 +5909,7 @@ { "formula": "(FGa | FGb | (FGc & GF!d) | FG(c | Xd))", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -5942,7 +5942,7 @@ { "formula": "F(a & (Ga | Gb | (c & Gd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6129,7 +6129,7 @@ { "formula": "F((a | XXb) & (b | XXc) & (c | XGd))", "properties": { - "size": 60, + "size": 63, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6173,7 +6173,7 @@ { "formula": "G(a | (Fa & Fb & (c | Fd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6261,7 +6261,7 @@ { "formula": "G(a | ((b) U ((Gc | Gd))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6360,7 +6360,7 @@ { "formula": "G((a & XXb) | (b & XXc) | (c & XFd))", "properties": { - "size": 59, + "size": 62, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6481,7 +6481,7 @@ { "formula": "(((a & Xb)) R (X((((((c) U (d))) R (a))) U (((c) R (a))))))", "properties": { - "size": 12, + "size": 15, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6635,7 +6635,7 @@ { "formula": "((GFa | GFb) & GF(c & XXa))", "properties": { - "size": 5, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6657,7 +6657,7 @@ { "formula": "(((a) U (((b) R (Fc)))) & ((((a & Gb) | (!a & F!b))) R (((!b) U (G(b | G!c))))))", "properties": { - "size": 40, + "size": 29, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6690,7 +6690,7 @@ { "formula": "(G(F(a & b) | (Ga & XGc)) & G(F(d & e) | (Gd & XGf)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6822,7 +6822,7 @@ { "formula": "((FGa & FGb) | FG(c | XXa))", "properties": { - "size": 5, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6866,7 +6866,7 @@ { "formula": "(((!a) R (((!b) U (G!c)))) | ((((a & F!b) | (!a & Gb))) U (((b) R (F(!b & Fc))))))", "properties": { - "size": 44, + "size": 36, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6888,7 +6888,7 @@ { "formula": "(F(G(a | b) & (Fa | XFc)) | F(G(d | e) & (Fd | XFf)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -6998,7 +6998,7 @@ { "formula": "(!a <-> ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc))))))", "properties": { - "size": 31, + "size": 49, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7042,7 +7042,7 @@ { "formula": "F(a & G(b | Fc | (Fd & Ge)))", "properties": { - "size": 7, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7185,7 +7185,7 @@ { "formula": "G(a | F(b & Gc & (Fd | Ge)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7262,7 +7262,7 @@ { "formula": "G(((!a) M (F!b)) | (a & G(a | b) & GFb) | (!a & (F(!a & !b) | FG!b)))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7460,7 +7460,7 @@ { "formula": "((a | ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc)))))) & (!a | ((((b | F!a) & (!b | Ga))) R (((!a) U (G(a | G!c)))))))", "properties": { - "size": 52, + "size": 49, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7603,7 +7603,7 @@ { "formula": "(FGa | GF(b & Xc) | FG(d | XXXe))", "properties": { - "size": 16, + "size": 18, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7669,7 +7669,7 @@ { "formula": "F(a & ((!a) R ((b | ((b) R ((c | ((c) R (d)))))))))", "properties": { - "size": 14, + "size": 10, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7680,7 +7680,7 @@ { "formula": "F(a & ((b) R (((!b) R (((b) R (((!b) R ((!b | c))))))))))", "properties": { - "size": 8, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7691,7 +7691,7 @@ { "formula": "F(((a) W (Gb)) & ((!a & G(a | b) & GFb) | (a & (F(!a & !b) | FG!b))))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7801,7 +7801,7 @@ { "formula": "G(a | ((!b) U (((b) U (((!b) U (((b) U ((b & c))))))))))", "properties": { - "size": 7, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7823,7 +7823,7 @@ { "formula": "G(!a | ((a) U ((b & ((b) U ((c & ((c) U (d)))))))))", "properties": { - "size": 13, + "size": 9, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7889,7 +7889,7 @@ { "formula": "G(a | G(b | XGc) | (((b | Fd | XG(c | d))) U ((d | e))))", "properties": { - "size": 39, + "size": 22, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7933,7 +7933,7 @@ { "formula": "((!a) M (((!b & GFa & G(b | Xa)) | (b & (FG!a | F(!b & X!a))))))", "properties": { - "size": 7, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -7966,7 +7966,7 @@ { "formula": "((a) W (((b & GFa & G(b | Xa)) | (!b & (FG!a | F(!b & X!a))))))", "properties": { - "size": 14, + "size": 19, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8065,7 +8065,7 @@ { "formula": "(a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8076,7 +8076,7 @@ { "formula": "(!a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8098,7 +8098,7 @@ { "formula": "F(a & ((!a) R (((b) R ((!a | ((!a) R ((c | ((c) R (!a)))))))))))", "properties": { - "size": 10, + "size": 8, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8131,7 +8131,7 @@ { "formula": "F(!a & Xa & X(Xb & ((!a) R (((a) R (((!a) R ((b & c)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8142,7 +8142,7 @@ { "formula": "F(a & b & !c & Xc & X(Xb & ((!c) R (((c) R (((!c) R ((b & d)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8164,7 +8164,7 @@ { "formula": "G(!a | ((a) U (((b) U ((a & ((a) U ((c & ((c) U (a)))))))))))", "properties": { - "size": 9, + "size": 7, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8186,7 +8186,7 @@ { "formula": "G(a | G!b | (((c | X((b) R (!d)) | X((!b) U ((d & Fe))))) U (b)))", "properties": { - "size": 25, + "size": 23, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8197,7 +8197,7 @@ { "formula": "G(a | X!a | X(Xb | ((a) U (((!a) U (((a) U ((b | c)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8208,7 +8208,7 @@ { "formula": "G(a | b | c | X!c | X(Xb | ((c) U (((!c) U (((c) U ((b | d)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8219,7 +8219,7 @@ { "formula": "((!a | GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a))))))) & (a | (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a)))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8230,7 +8230,7 @@ { "formula": "((a & FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))) | (!a & (GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a)))))))))", "properties": { - "size": 13, + "size": 16, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8241,7 +8241,7 @@ { "formula": "F(a & (((b & ((c) R ((c | d | X((c) R (e))))))) R ((!c & F(b & (d | XGe))))))", "properties": { - "size": 25, + "size": 38, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8252,7 +8252,7 @@ { "formula": "F(a & (((b & (((c | X((d) R (e)))) W (d)))) R ((!d & F(b & (c | XGe))))))", "properties": { - "size": 25, + "size": 38, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8263,7 +8263,7 @@ { "formula": "F(a & (((b & ((c) R ((c | d | e | X(((c | e)) R (f))))))) R ((!c & F(b & (d | e | X((e) R (f))))))))", "properties": { - "size": 66, + "size": 60, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8274,7 +8274,7 @@ { "formula": "F(a & (((b & (((c | d | X(((d | e)) R (f)))) W (e)))) R ((!e & F(b & (c | d | X((d) R (f))))))))", "properties": { - "size": 66, + "size": 60, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8307,7 +8307,7 @@ { "formula": "G(a | (((b | (((c & X((!d) U (e)))) M (!d)))) U ((d | G(b | (c & XFe))))))", "properties": { - "size": 203, + "size": 331, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8318,7 +8318,7 @@ { "formula": "G(a | (((b | ((!c) U ((!c & d & X((!c) U (e))))))) U ((c | G(b | (d & XFe))))))", "properties": { - "size": 204, + "size": 332, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8329,7 +8329,7 @@ { "formula": "G(a | (((b | (((c & d & X(((d & !e)) U (f)))) M (!e)))) U ((e | G(b | (c & d & X((d) U (f))))))))", "properties": { - "size": 276, + "size": 435, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8340,7 +8340,7 @@ { "formula": "G(a | (((b | ((!c) U ((!c & d & e & X(((!c & e)) U (f))))))) U ((c | G(b | (d & e & X((e) U (f))))))))", "properties": { - "size": 285, + "size": 446, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8406,7 +8406,7 @@ { "formula": "G(a | (((b | X((c) R (!d)) | X((!c) U ((d & Fe))))) U ((c | G(b | X((c) R (!d)) | X((!c) U ((d & Fe))))))))", "properties": { - "size": 452, + "size": 474, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8428,7 +8428,7 @@ { "formula": "XX(F(a & X(b | ((Fa) U (c))) & X(!b | ((G!a) R (!c)))) | F(!a & X((b & ((Fa) U (c))) | (!b & ((G!a) R (!c))))))", "properties": { - "size": 19, + "size": 20, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8439,7 +8439,7 @@ { "formula": "F(a & (((b | c)) R ((!c & (((!b | c)) R ((!c & (((b | c)) R ((!c & (((!b | c)) R ((!c & F!b & ((b) M (!c)))))))))))))))", "properties": { - "size": 9, + "size": 10, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, @@ -8505,7 +8505,7 @@ { "formula": "G(a | (((!b & !c)) U ((c | (((b & !c)) U ((c | (((!b & !c)) U ((c | (((b & !c)) U ((c | Gb | ((!b) W (c)))))))))))))))", "properties": { - "size": 939, + "size": 29, "initialStatesSize": 1, "acceptanceName": "EmersonLeiAcceptance", "acceptanceSets": -1, diff --git a/data/formulas/sizes/dra.symmetric.optimizations.minimal.json b/data/formulas/sizes/dra.symmetric.optimizations.minimal.json new file mode 100644 index 00000000..d9e84b8d --- /dev/null +++ b/data/formulas/sizes/dra.symmetric.optimizations.minimal.json @@ -0,0 +1,4780 @@ +[ + { + "formula": "false" + }, + { + "formula": "true", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "a", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a | b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a <-> b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "Fa", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "Ga", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "Xa", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & F!a)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & ((b) R (a)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a & Fa)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a | b) & (!a | !b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a | !b) & (!a | b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a <-> b) & G!b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & F!a)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & Fb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & Gb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & Xb)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((b) R (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & Gb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & Xb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a | ((b) U (a)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a | Ga)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a & b) | (!a & !b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a & !b) | (!a & b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a <-> b) | Fb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | Fb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | Gb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | Xb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | G!a)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | Gb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | Xb)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((b) U (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a <-> Ga)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a <-> Ga)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FGa", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | b)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GFa", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "X(a & b)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "X(a | b)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "XFa", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XGa", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M ((a | b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R ((a | b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R (((b) R (c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Ga) R (Fb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) U ((a & b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (((b) U (c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa) U (Gb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) W ((a & b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & FGa)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (a | Gb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & FGa)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & GFb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & XF!a)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & ((((a) R (b))) M (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((b) R ((!a & c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F!a & XFa)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga & F(b & c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & G(b | c))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a & ((a & b) | (!a & !b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a | Gb) & GFa)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa | G!b) & (Fb | G!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & GFb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & XGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & Gb & GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & G(b | c) & GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & GFb & GFc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb & FGc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GFb & GFc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) R (((b) R (c)))) & ((b) R (((c) R (a)))) & ((c) R (((a) R (b)))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & GFb & GFc & GFd)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & GFb & GFc & GFd & GFe)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a | GFa)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | ((a | b) & (!a | !b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | F(b & c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | FGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | G(b | c))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | XF!a)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F!a | XFa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | (a & Fb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | FGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | GFa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | XG!a)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | XGa)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((b) U ((a | c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((((!a) U (b))) W (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a & Fb) | FGa)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((Fa & G!b) | (Fb & G!a))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FGc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GFa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | XFb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(((a) U (Ga)) | ((b) U (Gb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa | Fb | FGc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | F(b & c) | FGc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | FGb | FGc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FGb | FGc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | GFb | GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(((a) U (((b) U (c)))) | ((b) U (((c) U (a)))) | ((c) U (((a) U (b)))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa | FGb | FGc | FGd)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FGc | FGd | FGe)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 10, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F!a <-> (!a <-> Ga))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga <-> (!a <-> Ga))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & Fb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Gb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Xb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) M (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) R (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) U (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) W (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Ga & ((b) M (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Ga & ((b) R (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Ga & ((b) U (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Ga & ((b) W (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & ((c) M (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & Fb & ((c) R (!b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | Fb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | Gb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | Xb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) M (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) R (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) U (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) W (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(Fa | ((b) M (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(Fa | ((b) R (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(Fa | ((b) U (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(Fa | ((b) W (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | b | ((c) W (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | G!b | ((c) U (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "XF(a & b)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XG(a | b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "XXFa", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XXGa", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) R (Fb))) M (a))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R ((b | Fc)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) R ((b | Ga)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((Ga & Xb)) R (b))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & Fa)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & Gc)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((Fa | Xb)) U (b))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((!a) U (G!a))) U ((a | G!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) U (Gb))) W (a))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & F(a & ((b) M (!a))))" + }, + { + "formula": "(!a & ((b) M ((!a & ((b) M (a))))))" + }, + { + "formula": "(Fa & (FGb | GFa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & G(!a | Gb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & G(!a | ((b) M (c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((Gb) M ((b | Xb))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((((a) R ((a | b)))) R (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & F(b & Xc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Xa & (Ga | ((b) M (Xa))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(X!a & (b | Fc | ((((d) R (!b))) U (Xa))))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) R (b)) & F(c & Xa))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & (Ga | ((b) U (Ga))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GF(b & c))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & G(a | Xa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & G(a | Xb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & G(b | Xa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & XG(a | b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((X!a) R (!b)) & X((a) U ((a & b))))" + }, + { + "formula": "((!a | ((b) U (Xa))) & (Fc | ((b) R (X!a))))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (FGc | GFa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (FGc | GFd))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 8, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FG!a | GFb) & (FG!b | GFa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & GF(b & c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & (FGa | FG!a) & (GFa | GFb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & Fb & (FGc | FG!c))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & Fb & (GFc | GF!c))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & FGb & (Ga | GFb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a & GFb & G(b | Xa))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb & GF(a & b))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (FGc | GFa) & (FGd | GFc))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 10, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (FGc | GFd) & (FGe | GFf))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 16, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb & GFb & GF(a & b))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & (a | GFb) & (c | GFd) & (FGa | GFc))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (FGc | GFa) & (FGd | GFc) & (FGe | GFd))", + "properties": { + "size": 27, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 16, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a | ((b) W ((a | ((b) W (!a))))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(!a | G(!a | ((b) W (a))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | G(b | Xc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | (FGa & GFb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | ((Fb) W ((b & Xb))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | F(a & Fb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | F(a & ((b) W (c))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | ((((!a) U ((!a & b)))) U (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Xa | (Fa & ((b) W (Xa))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Xa | (!b & Gc & ((((d) U (b))) R (X!a))))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) U (b)) | G(c | Xa))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FG(b | c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(a & Xa))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(a & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(b & Xa))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | XF(a & b))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | (Fa & ((b) R (Fa))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(((Xa) U (b)) | X((!a) R ((!a | !b))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a & ((b) R (X!a))) | (Gc & ((b) U (Xa))))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGb & GFc))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGc & GFd))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FG!a & GFb) | (FG!b & GFa))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | FG(b | c))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(!a | (FG!a & FGb) | (GFa & GF!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | FGb | F(b & X!a))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | Gb | (FGc & FG!c))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | Gb | (GFc & GF!c))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | GFb | (Fa & FGb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | GFb | FG(a | b))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGb & GFc) | (FGc & GFd))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGc & GFd) | (FGe & GFf))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GFa | GFb | FG(a | b))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | (a & FGb) | (c & FGd) | (FGc & GFa))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 8, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGb & GFc) | (FGc & GFd) | (FGd & GFe))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 8, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa <-> X(Fa | Gb))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a <-> X(Fa | Gb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & XGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & X((b) U (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(!a & ((a) R (X!a)))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((a | !b) & (Ga | Gb | Gc))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Fa & (Fb | Gb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(((a) U (b)) & (Fc | Ga))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((Fa | Gb) & (((b) M (c)) | ((c) M (d))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & ((c) M ((b & d))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & ((b) M ((b | c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & ((b) R ((b | c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((a | Gb) & (b | Ga) & (c | Gd))", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & Fb & ((c) R ((!b & d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | Xb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | ((b) M (!a)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | ((a) R (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | XFb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | X((b) R (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((!a) U (Xa)))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G((a & b) | (Fa & F!b & Fc))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(Ga | (Fb & Gb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(((a) R (b)) | (Fa & Gc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((Fa & Gb) | (((a) W (c)) & ((c) W (d))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | ((!b) U ((!b & c))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | ((!b) W ((!b & c))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | ((c) W ((b | d))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((a & Fb) | (b & Fa) | (c & Fd))", + "properties": { + "size": 40, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 10, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | G!b | ((c) U ((b | d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GF(a & Xb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(a & ((a) U (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(!a & ((b) W (a)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) M ((a | b | X((a) R (c)))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) R (Xa))) M (((((Ga) M (a))) U (((b) R (c))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R ((b | X((c) R (d)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((((Fa) W (a))) M (b))) R (((a) U (Xa))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & X((c) U (d)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((((Ga) M (a))) W (b))) U (((a) R (Xa))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W ((a & b & X((a) U (c)))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) U (Xa))) W (((((Fa) W (a))) R (((b) U (c))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & F(b & (a | Gb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (FGb | (FGa & FGc)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & ((a) R ((a | c))))) R (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & (Fb | F(Fb & Ga)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) R (b)) & F(a & XFc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((!a) R (!b)) & (Gc | ((Fa) W ((b & Xa)))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & GF(a & Xa))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GF(b & Xc))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GF(c & Xb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & F(b & G(a | c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & G(b | F(b & c)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF!a & G(a | XFb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & GF(b & Xc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & GF(c & Xa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & GF(c & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(!a | Fb) & (((Xa) U (b)) | X((!a) R ((!a | !b)))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(XG(a | b) & GF(c & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa | X(F!b & G!a)) & (G!a | X(Fa | Gb)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | XGb) & G(c | XG!b))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & GF!a & G(a | XFb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a | G(b | (a & Fb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa | (Gb & G(Fa | Gb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | (GFb & (GFa | GFc)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | ((!a) U ((!a & c))))) U (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) U (b)) | (Fc & ((G!a) M ((!b | X!a)))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) U (b)) | G(a | XGc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FG(b | Xc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FG(c | Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(!a & XGb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(b & G(b | c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | G(b | F(a & c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | FG(a | Xa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & G!b) | (((X!a) R (!b)) & X((a) U ((a & b)))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | FG(b | Xc))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | FG(c | Xa))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | FG(c | Xb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(XF(a & b) | FG(c | Xb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((Fa & X(F!b & G!a)) | (G!a & X(Fa | Gb)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & XF!b) | F(c & XFb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FG!a | F(!a & XGb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & (Ga | Gb | (c & Gd)))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & Gc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(a | Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | Ga))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | Xc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) R ((Fc & Fd))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Fa & (Gb | F(b & c)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(Xa | ((a) W (Xa)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | Xb | XXc)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (Fa & Fb & (c | Fd)))", + "properties": { + "size": 17, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(a & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & Fa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & Xb))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & Xc))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | Fc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) U ((Gc | Gd))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(Ga | (Fb & G(b | c)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GF(Xa & ((a) M (Xa)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(a & Xb & XXc)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "X((a & FGa) | (!a & GF!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "X((a & GF!a) | (!a & FGa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) M (((!a) M (((a) M (((!a) M (Fa))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) R (X(b | XGa)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a & Xb)) R (X((((((c) U (d))) R (a))) U (((c) R (a))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (X(b & XFa)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a | Xb)) U (X((((((c) R (d))) U (a))) R (((c) U (a))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((!a) W (((a) W (((!a) W (((a) W (G!a))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((b) M ((G!a & ((XXb) M (!a))))))" + }, + { + "formula": "(Fa & ((b) R ((!a & (b | c | X((b) R (d)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((!a & b & X((!a) U ((!a & c))))) R ((!a & d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & G(!b | (((!c | ((b) R (!a)))) U ((b | c)))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & GF(a & XXa))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & (Ga | G(Xb | (a & Xa) | (!a & X!a))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & GF(a & XXa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | Fb) & F(b & G(a | Fb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | XXa) & FG(!a | XX!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | FG(a | XXa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F!a | F(b & (((c & ((!b) U (a)))) R ((!b & !c)))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | ((b) U ((a | (b & c & X((b) U (d)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((a | b | X((a) R ((a | c))))) U ((a | d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((b) W ((Fa | ((XXb) W (a))))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FG(a | XXa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Gb) | G(b | F(a & Gb)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(a & XXa) | GF(!a & XX!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a <-> (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(!a <-> (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | XGc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | c | X((c) R (d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | Fc | (Fd & Ge)))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & X(b & XFc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & (((c & ((b) R ((b | d))))) M (!b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & XFb & XG(!b | Gc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & Fb & (((c & ((b) R ((b | d))))) R (!b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG((a & Fb) | ((Fc) U ((a & Fc))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & XFc))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & c & X((c) U (d))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & Gc & (Fd | Ge)))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | X(b | XGc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | (((c | ((!b) U ((!b & d))))) W (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | XG!b | XF(b & Fc))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(((!a) M (F!b)) | (a & G(a | b) & GFb) | (!a & (F(!a & !b) | FG!b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | b | G!b | (((c | ((!b) U ((!b & d))))) U (b)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GF((a | Gb) & ((Gc) R ((a | Gc))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) M ((a & ((b) M ((b | c | X((b) R (d))))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((!a) M (((b & XF!a) | (!b & XGa))))) M (!a))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W ((a | ((b) W ((b & c & X((b) U (d))))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) W (((b & XGa) | (!b & XF!a))))) W (a))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & ((a) R ((a | c | X((a) R (d))))))) R (!a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & X((!a) U (c)) & X((a) R ((!c | Gd))))) R (!a)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb | GFc) & G(b | d | G(a | XFc)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((!a | GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a)))) & (a | (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | ((!a) U ((!a & c & X((!a) U (d))))))) U (a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | X((a) R (!c)) | X((!a) U ((c & Fd))))) U (a)))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF!a | (F!a & F(Xb & ((a & X!a) | (!a & Xa)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & FGb & GFc) | F(a & d & F(c & XGb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a & FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))) | (!a & (GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & (c | XGd)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & (c | d | X((d) R (e)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) M ((c & (b | d | X((b) R (e)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(((a) W (Gb)) & ((!a & G(a | b) & GFb) | (a & (F(!a & !b) | FG!b))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & ((c) R ((!b & (c | d | X((c) R (e)))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((!b & c & X((!b) U ((!b & d))))) R ((!b & e))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & XFc) & (((b & d & X((d) U ((c & d))))) R ((d & e))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & !c & Xc & X(Xb & ((c) R (((!c) R ((b & d)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | (c & XFd)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | (c & d & X((d) U (e)))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) W ((c | (b & d & X((b) U (e)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | ((c) U ((b | (c & d & X((c) U (e)))))))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((b | c | X((b) R ((b | d))))) U ((b | e))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | XGc) | (((b | d | X((d) R ((c | d))))) U ((d | e))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | c | X!c | X(Xb | ((!c) U (((c) U ((b | d)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M ((!a | (((b) R (c)) & F(b & XFd)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M ((!a | ((b) M (((!b) M (((b) M (((!b) M (Fb)))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((!a) W ((a & (((b) U (c)) | G(b | XGd)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((!a) W ((a & ((!b) W (((b) W (((!b) W (((b) W (G!b)))))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & ((a) R ((a | c | d | X(((a | d)) R (e))))))) R (!a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | ((!a) U ((!a & c & d & X(((!a & d)) U (e))))))) U (a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & XFc & XG(!c | Gd)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((!a) R (((b) R ((!a | ((!a) R ((c | ((c) R (!a)))))))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((c & ((b) R ((b | d | X((b) R (e))))))) R (!b)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((c & X((!b) U (d)) & X((b) R ((!d | Ge))))) R (!b)))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(!a & Xa & X(Xb & ((!a) R (((a) R (((!a) R ((b & c)))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & !c & Xc & X(Xb & ((!c) R (((c) R (((!c) R ((b & d)))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | XG!c | XF(c & Fd)))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(!a | ((a) U (((b) U ((a & ((a) U ((c & ((c) U (a)))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((c | ((!b) U ((!b & d & X((!b) U (e))))))) U (b)))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((c | X((b) R (!d)) | X((!b) U ((d & Fe))))) U (b)))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | X!a | X(Xb | ((a) U (((!a) U (((a) U ((b | c)))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | c | X!c | X(Xb | ((c) U (((!c) U (((c) U ((b | d)))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((!a | GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a))))))) & (a | (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a)))))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a & FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))) | (!a & (GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a)))))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & (((b & ((c) R ((c | d | X((c) R (e))))))) R ((!c & F(b & (d | XGe))))))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & (((b & ((c) R ((c | d | e | X(((c | e)) R (f))))))) R ((!c & F(b & (d | e | X((e) R (f))))))))", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((c & ((b) R ((b | d | e | X(((b | e)) R (f))))))) R (!b)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (((b | ((!c) U ((!c & d & X((!c) U (e))))))) U ((c | G(b | (d & XFe))))))", + "properties": { + "size": 26, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 14, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | (((b | ((!c) U ((!c & d & e & X(((!c & e)) U (f))))))) U ((c | G(b | (d & e & X((e) U (f))))))))", + "properties": { + "size": 121, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 16, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((c | ((!b) U ((!b & d & e & X(((!b & e)) U (f))))))) U (b)))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((a | b)) R ((!a & (((a | !b)) R ((!a & (((a | b)) R ((!a & (((a | !b)) R ((!a & ((b) R (!a)))))))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((!a & !b)) U ((a | (((!a & b)) U ((a | (((!a & !b)) U ((a | (((!a & b)) U ((a | ((!b) U (a)))))))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & (((b & X((!c) U (d)) & X((c) R ((!d | Ge))))) R ((!c & F(b & X((!c) U (d)) & X((c) R ((!d | Ge))))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (((b | X((c) R (!d)) | X((!c) U ((d & Fe))))) U ((c | G(b | X((c) R (!d)) | X((!c) U ((d & Fe))))))))", + "properties": { + "size": 13, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 10, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & (((b | c)) R ((!c & (((!b | c)) R ((!c & (((b | c)) R ((!c & (((!b | c)) R ((!c & F!b & ((b) M (!c)))))))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((b | c)) R ((!b & (((b | !c)) R ((!b & (((b | c)) R ((!b & (((b | !c)) R ((!b & ((c) R (!b)))))))))))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (((!b & !c)) U ((c | (((b & !c)) U ((c | (((!b & !c)) U ((c | (((b & !c)) U ((c | Gb | ((!b) W (c)))))))))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 8, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((!b & !c)) U ((b | (((!b & c)) U ((b | (((!b & !c)) U ((b | (((!b & c)) U ((b | ((!c) U (b)))))))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R ((b | X(c | G(d | XG(e | XG(f | XGg)))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & X(c & F(d & XF(e & XF(f & XFg)))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + } +] \ No newline at end of file diff --git a/data/formulas/sizes/dra.symmetric.optimizations.minimal.old.json b/data/formulas/sizes/dra.symmetric.optimizations.minimal.old.json new file mode 100644 index 00000000..a0536847 --- /dev/null +++ b/data/formulas/sizes/dra.symmetric.optimizations.minimal.old.json @@ -0,0 +1,4106 @@ +[ + { + "formula": "false" + }, + { + "formula": "true", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "a", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a | b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a <-> b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "Fa", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "Ga", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "Xa", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & F!a)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a & Fa)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a | b) & (!a | !b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a | !b) & (!a | b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a <-> b) & G!b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & Fb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & Gb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & Xb)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((b) R (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & Gb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & Xb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a | Ga)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a & b) | (!a & !b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a & !b) | (!a & b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a <-> b) | Fb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | Fb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | Gb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | Xb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | Gb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | Xb)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((b) U (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a <-> Ga)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a <-> Ga)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FGa", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | b)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GFa", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "X(a & b)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "X(a | b)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "XFa", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XGa", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M ((a | b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W ((a & b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & FGa)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & FGa)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & GFb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & XF!a)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & ((((a) R (b))) M (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((b) R ((!a & c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F!a & XFa)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga & F(b & c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & G(b | c))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a & ((a & b) | (!a & !b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a | Gb) & GFa)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & GFb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & XGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & Gb & GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & G(b | c) & GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & GFb & GFc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb & FGc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GFb & GFc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a | GFa)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | ((a | b) & (!a | !b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | F(b & c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | FGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | G(b | c))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | XF!a)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F!a | XFa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | FGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | GFa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | XG!a)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | XGa)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((b) U ((a | c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((((!a) U (b))) W (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a & Fb) | FGa)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FGc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GFa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | XFb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(((a) U (Ga)) | ((b) U (Gb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa | Fb | FGc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | F(b & c) | FGc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | FGb | FGc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FGb | FGc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | GFb | GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F!a <-> (!a <-> Ga))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga <-> (!a <-> Ga))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & Fb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Gb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Xb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) M (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) R (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) U (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) W (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Ga & ((b) M (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Ga & ((b) R (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Ga & ((b) U (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Ga & ((b) W (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & ((c) M (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & Fb & ((c) R (!b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | Fb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | Gb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | Xb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) M (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) R (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) U (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) W (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(Fa | ((b) M (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(Fa | ((b) R (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(Fa | ((b) U (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(Fa | ((b) W (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | b | ((c) W (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | G!b | ((c) U (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "XF(a & b)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XG(a | b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "XXFa", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XXGa", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) R (Fb))) M (a))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R ((b | Ga)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((Ga & Xb)) R (b))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & Fa)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((Fa | Xb)) U (b))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((!a) U (G!a))) U ((a | G!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) U (Gb))) W (a))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & F(a & ((b) M (!a))))" + }, + { + "formula": "(!a & ((b) M ((!a & ((b) M (a))))))" + }, + { + "formula": "(Fa & (FGb | GFa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & G(!a | Gb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & G(!a | ((b) M (c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((Gb) M ((b | Xb))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((((a) R ((a | b)))) R (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & F(b & Xc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Xa & (Ga | ((b) M (Xa))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(X!a & (b | Fc | ((((d) R (!b))) U (Xa))))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) R (b)) & F(c & Xa))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & (Ga | ((b) U (Ga))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GF(b & c))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & G(a | Xa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & G(a | Xb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & G(b | Xa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & XG(a | b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((!a | ((b) U (Xa))) & (Fc | ((b) R (X!a))))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & GF(b & c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & (FGa | FG!a) & (GFa | GFb))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & FGb & (Ga | GFb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a & GFb & G(b | Xa))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & (a | GFb) & (c | GFd) & (FGa | GFc))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a | ((b) W ((a | ((b) W (!a))))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(!a | G(!a | ((b) W (a))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | G(b | Xc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | (FGa & GFb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | ((Fb) W ((b & Xb))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | F(a & Fb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | F(a & ((b) W (c))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | ((((!a) U ((!a & b)))) U (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Xa | (Fa & ((b) W (Xa))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Xa | (!b & Gc & ((((d) U (b))) R (X!a))))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) U (b)) | G(c | Xa))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FG(b | c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(a & Xa))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(a & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(b & Xa))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | XF(a & b))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | (Fa & ((b) R (Fa))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a & ((b) R (X!a))) | (Gc & ((b) U (Xa))))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | FG(b | c))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(!a | (FG!a & FGb) | (GFa & GF!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | FGb | F(b & X!a))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | GFb | (Fa & FGb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | (a & FGb) | (c & FGd) | (FGc & GFa))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 8, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa <-> X(Fa | Gb))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a <-> X(Fa | Gb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(!a & ((a) R (X!a)))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((a | !b) & (Ga | Gb | Gc))", + "properties": { + "size": 29, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Fa & (Fb | Gb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(((a) U (b)) & (Fc | Ga))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((Fa | Gb) & (((b) M (c)) | ((c) M (d))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & ((c) M ((b & d))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & ((b) M ((b | c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & ((b) R ((b | c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((a | Gb) & (b | Ga) & (c | Gd))", + "properties": { + "size": 32, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & Fb & ((c) R ((!b & d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | Xb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | ((b) M (!a)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | ((a) R (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | ((!a) U (Xa)))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G((a & b) | (Fa & F!b & Fc))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(Ga | (Fb & Gb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(((a) R (b)) | (Fa & Gc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((Fa & Gb) | (((a) W (c)) & ((c) W (d))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | ((!b) U ((!b & c))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | ((!b) W ((!b & c))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | ((c) W ((b | d))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((a & Fb) | (b & Fa) | (c & Fd))", + "properties": { + "size": 37, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 10, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | G!b | ((c) U ((b | d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GF(a & Xb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(a & ((a) U (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(!a & ((b) W (a)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) M ((a | b | X((a) R (c)))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) R (Xa))) M (((((Ga) M (a))) U (((b) R (c))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((((Fa) W (a))) M (b))) R (((a) U (Xa))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((((Ga) M (a))) W (b))) U (((a) R (Xa))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W ((a & b & X((a) U (c)))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) U (Xa))) W (((((Fa) W (a))) R (((b) U (c))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & F(b & (a | Gb)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (FGb | (FGa & FGc)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & ((a) R ((a | c))))) R (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & (Fb | F(Fb & Ga)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) R (b)) & F(a & XFc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((!a) R (!b)) & (Gc | ((Fa) W ((b & Xa)))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & GF(a & Xa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GF(b & Xc))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GF(c & Xb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & F(b & G(a | c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & G(b | F(b & c)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF!a & G(a | XFb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & GF(b & Xc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & GF(c & Xa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & GF(c & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(XG(a | b) & GF(c & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa | X(F!b & G!a)) & (G!a | X(Fa | Gb)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & GF!a & G(a | XFb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a | G(b | (a & Fb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa | (Gb & G(Fa | Gb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | (GFb & (GFa | GFc)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | ((!a) U ((!a & c))))) U (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) U (b)) | (Fc & ((G!a) M ((!b | X!a)))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) U (b)) | G(a | XGc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FG(b | Xc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FG(c | Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(!a & XGb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | F(b & G(b | c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | G(b | F(a & c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | FG(a | Xa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | FG(b | Xc))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | FG(c | Xa))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | FG(c | Xb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(XF(a & b) | FG(c | Xb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((Fa & X(F!b & G!a)) | (G!a & X(Fa | Gb)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FG!a | F(!a & XGb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & (Ga | Gb | (c & Gd)))", + "properties": { + "size": 31, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & Gc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(a | Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | Ga))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | Xc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(Fa & (Gb | F(b & c)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(Xa | ((a) W (Xa)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | Xb | XXc)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (Fa & Fb & (c | Fd)))", + "properties": { + "size": 18, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(a & Xb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & Fa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & Xb))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & Xc))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | Fc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(Ga | (Fb & G(b | c)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GF(Xa & ((a) M (Xa)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(a & Xb & XXc)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "X((a & FGa) | (!a & GF!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "X((a & GF!a) | (!a & FGa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) M (((!a) M (((a) M (((!a) M (Fa))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) R (X(b | XGa)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (X(b & XFa)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((!a) W (((a) W (((!a) W (((a) W (G!a))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((b) M ((G!a & ((XXb) M (!a))))))" + }, + { + "formula": "(Fa & ((b) R ((!a & (b | c | X((b) R (d)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((!a & b & X((!a) U ((!a & c))))) R ((!a & d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & G(!b | (((!c | ((b) R (!a)))) U ((b | c)))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & GF(a & XXa))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & (Ga | G(Xb | (a & Xa) | (!a & X!a))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & GF(a & XXa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | Fb) & F(b & G(a | Fb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | XXa) & FG(!a | XX!a))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | FG(a | XXa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F!a | F(b & (((c & ((!b) U (a)))) R ((!b & !c)))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | ((b) U ((a | (b & c & X((b) U (d)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((a | b | X((a) R ((a | c))))) U ((a | d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((b) W ((Fa | ((XXb) W (a))))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FG(a | XXa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Gb) | G(b | F(a & Gb)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(a & XXa) | GF(!a & XX!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a <-> (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(!a <-> (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | XGc))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | c | X((c) R (d))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & G(b | Fc | (Fd & Ge)))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & (((c & ((b) R ((b | d))))) M (!b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & XFb & XG(!b | Gc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & Fb & (((c & ((b) R ((b | d))))) R (!b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG((a & Fb) | ((Fc) U ((a & Fc))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & XFc))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & c & X((c) U (d))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & Gc & (Fd | Ge)))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | b | (((c | ((!b) U ((!b & d))))) W (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | XG!b | XF(b & Fc))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(((!a) M (F!b)) | (a & G(a | b) & GFb) | (!a & (F(!a & !b) | FG!b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | b | G!b | (((c | ((!b) U ((!b & d))))) U (b)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GF((a | Gb) & ((Gc) R ((a | Gc))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) M ((a & ((b) M ((b | c | X((b) R (d))))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((!a) M (((b & XF!a) | (!b & XGa))))) M (!a))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W ((a | ((b) W ((b & c & X((b) U (d))))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) W (((b & XGa) | (!b & XF!a))))) W (a))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & ((a) R ((a | c | X((a) R (d))))))) R (!a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & X((!a) U (c)) & X((a) R ((!c | Gd))))) R (!a)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb | GFc) & G(b | d | G(a | XFc)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((!a | GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a)))) & (a | (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | ((!a) U ((!a & c & X((!a) U (d))))))) U (a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | X((a) R (!c)) | X((!a) U ((c & Fd))))) U (a)))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF!a | (F!a & F(Xb & ((a & X!a) | (!a & Xa)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & FGb & GFc) | F(a & d & F(c & XGb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a & FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))) | (!a & (GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & (c | XGd)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & (c | d | X((d) R (e)))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) M ((c & (b | d | X((b) R (e)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(((a) W (Gb)) & ((!a & G(a | b) & GFb) | (a & (F(!a & !b) | FG!b))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & ((c) R ((!b & (c | d | X((c) R (e)))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((!b & c & X((!b) U ((!b & d))))) R ((!b & e))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & XFc) & (((b & d & X((d) U ((c & d))))) R ((d & e))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & !c & Xc & X(Xb & ((c) R (((!c) R ((b & d)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | (c & XFd)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | (c & d & X((d) U (e)))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) W ((c | (b & d & X((b) U (e)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | ((c) U ((b | (c & d & X((c) U (e)))))))", + "properties": { + "size": 13, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((b | c | X((b) R ((b | d))))) U ((b | e))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | XGc) | (((b | d | X((d) R ((c | d))))) U ((d | e))))", + "properties": { + "size": 17, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | c | X!c | X(Xb | ((!c) U (((c) U ((b | d)))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M ((!a | (((b) R (c)) & F(b & XFd)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M ((!a | ((b) M (((!b) M (((b) M (((!b) M (Fb)))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((!a) W ((a & (((b) U (c)) | G(b | XGd)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((!a) W ((a & ((!b) W (((b) W (((!b) W (((b) W (G!b)))))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & ((a) R ((a | c | d | X(((a | d)) R (e))))))) R (!a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | ((!a) U ((!a & c & d & X(((!a & d)) U (e))))))) U (a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & F(b & XFc & XG(!c | Gd)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((!a) R (((b) R ((!a | ((!a) R ((c | ((c) R (!a)))))))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((c & ((b) R ((b | d | X((b) R (e))))))) R (!b)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((c & X((!b) U (d)) & X((b) R ((!d | Ge))))) R (!b)))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(!a & Xa & X(Xb & ((!a) R (((a) R (((!a) R ((b & c)))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & !c & Xc & X(Xb & ((!c) R (((c) R (((!c) R ((b & d)))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | XG!c | XF(c & Fd)))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(!a | ((a) U (((b) U ((a & ((a) U ((c & ((c) U (a)))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((c | ((!b) U ((!b & d & X((!b) U (e))))))) U (b)))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((c | X((b) R (!d)) | X((!b) U ((d & Fe))))) U (b)))", + "properties": { + "size": 20, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | X!a | X(Xb | ((a) U (((!a) U (((a) U ((b | c)))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | c | X!c | X(Xb | ((c) U (((!c) U (((c) U ((b | d)))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((!a | GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a))))))) & (a | (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a)))))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a & FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))) | (!a & (GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a)))))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & (((b & ((c) R ((c | d | X((c) R (e))))))) R ((!c & F(b & (d | XGe))))))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & (((b & ((c) R ((c | d | e | X(((c | e)) R (f))))))) R ((!c & F(b & (d | e | X((e) R (f))))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((c & ((b) R ((b | d | e | X(((b | e)) R (f))))))) R (!b)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (((b | ((!c) U ((!c & d & X((!c) U (e))))))) U ((c | G(b | (d & XFe))))))", + "properties": { + "size": 70, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 14, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | (((b | ((!c) U ((!c & d & e & X(((!c & e)) U (f))))))) U ((c | G(b | (d & e & X((e) U (f))))))))", + "properties": { + "size": 222, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 16, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((c | ((!b) U ((!b & d & e & X(((!b & e)) U (f))))))) U (b)))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 6, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((a | b)) R ((!a & (((a | !b)) R ((!a & (((a | b)) R ((!a & (((a | !b)) R ((!a & ((b) R (!a)))))))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((!a & !b)) U ((a | (((!a & b)) U ((a | (((!a & !b)) U ((a | (((!a & b)) U ((a | ((!b) U (a)))))))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & (((b & X((!c) U (d)) & X((c) R ((!d | Ge))))) R ((!c & F(b & X((!c) U (d)) & X((c) R ((!d | Ge))))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (((b | X((c) R (!d)) | X((!c) U ((d & Fe))))) U ((c | G(b | X((c) R (!d)) | X((!c) U ((d & Fe))))))))", + "properties": { + "size": 39, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 10, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & (((b | c)) R ((!c & (((!b | c)) R ((!c & (((b | c)) R ((!c & (((!b | c)) R ((!c & F!b & ((b) M (!c)))))))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & (((b | c)) R ((!b & (((b | !c)) R ((!b & (((b | c)) R ((!b & (((b | !c)) R ((!b & ((c) R (!b)))))))))))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 2, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | (((!b & !c)) U ((c | (((b & !c)) U ((c | (((!b & !c)) U ((c | (((b & !c)) U ((c | Gb | ((!b) W (c)))))))))))))))", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 8, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((!b & !c)) U ((b | (((!b & c)) U ((b | (((!b & !c)) U ((b | (((!b & c)) U ((b | ((!c) U (b)))))))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "RabinAcceptance", + "acceptanceSets": 4, + "complete": false, + "deterministic": true + } + } +] \ No newline at end of file diff --git a/data/formulas/sizes/dra.symmetric.portfolio.json b/data/formulas/sizes/dra.symmetric.portfolio.json index 28981808..b5b50db4 100644 --- a/data/formulas/sizes/dra.symmetric.portfolio.json +++ b/data/formulas/sizes/dra.symmetric.portfolio.json @@ -4006,7 +4006,7 @@ { "formula": "F((a | !b) & (Ga | Gb | Gc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -4050,7 +4050,7 @@ { "formula": "F((a | Gb) & (c | Gd))", "properties": { - "size": 9, + "size": 10, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -4160,7 +4160,7 @@ { "formula": "F((a | Gb) & (b | Ga) & (c | Gd))", "properties": { - "size": 20, + "size": 19, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -4171,7 +4171,7 @@ { "formula": "F((a | Gb) & (c | Gd) & (e | Gf))", "properties": { - "size": 73, + "size": 80, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -4369,7 +4369,7 @@ { "formula": "G((a & b) | (Fa & F!b & Fc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -4402,7 +4402,7 @@ { "formula": "G((a & Fb) | (c & Fd))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -4512,7 +4512,7 @@ { "formula": "G((a & Fb) | (b & Fa) | (c & Fd))", "properties": { - "size": 19, + "size": 18, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -4523,7 +4523,7 @@ { "formula": "G((a & Fb) | (c & Fd) | (e & Ff))", "properties": { - "size": 72, + "size": 79, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -5942,7 +5942,7 @@ { "formula": "F(a & (Ga | Gb | (c & Gd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -6129,7 +6129,7 @@ { "formula": "F((a | XXb) & (b | XXc) & (c | XGd))", "properties": { - "size": 60, + "size": 63, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -6173,7 +6173,7 @@ { "formula": "G(a | (Fa & Fb & (c | Fd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -6360,7 +6360,7 @@ { "formula": "G((a & XXb) | (b & XXc) | (c & XFd))", "properties": { - "size": 59, + "size": 62, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -7669,7 +7669,7 @@ { "formula": "F(a & ((!a) R ((b | ((b) R ((c | ((c) R (d)))))))))", "properties": { - "size": 14, + "size": 10, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -7680,7 +7680,7 @@ { "formula": "F(a & ((b) R (((!b) R (((b) R (((!b) R ((!b | c))))))))))", "properties": { - "size": 8, + "size": 6, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -7801,7 +7801,7 @@ { "formula": "G(a | ((!b) U (((b) U (((!b) U (((b) U ((b & c))))))))))", "properties": { - "size": 7, + "size": 5, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -7823,7 +7823,7 @@ { "formula": "G(!a | ((a) U ((b & ((b) U ((c & ((c) U (d)))))))))", "properties": { - "size": 13, + "size": 9, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -8098,7 +8098,7 @@ { "formula": "F(a & ((!a) R (((b) R ((!a | ((!a) R ((c | ((c) R (!a)))))))))))", "properties": { - "size": 10, + "size": 8, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -8131,7 +8131,7 @@ { "formula": "F(!a & Xa & X(Xb & ((!a) R (((a) R (((!a) R ((b & c)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -8142,7 +8142,7 @@ { "formula": "F(a & b & !c & Xc & X(Xb & ((!c) R (((c) R (((!c) R ((b & d)))))))))", "properties": { - "size": 7, + "size": 6, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -8164,7 +8164,7 @@ { "formula": "G(!a | ((a) U (((b) U ((a & ((a) U ((c & ((c) U (a)))))))))))", "properties": { - "size": 9, + "size": 7, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -8197,7 +8197,7 @@ { "formula": "G(a | X!a | X(Xb | ((a) U (((!a) U (((a) U ((b | c)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, @@ -8208,7 +8208,7 @@ { "formula": "G(a | b | c | X!c | X(Xb | ((c) U (((!c) U (((c) U ((b | d)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "RabinAcceptance", "acceptanceSets": 2, diff --git a/data/formulas/sizes/ldba.asymmetric.portfolio.json b/data/formulas/sizes/ldba.asymmetric.portfolio.json index 5eab16c3..48467086 100644 --- a/data/formulas/sizes/ldba.asymmetric.portfolio.json +++ b/data/formulas/sizes/ldba.asymmetric.portfolio.json @@ -4369,7 +4369,7 @@ { "formula": "G((a & b) | (Fa & F!b & Fc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -4402,7 +4402,7 @@ { "formula": "G((a & Fb) | (c & Fd))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -4512,7 +4512,7 @@ { "formula": "G((a & Fb) | (b & Fa) | (c & Fd))", "properties": { - "size": 19, + "size": 18, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -4523,7 +4523,7 @@ { "formula": "G((a & Fb) | (c & Fd) | (e & Ff))", "properties": { - "size": 72, + "size": 79, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -6173,7 +6173,7 @@ { "formula": "G(a | (Fa & Fb & (c | Fd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -6360,7 +6360,7 @@ { "formula": "G((a & XXb) | (b & XXc) | (c & XFd))", "properties": { - "size": 59, + "size": 62, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -7801,7 +7801,7 @@ { "formula": "G(a | ((!b) U (((b) U (((!b) U (((b) U ((b & c))))))))))", "properties": { - "size": 7, + "size": 5, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -7823,7 +7823,7 @@ { "formula": "G(!a | ((a) U ((b & ((b) U ((c & ((c) U (d)))))))))", "properties": { - "size": 13, + "size": 9, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -8164,7 +8164,7 @@ { "formula": "G(!a | ((a) U (((b) U ((a & ((a) U ((c & ((c) U (a)))))))))))", "properties": { - "size": 9, + "size": 7, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -8197,7 +8197,7 @@ { "formula": "G(a | X!a | X(Xb | ((a) U (((!a) U (((a) U ((b | c)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -8208,7 +8208,7 @@ { "formula": "G(a | b | c | X!c | X(Xb | ((c) U (((!c) U (((c) U ((b | d)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, diff --git a/data/formulas/sizes/ldba.symmetric.portfolio.json b/data/formulas/sizes/ldba.symmetric.portfolio.json index f50eba14..fe4b838f 100644 --- a/data/formulas/sizes/ldba.symmetric.portfolio.json +++ b/data/formulas/sizes/ldba.symmetric.portfolio.json @@ -4369,7 +4369,7 @@ { "formula": "G((a & b) | (Fa & F!b & Fc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -4402,7 +4402,7 @@ { "formula": "G((a & Fb) | (c & Fd))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -4512,7 +4512,7 @@ { "formula": "G((a & Fb) | (b & Fa) | (c & Fd))", "properties": { - "size": 19, + "size": 18, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -4523,7 +4523,7 @@ { "formula": "G((a & Fb) | (c & Fd) | (e & Ff))", "properties": { - "size": 72, + "size": 79, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -6173,7 +6173,7 @@ { "formula": "G(a | (Fa & Fb & (c | Fd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -6360,7 +6360,7 @@ { "formula": "G((a & XXb) | (b & XXc) | (c & XFd))", "properties": { - "size": 59, + "size": 62, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -7801,7 +7801,7 @@ { "formula": "G(a | ((!b) U (((b) U (((!b) U (((b) U ((b & c))))))))))", "properties": { - "size": 7, + "size": 5, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -7823,7 +7823,7 @@ { "formula": "G(!a | ((a) U ((b & ((b) U ((c & ((c) U (d)))))))))", "properties": { - "size": 13, + "size": 9, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -8164,7 +8164,7 @@ { "formula": "G(!a | ((a) U (((b) U ((a & ((a) U ((c & ((c) U (a)))))))))))", "properties": { - "size": 9, + "size": 7, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -8197,7 +8197,7 @@ { "formula": "G(a | X!a | X(Xb | ((a) U (((!a) U (((a) U ((b | c)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -8208,7 +8208,7 @@ { "formula": "G(a | b | c | X!c | X(Xb | ((c) U (((!c) U (((c) U ((b | d)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, diff --git a/data/formulas/sizes/ldgba.asymmetric.portfolio.json b/data/formulas/sizes/ldgba.asymmetric.portfolio.json index 9cf122af..473806d0 100644 --- a/data/formulas/sizes/ldgba.asymmetric.portfolio.json +++ b/data/formulas/sizes/ldgba.asymmetric.portfolio.json @@ -4369,7 +4369,7 @@ { "formula": "G((a & b) | (Fa & F!b & Fc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -4402,7 +4402,7 @@ { "formula": "G((a & Fb) | (c & Fd))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -4512,7 +4512,7 @@ { "formula": "G((a & Fb) | (b & Fa) | (c & Fd))", "properties": { - "size": 19, + "size": 18, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -4523,7 +4523,7 @@ { "formula": "G((a & Fb) | (c & Fd) | (e & Ff))", "properties": { - "size": 72, + "size": 79, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -6173,7 +6173,7 @@ { "formula": "G(a | (Fa & Fb & (c | Fd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -6360,7 +6360,7 @@ { "formula": "G((a & XXb) | (b & XXc) | (c & XFd))", "properties": { - "size": 59, + "size": 62, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -7801,7 +7801,7 @@ { "formula": "G(a | ((!b) U (((b) U (((!b) U (((b) U ((b & c))))))))))", "properties": { - "size": 7, + "size": 5, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -7823,7 +7823,7 @@ { "formula": "G(!a | ((a) U ((b & ((b) U ((c & ((c) U (d)))))))))", "properties": { - "size": 13, + "size": 9, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -8164,7 +8164,7 @@ { "formula": "G(!a | ((a) U (((b) U ((a & ((a) U ((c & ((c) U (a)))))))))))", "properties": { - "size": 9, + "size": 7, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -8197,7 +8197,7 @@ { "formula": "G(a | X!a | X(Xb | ((a) U (((!a) U (((a) U ((b | c)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -8208,7 +8208,7 @@ { "formula": "G(a | b | c | X!c | X(Xb | ((c) U (((!c) U (((c) U ((b | d)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, diff --git a/data/formulas/sizes/ldgba.symmetric.portfolio.json b/data/formulas/sizes/ldgba.symmetric.portfolio.json index 716c2dc4..8d7a9701 100644 --- a/data/formulas/sizes/ldgba.symmetric.portfolio.json +++ b/data/formulas/sizes/ldgba.symmetric.portfolio.json @@ -4369,7 +4369,7 @@ { "formula": "G((a & b) | (Fa & F!b & Fc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -4402,7 +4402,7 @@ { "formula": "G((a & Fb) | (c & Fd))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -4512,7 +4512,7 @@ { "formula": "G((a & Fb) | (b & Fa) | (c & Fd))", "properties": { - "size": 19, + "size": 18, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -4523,7 +4523,7 @@ { "formula": "G((a & Fb) | (c & Fd) | (e & Ff))", "properties": { - "size": 72, + "size": 79, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -6173,7 +6173,7 @@ { "formula": "G(a | (Fa & Fb & (c | Fd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -6360,7 +6360,7 @@ { "formula": "G((a & XXb) | (b & XXc) | (c & XFd))", "properties": { - "size": 59, + "size": 62, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -7801,7 +7801,7 @@ { "formula": "G(a | ((!b) U (((b) U (((!b) U (((b) U ((b & c))))))))))", "properties": { - "size": 7, + "size": 5, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -7823,7 +7823,7 @@ { "formula": "G(!a | ((a) U ((b & ((b) U ((c & ((c) U (d)))))))))", "properties": { - "size": 13, + "size": 9, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -8164,7 +8164,7 @@ { "formula": "G(!a | ((a) U (((b) U ((a & ((a) U ((c & ((c) U (a)))))))))))", "properties": { - "size": 9, + "size": 7, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -8197,7 +8197,7 @@ { "formula": "G(a | X!a | X(Xb | ((a) U (((!a) U (((a) U ((b | c)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -8208,7 +8208,7 @@ { "formula": "G(a | b | c | X!c | X(Xb | ((c) U (((!c) U (((c) U ((b | d)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, diff --git a/data/formulas/sizes/safetyCoSafety.json b/data/formulas/sizes/safetyCoSafety.json index 70aa0997..11c6e88a 100644 --- a/data/formulas/sizes/safetyCoSafety.json +++ b/data/formulas/sizes/safetyCoSafety.json @@ -432,50 +432,6 @@ "deterministic": true } }, - { - "formula": "F(a & b & c & d & e)", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "F(a & b & c & d & e & f)", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "F(a & b & c & d & e & f & g)", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "F(a & b & c & d & e & f & g & h)", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "FGa" }, @@ -490,50 +446,6 @@ "deterministic": true } }, - { - "formula": "G(a | b | c | d | e)", - "properties": { - "size": 1, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "G(a | b | c | d | e | f)", - "properties": { - "size": 1, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "G(a | b | c | d | e | f | g)", - "properties": { - "size": 1, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "G(a | b | c | d | e | f | g | h)", - "properties": { - "size": 1, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "GFa", "properties": { @@ -705,17 +617,6 @@ { "formula": "(a & FGa)" }, - { - "formula": "(a & XG!a)", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "(Fa & (a | Gb))", "properties": { @@ -824,7 +725,7 @@ { "formula": "(Ga & GFb)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -846,7 +747,7 @@ { "formula": "((a | Gb) & GFa)", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -888,7 +789,7 @@ { "formula": "(G(a | b) & GFb)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -899,7 +800,7 @@ { "formula": "(G(a | b) & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -910,7 +811,7 @@ { "formula": "(GFa & GF!a)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -921,7 +822,7 @@ { "formula": "(GFa & GFb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -932,7 +833,7 @@ { "formula": "(GFa & XGb)", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -943,7 +844,7 @@ { "formula": "(Ga & Gb & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -954,7 +855,7 @@ { "formula": "(Ga & G(b | c) & GFc)", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -965,7 +866,7 @@ { "formula": "(Ga & GFb & GFc)", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -996,7 +897,7 @@ { "formula": "(G(a | b) & GFb & GFc)", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -1007,7 +908,7 @@ { "formula": "(GFa & GFb & GFc)", "properties": { - "size": 3, + "size": 7, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -1029,7 +930,7 @@ { "formula": "(Fa & Fb & GFc & GFd)", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -1040,7 +941,7 @@ { "formula": "(Ga & GFb & GFc & GFd)", "properties": { - "size": 3, + "size": 8, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -1068,7 +969,7 @@ { "formula": "(GFa & GFb & GFc & GFd)", "properties": { - "size": 4, + "size": 15, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -1085,7 +986,7 @@ { "formula": "(GFa & GFb & GFc & GFd & GFe)", "properties": { - "size": 5, + "size": 31, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -1096,7 +997,7 @@ { "formula": "(Fa & Fb & Fc & GFd & GFe & GFf)", "properties": { - "size": 10, + "size": 14, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -1107,17 +1008,6 @@ { "formula": "(FGa & GFb & GFc & GFd & GFe & GFf)" }, - { - "formula": "(GFa & GFb & GFc & GFd & GFe & GFf & GFg & GFh & GFi)", - "properties": { - "size": 9, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "(a | (Fa & Gb))", "properties": { @@ -1140,17 +1030,6 @@ "deterministic": true } }, - { - "formula": "(!a | XFa)", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "(Fa | ((a | b) & (!a | !b)))", "properties": { @@ -1471,9 +1350,6 @@ { "formula": "(FGa | FGb | FGc | FGd | FGe | GFf)" }, - { - "formula": "(FGa | FGb | FGc | FGd | FGe | FGf | FGg | FGh | FGi)" - }, { "formula": "(F!a <-> (!a <-> Ga))" }, @@ -1548,28 +1424,6 @@ { "formula": "F(Ga & ((b) W (c)))" }, - { - "formula": "F(a & b & (c | d | e))", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "F(a & b & Xc)", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "F(a & b & ((c) M (b)))", "properties": { @@ -1581,17 +1435,6 @@ "deterministic": true } }, - { - "formula": "F(a & (b | !c) & (!b | c))", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "F(a & Fb & ((c) R (!b)))" }, @@ -1601,31 +1444,6 @@ { "formula": "F(a & !b & Fb & ((c) R (!b)))" }, - { - "formula": "F(a & (b | !c) & (!b | c) & (d | e | f | g))", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "F(a & Gb & Gc & Gd)" - }, - { - "formula": "F(a & !b & c & Xa & Xb & Xd)", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "FG(a | b)" }, @@ -1761,28 +1579,6 @@ "deterministic": true } }, - { - "formula": "G(a | b | (c & d & e))", - "properties": { - "size": 1, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "G(a | b | Xc)", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "G(a | b | ((c) W (b)))", "properties": { @@ -1794,17 +1590,6 @@ "deterministic": true } }, - { - "formula": "G(a | (b & !c) | (!b & c))", - "properties": { - "size": 1, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "G(a | Fb | Fc)", "properties": { @@ -1838,39 +1623,6 @@ "deterministic": true } }, - { - "formula": "G(a | (b & !c) | (!b & c) | (d & e & f & g))", - "properties": { - "size": 1, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "G(a | Fb | Fc | Fd)", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "G(a | b | c | Xa | X!b | Xd)", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "GF(a & b)", "properties": { @@ -2182,7 +1934,7 @@ { "formula": "(G(a | b) & GF(b & c))", "properties": { - "size": 1, + "size": 2, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -2227,7 +1979,7 @@ { "formula": "(GFa & G(b | Xa))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -2238,7 +1990,7 @@ { "formula": "(GFa & XG(a | b))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -2367,12 +2119,6 @@ { "formula": "((Ga | Gb | Gc) & (FG!d | GFe | GF!f) & (FGf | GFd | GFe))" }, - { - "formula": "(FGa & FGb & GF(a & b))" - }, - { - "formula": "(FGa & GFb & (FGc | GFd))" - }, { "formula": "(GFa & GFb & (FGc | FGd))" }, @@ -2382,7 +2128,7 @@ { "formula": "(GFa & GFb & GF(c & d))", "properties": { - "size": 3, + "size": 7, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -2396,9 +2142,6 @@ { "formula": "((FGa | GFb) & (FGc | GFd) & (FGe | GFf))" }, - { - "formula": "(FG(a | b) & FG(c | d) & FG(e | f))" - }, { "formula": "(G(a | Xb) & G(c | Xd) & G(e | Xf))", "properties": { @@ -2410,37 +2153,12 @@ "deterministic": true } }, - { - "formula": "(GF(a & b) & GF(c & d) & GF(e & f))", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "(FGa & FGb & GFb & GF(a & b))" - }, { "formula": "(GFa & (a | GFb) & (c | GFd) & (FGa | GFc))" }, { "formula": "((FGa | GFb) & (FGc | GFa) & (FGd | GFc) & (FGe | GFd))" }, - { - "formula": "(G(a | Fb) & G(c | Fd) & G(e | Ff) & G(g | Fh))", - "properties": { - "size": 33, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "(a | ((b) W ((a | ((b) W (!a))))))", "properties": { @@ -2601,7 +2319,7 @@ { "formula": "(GFa | (GFb & GFc))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -2734,12 +2452,6 @@ { "formula": "(FGa | FGb | GF(a & b))" }, - { - "formula": "(FGa | GFb | (FGc & GFd))" - }, - { - "formula": "(GFa | GFb | FG(a | b))" - }, { "formula": "((FGa & GFb) | (FGb & GFc) | (FGd & GFa))" }, @@ -2757,32 +2469,12 @@ "deterministic": true } }, - { - "formula": "(FG(a | b) | FG(c | d) | FG(e | f))" - }, - { - "formula": "(GF(a & b) | GF(c & d) | GF(e & f))", - "properties": { - "size": 1, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "(FGa | GFa | GFb | FG(a | b))" - }, { "formula": "(FGa | (a & FGb) | (c & FGd) | (FGc & GFa))" }, { "formula": "((FGa & GFb) | (FGb & GFc) | (FGc & GFd) | (FGe & GFa))" }, - { - "formula": "(F(a & Gb) | F(c & Gd) | F(e & Gf) | F(g & Gh))" - }, { "formula": "(Fa <-> X(Fa | Gb))" }, @@ -2792,23 +2484,9 @@ { "formula": "F(a & (b | ((c) R (d))))" }, - { - "formula": "F(a & G(!a | b))" - }, { "formula": "F(a & G(b | c))" }, - { - "formula": "F(a & X(!a & b))", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "F(a & XGb)" }, @@ -2823,9 +2501,6 @@ "deterministic": true } }, - { - "formula": "F(a & X((a) R (b)))" - }, { "formula": "F(a & X((b) U (c)))", "properties": { @@ -2916,54 +2591,15 @@ { "formula": "F(a & !b & ((b) R ((b | c))))" }, - { - "formula": "F(a & Gb & XGc)" - }, - { - "formula": "F(!a & Xa & X((!a) M (b)))", - "properties": { - "size": 4, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "F((a | Fb) & (c | Fd) & (e | Ff))", - "properties": { - "size": 19, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "F((a | Gb) & (b | Ga) & (c | Gd))" }, { "formula": "F((a | Gb) & (c | Gd) & (e | Gf))" }, - { - "formula": "F((a | X!a) & (b | Xb) & (!b | X!b))", - "properties": { - "size": 6, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "F(a & !b & Fb & ((c) R ((!b & d))))" }, - { - "formula": "F(a & b & c & d & e & G(f | g | h | i))" - }, { "formula": "FG(a | (b & c))" }, @@ -3031,17 +2667,6 @@ "deterministic": true } }, - { - "formula": "G(a | X((a) U (b)))", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "G(a | ((b) R ((b | c))))", "properties": { @@ -3064,32 +2689,10 @@ "deterministic": true } }, - { - "formula": "G(!a | F(a & b))", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "G(!a | X(a | b))", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "G((a & b) | (Fa & F!b & Fc))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -3122,7 +2725,7 @@ { "formula": "G((a & Fb) | (c & Fd))", "properties": { - "size": 8, + "size": 9, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -3196,28 +2799,6 @@ "deterministic": true } }, - { - "formula": "G(a | Fb | XFc)", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "G(a | X!a | X((a) W (b)))", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "G(!a | b | ((b) R ((a | b))))", "properties": { @@ -3231,28 +2812,6 @@ }, { "formula": "G((a & Fb) | (b & Fa) | (c & Fd))", - "properties": { - "size": 19, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "G((a & Fb) | (c & Fd) | (e & Ff))", - "properties": { - "size": 72, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "G((a & Gb) | (c & Gd) | (e & Gf))", "properties": { "size": 18, "initialStatesSize": 1, @@ -3263,9 +2822,9 @@ } }, { - "formula": "G((!a & Xa) | (b & Xb) | (!b & X!b))", + "formula": "G((a & Fb) | (c & Fd) | (e & Ff))", "properties": { - "size": 5, + "size": 79, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -3284,17 +2843,6 @@ "deterministic": true } }, - { - "formula": "G(a | b | c | d | e | F(f & g & h & i))", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "GF(a & (b | c))", "properties": { @@ -3334,28 +2882,6 @@ { "formula": "XF(a & Gb)" }, - { - "formula": "XF(a & b & ((!b) M (c)))", - "properties": { - "size": 4, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "XF(a & !b & ((b) M (c)))", - "properties": { - "size": 4, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "XG(a | Fb)", "properties": { @@ -3367,28 +2893,6 @@ "deterministic": true } }, - { - "formula": "XG(a | b | ((!b) W (c)))", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "XG(a | !b | ((b) W (c)))", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "((a) M ((a | b | X((a) R (c)))))" }, @@ -3406,17 +2910,6 @@ "deterministic": true } }, - { - "formula": "((a) R ((F(b & c) | F(b & d) | F(b & e) | F(c & d) | F(c & e) | F(d & e))))", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "((a) R (((b) R (((c) R (((d) R (e))))))))", "properties": { @@ -3478,9 +2971,6 @@ "deterministic": true } }, - { - "formula": "((a) U ((G(b | c) & G(b | d) & G(b | e) & G(c | d) & G(c | e) & G(d | e))))" - }, { "formula": "((a) U (((b) U (((c) U (((d) U (e))))))))", "properties": { @@ -3554,7 +3044,7 @@ { "formula": "(Fa & G(Xb | (b & Fc)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -3587,17 +3077,6 @@ { "formula": "(Ga & (Fb | F(Fb & Ga)))" }, - { - "formula": "(Xa & G(a | X!a | XXa))", - "properties": { - "size": 5, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "(((a) R (b)) & F(a & XFc))", "properties": { @@ -3632,7 +3111,7 @@ { "formula": "(G(a | b) & GF(b & Xc))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -3643,7 +3122,7 @@ { "formula": "(G(a | b) & GF(c & Xb))", "properties": { - "size": 2, + "size": 3, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -3660,7 +3139,7 @@ { "formula": "(GFa & G(b | F(b & c)))", "properties": { - "size": 4, + "size": 5, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -3671,7 +3150,7 @@ { "formula": "(GF!a & G(a | XFb))", "properties": { - "size": 3, + "size": 2, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -3693,9 +3172,6 @@ { "formula": "((FGa | GFb) & (GFc | (FGd & FGe)))" }, - { - "formula": "((FGa | GFb) & (FGc | GFd | (FGe & GFf)))" - }, { "formula": "((FG!a | FG!b | FG!c) & (GFc | (GFa & GFb)))" }, @@ -3708,7 +3184,7 @@ { "formula": "(G(a | Xb) & GF(b & Xc))", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -3730,7 +3206,7 @@ { "formula": "(G(a | Xb) & GF(c & Xb))", "properties": { - "size": 4, + "size": 7, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -3752,7 +3228,7 @@ { "formula": "(GF(!a & b) & GF(a & Xb))", "properties": { - "size": 3, + "size": 5, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -3816,7 +3292,7 @@ { "formula": "(GF(a & Xb) & GF(c & Xd))", "properties": { - "size": 4, + "size": 8, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -3827,7 +3303,7 @@ { "formula": "(Ga & (GFb | GFc) & G(d | ((!d) U ((b | c)))))", "properties": { - "size": 2, + "size": 4, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -3844,7 +3320,7 @@ { "formula": "(GFa & GF!a & G(a | XFb))", "properties": { - "size": 5, + "size": 6, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -3855,7 +3331,7 @@ { "formula": "(GFa & GFb & GF(c & Xd))", "properties": { - "size": 4, + "size": 11, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -3877,7 +3353,7 @@ { "formula": "(GF(a & Xb) & GF(c & Xd) & GF(e & Xf))", "properties": { - "size": 6, + "size": 26, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -3888,49 +3364,10 @@ { "formula": "(GFa & GFb & (FGc | GFd) & GF(d & X!c))" }, - { - "formula": "(FG(a | X!a) & FG(!a | Xa) & FG(b | X!b) & FG(!b | Xb))" - }, - { - "formula": "(G(a | Fb) & G(c | Fd) & G(e | Ff) & G((!b & !d) | (!f & (!b | !d))) & G(a | Xc | F(b & d)) & G(a | Xe | F(b & f)) & G(c | Xe | F(d & f)))", - "properties": { - "size": 448, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "(FG(a | X!a) & FG(!a | Xa) & FG(b | X!b) & FG(!b | Xb) & FG(c | X!c) & FG(!c | Xc) & FG(d | X!d) & FG(!d | Xd))" - }, - { - "formula": "(((a) R (!b)) & ((c) R (!d)) & G(!b | !d) & (GFa | GF!b) & (GFc | GF!d) & G(!a | Fb) & G(!c | Fd) & G(!b | X(a | b) | X((a) R (!b))) & G(!d | X(c | d) | X((c) R (!d))))", - "properties": { - "size": 15, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "(((a) R (!b)) & ((c) R (!d)) & ((e) R (!f)) & ((g) R (!h)) & (GFa | GF!b) & (GFc | GF!d) & (GFe | GF!f) & (GFg | GF!h) & G(!a | Fb) & G(!c | Fd) & G(!e | Ff) & G(!g | Fh) & G((!b & !d & (!f | !h)) | (!f & !h & (!b | !d))) & G(!b | X(a | b) | X((a) R (!b))) & G(!d | X(c | d) | X((c) R (!d))) & G(!f | X(e | f) | X((e) R (!f))) & G(!h | X(g | h) | X((g) R (!h))))", - "properties": { - "size": 180, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "(a | G(b | (a & Fb)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -3952,7 +3389,7 @@ { "formula": "(Ga | (GFb & (GFa | GFc)))", "properties": { - "size": 3, + "size": 4, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -3985,17 +3422,6 @@ "deterministic": true } }, - { - "formula": "(X!a | F(!a & Xa & XX!a))", - "properties": { - "size": 6, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "(((a) U (b)) | (Fc & ((G!a) M ((!b | X!a)))))" }, @@ -4067,9 +3493,6 @@ { "formula": "((FGa & GFb) | (FGc & (GFd | GFe)))" }, - { - "formula": "((FGa & GFb) | (FGc & GFd & (FGe | GFf)))" - }, { "formula": "((GFa & GFb & GFc) | (FG!c & (FG!a | FG!b)))" }, @@ -4174,37 +3597,6 @@ { "formula": "(FGa | FGb | (FGc & GF!d) | FG(c | Xd))" }, - { - "formula": "(GF(a & X!a) | GF(!a & Xa) | GF(b & X!b) | GF(!b & Xb))", - "properties": { - "size": 5, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "(F(a & G!b) | F(c & G!d) | F(e & G!f) | F((b | d) & (f | (b & d))) | F(a & Xc & G(!b | !d)) | F(a & Xe & G(!b | !f)) | F(c & Xe & G(!d | !f)))" - }, - { - "formula": "(GF(a & X!a) | GF(!a & Xa) | GF(b & X!b) | GF(!b & Xb) | GF(c & X!c) | GF(!c & Xc) | GF(d & X!d) | GF(!d & Xd))", - "properties": { - "size": 17, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "(((!a) U (b)) | ((!c) U (d)) | F(b & d) | (FG!a & FGb) | (FG!c & FGd) | F(a & G!b) | F(c & G!d) | F(b & X(!a & !b) & X((!a) U (b))) | F(d & X(!c & !d) & X((!c) U (d))))" - }, - { - "formula": "(((!a) U (b)) | ((!c) U (d)) | ((!e) U (f)) | ((!g) U (h)) | (FG!a & FGb) | (FG!c & FGd) | (FG!e & FGf) | (FG!g & FGh) | F(a & G!b) | F(c & G!d) | F(e & G!f) | F(g & G!h) | F((b | d | (f & h)) & (f | h | (b & d))) | F(b & X(!a & !b) & X((!a) U (b))) | F(d & X(!c & !d) & X((!c) U (d))) | F(f & X(!e & !f) & X((!e) U (f))) | F(h & X(!g & !h) & X((!g) U (h))))" - }, { "formula": "F(a & (Ga | Gb | (c & Gd)))" }, @@ -4232,9 +3624,6 @@ { "formula": "F(a & ((b) R (((!b) R ((!b | c))))))" }, - { - "formula": "F(a & ((!b) R (((b) R ((c & d))))))" - }, { "formula": "F(a & ((a) W ((b & ((b) W (a))))))" }, @@ -4266,23 +3655,6 @@ "deterministic": true } }, - { - "formula": "F((a | X!a) & ((b & X!b) | (!b & Xb)))", - "properties": { - "size": 6, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "F((a | Xb) & (b | XGc))" - }, - { - "formula": "F((a | XXb) & (b | XXc) & (c | XGd))" - }, { "formula": "FG(a | XXb)" }, @@ -4295,7 +3667,7 @@ { "formula": "G(a | (Fa & Fb & (c | Fd)))", "properties": { - "size": 8, + "size": 15, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -4383,17 +3755,6 @@ { "formula": "G(a | ((b) U ((Gc | Gd))))" }, - { - "formula": "G(a | ((b) U (((!b) U ((c | d))))))", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "G(a | ((!b) U (((b) U ((b & c))))))", "properties": { @@ -4449,39 +3810,6 @@ "deterministic": true } }, - { - "formula": "G((a & Xb) | (b & XFc))", - "properties": { - "size": 5, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "G((!a & Xa) | ((b | X!b) & (!b | Xb)))", - "properties": { - "size": 5, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "G((a & XXb) | (b & XXc) | (c & XFd))", - "properties": { - "size": 59, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "GF(a & XXb)", "properties": { @@ -4521,20 +3849,6 @@ { "formula": "X((a & GF!a) | (!a & FGa))" }, - { - "formula": "XF(a & Fb & ((Xb) R (c)))" - }, - { - "formula": "XG(a | Gb | ((Xb) U (c)))", - "properties": { - "size": 4, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "((a) M (((!a) M (((a) M (((!a) M (Fa))))))))", "properties": { @@ -4647,13 +3961,10 @@ { "formula": "((FGa | GFb) & (GFc | FG(d | Xe)))" }, - { - "formula": "((FGa | GFb) & ((FGc & GFd) | (FGe & GFf & (FGg | GFh))))" - }, { "formula": "((GFa | GFb) & GF(c & XXa))", "properties": { - "size": 5, + "size": 8, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -4670,7 +3981,7 @@ { "formula": "(GF(a & Xb) & GF(c & XXa))", "properties": { - "size": 6, + "size": 14, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -4684,7 +3995,7 @@ { "formula": "(G(F(a & b) | (Ga & XGc)) & G(F(d & e) | (Gd & XGf)))", "properties": { - "size": 10, + "size": 11, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -4695,7 +4006,7 @@ { "formula": "(GF(a & XXb) & GF(c & XXd))", "properties": { - "size": 8, + "size": 24, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -4709,7 +4020,7 @@ { "formula": "(GF(!a & b) & GF(a & Xb) & GF(!a & XXb))", "properties": { - "size": 7, + "size": 22, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -4720,7 +4031,7 @@ { "formula": "(GF(a & XXb) & GF(c & XXd) & GF(e & XXf))", "properties": { - "size": 12, + "size": 124, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -4739,17 +4050,6 @@ "deterministic": true } }, - { - "formula": "(G(a | !b | !c) & G(b | d | !e) & G(!b | e | f) & G(!a | (b & c)) & G(!d | (!b & e)) & G(!f | (b & !e)) & G(c | Xb | X!c | Xg) & G(X!g | (!c & X!b & Xc)) & G((a & !g & !h) | (!a & ((g & !h) | (!g & h)))) & G((d & !f & !i) | (!d & ((f & !i) | (!f & i)))))", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "(Fa | FG(a | XXa))" }, @@ -4790,9 +4090,6 @@ { "formula": "((FGa & GFb) | (FGc & GF(d & Xe)))" }, - { - "formula": "((FGa & GFb) | ((FGc | GFd) & (FGe | GFf | (FGg & GFh))))" - }, { "formula": "(F(a & Gb) | G(b | F(a & Gb)))" }, @@ -4839,17 +4136,6 @@ "deterministic": true } }, - { - "formula": "(F(!a & b & c) | F(b & !d & !e) | F(!b & d & !f) | F(a & (!b | !c)) | F(e & (!b | d)) | F(f & (b | !d)) | F(!c & X!b & Xc & X!g) | F(Xg & (c | Xb | X!c)) | F((!a | g | h) & (a | ((g | !h) & (!g | h)))) | F((e | !f | i) & (f | ((e | !i) & (!e | i)))))", - "properties": { - "size": 4, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "(a <-> (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))))" }, @@ -4862,12 +4148,6 @@ { "formula": "(!a <-> ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc))))))" }, - { - "formula": "((GF(a & Xa) & GF(b & Xb) & GF(c & Xc)) <-> (GF(d & Xd) & GF(e & Xe) & GF(f & Xf)))" - }, - { - "formula": "((FG(a | Xa) | FG(b | Xb) | FG(c | Xc)) <-> (GF(d & Xd) & GF(e & Xe) & GF(f & Xf)))" - }, { "formula": "F(a & F(b & (a | Gc)))" }, @@ -4900,23 +4180,9 @@ { "formula": "F(a & XFb & XG(!b | Gc))" }, - { - "formula": "F(!a & Xa & X(((!a & Xa)) R ((b | X!b))))" - }, { "formula": "F(a & !b & Fb & (((c & ((b) R ((b | d))))) R (!b)))" }, - { - "formula": "F(a & b & !c & Xc & X(d & X(b & d)))", - "properties": { - "size": 4, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "FG(a | XXXb)" }, @@ -4987,17 +4253,6 @@ "deterministic": true } }, - { - "formula": "G(a | X!a | X(((a | X!a)) U ((!b & Xb))))", - "properties": { - "size": 6, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "G(a | XG!b | XF(b & Fc))", "properties": { @@ -5023,17 +4278,6 @@ "deterministic": true } }, - { - "formula": "G(a | b | c | X!c | X(d | X(b | d)))", - "properties": { - "size": 3, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "GF(a & XXXb)", "properties": { @@ -5151,9 +4395,6 @@ { "formula": "((!a | GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a)))) & (a | (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a))))))" }, - { - "formula": "((FG(!a | X!a) | FG(!b | X!b) | FG(!c | X!c) | FG(!d | X!d) | FG(!e | X!e) | FG(!f | X!f)) & ((GF(a & Xa) & GF(b & Xb) & GF(c & Xc)) | (GF(d & Xd) & GF(e & Xe) & GF(f & Xf))))" - }, { "formula": "((a | ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc)))))) & (!a | ((((b | F!a) & (!b | Ga))) R (((!a) U (G(a | G!c)))))))" }, @@ -5163,19 +4404,13 @@ { "formula": "(FG(a | XXXa) & FG(!a | XXX!a))" }, - { - "formula": "(a & GFa & (!b | c | F(!a & c) | F(b & d) | F(!b & !d) | (FG!b & FGe) | (FG!d & FGf) | F(b & (e | g) & (!e | !g)) | F(d & (f | g) & (!f | !g)) | F(c & !e & !f & X!b) | F(!a & (b | Xb) & (!b | X!b)) | F(!a & (d | Xd) & (!d | X!d)) | F(c & (b | X!b) & (!b | Xb) & (d | X!d) & (!d | Xd)) | F(!c & ((b & X!b) | (!b & Xb) | (d & X!d) | (!d & Xd)))))" - }, - { - "formula": "(a & GFa & (!b | c | F(!a & c) | F(!b & !d & !e & !f) | (FG!b & FGg) | (FG!d & FGh) | (FG!e & FGi) | (FG!f & FGj) | F(b & (g | k) & (!g | !k)) | F(d & (h | k) & (!h | !k)) | F(e & (i | k) & (!i | !k)) | F(f & (j | k) & (!j | !k)) | F(c & !g & !h & !i & !j & X!b) | F((b | d | (e & f)) & (e | f | (b & d))) | F(!a & (b | Xb) & (!b | X!b)) | F(!a & (d | Xd) & (!d | X!d)) | F(!a & (e | Xe) & (!e | X!e)) | F(!a & (f | Xf) & (!f | X!f)) | F(c & (b | X!b) & (!b | Xb) & (d | X!d) & (!d | Xd) & (e | X!e) & (!e | Xe) & (f | X!f) & (!f | Xf)) | F(!c & ((b & X!b) | (!b & Xb) | (d & X!d) | (!d & Xd) | (e & X!e) | (!e & Xe) | (f & X!f) | (!f & Xf)))))" - }, { "formula": "(GFa & FG(b | Xc) & GF(d & XXXe))" }, { "formula": "(GF(!a & b) & GF(a & Xb) & GF(!a & XXb) & GF(a & XXXb))", "properties": { - "size": 15, + "size": 89, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -5183,17 +4418,6 @@ "deterministic": true } }, - { - "formula": "(G((a & !b & !c) | (!a & ((b & !c) | (!b & c)))) & G((!d & e & !f) | (!e & ((d & !f) | (!d & f)))) & G((!g & h & !i) | (!h & ((g & !i) | (!g & i)))) & (F(a & Xj) | F(b & Xk) | (G(!j | Fa) & G(!j | ((!b) W (k))) & G(!k | Fb) & G(!k | ((!a) W (j))) & G(j | k | Fa | Fb) & G((l & Xm) | X(!d | !g)) & G((l & X!m) | X(!e | !h)) & G(!l | Xm | X(e & h)) & G(!l | X!m | X(d & g)))))", - "properties": { - "size": 61, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "(G!a | (((b | ((!a) U ((!a & c & X((!a) U (d))))))) U (a)))", "properties": { @@ -5225,9 +4449,6 @@ { "formula": "((a & FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))) | (!a & (GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a))))))" }, - { - "formula": "((GF(a & Xa) & GF(b & Xb) & GF(c & Xc) & GF(d & Xd) & GF(e & Xe) & GF(f & Xf)) | ((FG(!a | X!a) | FG(!b | X!b) | FG(!c | X!c)) & (FG(!d | X!d) | FG(!e | X!e) | FG(!f | X!f))))" - }, { "formula": "((a & ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc)))))) | (!a & ((((b | F!a) & (!b | Ga))) R (((!a) U (G(a | G!c)))))))" }, @@ -5245,32 +4466,12 @@ "deterministic": true } }, - { - "formula": "(!a | FG!a | (b & !c & G(a | !c) & G(b | d) & G(!b | !d) & (GFb | GF!e) & (GFd | GF!f) & G(!b | (e & g) | (!e & !g)) & G(!d | (f & g) | (!f & !g)) & G(!c | e | f | Xb) & G(a | (b & Xb) | (!b & X!b)) & G(a | (d & Xd) | (!d & X!d)) & G(!c | (b & X!b) | (!b & Xb) | (d & X!d) | (!d & Xd)) & G(c | ((b | X!b) & (!b | Xb) & (d | X!d) & (!d | Xd)))))" - }, - { - "formula": "(!a | FG!a | (b & !c & G(a | !c) & G(b | d | e | f) & (GFb | GF!g) & (GFd | GF!h) & (GFe | GF!i) & (GFf | GF!j) & G(!b | (g & k) | (!g & !k)) & G(!d | (h & k) | (!h & !k)) & G(!e | (i & k) | (!i & !k)) & G(!f | (j & k) | (!j & !k)) & G(!c | g | h | i | j | Xb) & G((!b & !d & (!e | !f)) | (!e & !f & (!b | !d))) & G(a | (b & Xb) | (!b & X!b)) & G(a | (d & Xd) | (!d & X!d)) & G(a | (e & Xe) | (!e & X!e)) & G(a | (f & Xf) | (!f & X!f)) & G(!c | (b & X!b) | (!b & Xb) | (d & X!d) | (!d & Xd) | (e & X!e) | (!e & Xe) | (f & X!f) | (!f & Xf)) & G(c | ((b | X!b) & (!b | Xb) & (d | X!d) & (!d | Xd) & (e | X!e) & (!e | Xe) & (f | X!f) & (!f | Xf)))))" - }, { "formula": "(FGa | GF(b & Xc) | FG(d | XXXe))" }, { "formula": "(FG(a | b) | FG(!a | Xb) | FG(a | XXb) | FG(!a | XXXb))" }, - { - "formula": "(F((!a | b | c) & (a | ((b | !c) & (!b | c)))) | F((d | !e | f) & (e | ((d | !f) & (!d | f)))) | F((g | !h | i) & (h | ((g | !i) & (!g | i)))) | (G(!a | X!j) & G(!b | X!k) & (F(j & G!a) | F(j & ((b) M (!k))) | F(k & G!b) | F(k & ((a) M (!j))) | F(!j & !k & G!a & G!b) | F((!l | Xm) & X(e & h)) | F((!l | X!m) & X(d & g)) | F(l & Xm & X(!d | !g)) | F(l & X!m & X(!e | !h)))))" - }, - { - "formula": "(Fa | Fb | Fc | XF!b | X(Xa | ((b) U (((!b) U (((b) U ((a | d)))))))))", - "properties": { - "size": 2, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "F(a & F(b & (c | XGd)))" }, @@ -5304,9 +4505,6 @@ { "formula": "F(a & F(b & XFc) & (((b & Gd & XF(c & d))) R ((d & e))))" }, - { - "formula": "F(!a & Xa & X((!a) R ((!a | b | X(!a | !b)))))" - }, { "formula": "F(a & b & !c & Xc & X(Xb & ((c) R (((!c) R ((b & d)))))))" }, @@ -5335,7 +4533,7 @@ { "formula": "G(a | ((!b) U (((b) U (((!b) U (((b) U ((b & c))))))))))", "properties": { - "size": 7, + "size": 5, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -5357,7 +4555,7 @@ { "formula": "G(!a | ((a) U ((b & ((b) U ((c & ((c) U (d)))))))))", "properties": { - "size": 13, + "size": 9, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -5390,17 +4588,6 @@ { "formula": "G(a | G!b | (((b | c | X((b) R ((b | d))))) U ((b | e))))" }, - { - "formula": "G(a | X!a | X((a) U ((a & !b & X(a & b)))))", - "properties": { - "size": 4, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "G(a | G(b | XGc) | (((b | d | X((d) R ((c | d))))) U ((d | e))))" }, @@ -5483,20 +4670,6 @@ { "formula": "(FG(a | XXXXa) & FG(!a | XXXX!a))" }, - { - "formula": "(a & GFa & (!b | c | F(!a & c) | F(!b & !d & !e & !f & !g & !h) | (FG!b & FGi) | (FG!d & FGj) | (FG!e & FGk) | (FG!f & FGl) | (FG!g & FGm) | (FG!h & FGn) | F(c & !i & !j & !k & !l & !m & !n & X!b) | F(b & ((i & !o) | (!i & o))) | F(d & ((j & !o) | (!j & o))) | F(e & ((k & !o) | (!k & o))) | F(f & ((l & !o) | (!l & o))) | F(g & ((m & !o) | (!m & o))) | F(h & ((n & !o) | (!n & o))) | F(c & (b | X!b) & (!b | Xb) & (d | X!d) & (!d | Xd) & (e | X!e) & (!e | Xe) & (f | X!f) & (!f | Xf) & (g | X!g) & (!g | Xg) & (h | X!h) & (!h | Xh)) | F(!a & ((b & X!b) | (!b & Xb))) | F(!a & ((d & X!d) | (!d & Xd))) | F(!a & ((e & X!e) | (!e & Xe))) | F(!a & ((f & X!f) | (!f & Xf))) | F(!a & ((g & X!g) | (!g & Xg))) | F(!a & ((h & X!h) | (!h & Xh))) | F(!c & ((b & X!b) | (!b & Xb) | (d & X!d) | (!d & Xd) | (e & X!e) | (!e & Xe) | (f & X!f) | (!f & Xf) | (g & X!g) | (!g & Xg) | (h & X!h) | (!h & Xh))) | F((b | d | e | ((f | g) & (h | (f & g)))) & (f | g | h | ((b | d) & (e | (b & d)))))))" - }, - { - "formula": "(G((a & !b & !c) | (!a & ((b & !c) | (!b & c)))) & G((d & !e & !f) | (!d & ((e & !f) | (!e & f)))) & G((g & !h & !i) | (!g & ((h & !i) | (!h & i)))) & (((j) M (!d)) | F(k & l) | F(d & X((!j) M (!f))) | F(f & X((j) M (!d))) | (G(a | !j) & G(!a | j) & G(b | j) & G(!b | !j) & G(i | !l) & G(!i | l) & G(h | !j | !k) & G(!h | (j & k)) & G(!k | (j & X!j) | (!j & Xj)) & G(k | ((j | X!j) & (!j | Xj))))))", - "properties": { - "size": 8, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "(G!a | (((b | ((!a) U ((!a & c & d & X(((!a & d)) U (e))))))) U (a)))", "properties": { @@ -5522,20 +4695,6 @@ "deterministic": true } }, - { - "formula": "(!a | FG!a | (b & !c & G(a | !c) & G(b | d | e | f | g | h) & (GFb | GF!i) & (GFd | GF!j) & (GFe | GF!k) & (GFf | GF!l) & (GFg | GF!m) & (GFh | GF!n) & G(!b | (i & o) | (!i & !o)) & G(!d | (j & o) | (!j & !o)) & G(!e | (k & o) | (!k & !o)) & G(!f | (l & o) | (!l & !o)) & G(!g | (m & o) | (!m & !o)) & G(!h | (n & o) | (!n & !o)) & G(!c | i | j | k | l | m | n | Xb) & G(a | (b & Xb) | (!b & X!b)) & G(a | (d & Xd) | (!d & X!d)) & G(a | (e & Xe) | (!e & X!e)) & G(a | (f & Xf) | (!f & X!f)) & G(a | (g & Xg) | (!g & X!g)) & G(a | (h & Xh) | (!h & X!h)) & G(!c | (b & X!b) | (!b & Xb) | (d & X!d) | (!d & Xd) | (e & X!e) | (!e & Xe) | (f & X!f) | (!f & Xf) | (g & X!g) | (!g & Xg) | (h & X!h) | (!h & Xh)) & G(c | ((b | X!b) & (!b | Xb) & (d | X!d) & (!d | Xd) & (e | X!e) & (!e | Xe) & (f | X!f) & (!f | Xf) & (g | X!g) & (!g | Xg) & (h | X!h) & (!h | Xh))) & G((!b & !d & !e & ((!f & !g) | (!h & (!f | !g)))) | (!f & !g & !h & ((!b & !d) | (!e & (!b | !d)))))))" - }, - { - "formula": "(F((!a | b | c) & (a | ((b | !c) & (!b | c)))) | F((!d | e | f) & (d | ((e | !f) & (!e | f)))) | F((!g | h | i) & (g | ((h | !i) & (!h | i)))) | (((!j) W (d)) & G(!k | !l) & G(!d | X((j) W (f))) & G(!f | X((!j) W (d))) & (F(a & !j) | F(!a & j) | F(b & j) | F(!b & !j) | F(i & !l) | F(!i & l) | F(!h & j & k) | F(h & (!j | !k)) | F(k & (j | X!j) & (!j | Xj)) | F(!k & ((j & X!j) | (!j & Xj))))))", - "properties": { - "size": 9, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "(a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))" }, @@ -5574,7 +4733,7 @@ { "formula": "G(!a | ((a) U (((b) U ((a & ((a) U ((c & ((c) U (a)))))))))))", "properties": { - "size": 9, + "size": 7, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -5599,7 +4758,7 @@ { "formula": "G(a | X!a | X(Xb | ((a) U (((!a) U (((a) U ((b | c)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -5610,7 +4769,7 @@ { "formula": "G(a | b | c | X!c | X(Xb | ((c) U (((!c) U (((c) U ((b | d)))))))))", "properties": { - "size": 6, + "size": 5, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -5621,53 +4780,9 @@ { "formula": "((!a | GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a))))))) & (a | (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a)))))))))" }, - { - "formula": "(G((a & !b) | (!a & b)) & G((c & !d & !e) | (!c & ((d & !e) | (!d & e)))) & G((f & !g & !h) | (!f & ((g & !h) | (!g & h)))) & (!i | !j | F(k & l) | F(m & n) | F(c & o & X!i) | F(d & p & X!i) | F(f & q & X!j) | F(g & r & X!j) | F(h & j & X!j) | (Gi & Gj & G(b | !s) & G(!b | s) & G(!k | (((c & n & o) | (!c & (!n | !o))) & ((d & m & p) | (!d & (!m | !p))))) & G(!l | (((f & n & q) | (!f & (!n | !q))) & ((g & m & r) | (!g & (!m | !r))))))))", - "properties": { - "size": 9, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "(G((a & !b) | (!a & b)) & G((c & !d & !e) | (!c & ((d & !e) | (!d & e)))) & G((f & !g & !h) | (!f & ((g & !h) | (!g & h)))) & (!i | !j | F(k & l) | F(m & n) | F(c & o & X!i) | F(d & p & X!i) | F(e & i & X!i) | F(f & q & X!j) | F(g & r & X!j) | F(h & j & X!j) | (Gi & Gj & G(b | !s) & G(!b | s) & G(!k | (((c & n & o) | (!c & (!n | !o))) & ((d & m & p) | (!d & (!m | !p))))) & G(!l | (((f & n & q) | (!f & (!n | !q))) & ((g & m & r) | (!g & (!m | !r))))))))", - "properties": { - "size": 9, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "((a & FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))) | (!a & (GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a)))))))))" }, - { - "formula": "(F((a | !b) & (!a | b)) | F((!c | d | e) & (c | ((d | !e) & (!d | e)))) | F((!f | g | h) & (f | ((g | !h) & (!g | h)))) | (i & j & G(!k | !l) & G(!m | !n) & G(!c | !o | Xi) & G(!d | !p | Xi) & G(!f | !q | Xj) & G(!g | !r | Xj) & G(!h | !j | Xj) & (F!i | F!j | F(b & !s) | F(!b & s) | F(k & (((!c | !n | !o) & (c | (n & o))) | ((!d | !m | !p) & (d | (m & p))))) | F(l & (((!f | !n | !q) & (f | (n & q))) | ((!g | !m | !r) & (g | (m & r))))))))", - "properties": { - "size": 10, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "(F((a | !b) & (!a | b)) | F((!c | d | e) & (c | ((d | !e) & (!d | e)))) | F((!f | g | h) & (f | ((g | !h) & (!g | h)))) | (i & j & G(!k | !l) & G(!m | !n) & G(!c | !o | Xi) & G(!d | !p | Xi) & G(!e | !i | Xi) & G(!f | !q | Xj) & G(!g | !r | Xj) & G(!h | !j | Xj) & (F!i | F!j | F(b & !s) | F(!b & s) | F(k & (((!c | !n | !o) & (c | (n & o))) | ((!d | !m | !p) & (d | (m & p))))) | F(l & (((!f | !n | !q) & (f | (n & q))) | ((!g | !m | !r) & (g | (m & r))))))))", - "properties": { - "size": 10, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, { "formula": "F(a & (((b & ((c) R ((c | d | X((c) R (e))))))) R ((!c & F(b & (d | XGe))))))" }, @@ -5680,9 +4795,6 @@ { "formula": "F(a & (((b & (((c | d | X(((d | e)) R (f)))) W (e)))) R ((!e & F(b & (c | d | X((d) R (f))))))))" }, - { - "formula": "F((((a | Xa) & (!a | X!a)) | ((b | Xb) & (!b | X!b)) | ((c | Xc) & (!c | X!c)) | ((d | Xd) & (!d | X!d))) & X(e | (((((a | Xa) & (!a | X!a)) | ((b | Xb) & (!b | X!b)) | ((c | Xc) & (!c | X!c)) | ((d | Xd) & (!d | X!d)))) R (!e))))" - }, { "formula": "F(a & Fb & (((c & ((b) R ((b | d | e | X(((b | e)) R (f))))))) R (!b)))" }, @@ -5698,17 +4810,6 @@ { "formula": "G(a | (((b | ((!c) U ((!c & d & e & X(((!c & e)) U (f))))))) U ((c | G(b | (d & e & X((e) U (f))))))))" }, - { - "formula": "G((((a & Xa) | (!a & X!a)) & ((b & Xb) | (!b & X!b)) & ((c & Xc) | (!c & X!c)) & ((d & Xd) | (!d & X!d))) | X(!e & (((((a & Xa) | (!a & X!a)) & ((b & Xb) | (!b & X!b)) & ((c & Xc) | (!c & X!c)) & ((d & Xd) | (!d & X!d)))) U (e))))", - "properties": { - "size": 33, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "G(a | G!b | (((c | ((!b) U ((!b & d & e & X(((!b & e)) U (f))))))) U (b)))", "properties": { @@ -5751,7 +4852,7 @@ { "formula": "XX(G(!a | X(b & ((Fa) U (c))) | X(!b & ((G!a) R (!c)))) & G(a | X((b | ((Fa) U (c))) & (!b | ((G!a) R (!c))))))", "properties": { - "size": 18, + "size": 19, "initialStatesSize": 1, "acceptanceName": "BuchiAcceptance", "acceptanceSets": 1, @@ -5774,12 +4875,6 @@ { "formula": "F(a & Fb & (((b | c)) R ((!b & (((b | !c)) R ((!b & (((b | c)) R ((!b & (((b | !c)) R ((!b & ((c) R (!b)))))))))))))))" }, - { - "formula": "F(a & X!a & X((a) R ((a | b | X(a | !b | ((a) R ((a | b | X(a | !b)))))))))" - }, - { - "formula": "F(!a & Xa & X((!a) R ((!a | b | X(!a | !b | ((!a) R ((!a | b | X(!a | !b)))))))))" - }, { "formula": "G(a | (((!b & !c)) U ((c | (((b & !c)) U ((c | (((!b & !c)) U ((c | (((b & !c)) U ((c | Gb | ((!b) W (c)))))))))))))))" }, @@ -5816,28 +4911,6 @@ "deterministic": true } }, - { - "formula": "G(a | X!a | X((a) U ((a & !b & X(a & b & ((a) U ((a & !b & X(a & b)))))))))", - "properties": { - "size": 6, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "G(!a | Xa | X((!a) U ((!a & !b & X(!a & b & ((!a) U ((!a & !b & X(!a & b)))))))))", - "properties": { - "size": 6, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, { "formula": "((a) R ((b | X(c | G(d | XG(e | XG(f | XGg)))))))", "properties": { @@ -5859,47 +4932,5 @@ "complete": false, "deterministic": true } - }, - { - "formula": "F(a & X!a & X((a) R ((a | b | X(a | !b | ((a) R ((a | b | X(a | !b | ((a) R ((a | b | X(a | !b)))))))))))))" - }, - { - "formula": "G(!a | Xa | X((!a) U ((!a & !b & X(!a & b & ((!a) U ((!a & !b & X(!a & b & ((!a) U ((!a & !b & X(!a & b)))))))))))))", - "properties": { - "size": 8, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } - }, - { - "formula": "(!a & !b & !c & !d & !e & G(!b | c) & G(!d | e) & G(!f | !g) & GFa & G(f | g | !h | XF!i) & (h | j | k | !l | !m | n | !o | F(!a & Xl) | F(!n & ((n) M (!e))) | F(!c & !e & o & X!m) | (FGc & FG(j | k)) | (FGe & FG(j | !k)) | F(!j & k & ((e & !i) | (!e & i))) | F(!j & !k & ((c & !i) | (!c & i))) | F(a & ((p & X!h) | (!p & Xh))) | F(!o & ((p & X!p) | (!p & Xp))) | F(!o & ((m & X!m) | (!m & Xm) | (n & X!n) | (!n & Xn))) | F(o & Xm & ((b & X!p) | (!b & Xp))) | F(o & Xn & ((d & X!p) | (!d & Xp))) | F(!f & !g & h & l & X((l) M ((i | l)))) | F(a & ((m & X(j | k)) | (!m & X(!j & !k)))) | F(a & ((n & X(j | !k)) | (!n & X(!j & k)))) | F(X!l & ((h & X!h) | (!h & Xh) | ((j | k) & X(!j & !k)) | (!j & !k & X(j | k)))) | F(X!l & ((h & X!h) | (!h & Xh) | ((j | !k) & X(!j & k)) | (!j & k & X(j | !k)))) | F(a & f & !g & h & l & X((l) M ((!a | l | X((l) M ((!a | l | X((l) M ((!a | l)))))))))) | F(!a & f & !g & h & l & X((l) M ((!a | l | X((l) M ((!a | l | X((l) M ((!a | l | X((l) M ((!a | l)))))))))))))))" - }, - { - "formula": "(a | b | c | d | e | F(b & !c) | F(d & !e) | F(f & g) | FG!a | F(!f & !g & h & XGi) | (!h & !j & !k & l & m & !n & o & G(a | X!l) & G(n | ((!n) W (e))) & G(c | e | !o | Xm) & G(j | k | (c & i) | (!c & !i)) & G(j | !k | (e & i) | (!e & !i)) & (GF!c | GF(!j & !k)) & (GF!e | GF(!j & k)) & G(!a | (p & Xh) | (!p & X!h)) & G(o | (p & Xp) | (!p & X!p)) & G(!o | X!m | (b & Xp) | (!b & X!p)) & G(!o | X!n | (d & Xp) | (!d & X!p)) & G(!a | (m & X(!j & !k)) | (!m & X(j | k))) & G(!a | (n & X(!j & k)) | (!n & X(j | !k))) & G(f | g | !h | !l | X((!l) W ((!i & !l)))) & G(o | (((m & Xm) | (!m & X!m)) & ((n & Xn) | (!n & X!n)))) & G(Xl | (((h & Xh) | (!h & X!h)) & (((j | k) & X(j | k)) | (!j & !k & X(!j & !k))))) & G(Xl | (((h & Xh) | (!h & X!h)) & (((j | !k) & X(j | !k)) | (!j & k & X(!j & k))))) & G(!a | !f | g | !h | !l | X((!l) W ((a & !l & X((!l) W ((a & !l & X((!l) W ((a & !l)))))))))) & G(a | !f | g | !h | !l | X((!l) W ((a & !l & X((!l) W ((a & !l & X((!l) W ((a & !l & X((!l) W ((a & !l)))))))))))))))" - }, - { - "formula": "F(a & X(a & X(a & X(a & X(a & X(a & X(a & X(a & X(a & X(a & X(a & Xa)))))))))))", - "properties": { - "size": 13, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": true, - "deterministic": true - } - }, - { - "formula": "G(a | X(a | X(a | X(a | X(a | X(a | X(a | X(a | X(a | X(a | X(a | Xa)))))))))))", - "properties": { - "size": 12, - "initialStatesSize": 1, - "acceptanceName": "BuchiAcceptance", - "acceptanceSets": 1, - "complete": false, - "deterministic": true - } } ] \ No newline at end of file diff --git a/data/formulas/sizes/safetyCoSafety.minimal.json b/data/formulas/sizes/safetyCoSafety.minimal.json new file mode 100644 index 00000000..96f52487 --- /dev/null +++ b/data/formulas/sizes/safetyCoSafety.minimal.json @@ -0,0 +1,4936 @@ +[ + { + "formula": "false", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "true", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "a", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a | b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a <-> b)" + }, + { + "formula": "Fa", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "Ga", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "Xa", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W (b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & F!a)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & ((b) R (a)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a & Fa)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a | b) & (!a | !b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a | !b) & (!a | b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a <-> b) & G!b)" + }, + { + "formula": "(Fa & F!a)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & Fb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & Gb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & Xb)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((b) R (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & Gb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & Xb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) M (b)) & ((c) U (d)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a | ((b) U (a)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a | Ga)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a & b) | (!a & !b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a & !b) | (!a & b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a <-> b) | Fb)" + }, + { + "formula": "(Fa | Fb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | Gb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | Xb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | G!a)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | Gb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | Xb)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((b) U (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) R (b)) | ((c) W (d)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a <-> Ga)" + }, + { + "formula": "(!a <-> Ga)" + }, + { + "formula": "F(a & b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FGa" + }, + { + "formula": "G(a | b)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GFa", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "X(a & b)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "X(a | b)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "XFa", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XGa", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M ((a | b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R ((a | b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R (((b) R (c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Ga) R (Fb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((a) R (b))) R (c))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((a & b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (((b) U (c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa) U (Gb))" + }, + { + "formula": "((((a) U (b))) U (c))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W ((a & b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & (Fb | Ga))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & FGa)" + }, + { + "formula": "(Fa & (a | Gb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & FGa)" + }, + { + "formula": "(Fa & GFb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & XF!a)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & XFb)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & ((((a) R (b))) M (!a)))" + }, + { + "formula": "(Fa & ((b) R ((!a & c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((a & b)) R (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F!a & XFa)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga & F(b & c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & G(b | c))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a & ((a & b) | (!a & !b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a | Gb) & GFa)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa | Gb) & (Fb | Gc))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((Fa | G!b) & (Fb | G!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb)" + }, + { + "formula": "(FGa & GFa)" + }, + { + "formula": "(FGa & GFb)" + }, + { + "formula": "(G(a | b) & GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & GF!a)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & GFb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & XGb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & Gb & GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & G(b | c) & GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & GFb & GFc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa | Gb) & (Fb | Gc) & (Fc | Gd))", + "properties": { + "size": 18, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb & FGc)" + }, + { + "formula": "(FGa & FGb & GFc)" + }, + { + "formula": "(FGa & GFb & GFc)" + }, + { + "formula": "(G(a | b) & GFb & GFc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & GFb & GFc)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(((a) R (((b) R (c)))) & ((b) R (((c) R (a)))) & ((c) R (((a) R (b)))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & Fb & GFc & GFd)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga & GFb & GFc & GFd)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa | Gb) & (Fb | Gc) & (Fc | Gd) & (Fd | Ge))", + "properties": { + "size": 42, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb & FGc & FGd)" + }, + { + "formula": "(FGa & GFb & GFc & GFd)" + }, + { + "formula": "(GFa & GFb & GFc & GFd)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & FGb & FGc & FGd & FGe)" + }, + { + "formula": "(FGa & GFb & GFc & GFd & GFe)" + }, + { + "formula": "(GFa & GFb & GFc & GFd & GFe)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & Fb & Fc & GFd & GFe & GFf)", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb & GFc & GFd & GFe & GFf)" + }, + { + "formula": "(a | (Fa & Gb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a | GFa)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | ((a | b) & (!a | !b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | F(b & c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | FGb)" + }, + { + "formula": "(Fa | G(b | c))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | XF!a)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F!a | XFa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | (a & Fb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | FGb)" + }, + { + "formula": "(Ga | GFa)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | XG!a)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | XGb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | (((a | b)) U (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | XGa)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((b) U ((a | c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | ((((!a) U (b))) W (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a & Fb) | FGa)" + }, + { + "formula": "((Fa & Gb) | (Fc & Ga))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa & G!b) | (Fb & G!a))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FGb)" + }, + { + "formula": "(F(a & b) | FGc)" + }, + { + "formula": "(FGa | FG!a)" + }, + { + "formula": "(FGa | FGb)" + }, + { + "formula": "(FGa | GFa)" + }, + { + "formula": "(FGa | GFb)" + }, + { + "formula": "(FGa | XFb)" + }, + { + "formula": "(GFa | GFb)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(((a) U (Ga)) | ((b) U (Gb)))" + }, + { + "formula": "(Fa | Fb | FGc)" + }, + { + "formula": "(Fa | F(b & c) | FGc)" + }, + { + "formula": "(Fa | FGb | FGc)" + }, + { + "formula": "((Fa & Gb) | (Fc & Ga) | (Fd & Gc))", + "properties": { + "size": 17, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FGb | FGc)" + }, + { + "formula": "(FGa | FGb | FGc)" + }, + { + "formula": "(FGa | FGb | GFc)" + }, + { + "formula": "(FGa | GFb | GFc)" + }, + { + "formula": "(GFa | GFb | GFc)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(((a) U (((b) U (c)))) | ((b) U (((c) U (a)))) | ((c) U (((a) U (b)))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa | FGb | FGc | FGd)" + }, + { + "formula": "(Ga | Gb | FGc | FGd)" + }, + { + "formula": "((Fa & Gb) | (Fc & Ga) | (Fd & Gc) | (Fe & Gd))", + "properties": { + "size": 41, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FGc | FGd)" + }, + { + "formula": "(FGa | FGb | FGc | GFd)" + }, + { + "formula": "(GFa | GFb | GFc | GFd)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FGb | FGc | FGd | FGe)" + }, + { + "formula": "(FGa | FGb | FGc | FGd | GFe)" + }, + { + "formula": "(GFa | GFb | GFc | GFd | GFe)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | Gb | Gc | FGd | FGe | FGf)" + }, + { + "formula": "(FGa | FGb | FGc | FGd | FGe | GFf)" + }, + { + "formula": "(F!a <-> (!a <-> Ga))" + }, + { + "formula": "(Ga <-> (!a <-> Ga))" + }, + { + "formula": "F(a & Fb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Gb)" + }, + { + "formula": "F(a & Xb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) M (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((!a) R (b)))" + }, + { + "formula": "F(a & ((b) R (c)))" + }, + { + "formula": "F(a & ((b) U (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) W (c)))" + }, + { + "formula": "F(Ga & ((b) M (c)))" + }, + { + "formula": "F(Ga & ((b) R (c)))" + }, + { + "formula": "F(Ga & ((b) U (c)))" + }, + { + "formula": "F(Ga & ((b) W (c)))" + }, + { + "formula": "F(a & b & ((c) M (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & Fb & ((c) R (!b)))" + }, + { + "formula": "F(a & Gb & Gc)" + }, + { + "formula": "F(a & !b & Fb & ((c) R (!b)))" + }, + { + "formula": "FG(a | b)" + }, + { + "formula": "G(a | Fb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | Gb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | Xb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) M (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) R (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) U (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) W (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(!a | ((a) U (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(Fa | ((b) M (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(Fa | ((b) R (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(Fa | ((b) U (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(Fa | ((b) W (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | b | ((c) W (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | Fb | Fc)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | ((c) U (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | G!b | ((c) U (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GF(a & b)", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XF(a & b)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XG(a | b)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "XXFa", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "XXGa", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) R (Fb))) M (a))" + }, + { + "formula": "((a) R ((b | Fc)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) R ((b | Ga)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R (((b) R (((c) R (d))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((Ga & Xb)) R (b))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((F!a | Xb)) R ((Fc & Xa)))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((((a) R (b))) R (c))) R (d))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & Fa)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & Gc)))" + }, + { + "formula": "((a) U (((b) U (((c) U (d))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((Ga & Xb)) U ((Gc | X!a)))" + }, + { + "formula": "(((Fa | Xb)) U (b))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((!a) U (G!a))) U ((a | G!a)))" + }, + { + "formula": "((((((a) U (b))) U (c))) U (d))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) U (Gb))) W (a))" + }, + { + "formula": "(a & F(a & ((b) M (!a))))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(!a & ((b) M ((!a & ((b) M (a))))))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (a | GFb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & (FGb | GFa))" + }, + { + "formula": "(Fa & G(!a | Gb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & G(!a | ((b) M (c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & XXXb)", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & ((Gb) M ((b | Xb))))" + }, + { + "formula": "(Fa & ((((a) R ((a | b)))) R (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & F(b & Xc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Xa & (Ga | ((b) M (Xa))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(X!a & (b | Fc | ((((d) R (!b))) U (Xa))))" + }, + { + "formula": "(((a) R (b)) & F(c & Xa))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & (Ga | ((b) U (Ga))))" + }, + { + "formula": "(FGa & (FGb | FGc))" + }, + { + "formula": "(FGa & (GFb | GFc | GFd))" + }, + { + "formula": "(G(a | b) & GF(b & c))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & (F!a | FGb))" + }, + { + "formula": "(GFa & (FGb | FGc))" + }, + { + "formula": "(GFa & (FGb | GFc))" + }, + { + "formula": "(GFa & FG(b | c))" + }, + { + "formula": "(GFa & G(a | Xa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & G(a | Xb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & G(b | Xa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & XG(a | b))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((X!a) R (!b)) & X((a) U ((a & b))))", + "properties": { + "size": 0, + "initialStatesSize": 0, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((!a | ((b) U (Xa))) & (Fc | ((b) R (X!a))))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa | FG!b) & (FG!a | GFb))" + }, + { + "formula": "((FGa | GFb) & (FG!a | FG!b))" + }, + { + "formula": "((FGa | GFb) & (FGc | GFa))" + }, + { + "formula": "((FGa | GFb) & (FGc | GFd))" + }, + { + "formula": "((FG!a | GFb) & (FG!b | GFa))" + }, + { + "formula": "((FG!a | GF!b) & (FGb | GFa))" + }, + { + "formula": "(G(a | Xa) & G(!a | X!a))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & G(!a | X!b))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & G(c | Xd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & GF(b & c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & (FGa | FG!a) & (GFa | GFb))" + }, + { + "formula": "(Fa & Fb & (FGc | FG!c))" + }, + { + "formula": "(Fa & Fb & (GFc | GF!c))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & FGb & (Ga | GFb))" + }, + { + "formula": "(Ga & FGb & (Fc | XFd))" + }, + { + "formula": "(G!a & GFb & G(b | Xa))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Ga | Gb | Gc) & (FG!d | GFe | GF!f) & (FGf | GFd | GFe))" + }, + { + "formula": "(GFa & GFb & (FGc | FGd))" + }, + { + "formula": "(GFa & GFb & FG(a | b))" + }, + { + "formula": "(GFa & GFb & GF(c & d))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (FGc | GFa) & (FGd | GFc))" + }, + { + "formula": "((FGa | GFb) & (FGc | GFd) & (FGe | GFf))" + }, + { + "formula": "(G(a | Xb) & G(c | Xd) & G(e | Xf))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & (a | GFb) & (c | GFd) & (FGa | GFc))" + }, + { + "formula": "((FGa | GFb) & (FGc | GFa) & (FGd | GFc) & (FGe | GFd))" + }, + { + "formula": "(a | ((b) W ((a | ((b) W (!a))))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(!a | G(!a | ((b) W (a))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa | G(b | Xc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | (a & FGb))" + }, + { + "formula": "(Ga | (FGa & GFb))" + }, + { + "formula": "(Ga | XXXb)", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga | ((Fb) W ((b & Xb))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | F(a & Fb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | F(a & ((b) W (c))))" + }, + { + "formula": "(G!a | ((((!a) U ((!a & b)))) U (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Xa | (Fa & ((b) W (Xa))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Xa | (!b & Gc & ((((d) U (b))) R (X!a))))", + "properties": { + "size": 11, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) U (b)) | G(c | Xa))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FG(b | c))" + }, + { + "formula": "(FGa | (FGb & GFc))" + }, + { + "formula": "(FGa | (GFb & GFc))" + }, + { + "formula": "(FGa | F(a & Xa))" + }, + { + "formula": "(FGa | F(a & Xb))" + }, + { + "formula": "(FGa | F(b & Xa))" + }, + { + "formula": "(FGa | GF(b & c))" + }, + { + "formula": "(FGa | XF(a & b))" + }, + { + "formula": "(FG!a | (Ga & GFb))" + }, + { + "formula": "(GFa | (Fa & ((b) R (Fa))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | (GFb & GFc))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | (FGb & FGc & FGd))" + }, + { + "formula": "(((Xa) U (b)) | X((!a) R ((!a | !b))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a & ((b) R (X!a))) | (Gc & ((b) U (Xa))))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGc & GFa))" + }, + { + "formula": "((FGa & GFb) | (FGc & GFd))" + }, + { + "formula": "((FG!a & GFb) | (FG!b & GFa))" + }, + { + "formula": "((FG!a & GFb) | (GFa & GF!b))" + }, + { + "formula": "((FG!a & GF!b) | (FGb & GFa))" + }, + { + "formula": "((FG!a & GF!b) | (GFa & GFb))" + }, + { + "formula": "(F(a & Xa) | F(!a & X!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | F(!a & X!b))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | F(c & Xd))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & Xb) | FG(b | c))" + }, + { + "formula": "(!a | (FG!a & FGb) | (GFa & GF!a))" + }, + { + "formula": "(Fa | FGb | F(b & X!a))" + }, + { + "formula": "(Fa | GFb | (Gc & XGd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | Gb | (FGc & FG!c))" + }, + { + "formula": "(Ga | Gb | (GFc & GF!c))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | GFb | (Fa & FGb))" + }, + { + "formula": "((Fa & Fb & Fc) | (FG!d & FGe & GF!f) | (FGe & FGf & GFd))" + }, + { + "formula": "(FGa | FGb | (GFc & GFd))" + }, + { + "formula": "(FGa | FGb | FG(c | d))" + }, + { + "formula": "(FGa | FGb | GF(a & b))" + }, + { + "formula": "((FGa & GFb) | (FGb & GFc) | (FGd & GFa))" + }, + { + "formula": "((FGa & GFb) | (FGc & GFd) | (FGe & GFf))" + }, + { + "formula": "(F(a & Xb) | F(c & Xd) | F(e & Xf))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | (a & FGb) | (c & FGd) | (FGc & GFa))" + }, + { + "formula": "((FGa & GFb) | (FGb & GFc) | (FGc & GFd) | (FGe & GFa))" + }, + { + "formula": "(Fa <-> X(Fa | Gb))" + }, + { + "formula": "(G!a <-> X(Fa | Gb))" + }, + { + "formula": "F(a & (b | ((c) R (d))))" + }, + { + "formula": "F(a & G(b | c))" + }, + { + "formula": "F(a & XGb)" + }, + { + "formula": "F(a & XXb)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & X((b) U (c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) U ((b & c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(!a & ((a) R (X!a)))" + }, + { + "formula": "F((a | !b) & (Ga | Gb | Gc))" + }, + { + "formula": "F(Fa & (Fb | Gb))" + }, + { + "formula": "F(((a) U (b)) & (Fc | Ga))" + }, + { + "formula": "F((a | Fb) & (c | Fd))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F((a | Gb) & (c | Gd))" + }, + { + "formula": "F((a | ((b) M (!c))) & (!a | ((!b) W (c))))" + }, + { + "formula": "F((Fa | Gb) & (((b) M (c)) | ((c) M (d))))" + }, + { + "formula": "F(a & b & ((c) M ((b & d))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & b & ((b) U ((!a & b))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & ((b) M ((b | c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & !b & ((b) R ((b | c))))" + }, + { + "formula": "F((a | Gb) & (b | Ga) & (c | Gd))" + }, + { + "formula": "F((a | Gb) & (c | Gd) & (e | Gf))" + }, + { + "formula": "F(a & !b & Fb & ((c) R ((!b & d))))" + }, + { + "formula": "FG(a | (b & c))" + }, + { + "formula": "FG(a | Xb)" + }, + { + "formula": "FG(a | ((b) M (!a)))" + }, + { + "formula": "FG(a | ((a) R (b)))" + }, + { + "formula": "G(a | (b & ((c) U (d))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & c))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | XFb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | XXb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | X((b) R (c)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) R ((b | c))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((!a) U (Xa)))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G((a & b) | (Fa & F!b & Fc))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(Ga | (Fb & Gb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(((a) R (b)) | (Fa & Gc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((a & Fb) | (c & Fd))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((a & Gb) | (c & Gd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((a & ((b) M (!c))) | (!a & ((!b) W (c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((Fa & Gb) | (((a) W (c)) & ((c) W (d))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | ((!b) U ((!b & c))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | ((!b) W ((!b & c))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | ((c) W ((b | d))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(!a | b | ((b) R ((a | b))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((a & Fb) | (b & Fa) | (c & Fd))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((a & Fb) | (c & Fd) | (e & Ff))", + "properties": { + "size": 31, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | G!b | ((c) U ((b | d))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GF(a & (b | c))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(a & Xb)", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(a & ((a) U (b)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(!a & ((b) W (a)))" + }, + { + "formula": "XF(a & Gb)" + }, + { + "formula": "XG(a | Fb)", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) M ((a | b | X((a) R (c)))))" + }, + { + "formula": "((((a) R (Xa))) M (((((Ga) M (a))) U (((b) R (c))))))" + }, + { + "formula": "((a) R ((b | X((c) R (d)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R (((b) R (((c) R (((d) R (e))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Xa) R (((((Gb) R (c))) W (d))))", + "properties": { + "size": 15, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((F!a & X!b) | (Ga & Xb))) R ((Fc & Xa)))", + "properties": { + "size": 15, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((X((((a) R (b))) U (c))) R (((a) U (c))))" + }, + { + "formula": "((((((Fa) W (a))) M (b))) R (((a) U (Xa))))" + }, + { + "formula": "((((((((a) R (b))) R (c))) R (d))) R (e))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & X((c) U (d)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U (((b) U (((c) U (((d) U (e))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Xa) U (((((Fb) U (c))) M (d))))", + "properties": { + "size": 15, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((F!a | X!b) & (Ga | Xb))) U ((Gc | X!a)))" + }, + { + "formula": "((X((((a) U (b))) R (c))) U (((a) R (c))))" + }, + { + "formula": "((((((((a) U (b))) U (c))) U (d))) U (e))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((((Ga) M (a))) W (b))) U (((a) R (Xa))))" + }, + { + "formula": "((a) W ((a & b & X((a) U (c)))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) U (Xa))) W (((((Fa) W (a))) R (((b) U (c))))))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(a & F(b & (a | Gb)))" + }, + { + "formula": "(Fa & (FGb | (FGa & FGc)))" + }, + { + "formula": "(Fa & G(Xb | (b & Fc)))", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & XF(b & Xc))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & ((a) R ((a | c))))) R (!a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & (Fb | F(Fb & Ga)))" + }, + { + "formula": "(((a) R (b)) & F(a & XFc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((!a) R (!b)) & (Gc | ((Fa) W ((b & Xa)))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & G(a | XGa))" + }, + { + "formula": "(FGa & GF(a & Xa))" + }, + { + "formula": "(FG!a & (F(b & X!a) | F(!b & Xa)))" + }, + { + "formula": "(G(a | b) & GF(b & Xc))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | b) & GF(c & Xb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GFa & F(b & G(a | c)))" + }, + { + "formula": "(GFa & FG(b | Xc))" + }, + { + "formula": "(GFa & G(b | F(b & c)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF!a & G(a | XFb))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((a | b)) R (c)) & G(d | (((a | b)) R (c))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (GFc | (FGd & FGe)))" + }, + { + "formula": "((FG!a | FG!b | FG!c) & (GFc | (GFa & GFb)))" + }, + { + "formula": "((FG!a | FG!b | FG!c | FG!d) & (GFc | (GFa & GFb & GFd)))" + }, + { + "formula": "((FG!a | FG!b | FG!c | FG!d | FG!e) & (GFc | (GFa & GFb & GFd & GFe)))" + }, + { + "formula": "(G(a | Xb) & GF(b & Xc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & GF(c & Xa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | Xb) & GF(c & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(!a | Fb) & (((Xa) U (b)) | X((!a) R ((!a | !b)))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(!a & b) & GF(a & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(XG(a | b) & GF(c & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((Fa | X(F!b & G!a)) & (G!a | X(Fa | Gb)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((a) R (b)) | (FGa & GFb) | (FGc & GFd)) & (((a) R (c)) | (FGa & GFd) | (FGc & GFb)))" + }, + { + "formula": "((FGa | XFb | GF(a & c)) & (FGd | XXe | GF(d & f)))" + }, + { + "formula": "(FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a))))" + }, + { + "formula": "(G(a | XGb) & G(c | XG!b))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G(a | XXb) & G(c | XXd))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GF(a & Xb) & GF(c & Xd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga & (GFb | GFc) & G(d | ((!d) U ((b | c)))))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb & FG(b | X!a))" + }, + { + "formula": "(FGa & GFb & GF(a & Xb))" + }, + { + "formula": "(GFa & GF!a & G(a | XFb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & GFb & GF(c & Xd))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | XXb) & G(c | XXd) & G(e | XXf))", + "properties": { + "size": 64, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(GF(a & Xb) & GF(c & Xd) & GF(e & Xf))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa & GFb & (FGc | GFd) & GF(d & X!c))" + }, + { + "formula": "(a | G(b | (a & Fb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa | (Gb & G(Fa | Gb)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | (GFb & (GFa | GFc)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(Ga | F(Xb & (b | Gc)))" + }, + { + "formula": "(Ga | XG(b | Xc))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | ((!a) U ((!a & c))))) U (a)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a) U (b)) | (Fc & ((G!a) M ((!b | X!a)))))" + }, + { + "formula": "(((a) U (b)) | G(a | XGc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(F(a & b) | FG(b | Xc))" + }, + { + "formula": "(F(a & b) | FG(c | Xb))" + }, + { + "formula": "(FGa | F(!a & XGb))" + }, + { + "formula": "(FGa | F(b & G(b | c)))" + }, + { + "formula": "(FGa | G(b | F(a & c)))" + }, + { + "formula": "(FGa | GF(b & Xc))" + }, + { + "formula": "(GFa | (G(b | X!a) & G(!b | Xa)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | F(a & XFa))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GFa | FG(a | Xa))" + }, + { + "formula": "((((a & b)) U (c)) | F(d & (((a & b)) U (c))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & GFb) | (FGc & (GFd | GFe)))" + }, + { + "formula": "((GFa & GFb & GFc) | (FG!c & (FG!a | FG!b)))" + }, + { + "formula": "((GFa & GFb & GFc & GFd) | (FG!c & (FG!a | FG!b | FG!d)))" + }, + { + "formula": "((GFa & GFb & GFc & GFd & GFe) | (FG!c & (FG!a | FG!b | FG!d | FG!e)))" + }, + { + "formula": "(F(a & G!b) | (((X!a) R (!b)) & X((a) U ((a & b)))))" + }, + { + "formula": "(F(a & Xb) | FG(b | Xc))" + }, + { + "formula": "(F(a & Xb) | FG(c | Xa))" + }, + { + "formula": "(F(a & Xb) | FG(c | Xb))" + }, + { + "formula": "(FG(a | b) | FG(!a | Xb))" + }, + { + "formula": "(XF(a & b) | FG(c | Xb))" + }, + { + "formula": "((Fa & X(F!b & G!a)) | (G!a & X(Fa | Gb)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) U (b)) & (FGb | GFa) & (FGc | GFd)) | (((a) U (d)) & (FGb | GFd) & (FGc | GFa)))" + }, + { + "formula": "((GFa & XGb & FG(a | c)) | (GFd & XXe & FG(d | f)))" + }, + { + "formula": "(F(a & XF!b) | F(c & XFb))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(F(a & XXb) | F(c & XXd))", + "properties": { + "size": 17, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | Xb) | FG(c | Xd))" + }, + { + "formula": "(GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a))))" + }, + { + "formula": "(Fa | (FGb & FGc) | F(!d & ((d) R ((b & c)))))" + }, + { + "formula": "(FGa | FG!a | F(!a & XGb))" + }, + { + "formula": "(FGa | FGb | FG(c | Xd))" + }, + { + "formula": "(FGa | GFb | FG(b | Xa))" + }, + { + "formula": "(FGa | GF!b | GF(a & Xb))" + }, + { + "formula": "(F(a & XXb) | F(c & XXd) | F(e & XXf))", + "properties": { + "size": 65, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | Xb) | FG(c | Xd) | FG(e | Xf))" + }, + { + "formula": "(FGa | FGb | (FGc & GF!d) | FG(c | Xd))" + }, + { + "formula": "F(a & (Ga | Gb | (c & Gd)))" + }, + { + "formula": "F(a & F(b & Gc))" + }, + { + "formula": "F(a & G(a | Xb))" + }, + { + "formula": "F(a & G(b | Ga))" + }, + { + "formula": "F(a & G(b | Xb))" + }, + { + "formula": "F(a & G(b | Xc))" + }, + { + "formula": "F(a & ((!a) R ((b | ((b) R (c))))))" + }, + { + "formula": "F(a & ((b) R ((Fc & Fd))))" + }, + { + "formula": "F(a & ((b) R (((!b) R ((!b | c))))))" + }, + { + "formula": "F(a & ((a) W ((b & ((b) W (a))))))" + }, + { + "formula": "F(a & ((a) W ((b & ((c) W (a))))))" + }, + { + "formula": "F(Fa & (Gb | F(b & c)))" + }, + { + "formula": "F(Fa & (!a | b | X(!a & b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(F!a & (a | XF!a))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "FG(a | XXb)" + }, + { + "formula": "FG(Xa | ((a) W (Xa)))" + }, + { + "formula": "FG(a | Xb | XXc)" + }, + { + "formula": "G(a | (Fa & Fb & (c | Fd)))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(a & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & Fa))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & Xb))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & Xc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | Fc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | ((a) M ((b | ((b) M (a))))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((a) M ((b | ((c) M (a))))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) U ((Gc | Gd))))" + }, + { + "formula": "G(a | ((!b) U (((b) U ((b & c))))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(!a | ((a) U ((b & ((b) U (c))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(Ga | (!a & XGa))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(Ga | (Fb & G(b | c)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(G!a | (a & b & X(a | b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GF(a & XXb)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(Xa & ((a) M (Xa)))", + "properties": { + "size": 2, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF(a & Xb & XXc)", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "X((a & FGa) | (!a & GF!a))" + }, + { + "formula": "X((a & GF!a) | (!a & FGa))" + }, + { + "formula": "((a) M (((!a) M (((a) M (((!a) M (Fa))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((((Ga | ((((a) M (b))) R (a))) & (F(a & b) | FGa))) M (b))" + }, + { + "formula": "((a) R (X(b | XGa)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a & Xb)) R (X((((((c) U (d))) R (a))) U (((c) R (a))))))" + }, + { + "formula": "((a) U (X(b & XFa)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(((a | Xb)) U (X((((((c) R (d))) U (a))) R (((c) U (a))))))" + }, + { + "formula": "((!a) W (((a) W (((!a) W (((a) W (G!a))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((Fa & ((((a) W (b))) U (a))) | (G(a | b) & GFa))) W (b))" + }, + { + "formula": "(Fa & ((b) M ((G!a & ((XXb) M (!a))))))" + }, + { + "formula": "(Fa & ((b) R ((!a & (b | c | X((b) R (d)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((!a & b & X((!a) U ((!a & c))))) R ((!a & d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Ga & G(!b | (((!c | ((b) R (!a)))) U ((b | c)))))" + }, + { + "formula": "(Ga & GF(a & XXa))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(FGa & (Ga | G(Xb | (a & Xa) | (!a & X!a))))" + }, + { + "formula": "(GFa & GF(a & XXa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb) & (GFc | FG(d | Xe)))" + }, + { + "formula": "((GFa | GFb) & GF(c & XXa))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G(a | Fb) & F(b & G(a | Fb)))" + }, + { + "formula": "(((a) U (((b) R (Fc)))) & ((((a & Gb) | (!a & F!b))) R (((!b) U (G(b | G!c))))))" + }, + { + "formula": "(GF(a & Xb) & GF(c & XXa))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FG(a | XXa) & FG(!a | XX!a))" + }, + { + "formula": "(G(F(a & b) | (Ga & XGc)) & G(F(d & e) | (Gd & XGf)))", + "properties": { + "size": 10, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(a & XXb) & GF(c & XXd))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa & GFb & GF(a & XXb))" + }, + { + "formula": "(GF(!a & b) & GF(a & Xb) & GF(!a & XXb))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(GF(a & XXb) & GF(c & XXd) & GF(e & XXf))", + "properties": { + "size": 12, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a & Xb & XXc & XXXd & XXXXGe)", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa | FG(a | XXa))" + }, + { + "formula": "(F!a | F(b & (((c & ((!b) U (a)))) R ((!b & !c)))))" + }, + { + "formula": "(G!a | ((b) U ((a | (b & c & X((b) U (d)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((a | b | X((a) R ((a | c))))) U ((a | d))))" + }, + { + "formula": "(G!a | ((b) W ((Fa | ((XXb) W (a))))))", + "properties": { + "size": 1, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | FG(a | XXa))" + }, + { + "formula": "((FGa & FGb) | FG(c | XXa))" + }, + { + "formula": "((FGa & GFb) | (FGc & GF(d & Xe)))" + }, + { + "formula": "(F(a & Gb) | G(b | F(a & Gb)))" + }, + { + "formula": "(((!a) R (((!b) U (G!c)))) | ((((a & F!b) | (!a & Gb))) U (((b) R (F(!b & Fc))))))" + }, + { + "formula": "(FG(a | Xb) | FG(c | XXa))" + }, + { + "formula": "(F(G(a | b) & (Fa | XFc)) | F(G(d | e) & (Fd | XFf)))" + }, + { + "formula": "(FG(a | XXb) | FG(c | XXd))" + }, + { + "formula": "(GF(a & XXa) | GF(!a & XX!a))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GFb | FG(b | XXa))" + }, + { + "formula": "(FG(a | b) | FG(!a | Xb) | FG(a | XXb))" + }, + { + "formula": "(FG(a | XXb) | FG(c | XXd) | FG(e | XXf))" + }, + { + "formula": "(a | Xb | XXc | XXXd | XXXXFe)", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a <-> (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))))" + }, + { + "formula": "(a <-> ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc))))))" + }, + { + "formula": "(!a <-> (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))))" + }, + { + "formula": "(!a <-> ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc))))))" + }, + { + "formula": "F(a & F(b & (a | Gc)))" + }, + { + "formula": "F(a & G(b | XGc))" + }, + { + "formula": "F(a & G(b | c | X((c) R (d))))" + }, + { + "formula": "F(a & G(b | Fc | (Fd & Ge)))" + }, + { + "formula": "F(a & X(b & XFc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "F(a & ((b) R (((!b) R ((b | ((c) U (b))))))))" + }, + { + "formula": "F(a & !b & (((c & ((b) R ((b | d))))) M (!b)))" + }, + { + "formula": "F(a & XFb & XG(!b | Gc))" + }, + { + "formula": "F(a & !b & Fb & (((c & ((b) R ((b | d))))) R (!b)))" + }, + { + "formula": "FG(a | XXXb)" + }, + { + "formula": "FG((a & Fb) | ((Fc) U ((a & Fc))))" + }, + { + "formula": "FG(((a) U (XXb)) | ((c) U (XXd)))" + }, + { + "formula": "G(a | F(b & XFc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & c & X((c) U (d))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(a | F(b & Gc & (Fd | Ge)))" + }, + { + "formula": "G(a | G(b | (a & Fc)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | X(b | XGc))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((!b) U (((b) U ((!b & ((c) R (!b))))))))" + }, + { + "formula": "G(a | b | (((c | ((!b) U ((!b & d))))) W (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | XG!b | XF(b & Fc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(((!a) M (F!b)) | (a & G(a | b) & GFb) | (!a & (F(!a & !b) | FG!b)))" + }, + { + "formula": "G(a | b | G!b | (((c | ((!b) U ((!b & d))))) U (b)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "GF(a & XXXb)", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "GF((a | Gb) & ((Gc) R ((a | Gc))))" + }, + { + "formula": "GF(((a) R (XXb)) & ((c) R (XXd)))" + }, + { + "formula": "X(a & X(b & XGc))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "X(a | X(b | XFc))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((a) M ((a & ((b) M ((b | c | X((b) R (d))))))))" + }, + { + "formula": "((((!a) M (((b & XF!a) | (!b & XGa))))) M (!a))" + }, + { + "formula": "((XXa) R ((b & (((c) R (XXd)) | ((e) R (XXf)) | ((g) R (XXh))))))", + "properties": { + "size": 314, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((XXa) U ((b | (((c) U (XXd)) & ((e) U (XXf)) & ((g) U (XXh))))))", + "properties": { + "size": 314, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) W ((a | ((b) W ((b & c & X((b) U (d))))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((((a) W (((b & XGa) | (!b & XF!a))))) W (a))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & ((a) R ((a | c | X((a) R (d))))))) R (!a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & X((!a) U (c)) & X((a) R ((!c | Gd))))) R (!a)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa | GFb | GFc) & G(b | d | G(a | XFc)))" + }, + { + "formula": "((!a | GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a)))) & (a | (FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a))))))" + }, + { + "formula": "((a | ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc)))))) & (!a | ((((b | F!a) & (!b | Ga))) R (((!a) U (G(a | G!c)))))))" + }, + { + "formula": "((FGa | GF(b & XXa)) & FG(c | X(b & Xa)))" + }, + { + "formula": "(FG(a | XXXa) & FG(!a | XXX!a))" + }, + { + "formula": "(GFa & FG(b | Xc) & GF(d & XXXe))" + }, + { + "formula": "(GF(!a & b) & GF(a & Xb) & GF(!a & XXb) & GF(a & XXXb))", + "properties": { + "size": 15, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | ((!a) U ((!a & c & X((!a) U (d))))))) U (a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((b | X((a) R (!c)) | X((!a) U ((c & Fd))))) U (a)))" + }, + { + "formula": "(GF!a | (F!a & F(Xb & ((a & X!a) | (!a & Xa)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((FGa & FGb & GFc) | F(a & d & F(c & XGb)))" + }, + { + "formula": "((a & FG(a | ((!b) M (!a))) & FG(!a | ((b) W (a)))) | (!a & (GF(a & ((!b) M (!a))) | GF(!a & ((b) W (a))))))" + }, + { + "formula": "((a & ((((b & F!a) | (!b & Ga))) U (((a) R (F(!a & Fc)))))) | (!a & ((((b | F!a) & (!b | Ga))) R (((!a) U (G(a | G!c)))))))" + }, + { + "formula": "((GFa & FG(b | XXa)) | GF(c & X(b | Xa)))" + }, + { + "formula": "(GF(a & XXXa) | GF(!a & XXX!a))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(FGa | GF(b & Xc) | FG(d | XXXe))" + }, + { + "formula": "(FG(a | b) | FG(!a | Xb) | FG(a | XXb) | FG(!a | XXXb))" + }, + { + "formula": "F(a & F(b & (c | XGd)))" + }, + { + "formula": "F(a & F(b & (c | d | X((d) R (e)))))" + }, + { + "formula": "F(a & ((b) M ((c & (b | d | X((b) R (e)))))))" + }, + { + "formula": "F(a & ((!a) R ((b | ((b) R ((c | ((c) R (d)))))))))" + }, + { + "formula": "F(a & ((b) R (((!b) R (((b) R (((!b) R ((!b | c))))))))))" + }, + { + "formula": "F(((a) W (Gb)) & ((!a & G(a | b) & GFb) | (a & (F(!a & !b) | FG!b))))" + }, + { + "formula": "F(a & Fb & ((c) R ((!b & (c | d | X((c) R (e)))))))" + }, + { + "formula": "F(a & Fb & (((!b & c & X((!b) U ((!b & d))))) R ((!b & e))))" + }, + { + "formula": "F(a & F!b & ((b) R ((c & (b | d | X((b) R (e)))))))" + }, + { + "formula": "F(a & F(b & XFc) & (((b & d & X((d) U ((c & d))))) R ((d & e))))" + }, + { + "formula": "F(a & F(b & XFc) & (((b & Gd & XF(c & d))) R ((d & e))))" + }, + { + "formula": "F(a & b & !c & Xc & X(Xb & ((c) R (((!c) R ((b & d)))))))" + }, + { + "formula": "G(a | G(b | (c & XFd)))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G(b | (c & d & X((d) U (e)))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((!b) U (((b) U (((!b) U (((b) U ((b & c))))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | ((b) W ((c | (b & d & X((b) U (e)))))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(!a | ((a) U ((b & ((b) U ((c & ((c) U (d)))))))))", + "properties": { + "size": 9, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | Gb | ((!b) U ((c | (!b & d & X((!b) U (e)))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | ((c) U ((b | (c & d & X((c) U (e)))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((b | c | X((b) R ((b | d))))) U ((b | e))))" + }, + { + "formula": "G(a | G(b | XGc) | (((b | d | X((d) R ((c | d))))) U ((d | e))))" + }, + { + "formula": "G(a | G(b | XGc) | (((b | Fd | XG(c | d))) U ((d | e))))" + }, + { + "formula": "G(a | b | c | X!c | X(Xb | ((!c) U (((c) U ((b | d)))))))", + "properties": { + "size": 3, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) M ((!a | (((b) R (c)) & F(b & XFd)))))" + }, + { + "formula": "((a) M ((!a | ((b) M (((!b) M (((b) M (((!b) M (Fb)))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "((!a) M (((!b & GFa & G(b | Xa)) | (b & (FG!a | F(!b & X!a))))))" + }, + { + "formula": "((a) R ((!b | !c | ((Gb) M (((c | d) & (!d | ((!c) R ((a | !c))))))))))" + }, + { + "formula": "((a) U ((b & c & ((F!b) W (((!c & !d) | (d & ((c) U ((a & c))))))))))" + }, + { + "formula": "((a) W (((b & GFa & G(b | Xa)) | (!b & (FG!a | F(!b & X!a))))))" + }, + { + "formula": "((!a) W ((a & (((b) U (c)) | G(b | XGd)))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((!a) W ((a & ((!b) W (((b) W (((!b) W (((b) W (G!b)))))))))))", + "properties": { + "size": 6, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((b & ((a) R ((a | c | d | X(((a | d)) R (e))))))) R (!a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((FGa | GF(b & XXc)) & (GFc | FG(d | X(b & Xa))))" + }, + { + "formula": "(FG(a | XXXXa) & FG(!a | XXXX!a))" + }, + { + "formula": "(G!a | (((b | ((!a) U ((!a & c & d & X(((!a & d)) U (e))))))) U (a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((GFa & FG(b | XXc)) | (FGc & GF(d & X(b | Xa))))" + }, + { + "formula": "(GF(a & XXXXa) | GF(!a & XXXX!a))", + "properties": { + "size": 16, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "(a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))" + }, + { + "formula": "(!a <-> (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))))" + }, + { + "formula": "F(a & F(b & XFc & XG(!c | Gd)))" + }, + { + "formula": "F(a & ((!a) R (((b) R ((!a | ((!a) R ((c | ((c) R (!a)))))))))))" + }, + { + "formula": "F(a & Fb & (((c & ((b) R ((b | d | X((b) R (e))))))) R (!b)))" + }, + { + "formula": "F(a & Fb & (((c & X((!b) U (d)) & X((b) R ((!d | Ge))))) R (!b)))" + }, + { + "formula": "F(!a & Xa & X(Xb & ((!a) R (((a) R (((!a) R ((b & c)))))))))" + }, + { + "formula": "F(a & b & !c & Xc & X(Xb & ((!c) R (((c) R (((!c) R ((b & d)))))))))" + }, + { + "formula": "G(a | G(b | XG!c | XF(c & Fd)))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": true, + "deterministic": true + } + }, + { + "formula": "G(!a | ((a) U (((b) U ((a & ((a) U ((c & ((c) U (a)))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((c | ((!b) U ((!b & d & X((!b) U (e))))))) U (b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((c | X((b) R (!d)) | X((!b) U ((d & Fe))))) U (b)))" + }, + { + "formula": "G(a | X!a | X(Xb | ((a) U (((!a) U (((a) U ((b | c)))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | b | c | X!c | X(Xb | ((c) U (((!c) U (((c) U ((b | d)))))))))", + "properties": { + "size": 5, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((!a | GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a))))))) & (a | (FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a)))))))))" + }, + { + "formula": "((a & FG(!a | b | ((c) W (a))) & FG(a | (!b & ((!c) M (!a)))) & (Gc | (G(!a | b | ((c) W (a))) & G(a | (!b & ((!c) M (!a))))))) | (!a & (GF(a & !b & ((!c) M (!a))) | GF(!a & (b | ((c) W (a)))) | (F!c & (F(a & !b & ((!c) M (!a))) | F(!a & (b | ((c) W (a)))))))))" + }, + { + "formula": "F(a & (((b & ((c) R ((c | d | X((c) R (e))))))) R ((!c & F(b & (d | XGe))))))" + }, + { + "formula": "F(a & (((b & (((c | X((d) R (e)))) W (d)))) R ((!d & F(b & (c | XGe))))))" + }, + { + "formula": "F(a & (((b & ((c) R ((c | d | e | X(((c | e)) R (f))))))) R ((!c & F(b & (d | e | X((e) R (f))))))))" + }, + { + "formula": "F(a & (((b & (((c | d | X(((d | e)) R (f)))) W (e)))) R ((!e & F(b & (c | d | X((d) R (f))))))))" + }, + { + "formula": "F(a & Fb & (((c & ((b) R ((b | d | e | X(((b | e)) R (f))))))) R (!b)))" + }, + { + "formula": "G(a | (((b | (((c & X((!d) U (e)))) M (!d)))) U ((d | G(b | (c & XFe))))))" + }, + { + "formula": "G(a | (((b | ((!c) U ((!c & d & X((!c) U (e))))))) U ((c | G(b | (d & XFe))))))" + }, + { + "formula": "G(a | (((b | (((c & d & X(((d & !e)) U (f)))) M (!e)))) U ((e | G(b | (c & d & X((d) U (f))))))))" + }, + { + "formula": "G(a | (((b | ((!c) U ((!c & d & e & X(((!c & e)) U (f))))))) U ((c | G(b | (d & e & X((e) U (f))))))))" + }, + { + "formula": "G(a | G!b | (((c | ((!b) U ((!b & d & e & X(((!b & e)) U (f))))))) U (b)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(Fa & (((a | b)) R ((!a & (((a | !b)) R ((!a & (((a | b)) R ((!a & (((a | !b)) R ((!a & ((b) R (!a)))))))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "(G!a | (((!a & !b)) U ((a | (((!a & b)) U ((a | (((!a & !b)) U ((a | (((!a & b)) U ((a | ((!b) U (a)))))))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "F(a & (((b & X((!c) U (d)) & X((c) R ((!d | Ge))))) R ((!c & F(b & X((!c) U (d)) & X((c) R ((!d | Ge))))))))" + }, + { + "formula": "G(a | (((b | X((c) R (!d)) | X((!c) U ((d & Fe))))) U ((c | G(b | X((c) R (!d)) | X((!c) U ((d & Fe))))))))" + }, + { + "formula": "XX(G(!a | X(b & ((Fa) U (c))) | X(!b & ((G!a) R (!c)))) & G(a | X((b | ((Fa) U (c))) & (!b | ((G!a) R (!c))))))", + "properties": { + "size": 13, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "XX(F(a & X(b | ((Fa) U (c))) & X(!b | ((G!a) R (!c)))) | F(!a & X((b & ((Fa) U (c))) | (!b & ((G!a) R (!c))))))" + }, + { + "formula": "F(a & (((b | c)) R ((!c & (((!b | c)) R ((!c & (((b | c)) R ((!c & (((!b | c)) R ((!c & F!b & ((b) M (!c)))))))))))))))" + }, + { + "formula": "F((!a | Xa) & X((!a) R ((!a | b | X(!a | !b | ((!a) R ((!a | b | X(!a | !b)))))))))" + }, + { + "formula": "F((!a | Xa) & X(((b | X(!b | (((b | X(!a | !b))) W (!a))))) W (!a)))" + }, + { + "formula": "F(a & Fb & (((b | c)) R ((!b & (((b | !c)) R ((!b & (((b | c)) R ((!b & (((b | !c)) R ((!b & ((c) R (!b)))))))))))))))" + }, + { + "formula": "G(a | (((!b & !c)) U ((c | (((b & !c)) U ((c | (((!b & !c)) U ((c | (((b & !c)) U ((c | Gb | ((!b) W (c)))))))))))))))" + }, + { + "formula": "G((a & X!a) | X(((!b & X(b & (((!b & X(a & b))) M (a))))) M (a)))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G((a & X!a) | X((a) U ((a & !b & X(a & b & ((a) U ((a & !b & X(a & b)))))))))", + "properties": { + "size": 4, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "G(a | G!b | (((!b & !c)) U ((b | (((!b & c)) U ((b | (((!b & !c)) U ((b | (((!b & c)) U ((b | ((!c) U (b)))))))))))))))", + "properties": { + "size": 7, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) R ((b | X(c | G(d | XG(e | XG(f | XGg)))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + }, + { + "formula": "((a) U ((b & X(c & F(d & XF(e & XF(f & XFg)))))))", + "properties": { + "size": 8, + "initialStatesSize": 1, + "acceptanceName": "BuchiAcceptance", + "acceptanceSets": 1, + "complete": false, + "deterministic": true + } + } +] \ No newline at end of file diff --git a/data/gfg-helpful-languages/gfg-helpful-languages.hoa b/data/gfg-helpful-languages/gfg-helpful-languages.hoa new file mode 100644 index 00000000..02ea28d0 --- /dev/null +++ b/data/gfg-helpful-languages/gfg-helpful-languages.hoa @@ -0,0 +1,26242 @@ +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[!1] 2 +[(0 & 1)] 0 +State: 1 "2" +[(!0 & !1)] 3 +[(0 & 1)] 2 {0} +[(!0 & 1)] 4 +[(0 & !1)] 0 {0} +State: 2 "1" +[1] 2 +[(0 & !1)] 4 {0} +[(!0 & !1)] 0 +State: 3 "3" +[(!0 & 1)] 1 +[(!0 & !1)] 3 +[(0 & !1)] 2 {0} +[(0 & 1)] 4 +State: 4 "4" +[(!0 & 1)] 1 +[0] 4 +[(!0 & !1)] 5 {0} +State: 5 "5" +[((0 & !1) | (!0 & 1))] 2 {0} +[((0 & 1) | (!0 & !1))] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[0] 2 +[(!0 & !1)] 0 +State: 1 "2" +[(!0 & !1)] 1 +[(!0 & 1)] 2 +[0] 0 +State: 2 "1" +[(!0 & 1)] 1 +[!1] 2 +[(0 & 1)] 3 {0} +State: 3 "8" +[(0 & 1)] 4 {0} +[(0 & !1)] 5 +[(!0 & 1)] 6 {0} +[(!0 & !1)] 3 +State: 4 "6" +[((0 & 1) | (!0 & !1))] 4 +[((0 & !1) | (!0 & 1))] 6 +State: 5 "9" +[(!0 & !1)] 4 {0} +[((0 & !1) | (!0 & 1))] 6 {0} +[(0 & 1)] 3 +State: 6 "4" +[(!0 & 1)] 7 {0} +[(0 & 1)] 8 +[(0 & !1)] 6 +[(!0 & !1)] 9 {0} +State: 7 "3" +[(!0 & 1)] 7 +[(0 & !1)] 0 {0} +[((0 & 1) | (!0 & !1))] 9 +State: 8 "7" +[(0 & !1)] 4 +[(!0 & 1)] 7 {0} +[(!0 & !1)] 8 +[(0 & 1)] 9 {0} +State: 9 "5" +[((0 & !1) | !0)] 7 +[(0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 {0} +[(0 | (!0 & 1))] 2 +State: 1 "3" +[((0 & !1) | !0)] 1 +[(0 & 1)] 3 +State: 2 "1" +[t] 0 +State: 3 "5" +[(!0 & 1)] 4 +[(!0 & !1)] 5 {0} +[(0 & !1)] 6 {0} +[(0 & 1)] 3 +State: 4 "6" +[(!0 & 1)] 4 +[(0 & !1)] 5 {0} +[(!0 & !1)] 1 +[(0 & 1)] 6 {0} +State: 5 "2" +[(!0 & 1)] 5 +[!1] 7 +[(0 & 1)] 8 {0} +State: 6 "4" +[(!0 & !1)] 5 +[1] 7 +[(0 & !1)] 8 {0} +State: 7 "7" +[(0 & 1)] 6 +[((0 & !1) | !0)] 8 {0} +State: 8 "8" +[(!0 & !1)] 0 {0} +[(0 | (!0 & 1))] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(0 & !1)] 2 +[(!0 & 1)] 3 {0} +[(0 & 1)] 0 +State: 1 "7" +[(!0 & 1)] 2 {0} +[!1] 2 +[(0 & 1)] 0 +State: 2 "1" +[1] 2 +[(0 & !1)] 4 {0} +[(!0 & !1)] 0 +State: 3 "4" +[(0 & 1)] 5 +[(!0 & !1)] 6 {0} +[(0 & !1)] 3 +[(!0 & 1)] 7 {0} +State: 4 "10" +[!0] 5 {0} +[(0 & 1)] 8 +[(0 & !1)] 3 {0} +State: 5 "3" +[(0 & !1)] 9 +[(0 & 1)] 5 +[!0] 3 +State: 6 "9" +[(0 & !1)] 10 {0} +[(0 & 1)] 6 +[!0] 11 +State: 7 "8" +[(0 & !1)] 2 {0} +[(0 & 1)] 7 +[!0] 11 +State: 8 "11" +[(0 & 1)] 8 +[(0 & !1)] 4 +[!0] 3 {0} +State: 9 "2" +[!0] 5 +[(0 & 1)] 3 +[(0 & !1)] 3 {0} +State: 10 "6" +[(0 & 1)] 2 {0} +[!0] 7 +[(0 & !1)] 11 +State: 11 "5" +[(0 & !1)] 10 +[(!0 & 1)] 2 {0} +[(0 & 1)] 7 +[(!0 & !1)] 11 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[((0 & 1) | !0)] 1 +[(0 & !1)] 0 +State: 1 "1" +[1] 2 +[(!0 & !1)] 3 {0} +[(0 & !1)] 0 +State: 2 "2" +[!1] 2 +[(!0 & 1)] 3 {0} +[(0 & 1)] 0 +State: 3 "4" +[(!0 & !1)] 4 +[(0 | (!0 & 1))] 3 +State: 4 "6" +[(0 & 1)] 5 {0} +[(!0 & 1)] 3 +[!1] 6 {0} +State: 5 "3" +[(!0 & 1)] 5 +[(0 & !1)] 7 {0} +[((0 & 1) | (!0 & !1))] 6 +State: 6 "5" +[(0 & 1)] 5 +[((0 & !1) | !0)] 6 +State: 7 "9" +[(!0 & !1)] 8 +[(0 & !1)] 7 +[(!0 & 1)] 1 {0} +[(0 & 1)] 9 +State: 8 "7" +[!0] 2 {0} +[0] 7 +State: 9 "8" +[1] 8 +[(!0 & !1)] 1 {0} +[(0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(0 | (!0 & 1))] 2 {0} +State: 1 "1" +[(!0 & !1)] 2 {0} +[(0 | (!0 & 1))] 0 +State: 2 "4" +[((0 & 1) | !0)] 2 +[(0 & !1)] 3 {0} +State: 3 "5" +[1] 4 {0} +[(!0 & !1)] 5 {0} +[(0 & !1)] 3 +State: 4 "2" +[1] 4 +[!1] 5 +State: 5 "3" +[(0 & !1)] 4 +[(!0 & !1)] 2 {0} +[1] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(0 & 1)] 2 {0} +[(!0 & 1)] 3 {0} +[(0 & !1)] 0 +State: 1 "2" +[((0 & 1) | (!0 & !1))] 4 {0} +[((0 & !1) | (!0 & 1))] 0 +State: 2 "1" +[(0 | (!0 & 1))] 5 +[(!0 & !1)] 2 +State: 3 "4" +[(!0 & !1)] 2 +[(0 & 1)] 2 {0} +[(!0 & 1)] 3 +[(0 & !1)] 0 {0} +State: 4 "6" +[(0 | (!0 & !1))] 4 +[(!0 & 1)] 6 +State: 5 "3" +[!1] 5 +[(0 & 1)] 2 +[(!0 & 1)] 3 +State: 6 "5" +[(!0 & !1)] 4 +[(0 & !1)] 5 {0} +[(0 & 1)] 2 {0} +[(!0 & 1)] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 +[(!0 & 1)] 2 {0} +[((0 & 1) | (!0 & !1))] 0 +State: 1 "1" +[(!0 & !1)] 3 {0} +[(0 & !1)] 1 +[(!0 & 1)] 0 +[(0 & 1)] 4 {0} +State: 2 "4" +[(!0 & 1)] 5 +[(!0 & !1)] 3 {0} +[0] 4 {0} +State: 3 "7" +[!0] 3 +[0] 4 {0} +State: 4 "5" +[(!0 & 1)] 6 +[(0 & 1)] 0 {0} +[!1] 4 +State: 5 "6" +[((0 & 1) | (!0 & !1))] 5 +[(!0 & 1)] 2 +[(0 & !1)] 4 {0} +State: 6 "2" +[!0] 7 +[0] 4 +State: 7 "3" +[(!0 & !1)] 7 +[(0 & !1)] 1 {0} +[1] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 {0} +[(!0 & !1)] 2 +[(!0 & 1)] 0 +[(0 & 1)] 3 {0} +State: 1 "7" +[(!0 & 1)] 4 +[(!0 & !1)] 4 {0} +[(0 & !1)] 1 +[(0 & 1)] 3 +State: 2 "1" +[(!0 & !1)] 2 +[(0 | (!0 & 1))] 0 +State: 3 "8" +[(!0 & 1)] 4 +[(!0 & !1)] 5 {0} +[(0 & !1)] 1 +[(0 & 1)] 3 +State: 4 "2" +[!1] 4 +[(!0 & 1)] 6 +[(0 & 1)] 3 +State: 5 "3" +[(!0 & 1)] 7 +[(0 & !1)] 5 +[(!0 & !1)] 2 {0} +[(0 & 1)] 8 +State: 6 "4" +[(!0 & 1)] 7 {0} +[(0 & !1)] 4 +[(!0 & !1)] 5 {0} +[(0 & 1)] 3 +State: 7 "6" +[1] 7 +[(!0 & !1)] 5 +[(0 & !1)] 0 {0} +State: 8 "5" +[!1] 5 +[(!0 & 1)] 0 {0} +[(0 & 1)] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 {0} +[(!0 & !1)] 2 {0} +[1] 3 +State: 1 "2" +[(0 & !1)] 1 +[(!0 & 1)] 2 +[(!0 & !1)] 4 {0} +[(0 & 1)] 5 {0} +State: 2 "7" +[(0 & !1)] 1 +[(!0 & !1)] 2 +[(!0 & 1)] 6 +[(0 & 1)] 5 {0} +State: 3 "1" +[(0 & !1)] 1 {0} +[!0] 3 +[(0 & 1)] 0 +State: 4 "10" +[(0 & !1)] 4 +[((0 & 1) | (!0 & !1))] 5 +[(!0 & 1)] 7 {0} +State: 5 "8" +[(!0 & 1)] 8 {0} +[!1] 9 +[(0 & 1)] 5 +State: 6 "4" +[(!0 & 1)] 1 +[(0 & 1)] 2 +[(0 & !1)] 9 {0} +[(!0 & !1)] 4 {0} +State: 7 "5" +[!0] 8 +[0] 7 +State: 8 "3" +[(!0 & !1)] 10 +[(0 & !1)] 8 +[1] 7 +State: 9 "9" +[((0 & !1) | (!0 & 1))] 9 +[(!0 & !1)] 4 +[(0 & 1)] 5 +State: 10 "6" +[(0 & 1)] 10 +[(0 & !1)] 8 +[(!0 & 1)] 3 {0} +[(!0 & !1)] 7 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[(!0 & !1)] 2 +[(0 & !1)] 3 +[(0 & 1)] 0 +State: 1 "9" +[(!0 & 1)] 4 {0} +[(0 & 1)] 1 +[!1] 3 +State: 2 "1" +[(!0 & !1)] 5 +[(0 & !1)] 1 {0} +[1] 0 +State: 3 "10" +[(0 & !1)] 4 {0} +[(!0 & !1)] 5 +[1] 1 +State: 4 "3" +[((0 & 1) | !0)] 4 +[(0 & !1)] 6 +State: 5 "7" +[(!0 & 1)] 4 {0} +[(!0 & !1)] 5 +[(0 & !1)] 1 +[(0 & 1)] 3 +State: 6 "4" +[(0 & 1)] 7 +[(0 & !1)] 2 {0} +[(!0 & 1)] 6 +[(!0 & !1)] 8 {0} +State: 7 "2" +[1] 4 +[!1] 3 {0} +State: 8 "5" +[!1] 9 +[1] 0 {0} +State: 9 "6" +[(0 & !1)] 0 {0} +[1] 10 +[(!0 & !1)] 8 +State: 10 "8" +[(!0 & 1)] 9 +[!1] 2 {0} +[(0 & 1)] 10 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 {0} +[(!0 & 1)] 2 +[(!0 & !1)] 3 {0} +[(0 & 1)] 4 {0} +State: 1 "2" +[(!0 & !1)] 5 +[1] 6 +[(0 & !1)] 7 {0} +State: 2 "7" +[(0 & 1)] 2 +[((0 & !1) | !0)] 0 +State: 3 "9" +[(0 & !1)] 1 {0} +[(!0 & 1)] 8 +[(!0 & !1)] 3 +[(0 & 1)] 4 +State: 4 "10" +[(!0 & !1)] 3 +[(!0 & 1)] 4 +[(0 & 1)] 6 {0} +[(0 & !1)] 7 {0} +State: 5 "3" +[(0 | (!0 & !1))] 1 +[(!0 & 1)] 5 +State: 6 "1" +[!0] 1 +[(0 & !1)] 7 {0} +[(0 & 1)] 9 {0} +State: 7 "4" +[(!0 & 1)] 2 {0} +[(0 & !1)] 7 +[(!0 & !1)] 10 +[(0 & 1)] 9 +State: 8 "11" +[0] 1 {0} +[!0] 3 +State: 9 "5" +[(!0 & !1)] 11 {0} +[(!0 & 1)] 7 +[(0 & !1)] 0 {0} +[(0 & 1)] 9 +State: 10 "8" +[(0 & 1)] 11 {0} +[(0 & !1)] 1 {0} +[(!0 & !1)] 7 +[(!0 & 1)] 9 +State: 11 "6" +[((0 & 1) | (!0 & !1))] 11 +[(!0 & 1)] 2 {0} +[(0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[((0 & !1) | (!0 & 1))] 0 +[(0 & 1)] 2 {0} +State: 1 "3" +[(0 & !1)] 1 +[(!0 & !1)] 3 {0} +[(!0 & 1)] 0 +[(0 & 1)] 2 {0} +State: 2 "5" +[(!0 & !1)] 3 {0} +[(0 & !1)] 4 {0} +[1] 2 +State: 3 "7" +[(!0 & 1)] 5 +[(!0 & !1)] 3 +[(0 & !1)] 4 {0} +[(0 & 1)] 6 {0} +State: 4 "1" +[(!0 & 1)] 7 +[0] 4 +[(!0 & !1)] 6 +State: 5 "2" +[!0] 3 +[0] 4 {0} +State: 6 "4" +[(!0 & !1)] 7 +[(0 & !1)] 1 {0} +[(!0 & 1)] 4 +[(0 & 1)] 0 {0} +State: 7 "6" +[(0 & !1)] 4 +[((0 & 1) | (!0 & !1))] 6 +[(!0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 {0} +[(0 & 1)] 2 {0} +[((0 & !1) | (!0 & 1))] 0 +State: 1 "3" +[(!0 & 1)] 1 +[0] 2 +[(!0 & !1)] 3 {0} +State: 2 "4" +[(!0 & 1)] 4 {0} +[!1] 1 +[(0 & 1)] 2 +State: 3 "5" +[1] 5 +[!1] 3 +State: 4 "6" +[((0 & 1) | !0)] 4 +[(0 & !1)] 3 {0} +State: 5 "1" +[(0 & 1)] 6 +[(!0 & 1)] 5 +[(0 & !1)] 0 {0} +[(!0 & !1)] 3 +State: 6 "2" +[(!0 & 1)] 6 +[(!0 & !1)] 5 +[0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[1] 0 +[(0 & !1)] 2 {0} +State: 1 "7" +[(!0 & 1)] 1 +[(!0 & !1)] 3 {0} +[(0 & !1)] 4 +[(0 & 1)] 0 +State: 2 "8" +[(0 & !1)] 5 {0} +[(!0 & 1)] 6 +[((0 & 1) | (!0 & !1))] 7 {0} +State: 3 "9" +[(0 & !1)] 8 {0} +[(!0 & !1)] 3 +[(!0 & 1)] 6 +[(0 & 1)] 7 {0} +State: 4 "1" +[!0] 1 +[(0 & !1)] 3 {0} +[(0 & 1)] 0 +State: 5 "3" +[(0 & !1)] 9 {0} +[(0 & 1)] 0 {0} +[!0] 7 +State: 6 "10" +[(!0 & 1)] 8 {0} +[(!0 & !1)] 3 +[(0 & !1)] 2 +[(0 & 1)] 7 {0} +State: 7 "5" +[((0 & !1) | (!0 & 1))] 8 +[(!0 & !1)] 5 +[(0 & 1)] 7 +State: 8 "6" +[(!0 & 1)] 8 +[(0 & !1)] 5 +[(0 & 1)] 0 {0} +[(!0 & !1)] 7 +State: 9 "4" +[(0 & !1)] 10 +[(!0 & 1)] 1 {0} +[(!0 & !1)] 9 +[(0 & 1)] 0 {0} +State: 10 "2" +[(!0 & 1)] 1 {0} +[(0 & !1)] 3 {0} +[(!0 & !1)] 9 +[(0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 {0} +[1] 2 +[(0 & !1)] 0 +State: 1 "10" +[(!0 & 1)] 3 {0} +[(0 & !1)] 4 {0} +[(!0 & !1)] 5 {0} +[(0 & 1)] 6 +State: 2 "1" +[((0 & !1) | !0)] 7 +[(0 & 1)] 0 +State: 3 "7" +[1] 3 +[(0 & !1)] 4 +[(!0 & !1)] 5 {0} +State: 4 "4" +[(0 & !1)] 8 +[((0 & 1) | (!0 & !1))] 3 +[(!0 & 1)] 9 +State: 5 "8" +[(!0 & !1)] 7 {0} +[1] 2 +[(0 & !1)] 5 +State: 6 "5" +[(0 & !1)] 10 +[((0 & 1) | (!0 & !1))] 1 +[(!0 & 1)] 6 +State: 7 "2" +[!1] 7 +[(0 & 1)] 2 +[(!0 & 1)] 6 {0} +State: 8 "3" +[((0 & 1) | (!0 & !1))] 3 +[(!0 & 1)] 2 {0} +[(0 & !1)] 5 {0} +State: 9 "9" +[(0 & !1)] 7 {0} +[((0 & 1) | (!0 & !1))] 3 +[(!0 & 1)] 5 {0} +State: 10 "6" +[(!0 & !1)] 3 {0} +[((0 & !1) | (!0 & 1))] 4 {0} +[(0 & 1)] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 {0} +[((0 & !1) | !0)] 2 +State: 1 "12" +[(!0 & !1)] 3 +[(!0 & 1)] 4 +[(0 & !1)] 5 {0} +[(0 & 1)] 1 +State: 2 "8" +[(!0 & 1)] 6 +[(0 | (!0 & !1))] 0 +State: 3 "11" +[(!0 & !1)] 4 +[(0 | (!0 & 1))] 5 {0} +State: 4 "10" +[(!0 & 1)] 7 {0} +[(0 & !1)] 5 {0} +[(0 & 1)] 8 {0} +[(!0 & !1)] 1 +State: 5 "1" +[(!0 & 1)] 7 +[(0 & !1)] 5 +[((0 & 1) | (!0 & !1))] 8 +State: 6 "7" +[(0 & !1)] 6 +[(!0 & !1)] 0 +[(0 & 1)] 1 {0} +[(!0 & 1)] 2 +State: 7 "2" +[(0 & 1)] 9 {0} +[(!0 & 1)] 10 {0} +[!1] 5 +State: 8 "4" +[(!0 & !1)] 7 +[1] 5 +[(0 & !1)] 11 {0} +State: 9 "3" +[!0] 12 +[(0 & 1)] 9 +[(0 & !1)] 11 +State: 10 "9" +[(0 & 1)] 9 {0} +[((0 & !1) | !0)] 10 +State: 11 "5" +[(!0 & 1)] 12 +[!1] 9 +[(0 & 1)] 0 {0} +State: 12 "6" +[(!0 & !1)] 9 +[(0 & 1)] 0 {0} +[((0 & !1) | (!0 & 1))] 11 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(!0 & !1)] 2 {0} +[(0 & 1)] 3 {0} +[(0 & !1)] 0 +State: 1 "6" +[(0 & 1)] 1 +[(!0 & !1)] 4 +[(0 & !1)] 3 {0} +[(!0 & 1)] 0 +State: 2 "7" +[(0 & !1)] 5 +[(!0 & !1)] 2 {0} +[1] 3 +State: 3 "4" +[(!0 & !1)] 5 +[(0 | (!0 & 1))] 3 +State: 4 "1" +[(0 & !1)] 1 +[(!0 & !1)] 2 {0} +[1] 0 +State: 5 "2" +[(0 & !1)] 6 {0} +[(!0 & !1)] 2 +[(!0 & 1)] 3 +[(0 & 1)] 7 {0} +State: 6 "3" +[(0 & !1)] 6 +[(!0 & !1)] 4 {0} +[1] 7 +State: 7 "5" +[((0 & 1) | (!0 & !1))] 6 +[((0 & !1) | (!0 & 1))] 8 {0} +State: 8 "8" +[(!0 & !1)] 4 {0} +[(0 & !1)] 0 {0} +[1] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(0 | (!0 & !1))] 0 +State: 1 "1" +[(0 & 1)] 2 +[((0 & !1) | (!0 & 1))] 3 {0} +[(!0 & !1)] 0 +State: 2 "2" +[(0 & 1)] 4 {0} +[(!0 & 1)] 1 +[(0 & !1)] 5 {0} +[(!0 & !1)] 6 {0} +State: 3 "4" +[(!0 & 1)] 7 +[(0 & 1)] 4 {0} +[!1] 6 +State: 4 "9" +[(!0 & !1)] 8 +[1] 4 +[(0 & !1)] 5 {0} +State: 5 "8" +[(!0 & !1)] 8 +[(0 & !1)] 0 {0} +[1] 5 +State: 6 "5" +[((0 & 1) | (!0 & !1))] 3 +[((0 & !1) | (!0 & 1))] 5 {0} +State: 7 "3" +[(!0 & !1)] 8 {0} +[(0 & 1)] 4 {0} +[((0 & !1) | (!0 & 1))] 3 +State: 8 "7" +[(0 & 1)] 9 +[(!0 & !1)] 0 {0} +[((0 & !1) | (!0 & 1))] 5 +State: 9 "6" +[(!0 & 1)] 9 +[(0 & 1)] 8 +[!1] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(0 | (!0 & 1))] 2 {0} +State: 1 "1" +[(0 & 1)] 3 +[(!0 & !1)] 1 +[((0 & !1) | (!0 & 1))] 0 +State: 2 "12" +[(0 & 1)] 4 {0} +[((0 & !1) | !0)] 2 +State: 3 "7" +[(0 & 1)] 4 {0} +[((0 & !1) | !0)] 1 +State: 4 "3" +[((0 & 1) | (!0 & !1))] 4 +[((0 & !1) | (!0 & 1))] 5 +State: 5 "4" +[!0] 6 +[(0 & !1)] 4 +[(0 & 1)] 7 {0} +State: 6 "2" +[(0 & 1)] 7 {0} +[((0 & !1) | !0)] 5 +State: 7 "11" +[(0 & !1)] 7 +[(!0 & !1)] 8 +[(!0 & 1)] 1 {0} +[(0 & 1)] 9 {0} +State: 8 "9" +[(0 & 1)] 7 +[(0 & !1)] 10 +[!0] 11 {0} +State: 9 "8" +[(!0 & !1)] 12 +[(0 & 1)] 3 {0} +[(!0 & 1)] 1 {0} +[(0 & !1)] 11 +State: 10 "10" +[(!0 & !1)] 12 {0} +[(0 & !1)] 8 +[1] 11 {0} +State: 11 "5" +[(!0 & 1)] 1 {0} +[0] 9 +[(!0 & !1)] 11 +State: 12 "6" +[(0 & !1)] 12 +[(!0 & !1)] 1 {0} +[1] 11 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(0 & !1)] 2 +[(0 & 1)] 3 {0} +[(!0 & 1)] 0 +State: 1 "2" +[(!0 & 1)] 1 +[(0 & !1)] 2 +[((0 & 1) | (!0 & !1))] 4 {0} +State: 2 "3" +[(0 & 1)] 1 +[(0 & !1)] 2 +[(!0 & !1)] 4 {0} +[(!0 & 1)] 0 +State: 3 "7" +[(!0 & 1)] 5 +[(!0 & !1)] 3 +[(0 & 1)] 4 {0} +[(0 & !1)] 6 +State: 4 "1" +[(!0 & 1)] 5 {0} +[(0 & !1)] 6 {0} +[((0 & 1) | (!0 & !1))] 7 +State: 5 "6" +[(!0 & 1)] 5 +[(!0 & !1)] 3 +[(0 & !1)] 6 +[(0 & 1)] 7 {0} +State: 6 "4" +[(!0 & !1)] 5 +[(0 & !1)] 2 {0} +[(0 & 1)] 6 +[(!0 & 1)] 0 {0} +State: 7 "5" +[(!0 & !1)] 3 {0} +[1] 4 +[(0 & !1)] 6 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(!0 & 1)] 2 +[0] 0 +State: 1 "2" +[(!0 & 1)] 1 +[(0 & 1)] 3 +[(!0 & !1)] 0 +[(0 & !1)] 4 {0} +State: 2 "1" +[(0 & 1)] 3 +[(!0 & !1)] 2 +[(!0 & 1)] 0 +[(0 & !1)] 4 {0} +State: 3 "9" +[((0 & 1) | (!0 & !1))] 2 +[(0 & !1)] 5 {0} +[(!0 & 1)] 0 +State: 4 "5" +[(!0 & 1)] 6 +[(!0 & !1)] 7 +[(0 & 1)] 5 +[(0 & !1)] 4 +State: 5 "4" +[(!0 & 1)] 6 +[(0 & !1)] 5 +[((0 & 1) | (!0 & !1))] 4 +State: 6 "3" +[(!0 & 1)] 8 {0} +[(0 & 1)] 9 {0} +[!1] 4 +State: 7 "10" +[(0 & 1)] 10 {0} +[(!0 & 1)] 9 {0} +[!1] 4 +State: 8 "6" +[(!0 & 1)] 8 +[(!0 & !1)] 11 {0} +[(0 & !1)] 0 {0} +[(0 & 1)] 9 +State: 9 "8" +[(0 & !1)] 10 +[((0 & 1) | !0)] 11 {0} +State: 10 "7" +[(0 & !1)] 8 +[((0 & 1) | (!0 & !1))] 10 +[(!0 & 1)] 9 +State: 11 "11" +[((0 & 1) | !0)] 11 +[(0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 | (!0 & 1))] 0 +[(!0 & !1)] 1 {0} +State: 1 "5" +[(0 & 1)] 2 {0} +[((0 & !1) | !0)] 1 +State: 2 "3" +[(0 & 1)] 3 {0} +[(0 & !1)] 2 +[!0] 4 +State: 3 "2" +[(0 | (!0 & !1))] 3 +[(!0 & 1)] 0 {0} +State: 4 "1" +[(0 & 1)] 2 +[(0 & !1)] 4 +[!0] 5 +State: 5 "4" +[(0 & 1)] 3 {0} +[(0 & !1)] 2 +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 {0} +[(!0 & !1)] 2 +[(0 & 1)] 3 {0} +[(!0 & 1)] 0 +State: 1 "3" +[((0 & 1) | (!0 & !1))] 1 +[(!0 & 1)] 4 +[(0 & !1)] 5 {0} +State: 2 "7" +[(0 & 1)] 1 {0} +[(!0 & !1)] 2 +[((0 & !1) | (!0 & 1))] 0 +State: 3 "9" +[(0 & !1)] 1 {0} +[((0 & 1) | (!0 & !1))] 3 +[(!0 & 1)] 6 +State: 4 "1" +[1] 7 +[!1] 5 {0} +State: 5 "5" +[(!0 & !1)] 8 +[(0 & 1)] 1 {0} +[(!0 & 1)] 9 +[(0 & !1)] 5 +State: 6 "8" +[!0] 7 {0} +[(0 & !1)] 1 {0} +[(0 & 1)] 3 +State: 7 "6" +[!0] 7 +[0] 1 +State: 8 "2" +[(0 & 1)] 1 {0} +[(!0 & !1)] 2 {0} +[(!0 & 1)] 9 +[(0 & !1)] 0 {0} +State: 9 "4" +[0] 8 +[(!0 & 1)] 9 +[(!0 & !1)] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[0] 1 +[(!0 & !1)] 2 {0} +[(!0 & 1)] 0 +State: 2 "3" +[0] 3 {0} +[!0] 2 +State: 3 "6" +[!0] 4 +[0] 5 {0} +State: 4 "7" +[((0 & !1) | (!0 & 1))] 3 +[(0 & 1)] 6 {0} +[(!0 & !1)] 7 {0} +State: 5 "4" +[(0 & !1)] 1 {0} +[(!0 & !1)] 6 +[(0 & 1)] 5 +[(!0 & 1)] 7 +State: 6 "1" +[(0 & 1)] 1 {0} +[(!0 & 1)] 6 +[(0 & !1)] 5 +[(!0 & !1)] 7 +State: 7 "5" +[(!0 & !1)] 1 {0} +[(0 | (!0 & 1))] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(0 & 1)] 2 +[!1] 0 +State: 1 "2" +[(0 & 1)] 1 +[(!0 & 1)] 3 {0} +[(0 & !1)] 2 +[(!0 & !1)] 0 +State: 2 "1" +[((0 & !1) | (!0 & 1))] 3 {0} +[(!0 & !1)] 2 +[(0 & 1)] 0 +State: 3 "7" +[0] 4 {0} +[(!0 & 1)] 3 +[(!0 & !1)] 5 {0} +State: 4 "3" +[(0 & 1)] 6 {0} +[((0 & !1) | (!0 & 1))] 4 +[(!0 & !1)] 5 +State: 5 "4" +[(0 & 1)] 4 +[(!0 & 1)] 5 +[!1] 7 {0} +State: 6 "6" +[(0 & 1)] 6 +[(!0 & 1)] 1 {0} +[(!0 & !1)] 7 {0} +[(0 & !1)] 7 +State: 7 "5" +[(!0 & 1)] 1 {0} +[(0 & !1)] 0 {0} +[((0 & 1) | (!0 & !1))] 7 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 {0} +[(0 | (!0 & 1))] 2 +State: 1 "7" +[(0 & !1)] 3 {0} +[((0 & 1) | !0)] 1 +State: 2 "1" +[(!0 & !1)] 1 {0} +[(!0 & 1)] 2 +[(0 & !1)] 4 +[(0 & 1)] 0 +State: 3 "2" +[(0 & !1)] 3 +[(0 & 1)] 5 +[!0] 6 +State: 4 "4" +[(0 & 1)] 2 +[((0 & !1) | !0)] 0 +State: 5 "3" +[(0 & !1)] 7 {0} +[(0 & 1)] 3 +[(!0 & 1)] 5 +[(!0 & !1)] 6 +State: 6 "5" +[(0 & !1)] 7 {0} +[(!0 & !1)] 3 +[1] 6 +State: 7 "6" +[(0 | (!0 & 1))] 7 +[(!0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[0] 1 {0} +[(!0 & !1)] 2 +[(!0 & 1)] 0 +State: 1 "3" +[(!0 & 1)] 3 {0} +[(0 & !1)] 1 +[(0 & 1)] 4 +[(!0 & !1)] 5 +State: 2 "1" +[(0 | (!0 & !1))] 0 +[(!0 & 1)] 5 {0} +State: 3 "6" +[(!0 & !1)] 3 +[(0 | (!0 & 1))] 6 +State: 4 "7" +[(0 & !1)] 1 +[(0 & 1)] 4 +[(!0 & 1)] 6 {0} +[(!0 & !1)] 5 +State: 5 "5" +[0] 1 +[!0] 5 +State: 6 "4" +[(0 & !1)] 7 +[(!0 & !1)] 2 {0} +[(0 & 1)] 6 +[(!0 & 1)] 0 {0} +State: 7 "2" +[1] 3 +[(0 & !1)] 2 {0} +[(!0 & !1)] 5 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 +[((0 & 1) | !0)] 0 +State: 1 "1" +[(0 & !1)] 2 +[(!0 & 1)] 3 {0} +[(!0 & !1)] 0 +[(0 & 1)] 4 {0} +State: 2 "6" +[((0 & !1) | (!0 & 1))] 2 +[(0 & 1)] 3 {0} +[(!0 & !1)] 1 +State: 3 "9" +[((0 & !1) | (!0 & 1))] 3 +[((0 & 1) | (!0 & !1))] 4 {0} +State: 4 "8" +[(!0 & 1)] 5 +[(0 & !1)] 6 {0} +[((0 & 1) | (!0 & !1))] 4 +State: 5 "2" +[((0 & !1) | (!0 & 1))] 7 +[(0 & 1)] 6 {0} +[(!0 & !1)] 8 {0} +State: 6 "7" +[1] 6 +[(0 & !1)] 9 +[(!0 & !1)] 8 +State: 7 "3" +[(0 & !1)] 5 +[(0 & 1)] 6 {0} +[(!0 & 1)] 4 +[(!0 & !1)] 8 {0} +State: 8 "5" +[((0 & !1) | !0)] 6 +[(0 & 1)] 8 +State: 9 "4" +[(!0 & 1)] 2 {0} +[(0 & !1)] 9 +[(0 & 1)] 0 {0} +[(!0 & !1)] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 {0} +[(!0 & !1)] 2 +[((0 & !1) | (!0 & 1))] 0 +State: 1 "6" +[(0 & 1)] 1 +[(!0 & 1)] 3 +[(!0 & !1)] 4 +[(0 & !1)] 4 {0} +State: 2 "3" +[(0 & 1)] 2 +[(0 & !1)] 5 +[(!0 & !1)] 4 {0} +[(!0 & 1)] 0 +State: 3 "2" +[1] 3 +[(!0 & !1)] 2 {0} +[(0 & !1)] 4 +State: 4 "4" +[(0 & !1)] 3 +[(!0 & !1)] 4 +[(!0 & 1)] 0 {0} +[(0 & 1)] 6 +State: 5 "1" +[(0 & 1)] 2 +[(!0 & 1)] 7 {0} +[(0 & !1)] 0 +[(!0 & !1)] 8 {0} +State: 6 "8" +[(!0 & 1)] 3 +[(0 & !1)] 5 {0} +[(!0 & !1)] 4 +[(0 & 1)] 6 +State: 7 "7" +[(0 & 1)] 3 {0} +[(!0 & 1)] 7 +[(0 & !1)] 4 {0} +[(!0 & !1)] 8 +State: 8 "5" +[((0 & !1) | (!0 & 1))] 7 +[(!0 & !1)] 4 {0} +[(0 & 1)] 6 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[(0 & 1)] 3 {0} +[(!0 & !1)] 1 +[(!0 & 1)] 4 {0} +[(0 & !1)] 0 +State: 2 "1" +[(0 & 1)] 3 {0} +[(!0 & !1)] 1 +[(0 & !1)] 5 {0} +[(!0 & 1)] 0 +State: 3 "6" +[((0 & 1) | (!0 & !1))] 3 +[(0 & !1)] 5 +[(!0 & 1)] 6 +State: 4 "9" +[(0 & 1)] 3 {0} +[((0 & !1) | (!0 & 1))] 5 {0} +[(!0 & !1)] 4 +State: 5 "7" +[(0 & 1)] 3 +[(!0 & 1)] 5 +[(!0 & !1)] 7 {0} +[(0 & !1)] 8 {0} +State: 6 "5" +[(0 & 1)] 3 +[!1] 5 +[(!0 & 1)] 7 {0} +State: 7 "10" +[(0 & 1)] 9 {0} +[!0] 7 +[(0 & !1)] 8 {0} +State: 8 "4" +[(0 & 1)] 9 +[((0 & !1) | (!0 & 1))] 8 +[(!0 & !1)] 10 +State: 9 "3" +[(!0 & !1)] 9 +[0] 8 +[(!0 & 1)] 0 {0} +State: 10 "8" +[!1] 8 +[(0 & 1)] 0 {0} +[(!0 & 1)] 10 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 {0} +[(0 & 1)] 2 +[!0] 0 +State: 1 "3" +[(!0 & !1)] 3 +[(0 & 1)] 4 {0} +[(!0 & 1)] 1 +[(0 & !1)] 5 {0} +State: 2 "1" +[(!0 & !1)] 3 {0} +[(0 & 1)] 2 +[((0 & !1) | (!0 & 1))] 0 +State: 3 "6" +[(!0 & !1)] 4 {0} +[(0 & 1)] 1 +[(0 & !1)] 6 +[(!0 & 1)] 7 +State: 4 "2" +[((0 & 1) | (!0 & !1))] 4 +[(0 & !1)] 5 +[(!0 & 1)] 8 +State: 5 "7" +[0] 4 +[(!0 & 1)] 5 +[(!0 & !1)] 9 {0} +State: 6 "9" +[(!0 & !1)] 3 +[0] 4 {0} +[(!0 & 1)] 6 +State: 7 "4" +[(!0 & !1)] 4 {0} +[(!0 & 1)] 1 +[(0 & !1)] 6 +[(0 & 1)] 7 +State: 8 "5" +[(0 & 1)] 4 +[(0 & !1)] 2 {0} +[(!0 & 1)] 0 {0} +[(!0 & !1)] 8 +State: 9 "8" +[(0 & !1)] 6 {0} +[(0 & 1)] 2 +[(!0 & 1)] 0 +[(!0 & !1)] 9 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "7" +[((0 & 1) | !0)] 1 +[(0 & !1)] 3 {0} +State: 2 "1" +[1] 2 +[!1] 0 +State: 3 "5" +[(0 & !1)] 4 {0} +[((0 & 1) | !0)] 5 +State: 4 "6" +[(0 & !1)] 4 +[((0 & 1) | (!0 & !1))] 6 +[(!0 & 1)] 2 {0} +State: 5 "2" +[(0 & !1)] 4 {0} +[(!0 & 1)] 5 +[((0 & 1) | (!0 & !1))] 7 +State: 6 "3" +[((0 & !1) | (!0 & 1))] 4 +[(0 & 1)] 2 {0} +[(!0 & !1)] 0 {0} +State: 7 "4" +[!0] 5 +[(0 & 1)] 7 +[(0 & !1)] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 +[((0 & 1) | (!0 & !1))] 2 +[(!0 & 1)] 3 {0} +State: 1 "2" +[!0] 1 +[(0 & !1)] 0 +[(0 & 1)] 3 {0} +State: 2 "1" +[(0 & !1)] 1 +[!0] 2 +[(0 & 1)] 0 +State: 3 "8" +[(0 & !1)] 4 {0} +[(!0 & !1)] 5 +[1] 3 +State: 4 "7" +[1] 6 +[(!0 & !1)] 4 +[(0 & !1)] 7 {0} +State: 5 "9" +[(0 & !1)] 6 {0} +[(!0 & !1)] 5 +[1] 3 +State: 6 "6" +[(!0 & !1)] 8 +[(0 | (!0 & 1))] 4 +State: 7 "4" +[((0 & !1) | !0)] 7 +[(0 & 1)] 9 +State: 8 "3" +[((0 & !1) | (!0 & 1))] 6 +[(!0 & !1)] 8 +[(0 & 1)] 4 +State: 9 "5" +[(!0 & !1)] 2 {0} +[(0 & !1)] 7 +[1] 9 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 {0} +[(0 & !1)] 2 +[!0] 0 +State: 1 "10" +[(0 & !1)] 3 +[(0 & 1)] 1 +[(!0 & !1)] 4 +[(!0 & 1)] 5 {0} +State: 2 "4" +[(!0 & 1)] 3 +[(0 & 1)] 1 +[!1] 2 +State: 3 "9" +[(0 & !1)] 6 +[(0 & 1)] 1 +[(!0 & 1)] 4 {0} +[(!0 & !1)] 4 +State: 4 "8" +[(0 & 1)] 7 {0} +[(0 & !1)] 2 +[!0] 4 +State: 5 "5" +[(0 & 1)] 7 +[((0 & !1) | (!0 & 1))] 8 {0} +[(!0 & !1)] 5 +State: 6 "2" +[0] 6 +[(!0 & 1)] 1 {0} +[(!0 & !1)] 0 +State: 7 "3" +[((0 & 1) | (!0 & !1))] 9 {0} +[((0 & !1) | (!0 & 1))] 5 +State: 8 "7" +[(!0 & !1)] 9 +[(0 & !1)] 6 {0} +[1] 8 +State: 9 "6" +[((0 & 1) | (!0 & !1))] 9 +[(!0 & 1)] 8 +[(0 & !1)] 10 +State: 10 "1" +[(0 & !1)] 6 {0} +[(0 & 1)] 8 +[(!0 & 1)] 10 +[(!0 & !1)] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 +[(0 & 1)] 2 +[!0] 3 {0} +State: 1 "2" +[(!0 & 1)] 4 {0} +[(0 & 1)] 1 +[(!0 & !1)] 2 +[(0 & !1)] 0 +State: 2 "1" +[(!0 & !1)] 4 {0} +[(!0 & 1)] 2 +[(0 & !1)] 5 {0} +[(0 & 1)] 0 +State: 3 "8" +[((0 & 1) | (!0 & !1))] 4 {0} +[(0 & !1)] 5 {0} +[(!0 & 1)] 3 +State: 4 "6" +[(0 & 1)] 4 +[((0 & !1) | (!0 & 1))] 5 +[(!0 & !1)] 6 {0} +State: 5 "4" +[!0] 4 +[(0 & 1)] 7 {0} +[(0 & !1)] 5 +State: 6 "5" +[0] 8 +[(!0 & 1)] 2 {0} +[(!0 & !1)] 6 +State: 7 "7" +[0] 7 +[!0] 6 {0} +State: 8 "3" +[t] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[0] 2 +[(!0 & 1)] 3 {0} +State: 1 "6" +[(!0 & !1)] 1 +[(!0 & 1)] 2 +[(0 & !1)] 4 {0} +[(0 & 1)] 0 +State: 2 "1" +[(!0 & !1)] 1 +[(0 & 1)] 5 {0} +[(0 & !1)] 6 {0} +[(!0 & 1)] 2 +State: 3 "5" +[((0 & 1) | (!0 & !1))] 7 +[(0 & !1)] 4 +[(!0 & 1)] 3 +State: 4 "4" +[(0 | (!0 & 1))] 8 {0} +[(!0 & !1)] 3 +State: 5 "11" +[(0 & 1)] 5 +[(0 & !1)] 6 +[(!0 & !1)] 9 +[(!0 & 1)] 3 {0} +State: 6 "9" +[(0 & 1)] 7 {0} +[(!0 & !1)] 5 +[(0 & !1)] 4 {0} +[(!0 & 1)] 3 {0} +State: 7 "7" +[!1] 4 +[(!0 & 1)] 8 {0} +[(0 & 1)] 3 +State: 8 "8" +[(!0 & !1)] 10 +[(!0 & 1)] 11 +[0] 8 +State: 9 "10" +[(!0 & !1)] 6 +[(0 & !1)] 4 {0} +[1] 3 {0} +State: 10 "2" +[(!0 & !1)] 11 +[(0 & 1)] 0 {0} +[((0 & !1) | (!0 & 1))] 8 +State: 11 "3" +[(!0 & !1)] 1 {0} +[(!0 & 1)] 11 +[(0 & 1)] 0 {0} +[(0 & !1)] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(0 | (!0 & !1))] 0 +State: 1 "1" +[(!0 & !1)] 1 +[1] 0 +[(0 & !1)] 2 {0} +State: 2 "5" +[(!0 & !1)] 3 {0} +[1] 4 {0} +[(0 & !1)] 2 +State: 3 "2" +[((0 & !1) | (!0 & 1))] 4 +[(!0 & !1)] 5 {0} +[(0 & 1)] 0 {0} +State: 4 "3" +[!1] 3 +[(0 & 1)] 4 +[(!0 & 1)] 5 {0} +State: 5 "4" +[!0] 5 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 +[(!0 & 1)] 2 {0} +[((0 & 1) | (!0 & !1))] 3 +State: 1 "2" +[1] 1 +[(0 & !1)] 3 +[(!0 & !1)] 0 +State: 2 "7" +[(0 & 1)] 4 {0} +[(!0 & 1)] 2 +[(!0 & !1)] 5 {0} +[(0 & !1)] 6 +State: 3 "1" +[((0 & !1) | (!0 & 1))] 1 +[(0 & 1)] 4 {0} +[(!0 & !1)] 3 +State: 4 "3" +[(0 & 1)] 4 +[((0 & !1) | !0)] 5 +State: 5 "4" +[!1] 7 {0} +[1] 4 +State: 6 "5" +[(0 & 1)] 4 {0} +[!1] 2 +[(!0 & 1)] 6 +State: 7 "6" +[!0] 7 +[0] 8 {0} +State: 8 "8" +[(0 & 1)] 1 {0} +[(!0 & !1)] 9 {0} +[((0 & !1) | (!0 & 1))] 8 +State: 9 "9" +[((0 & !1) | (!0 & 1))] 1 {0} +[((0 & 1) | (!0 & !1))] 3 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(0 & !1)] 2 +[(0 & 1)] 0 +[(!0 & 1)] 3 {0} +State: 1 "7" +[(0 & !1)] 4 {0} +[((0 & 1) | (!0 & !1))] 1 +[(!0 & 1)] 0 +State: 2 "1" +[(!0 & !1)] 5 {0} +[(0 & !1)] 1 +[(0 & 1)] 2 +[(!0 & 1)] 0 +State: 3 "8" +[(!0 & !1)] 4 +[(0 & !1)] 2 {0} +[(!0 & 1)] 3 +[(0 & 1)] 6 {0} +State: 4 "2" +[((0 & 1) | !0)] 5 +[(0 & !1)] 6 {0} +State: 5 "3" +[(0 & !1)] 4 +[(!0 & !1)] 5 +[(0 & 1)] 7 {0} +[(!0 & 1)] 3 +State: 6 "5" +[(!0 & !1)] 8 +[(0 | (!0 & 1))] 9 {0} +State: 7 "9" +[(!0 & 1)] 8 {0} +[((0 & 1) | (!0 & !1))] 7 +[(0 & !1)] 6 {0} +State: 8 "6" +[(!0 & 1)] 8 +[(0 & !1)] 2 {0} +[(!0 & !1)] 10 +[(0 & 1)] 6 +State: 9 "10" +[(!0 & !1)] 1 {0} +[(0 & !1)] 11 {0} +[(0 & 1)] 9 +[(!0 & 1)] 0 {0} +State: 10 "4" +[(0 & 1)] 8 +[(!0 & !1)] 10 +[(!0 & 1)] 0 {0} +[(0 & !1)] 6 +State: 11 "11" +[(0 & !1)] 1 {0} +[((0 & 1) | (!0 & !1))] 11 +[(!0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 {0} +[(!0 & !1)] 2 {0} +[((0 & !1) | (!0 & 1))] 0 +State: 1 "7" +[(0 & 1)] 1 +[(!0 & !1)] 2 {0} +[((0 & !1) | (!0 & 1))] 3 +State: 2 "4" +[((0 & !1) | (!0 & 1))] 4 {0} +[((0 & 1) | (!0 & !1))] 2 +State: 3 "8" +[(0 & 1)] 1 +[(!0 & !1)] 2 {0} +[(0 & !1)] 3 +[(!0 & 1)] 5 {0} +State: 4 "1" +[(!0 & !1)] 6 +[(0 & 1)] 4 +[((0 & !1) | (!0 & 1))] 5 +State: 5 "5" +[(!0 & 1)] 7 {0} +[(0 & 1)] 6 +[(0 & !1)] 4 +[(!0 & !1)] 5 +State: 6 "3" +[(!0 & !1)] 8 {0} +[(0 & 1)] 6 +[((0 & !1) | (!0 & 1))] 4 +State: 7 "6" +[(!0 & 1)] 7 +[!1] 8 +[(0 & 1)] 1 {0} +State: 8 "2" +[(0 & 1)] 7 +[(!0 & !1)] 2 {0} +[((0 & !1) | (!0 & 1))] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(0 & 1)] 2 +[!1] 0 +State: 1 "2" +[(!0 & 1)] 1 +[((0 & 1) | (!0 & !1))] 2 +[(0 & !1)] 0 +State: 2 "1" +[(!0 & 1)] 1 +[(0 & !1)] 2 +[(!0 & !1)] 0 +[(0 & 1)] 3 {0} +State: 3 "8" +[(0 & !1)] 4 +[!0] 5 {0} +[(0 & 1)] 3 +State: 4 "6" +[(0 & !1)] 6 +[!0] 7 {0} +[(0 & 1)] 3 +State: 5 "3" +[((0 & 1) | !0)] 7 +[(0 & !1)] 8 +State: 6 "7" +[!0] 4 +[0] 3 +State: 7 "4" +[(!0 & 1)] 1 {0} +[(0 & !1)] 5 +[(!0 & !1)] 0 {0} +[(0 & 1)] 8 +State: 8 "5" +[!0] 5 +[(0 & !1)] 7 +[(0 & 1)] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 +[((0 & !1) | !0)] 0 +State: 1 "1" +[!1] 2 +[(!0 & 1)] 3 {0} +[(0 & 1)] 0 +State: 2 "2" +[((0 & 1) | (!0 & !1))] 2 +[(0 & !1)] 3 {0} +[(!0 & 1)] 1 +State: 3 "7" +[(!0 & !1)] 4 {0} +[1] 3 +[(0 & !1)] 5 +State: 4 "6" +[((0 & 1) | (!0 & !1))] 4 +[(0 & !1)] 6 {0} +[(!0 & 1)] 7 +State: 5 "5" +[(0 & 1)] 4 {0} +[((0 & !1) | (!0 & 1))] 3 +[(!0 & !1)] 6 {0} +State: 6 "9" +[(!0 & !1)] 6 +[(0 & 1)] 8 +[(0 & !1)] 0 {0} +[(!0 & 1)] 9 +State: 7 "4" +[(!0 & 1)] 4 +[(0 & !1)] 10 +[(!0 & !1)] 6 {0} +[(0 & 1)] 7 +State: 8 "10" +[(0 & !1)] 2 {0} +[(0 & 1)] 6 +[(!0 & 1)] 1 {0} +[(!0 & !1)] 8 +State: 9 "8" +[!1] 6 +[(!0 & 1)] 0 {0} +[(0 & 1)] 9 +State: 10 "3" +[(0 & 1)] 4 +[(!0 & !1)] 6 {0} +[((0 & !1) | (!0 & 1))] 7 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(0 & !1)] 2 {0} +[(!0 & 1)] 3 +[(0 & 1)] 0 +State: 1 "3" +[!0] 1 +[(0 & 1)] 3 +[(0 & !1)] 0 +State: 2 "9" +[0] 2 +[!0] 4 {0} +State: 3 "1" +[(!0 & !1)] 1 +[(0 & !1)] 2 {0} +[(0 & 1)] 0 +[(!0 & 1)] 4 {0} +State: 4 "5" +[(!0 & 1)] 5 +[(0 & 1)] 6 +[!1] 4 +State: 5 "7" +[(!0 & 1)] 7 {0} +[!1] 5 +[(0 & 1)] 6 +State: 6 "4" +[(!0 & !1)] 5 +[(0 & !1)] 6 +[1] 4 +State: 7 "2" +[(0 & !1)] 8 +[(0 & 1)] 7 +[(!0 & !1)] 1 {0} +[(!0 & 1)] 9 {0} +State: 8 "6" +[(!0 & !1)] 8 +[1] 7 +[(0 & !1)] 9 {0} +State: 9 "8" +[(!0 & !1)] 1 {0} +[0] 0 {0} +[(!0 & 1)] 9 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[1] 2 {0} +[(!0 & !1)] 3 {0} +[(0 & !1)] 0 +State: 2 "7" +[1] 2 +[(!0 & !1)] 3 {0} +[(0 & !1)] 4 +State: 3 "9" +[(0 & 1)] 5 {0} +[(0 & !1)] 6 {0} +[(!0 & !1)] 7 {0} +[(!0 & 1)] 8 +State: 4 "5" +[(!0 & !1)] 5 {0} +[(0 & !1)] 9 +[(0 & 1)] 2 +[(!0 & 1)] 8 {0} +State: 5 "6" +[!0] 7 +[0] 0 {0} +State: 6 "3" +[(!0 & !1)] 5 +[(!0 & 1)] 6 +[0] 7 +State: 7 "4" +[(0 & 1)] 5 +[((0 & !1) | (!0 & 1))] 6 +[(!0 & !1)] 1 {0} +State: 8 "8" +[(!0 & !1)] 5 {0} +[(!0 & 1)] 6 {0} +[(0 & 1)] 3 +[(0 & !1)] 8 +State: 9 "2" +[(0 & 1)] 9 +[(!0 & !1)] 2 +[((0 & !1) | (!0 & 1))] 8 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 | (!0 & !1))] 1 +[(!0 & 1)] 0 +State: 1 "1" +[(!0 & !1)] 2 +[(0 & 1)] 1 +[((0 & !1) | (!0 & 1))] 0 +State: 2 "2" +[(0 & !1)] 3 {0} +[(!0 & 1)] 0 {0} +[(!0 & !1)] 0 +[(0 & 1)] 4 {0} +State: 3 "4" +[(!0 & !1)] 5 +[(0 & 1)] 6 {0} +[(0 & !1)] 3 +[(!0 & 1)] 0 {0} +State: 4 "8" +[(!0 & !1)] 5 {0} +[0] 3 {0} +[(!0 & 1)] 0 {0} +State: 5 "3" +[(0 & !1)] 3 +[(!0 & 1)] 0 {0} +[((0 & 1) | (!0 & !1))] 7 +State: 6 "10" +[(!0 & !1)] 8 +[(0 & 1)] 1 {0} +[((0 & !1) | (!0 & 1))] 0 {0} +State: 7 "5" +[!1] 9 {0} +[(0 & 1)] 3 +[(!0 & 1)] 0 {0} +State: 8 "9" +[(!0 & !1)] 10 +[0] 1 {0} +[(!0 & 1)] 0 {0} +State: 9 "7" +[0] 10 {0} +[(!0 & !1)] 9 +[(!0 & 1)] 0 {0} +State: 10 "6" +[0] 10 +[(!0 & !1)] 6 +[(!0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(0 & 1)] 2 {0} +[(0 & !1)] 0 +[(!0 & !1)] 3 +State: 1 "11" +[(!0 & 1)] 1 +[(0 | (!0 & !1))] 3 +State: 2 "10" +[(!0 & 1)] 4 +[!1] 5 +[(0 & 1)] 2 +State: 3 "8" +[(!0 & 1)] 4 {0} +[(!0 & !1)] 1 +[0] 0 +State: 4 "7" +[0] 6 +[(!0 & 1)] 4 +[(!0 & !1)] 7 +State: 5 "9" +[!1] 6 {0} +[(!0 & 1)] 4 {0} +[(0 & 1)] 8 +State: 6 "3" +[(0 & !1)] 9 {0} +[(!0 & !1)] 10 {0} +[(0 & 1)] 4 +[(!0 & 1)] 1 {0} +State: 7 "4" +[!1] 6 +[(!0 & 1)] 4 +[(0 & 1)] 7 +State: 8 "1" +[(!0 & 1)] 4 +[0] 5 +[(!0 & !1)] 2 +State: 9 "6" +[(0 & !1)] 9 +[(!0 & !1)] 10 +[(!0 & 1)] 1 +[(0 & 1)] 0 {0} +State: 10 "2" +[0] 9 +[(!0 & 1)] 1 {0} +[(!0 & !1)] 11 +State: 11 "5" +[(0 | (!0 & !1))] 10 +[(!0 & 1)] 1 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 +[(!0 & !1)] 0 +[((0 & !1) | (!0 & 1))] 2 {0} +State: 1 "1" +[(!0 & !1)] 3 +[(!0 & 1)] 1 +[0] 4 {0} +State: 2 "8" +[(!0 & !1)] 5 +[0] 2 +[(!0 & 1)] 4 {0} +State: 3 "2" +[!0] 3 +[(0 & !1)] 1 +[(0 & 1)] 0 +State: 4 "5" +[(!0 & !1)] 6 +[(0 | (!0 & 1))] 4 +State: 5 "7" +[(!0 & !1)] 7 +[(0 | (!0 & 1))] 2 +State: 6 "3" +[t] 8 +State: 7 "6" +[(!0 & 1)] 8 {0} +[(0 | (!0 & !1))] 2 +State: 8 "4" +[(!0 & 1)] 3 {0} +[(0 | (!0 & !1))] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[!1] 1 +[(0 & 1)] 2 {0} +[(!0 & 1)] 0 +State: 2 "4" +[!0] 3 +[0] 2 +State: 3 "6" +[((0 & !1) | (!0 & 1))] 4 {0} +[((0 & 1) | (!0 & !1))] 2 +State: 4 "3" +[1] 4 +[!1] 5 {0} +State: 5 "9" +[((0 & 1) | (!0 & !1))] 6 {0} +[(0 & !1)] 5 +[(!0 & 1)] 7 +State: 6 "2" +[(0 | (!0 & !1))] 6 +[(!0 & 1)] 8 +State: 7 "10" +[(!0 & !1)] 6 {0} +[(0 & !1)] 5 +[(!0 & 1)] 9 +[(0 & 1)] 10 {0} +State: 8 "7" +[(!0 & !1)] 6 +[(0 & !1)] 8 +[(0 & 1)] 0 {0} +[(!0 & 1)] 10 +State: 9 "8" +[(!0 & !1)] 6 {0} +[(!0 & 1)] 5 +[0] 9 +State: 10 "5" +[((0 & !1) | (!0 & 1))] 6 +[(!0 & !1)] 1 {0} +[(0 & 1)] 10 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 +[((0 & !1) | !0)] 0 +State: 1 "1" +[(!0 & !1)] 2 +[(0 & !1)] 3 {0} +[1] 0 +State: 2 "6" +[(!0 & !1)] 2 +[((0 & !1) | (!0 & 1))] 1 +[(0 & 1)] 4 {0} +State: 3 "7" +[((0 & !1) | !0)] 3 +[(0 & 1)] 4 +State: 4 "8" +[1] 3 +[(!0 & !1)] 5 +[(0 & !1)] 6 {0} +State: 5 "11" +[(!0 & !1)] 5 +[(0 & 1)] 7 {0} +[(0 & !1)] 1 +[(!0 & 1)] 4 +State: 6 "4" +[(!0 & 1)] 7 {0} +[0] 6 +[(!0 & !1)] 8 {0} +State: 7 "10" +[(0 & 1)] 9 +[(!0 & 1)] 7 +[(!0 & !1)] 0 {0} +[(0 & !1)] 8 +State: 8 "5" +[(0 & 1)] 10 +[!1] 0 {0} +[(!0 & 1)] 8 +State: 9 "2" +[(!0 & 1)] 10 +[(0 & 1)] 11 {0} +[(0 & !1)] 7 +[(!0 & !1)] 8 +State: 10 "3" +[(!0 & 1)] 10 +[(0 & 1)] 11 +[(!0 & !1)] 0 {0} +[(0 & !1)] 8 +State: 11 "9" +[((0 & !1) | (!0 & 1))] 10 +[(0 & 1)] 0 {0} +[(!0 & !1)] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[(0 & !1)] 2 {0} +[((0 & 1) | (!0 & !1))] 3 +[(!0 & 1)] 0 +State: 2 "6" +[(0 & !1)] 2 +[(0 & 1)] 4 +[(!0 & 1)] 5 {0} +[(!0 & !1)] 0 {0} +State: 3 "2" +[((0 & 1) | (!0 & !1))] 4 {0} +[((0 & !1) | (!0 & 1))] 1 +State: 4 "3" +[(!0 & 1)] 2 +[(0 & 1)] 4 +[(!0 & !1)] 6 {0} +[(0 & !1)] 7 {0} +State: 5 "4" +[(0 & 1)] 8 +[(!0 & !1)] 1 {0} +[((0 & !1) | (!0 & 1))] 7 +State: 6 "7" +[(!0 & !1)] 6 +[((0 & !1) | (!0 & 1))] 7 {0} +[(0 & 1)] 9 {0} +State: 7 "8" +[((0 & !1) | (!0 & 1))] 5 +[(!0 & !1)] 0 {0} +[(0 & 1)] 9 +State: 8 "9" +[(0 & !1)] 1 {0} +[(!0 & !1)] 5 +[(!0 & 1)] 0 {0} +[(0 & 1)] 9 +State: 9 "5" +[((0 & !1) | (!0 & 1))] 1 {0} +[(!0 & !1)] 5 +[(0 & 1)] 9 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[!0] 1 +[(0 & !1)] 2 {0} +[(0 & 1)] 3 {0} +State: 1 "2" +[1] 1 +[(!0 & !1)] 4 +[(0 & !1)] 0 +State: 2 "3" +[(0 & !1)] 2 +[(!0 & !1)] 3 +[(!0 & 1)] 5 {0} +[(0 & 1)] 0 {0} +State: 3 "1" +[(0 & !1)] 2 +[1] 3 +[(!0 & !1)] 6 +State: 4 "7" +[!0] 1 +[(0 & 1)] 1 {0} +[(0 & !1)] 3 {0} +State: 5 "4" +[((0 & 1) | (!0 & !1))] 7 {0} +[((0 & !1) | (!0 & 1))] 5 +State: 6 "5" +[(!0 & !1)] 7 {0} +[(0 & 1)] 1 {0} +[(0 & !1)] 3 +[(!0 & 1)] 6 +State: 7 "6" +[!1] 7 +[1] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 {0} +[(!0 & !1)] 2 {0} +[(0 & 1)] 3 +[(!0 & 1)] 0 +State: 1 "3" +[0] 1 +[(!0 & !1)] 4 {0} +[(!0 & 1)] 5 +State: 2 "9" +[(0 & !1)] 1 {0} +[(!0 & !1)] 2 +[(!0 & 1)] 6 {0} +[(0 & 1)] 7 +State: 3 "1" +[(0 & !1)] 8 +[(!0 & !1)] 2 {0} +[1] 0 +State: 4 "7" +[(0 & 1)] 9 +[!1] 4 +[(!0 & 1)] 10 {0} +State: 5 "5" +[0] 1 +[!0] 6 +State: 6 "4" +[(0 & !1)] 4 {0} +[1] 6 +[(!0 & !1)] 5 +State: 7 "8" +[(0 & !1)] 1 {0} +[(!0 & 1)] 2 +[(0 & 1)] 7 +[(!0 & !1)] 5 {0} +State: 8 "6" +[(!0 & 1)] 8 +[(0 & !1)] 3 +[(!0 & !1)] 0 +[(0 & 1)] 7 {0} +State: 9 "2" +[(0 & !1)] 8 {0} +[(!0 & 1)] 9 +[(0 & 1)] 4 +[(!0 & !1)] 2 {0} +State: 10 "10" +[(!0 & 1)] 10 +[0] 3 {0} +[(!0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[0] 0 +[(!0 & 1)] 2 +State: 1 "1" +[((0 & 1) | (!0 & !1))] 3 {0} +[(0 & !1)] 4 +[(!0 & 1)] 0 +State: 2 "5" +[(!0 & !1)] 5 {0} +[(0 & 1)] 4 {0} +[(0 & !1)] 4 +[(!0 & 1)] 0 +State: 3 "3" +[(!0 & !1)] 5 +[(!0 & 1)] 3 +[0] 0 {0} +State: 4 "4" +[(!0 & !1)] 1 {0} +[1] 4 +[(0 & !1)] 0 +State: 5 "2" +[((0 & 1) | !0)] 3 +[(0 & !1)] 4 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 +[(!0 & 1)] 2 +[(!0 & !1)] 0 {0} +[(0 & !1)] 3 {0} +State: 1 "7" +[(0 & 1)] 4 {0} +[(!0 & 1)] 2 +[!1] 5 +State: 2 "9" +[(0 & !1)] 6 {0} +[(0 & 1)] 1 +[(!0 & 1)] 7 +[(!0 & !1)] 0 +State: 3 "8" +[(!0 & 1)] 4 +[(0 & 1)] 1 {0} +[(0 & !1)] 8 +[(!0 & !1)] 5 {0} +State: 4 "6" +[(0 & 1)] 4 +[(!0 & 1)] 9 +[(!0 & !1)] 8 +[(0 & !1)] 5 {0} +State: 5 "5" +[(0 & !1)] 6 {0} +[(!0 & 1)] 1 +[(0 & 1)] 7 +[(!0 & !1)] 0 +State: 6 "3" +[(!0 & 1)] 4 {0} +[0] 6 +[(!0 & !1)] 8 {0} +State: 7 "1" +[(0 & 1)] 6 {0} +[(!0 & 1)] 2 +[!1] 5 +State: 8 "4" +[(!0 & 1)] 4 +[(0 & 1)] 1 {0} +[(!0 & !1)] 0 {0} +[(0 & !1)] 3 +State: 9 "2" +[(!0 & 1)] 9 +[(!0 & !1)] 8 +[(0 & 1)] 3 +[(0 & !1)] 5 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[((0 & !1) | (!0 & 1))] 1 +[(0 & 1)] 2 {0} +[(!0 & !1)] 3 +State: 1 "3" +[(0 & 1)] 1 +[((0 & !1) | (!0 & 1))] 4 {0} +[(!0 & !1)] 0 +State: 2 "7" +[(!0 & 1)] 5 +[(0 & 1)] 2 +[(!0 & !1)] 6 {0} +[(0 & !1)] 7 +State: 3 "5" +[(!0 & 1)] 1 +[((0 & 1) | (!0 & !1))] 2 {0} +[(0 & !1)] 3 +State: 4 "9" +[((0 & 1) | (!0 & !1))] 2 {0} +[((0 & !1) | (!0 & 1))] 4 +State: 5 "6" +[(0 & !1)] 5 +[(0 & 1)] 8 {0} +[(!0 & !1)] 2 +[(!0 & 1)] 7 +State: 6 "10" +[(0 | (!0 & 1))] 8 {0} +[(!0 & !1)] 6 +State: 7 "4" +[0] 2 +[(!0 & !1)] 6 {0} +[(!0 & 1)] 7 +State: 8 "2" +[(0 & 1)] 1 {0} +[(!0 & !1)] 9 +[(!0 & 1)] 10 +[(0 & !1)] 3 {0} +State: 9 "1" +[1] 8 +[(0 & !1)] 1 {0} +[(!0 & !1)] 3 {0} +State: 10 "8" +[0] 8 +[(!0 & 1)] 1 {0} +[(!0 & !1)] 10 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[((0 & !1) | (!0 & 1))] 2 {0} +[(0 & 1)] 3 +State: 1 "6" +[!0] 3 +[(0 & 1)] 0 +[(0 & !1)] 4 {0} +State: 2 "9" +[!1] 2 +[(!0 & 1)] 5 {0} +[(0 & 1)] 4 +State: 3 "1" +[(!0 & 1)] 1 +[(0 & !1)] 2 {0} +[(0 & 1)] 3 +[(!0 & !1)] 0 +State: 4 "8" +[(!0 & !1)] 6 {0} +[(0 & !1)] 2 +[(0 & 1)] 4 +[(!0 & 1)] 7 {0} +State: 5 "4" +[(0 & 1)] 8 +[(!0 & !1)] 6 +[(0 & !1)] 5 +[(!0 & 1)] 7 {0} +State: 6 "7" +[t] 5 +State: 7 "5" +[(0 & 1)] 9 +[(0 & !1)] 5 {0} +[!0] 7 +State: 8 "2" +[(!0 & 1)] 1 {0} +[(0 & 1)] 8 +[(0 & !1)] 6 +[(!0 & !1)] 7 {0} +State: 9 "3" +[(!0 & 1)] 1 {0} +[(0 & !1)] 9 +[(0 & 1)] 3 {0} +[(!0 & !1)] 7 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[(0 & !1)] 1 +[(0 & 1)] 2 +[(!0 & !1)] 0 +State: 1 "2" +[(!0 & !1)] 3 {0} +[(0 & 1)] 4 {0} +[(0 & !1)] 0 +[(!0 & 1)] 5 {0} +State: 2 "1" +[(!0 & 1)] 1 +[(0 & !1)] 1 {0} +[(!0 & !1)] 2 +[(0 & 1)] 0 +State: 3 "3" +[(!0 & !1)] 3 +[(!0 & 1)] 6 +[(0 & 1)] 7 +[(0 & !1)] 7 {0} +State: 4 "9" +[(!0 & 1)] 6 {0} +[((0 & 1) | (!0 & !1))] 8 +[(0 & !1)] 7 {0} +State: 5 "8" +[(0 & 1)] 9 +[(!0 & !1)] 6 {0} +[(!0 & 1)] 8 +[(0 & !1)] 7 {0} +State: 6 "7" +[(!0 & 1)] 3 +[((0 & 1) | (!0 & !1))] 6 +[(0 & !1)] 7 {0} +State: 7 "5" +[(!0 & 1)] 6 +[(0 & 1)] 0 {0} +[!1] 7 +State: 8 "4" +[(!0 & !1)] 3 {0} +[(0 & 1)] 4 +[(!0 & 1)] 5 +[(0 & !1)] 7 {0} +State: 9 "6" +[(!0 & 1)] 3 {0} +[((0 & 1) | (!0 & !1))] 5 +[(0 & !1)] 7 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(0 & 1)] 2 {0} +[(!0 & !1)] 0 +[(0 & !1)] 3 {0} +State: 1 "2" +[(!0 & !1)] 4 {0} +[(0 & 1)] 5 +[(!0 & 1)] 0 +[(0 & !1)] 3 {0} +State: 2 "7" +[(0 & 1)] 6 {0} +[!0] 1 {0} +[(0 & !1)] 7 +State: 3 "5" +[(!0 & 1)] 4 {0} +[!1] 4 +[(0 & 1)] 3 +State: 4 "1" +[(0 & 1)] 2 {0} +[!0] 4 +[(0 & !1)] 3 +State: 5 "4" +[!0] 1 +[(0 & !1)] 7 {0} +[(0 & 1)] 0 +State: 6 "6" +[(!0 & 1)] 1 {0} +[(0 & !1)] 7 +[(!0 & !1)] 0 {0} +[(0 & 1)] 3 {0} +State: 7 "3" +[(0 & 1)] 6 +[!0] 7 +[(0 & !1)] 3 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[(0 & !1)] 1 +[1] 2 +[(!0 & !1)] 0 +State: 2 "1" +[(0 & !1)] 1 +[(!0 & 1)] 3 {0} +[((0 & 1) | (!0 & !1))] 2 +State: 3 "9" +[(0 & !1)] 4 {0} +[(0 & 1)] 5 +[(!0 & !1)] 3 +[(!0 & 1)] 6 +State: 4 "3" +[(0 & !1)] 1 {0} +[((0 & 1) | (!0 & !1))] 7 +[(!0 & 1)] 8 +State: 5 "11" +[(!0 & 1)] 4 {0} +[!1] 3 +[(0 & 1)] 8 {0} +State: 6 "10" +[(0 & !1)] 4 {0} +[(0 & 1)] 5 +[(!0 & !1)] 3 +[(!0 & 1)] 8 {0} +State: 7 "4" +[((0 & !1) | (!0 & 1))] 4 +[(!0 & !1)] 7 +[(0 & 1)] 8 +State: 8 "8" +[!1] 4 +[(0 & 1)] 8 +[(!0 & 1)] 9 {0} +State: 9 "5" +[(0 & !1)] 4 {0} +[(0 & 1)] 10 +[(!0 & 1)] 6 {0} +[(!0 & !1)] 9 +State: 10 "7" +[(0 & !1)] 11 +[(0 & 1)] 10 +[!0] 9 +State: 11 "6" +[(0 & !1)] 1 {0} +[((0 & 1) | (!0 & !1))] 7 {0} +[(!0 & 1)] 9 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[((0 & 1) | !0)] 1 +[(0 & !1)] 2 {0} +State: 1 "1" +[(!0 & 1)] 3 +[(!0 & !1)] 4 {0} +[(0 & !1)] 1 +[(0 & 1)] 5 {0} +State: 2 "4" +[(!0 & !1)] 6 {0} +[(0 & 1)] 4 +[(0 & !1)] 7 {0} +[(!0 & 1)] 2 +State: 3 "6" +[!0] 3 +[0] 0 +State: 4 "3" +[(!0 & !1)] 6 {0} +[(0 & 1)] 7 {0} +[(0 & !1)] 2 +[(!0 & 1)] 8 +State: 5 "8" +[(!0 & !1)] 4 +[(0 & !1)] 2 {0} +[(0 & 1)] 5 +[(!0 & 1)] 8 {0} +State: 6 "2" +[(!0 & !1)] 3 {0} +[(!0 & 1)] 9 +[(0 & !1)] 7 +[(0 & 1)] 0 {0} +State: 7 "9" +[!0] 6 +[0] 1 {0} +State: 8 "5" +[(!0 & 1)] 6 {0} +[(!0 & !1)] 4 +[(0 & !1)] 7 {0} +[(0 & 1)] 8 +State: 9 "7" +[!0] 6 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[((0 & !1) | (!0 & 1))] 1 +[(0 & 1)] 2 {0} +[(!0 & !1)] 3 {0} +State: 1 "4" +[((0 & 1) | (!0 & !1))] 4 +[(!0 & 1)] 5 {0} +[(0 & !1)] 0 +State: 2 "8" +[(!0 & 1)] 6 +[(!0 & !1)] 7 +[(0 & 1)] 8 {0} +[(0 & !1)] 0 {0} +State: 3 "5" +[(0 & !1)] 6 +[(!0 & 1)] 9 +[(!0 & !1)] 5 +[(0 & 1)] 2 +State: 4 "2" +[(0 & !1)] 4 +[(!0 & !1)] 7 {0} +[(!0 & 1)] 8 +[(0 & 1)] 1 +State: 5 "1" +[((0 & !1) | (!0 & 1))] 10 +[(0 & 1)] 2 +[(!0 & !1)] 3 +State: 6 "6" +[(!0 & 1)] 7 +[(0 & !1)] 10 +[(!0 & !1)] 9 +[(0 & 1)] 2 +State: 7 "3" +[(!0 & 1)] 6 +[(0 & !1)] 8 {0} +[(!0 & !1)] 10 +[(0 & 1)] 1 {0} +State: 8 "7" +[((0 & !1) | (!0 & 1))] 4 +[(0 & 1)] 1 +[(!0 & !1)] 3 {0} +State: 9 "10" +[(!0 & !1)] 6 +[(0 & !1)] 5 +[(0 & 1)] 2 +[(!0 & 1)] 3 +State: 10 "9" +[(0 & !1)] 4 {0} +[(!0 & !1)] 7 +[(!0 & 1)] 5 +[(0 & 1)] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[0] 1 +[(!0 & 1)] 2 +[(!0 & !1)] 0 +State: 1 "1" +[(!0 & 1)] 3 {0} +[(0 & 1)] 1 +[!1] 0 +State: 2 "4" +[(!0 & 1)] 4 {0} +[(0 & 1)] 2 +[!1] 0 +State: 3 "2" +[(0 & 1)] 3 +[((0 & !1) | !0)] 4 +State: 4 "3" +[(!0 & 1)] 3 +[(0 & !1)] 4 +[(0 & 1)] 2 {0} +[(!0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 +[(!0 & 1)] 2 {0} +[((0 & 1) | (!0 & !1))] 3 +State: 1 "2" +[(0 & !1)] 1 +[(0 & 1)] 4 {0} +[(!0 & !1)] 3 +[(!0 & 1)] 0 +State: 2 "9" +[((0 & 1) | (!0 & !1))] 4 {0} +[((0 & !1) | (!0 & 1))] 2 +State: 3 "1" +[((0 & !1) | (!0 & 1))] 3 +[((0 & 1) | (!0 & !1))] 0 +State: 4 "11" +[(0 | (!0 & !1))] 4 +[(!0 & 1)] 5 {0} +State: 5 "5" +[(0 & 1)] 6 {0} +[!0] 7 +[(0 & !1)] 8 {0} +State: 6 "6" +[0] 6 +[(!0 & 1)] 8 +[(!0 & !1)] 9 {0} +State: 7 "7" +[(!0 & !1)] 10 +[0] 7 +[(!0 & 1)] 5 +State: 8 "4" +[((0 & 1) | (!0 & !1))] 6 +[(0 & !1)] 8 +[(!0 & 1)] 9 {0} +State: 9 "8" +[(!0 & 1)] 3 {0} +[(0 & !1)] 11 +[((0 & 1) | (!0 & !1))] 9 +State: 10 "3" +[0] 10 +[(!0 & !1)] 7 +[(!0 & 1)] 9 {0} +State: 11 "10" +[(0 & !1)] 11 +[(0 & 1)] 0 {0} +[!0] 9 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[!1] 2 +[(0 & 1)] 0 +State: 1 "6" +[0] 1 +[(!0 & 1)] 3 {0} +[(!0 & !1)] 4 {0} +State: 2 "1" +[(0 & !1)] 1 {0} +[1] 5 +[(!0 & !1)] 0 +State: 3 "4" +[1] 6 +[(0 & !1)] 3 +[(!0 & !1)] 4 +State: 4 "5" +[(!0 & 1)] 6 +[0] 3 +[(!0 & !1)] 7 {0} +State: 5 "3" +[(!0 & !1)] 5 +[1] 2 +[(0 & !1)] 0 +State: 6 "2" +[(!0 & 1)] 6 +[0] 7 {0} +[(!0 & !1)] 4 +State: 7 "8" +[(0 & !1)] 8 {0} +[(!0 & 1)] 9 {0} +[((0 & 1) | (!0 & !1))] 7 +State: 8 "7" +[(!0 & 1)] 5 {0} +[(!0 & !1)] 8 +[(0 & 1)] 10 +[(0 & !1)] 2 {0} +State: 9 "10" +[(!0 & !1)] 10 +[1] 9 +[(0 & !1)] 0 {0} +State: 10 "9" +[0] 8 +[(!0 & 1)] 2 {0} +[(!0 & !1)] 9 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[((0 & !1) | (!0 & 1))] 1 +[(0 & 1)] 2 {0} +[(!0 & !1)] 0 +State: 1 "2" +[0] 1 +[(!0 & !1)] 0 +[(!0 & 1)] 3 {0} +State: 2 "4" +[((0 & !1) | (!0 & 1))] 4 +[((0 & 1) | (!0 & !1))] 5 +State: 3 "5" +[(!0 & !1)] 5 {0} +[(0 | (!0 & 1))] 3 +State: 4 "3" +[(0 & 1)] 5 +[((0 & !1) | (!0 & 1))] 2 +[(!0 & !1)] 0 {0} +State: 5 "1" +[!0] 5 +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 {0} +[1] 2 +[(!0 & !1)] 0 +State: 1 "3" +[((0 & 1) | (!0 & !1))] 3 +[(0 & !1)] 1 +[(!0 & 1)] 2 {0} +State: 2 "1" +[!0] 2 +[0] 0 +State: 3 "2" +[1] 3 +[(0 & !1)] 1 +[(!0 & !1)] 4 {0} +State: 4 "4" +[((0 & 1) | !0)] 4 +[(0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(0 & !1)] 2 +[(!0 & !1)] 3 {0} +[(0 & 1)] 0 +State: 1 "6" +[(!0 & 1)] 1 +[(!0 & !1)] 4 {0} +[(0 & !1)] 2 +[(0 & 1)] 0 +State: 2 "1" +[(0 & !1)] 2 +[!0] 3 +[(0 & 1)] 0 +State: 3 "4" +[(!0 & !1)] 1 +[(!0 & 1)] 5 {0} +[0] 2 +State: 4 "3" +[(!0 & 1)] 1 {0} +[(!0 & !1)] 4 +[(0 & !1)] 2 {0} +[(0 & 1)] 0 {0} +State: 5 "2" +[((0 & !1) | (!0 & 1))] 5 +[(0 & 1)] 0 {0} +[(!0 & !1)] 6 +State: 6 "5" +[!0] 1 {0} +[(0 & !1)] 5 +[(0 & 1)] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(!0 & 1)] 2 {0} +[0] 3 {0} +State: 1 "6" +[(0 | (!0 & 1))] 4 +[(!0 & !1)] 5 {0} +State: 2 "3" +[(!0 & !1)] 6 +[(0 & !1)] 7 {0} +[(!0 & 1)] 8 {0} +[(0 & 1)] 5 +State: 3 "9" +[(0 & 1)] 6 {0} +[(!0 & 1)] 2 {0} +[(0 & !1)] 3 +[(!0 & !1)] 5 {0} +State: 4 "4" +[(0 & !1)] 1 +[(!0 & !1)] 4 +[1] 0 +State: 5 "5" +[0] 6 +[(!0 & 1)] 7 {0} +[(!0 & !1)] 5 +State: 6 "2" +[(!0 & 1)] 2 +[0] 9 {0} +[(!0 & !1)] 7 {0} +State: 7 "1" +[((0 & 1) | (!0 & !1))] 9 +[(0 & !1)] 7 +[(!0 & 1)] 8 {0} +State: 8 "8" +[(0 & !1)] 1 {0} +[(!0 & !1)] 10 +[1] 0 {0} +State: 9 "7" +[0] 9 +[(!0 & 1)] 7 +[(!0 & !1)] 10 {0} +State: 10 "10" +[(0 & !1)] 10 +[(!0 & !1)] 4 {0} +[1] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(0 & 1)] 2 +[((0 & !1) | (!0 & 1))] 0 +State: 1 "2" +[(0 & 1)] 1 +[(!0 & !1)] 3 {0} +[(!0 & 1)] 4 {0} +[(0 & !1)] 0 +State: 2 "1" +[(!0 & 1)] 4 {0} +[(0 & !1)] 5 {0} +[((0 & 1) | (!0 & !1))] 0 +State: 3 "9" +[(0 & !1)] 6 {0} +[(!0 & !1)] 3 +[1] 4 +State: 4 "10" +[(!0 & !1)] 3 +[(!0 & 1)] 4 +[(0 & !1)] 5 {0} +[(0 & 1)] 7 {0} +State: 5 "4" +[(0 | (!0 & !1))] 6 +[(!0 & 1)] 7 +State: 6 "3" +[(!0 & !1)] 5 +[(0 & !1)] 0 {0} +[1] 7 +State: 7 "5" +[(0 & 1)] 8 {0} +[!0] 6 +[(0 & !1)] 5 +State: 8 "6" +[(0 & 1)] 8 +[((0 & !1) | (!0 & 1))] 0 {0} +[(!0 & !1)] 9 {0} +State: 9 "8" +[(!0 & !1)] 1 {0} +[(0 & 1)] 10 +[((0 & !1) | (!0 & 1))] 0 {0} +State: 10 "7" +[((0 & !1) | !0)] 0 {0} +[(0 & 1)] 9 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(!0 & 1)] 2 {0} +[(0 & !1)] 0 +[(0 & 1)] 3 {0} +State: 1 "6" +[(0 & 1)] 4 {0} +[(!0 & 1)] 5 +[(!0 & !1)] 0 +[(0 & !1)] 3 +State: 2 "7" +[(!0 & !1)] 1 {0} +[(!0 & 1)] 6 +[(0 & !1)] 2 +[(0 & 1)] 3 {0} +State: 3 "8" +[(!0 & !1)] 1 +[(0 & !1)] 3 +[1] 7 {0} +State: 4 "9" +[(!0 & !1)] 8 +[(0 & !1)] 2 {0} +[(0 & 1)] 4 +[(!0 & 1)] 7 +State: 5 "4" +[(!0 & 1)] 4 {0} +[(0 & !1)] 5 +[(!0 & !1)] 3 {0} +[(0 & 1)] 3 +State: 6 "3" +[(0 & !1)] 6 +[!0] 2 +[(0 & 1)] 9 +State: 7 "5" +[(!0 & !1)] 8 +[(0 & !1)] 6 {0} +[1] 4 +State: 8 "2" +[(0 & !1)] 8 +[(!0 & !1)] 0 {0} +[(0 & 1)] 3 {0} +[(!0 & 1)] 7 +State: 9 "1" +[(!0 & !1)] 1 {0} +[(0 & !1)] 2 +[(0 & 1)] 3 {0} +[(!0 & 1)] 7 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[!0] 1 +[(0 & 1)] 2 +[(0 & !1)] 0 +State: 1 "2" +[(!0 & 1)] 3 {0} +[(0 | (!0 & !1))] 0 +State: 2 "1" +[0] 1 +[!0] 0 +State: 3 "4" +[(0 & !1)] 4 +[((0 & 1) | !0)] 3 +State: 4 "3" +[(!0 & !1)] 5 {0} +[(0 & !1)] 4 +[1] 3 +State: 5 "6" +[!1] 5 +[(!0 & 1)] 1 {0} +[(0 & 1)] 6 +State: 6 "5" +[((0 & !1) | !0)] 5 +[(0 & 1)] 7 +State: 7 "7" +[(0 | (!0 & !1))] 5 +[(!0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 +[((0 & !1) | !0)] 0 +State: 1 "1" +[(!0 & 1)] 2 +[(!0 & !1)] 3 {0} +[0] 4 +State: 2 "2" +[(!0 & !1)] 5 {0} +[(!0 & 1)] 0 +[0] 6 {0} +State: 3 "3" +[((0 & 1) | (!0 & !1))] 3 +[(!0 & 1)] 0 {0} +[(0 & !1)] 7 +State: 4 "9" +[(0 & !1)] 5 {0} +[(!0 & !1)] 8 {0} +[(!0 & 1)] 0 +[(0 & 1)] 6 {0} +State: 5 "6" +[(0 & !1)] 5 +[(!0 & !1)] 8 {0} +[1] 6 +State: 6 "5" +[(0 & !1)] 5 +[(!0 & 1)] 9 +[(!0 & !1)] 8 {0} +[(0 & 1)] 6 +State: 7 "8" +[((0 & !1) | (!0 & 1))] 3 +[((0 & 1) | (!0 & !1))] 10 +State: 8 "10" +[(!0 & 1)] 3 {0} +[((0 & 1) | (!0 & !1))] 8 +[(0 & !1)] 7 +State: 9 "7" +[(!0 & 1)] 5 +[((0 & 1) | (!0 & !1))] 3 {0} +[(0 & !1)] 6 +State: 10 "4" +[((0 & 1) | !0)] 3 +[(0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(0 & !1)] 2 {0} +[(0 & 1)] 3 {0} +[(!0 & 1)] 4 {0} +State: 1 "6" +[(0 & 1)] 1 +[(0 & !1)] 3 {0} +[(!0 & 1)] 0 +[(!0 & !1)] 4 {0} +State: 2 "7" +[(!0 & 1)] 5 +[0] 2 +[(!0 & !1)] 6 +State: 3 "10" +[(0 & 1)] 2 {0} +[(!0 & !1)] 6 {0} +[((0 & !1) | (!0 & 1))] 3 +State: 4 "8" +[((0 & 1) | (!0 & !1))] 5 {0} +[(0 & !1)] 2 {0} +[(!0 & 1)] 7 +State: 5 "3" +[((0 & !1) | (!0 & 1))] 2 +[(0 & 1)] 8 {0} +[(!0 & !1)] 9 {0} +State: 6 "1" +[((0 & 1) | (!0 & !1))] 5 +[(0 & !1)] 2 +[(!0 & 1)] 6 +State: 7 "9" +[(0 & !1)] 7 +[(0 & 1)] 3 +[!0] 4 +State: 8 "11" +[(!0 & 1)] 10 {0} +[0] 8 +[(!0 & !1)] 9 {0} +State: 9 "5" +[(0 & 1)] 10 +[(!0 & 1)] 11 {0} +[!1] 9 +State: 10 "2" +[(!0 & !1)] 1 {0} +[((0 & !1) | (!0 & 1))] 10 +[(0 & 1)] 9 +State: 11 "4" +[(0 & !1)] 2 {0} +[1] 11 +[(!0 & !1)] 4 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 {0} +[((0 & !1) | !0)] 0 +State: 1 "9" +[(0 & !1)] 2 {0} +[(!0 & !1)] 1 +[1] 3 {0} +State: 2 "2" +[0] 4 +[!0] 2 +State: 3 "4" +[(!0 & !1)] 4 +[((0 & !1) | (!0 & 1))] 5 {0} +[(0 & 1)] 3 +State: 4 "6" +[(0 & !1)] 2 +[!0] 3 +[(0 & 1)] 6 {0} +State: 5 "7" +[(!0 & 1)] 5 +[(0 & !1)] 7 {0} +[((0 & 1) | (!0 & !1))] 8 {0} +State: 6 "8" +[(0 & !1)] 9 {0} +[(!0 & 1)] 5 {0} +[(0 & 1)] 6 +[(!0 & !1)] 8 {0} +State: 7 "1" +[(0 & !1)] 7 +[!0] 0 {0} +[(0 & 1)] 8 +State: 8 "5" +[(0 | (!0 & 1))] 9 +[(!0 & !1)] 0 {0} +State: 9 "3" +[(0 & 1)] 1 {0} +[(!0 & 1)] 7 +[(0 & !1)] 0 {0} +[(!0 & !1)] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[(0 & 1)] 1 +[!1] 3 {0} +[(!0 & 1)] 2 +State: 2 "1" +[(0 & !1)] 3 {0} +[(!0 & !1)] 2 +[(0 & 1)] 4 {0} +[(!0 & 1)] 0 +State: 3 "11" +[!1] 3 +[(0 & 1)] 4 {0} +[(!0 & 1)] 5 {0} +State: 4 "10" +[(0 & 1)] 6 {0} +[(!0 & 1)] 4 +[!1] 5 {0} +State: 5 "4" +[(0 & 1)] 7 +[!1] 6 +[(!0 & 1)] 5 +State: 6 "3" +[(!0 & 1)] 8 {0} +[!1] 5 +[(0 & 1)] 9 {0} +State: 7 "6" +[(!0 & 1)] 7 +[(0 & 1)] 6 +[!1] 9 {0} +State: 8 "7" +[(!0 & !1)] 10 +[0] 2 {0} +[(!0 & 1)] 11 +State: 9 "5" +[(!0 & 1)] 8 {0} +[(0 | (!0 & !1))] 9 +State: 10 "9" +[(0 & 1)] 1 {0} +[(!0 & 1)] 8 +[!1] 2 {0} +State: 11 "8" +[(!0 & !1)] 1 {0} +[1] 10 +[(0 & !1)] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[(0 & 1)] 2 +[(0 & !1)] 0 +[(!0 & !1)] 3 {0} +State: 1 "9" +[((0 & !1) | (!0 & 1))] 1 +[(!0 & !1)] 3 +[(0 & 1)] 4 {0} +State: 2 "1" +[!1] 5 {0} +[(0 & 1)] 2 +[(!0 & 1)] 0 +State: 3 "8" +[(0 & !1)] 1 +[(0 & 1)] 2 {0} +[(!0 & !1)] 3 +[(!0 & 1)] 4 {0} +State: 4 "5" +[((0 & !1) | !0)] 5 +[(0 & 1)] 4 +State: 5 "3" +[((0 & 1) | (!0 & !1))] 6 +[((0 & !1) | (!0 & 1))] 4 +State: 6 "4" +[(!0 & 1)] 7 {0} +[!1] 5 +[(0 & 1)] 6 +State: 7 "2" +[(!0 & 1)] 7 +[(0 & 1)] 8 +[(0 & !1)] 0 {0} +[(!0 & !1)] 3 {0} +State: 8 "7" +[(0 & !1)] 9 +[(0 & 1)] 7 +[(!0 & 1)] 0 {0} +[(!0 & !1)] 3 {0} +State: 9 "6" +[0] 9 +[(!0 & !1)] 8 +[(!0 & 1)] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(0 & !1)] 2 +[1] 0 +State: 1 "2" +[(0 | (!0 & !1))] 2 +[(!0 & 1)] 0 +State: 2 "1" +[!0] 1 +[(0 & !1)] 3 {0} +[(0 & 1)] 0 +State: 3 "10" +[(0 & !1)] 4 {0} +[((0 & 1) | (!0 & !1))] 5 +[(!0 & 1)] 6 {0} +State: 4 "3" +[!1] 4 +[(!0 & 1)] 6 +[(0 & 1)] 7 +State: 5 "11" +[(!0 & !1)] 4 {0} +[(0 & 1)] 5 +[(0 & !1)] 3 +[(!0 & 1)] 6 {0} +State: 6 "4" +[(0 & !1)] 4 +[(!0 & 1)] 8 {0} +[((0 & 1) | (!0 & !1))] 7 +State: 7 "5" +[(0 & 1)] 4 +[(!0 & !1)] 9 {0} +[((0 & !1) | (!0 & 1))] 6 +State: 8 "7" +[(!0 & 1)] 8 +[(0 & !1)] 2 {0} +[((0 & 1) | (!0 & !1))] 10 +State: 9 "9" +[(0 & !1)] 11 {0} +[((0 & 1) | !0)] 9 +State: 10 "8" +[(0 | (!0 & !1))] 11 +[(!0 & 1)] 8 +State: 11 "6" +[(0 & !1)] 11 +[1] 8 +[(!0 & !1)] 10 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[((0 & !1) | (!0 & 1))] 2 +[(0 & 1)] 3 {0} +State: 1 "6" +[((0 & !1) | (!0 & 1))] 1 +[(0 & 1)] 4 {0} +[(!0 & !1)] 0 +State: 2 "2" +[(!0 & !1)] 1 +[(0 & 1)] 4 +[((0 & !1) | (!0 & 1))] 5 +State: 3 "3" +[(!0 & 1)] 3 +[(!0 & !1)] 6 +[(0 & 1)] 6 {0} +[(0 & !1)] 7 +State: 4 "7" +[(0 & 1)] 3 {0} +[((0 & !1) | (!0 & 1))] 5 +[(!0 & !1)] 0 +State: 5 "4" +[(0 & 1)] 6 {0} +[((0 & !1) | (!0 & 1))] 5 +[(!0 & !1)] 0 +State: 6 "1" +[(0 & 1)] 3 +[(!0 & !1)] 0 {0} +[((0 & !1) | (!0 & 1))] 7 +State: 7 "5" +[(0 & !1)] 3 +[(0 & 1)] 6 +[(!0 & 1)] 5 {0} +[(!0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[1] 1 {0} +[(!0 & !1)] 0 +[(0 & !1)] 2 +State: 1 "6" +[(0 | (!0 & !1))] 1 +[(!0 & 1)] 3 +State: 2 "5" +[(!0 & 1)] 4 +[0] 0 +[(!0 & !1)] 2 +State: 3 "7" +[(0 & 1)] 1 +[((0 & !1) | (!0 & 1))] 5 {0} +[(!0 & !1)] 3 +State: 4 "3" +[(!0 & !1)] 1 {0} +[(!0 & 1)] 5 {0} +[0] 2 +State: 5 "2" +[((0 & !1) | !0)] 5 +[(0 & 1)] 6 +State: 6 "4" +[((0 & !1) | (!0 & 1))] 5 +[(0 & 1)] 7 +[(!0 & !1)] 8 {0} +State: 7 "1" +[(!0 & !1)] 5 +[(0 & !1)] 7 +[1] 6 +State: 8 "8" +[(!0 & 1)] 4 {0} +[(0 & 1)] 0 {0} +[!1] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[((0 & !1) | (!0 & 1))] 1 +[(!0 & !1)] 2 {0} +[(0 & 1)] 0 +State: 1 "1" +[((0 & !1) | (!0 & 1))] 3 +[((0 & 1) | (!0 & !1))] 4 {0} +State: 2 "4" +[((0 & !1) | (!0 & 1))] 5 {0} +[((0 & 1) | (!0 & !1))] 2 +State: 3 "2" +[(!0 & 1)] 5 {0} +[(0 & 1)] 1 +[!1] 0 +State: 4 "5" +[(0 & 1)] 6 {0} +[((0 & !1) | (!0 & 1))] 5 +[(!0 & !1)] 0 {0} +State: 5 "3" +[(!0 & 1)] 5 +[(0 | (!0 & !1))] 4 +State: 6 "6" +[((0 & 1) | (!0 & !1))] 0 {0} +[((0 & !1) | (!0 & 1))] 7 +State: 7 "8" +[(!0 & 1)] 3 {0} +[(0 & !1)] 8 +[(0 & 1)] 1 {0} +[(!0 & !1)] 0 {0} +State: 8 "7" +[0] 6 +[(!0 & 1)] 1 {0} +[(!0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 +[((0 & 1) | (!0 & !1))] 2 +[(!0 & 1)] 0 +State: 1 "2" +[(!0 & !1)] 3 {0} +[(0 & 1)] 4 {0} +[(!0 & 1)] 2 +[(0 & !1)] 0 +State: 2 "1" +[(0 & 1)] 1 +[!1] 2 +[(!0 & 1)] 0 +State: 3 "6" +[(!0 & 1)] 5 +[(!0 & !1)] 6 {0} +[(0 & !1)] 7 +[(0 & 1)] 8 {0} +State: 4 "13" +[((0 & 1) | (!0 & !1))] 3 {0} +[(0 & !1)] 9 +[(!0 & 1)] 10 +State: 5 "3" +[(0 & !1)] 3 +[(!0 & 1)] 5 +[(!0 & !1)] 6 {0} +[(0 & 1)] 7 +State: 6 "7" +[!1] 6 +[(!0 & 1)] 0 {0} +[(0 & 1)] 11 +State: 7 "4" +[((0 & 1) | !0)] 3 +[(0 & !1)] 5 +State: 8 "8" +[(!0 & !1)] 6 +[(!0 & 1)] 12 {0} +[(0 & 1)] 8 +[(0 & !1)] 11 +State: 9 "11" +[(!0 & !1)] 3 {0} +[(0 & 1)] 4 +[((0 & !1) | (!0 & 1))] 10 +State: 10 "12" +[(0 & !1)] 4 +[(!0 & !1)] 2 {0} +[(0 & 1)] 7 {0} +[(!0 & 1)] 10 +State: 11 "5" +[(!0 & 1)] 12 {0} +[(!0 & !1)] 13 {0} +[(0 & 1)] 8 +[(0 & !1)] 11 +State: 12 "9" +[(0 | (!0 & !1))] 13 +[(!0 & 1)] 0 {0} +State: 13 "10" +[(0 & 1)] 1 {0} +[((0 & !1) | (!0 & 1))] 12 +[(!0 & !1)] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 +[((0 & !1) | (!0 & 1))] 0 +[(!0 & !1)] 2 {0} +State: 1 "1" +[!1] 1 +[(0 & 1)] 3 +[(!0 & 1)] 0 +State: 2 "5" +[(0 & 1)] 4 {0} +[(0 & !1)] 5 +[!0] 2 +State: 3 "4" +[(0 & 1)] 3 +[((0 & !1) | !0)] 0 +State: 4 "2" +[1] 4 +[(0 & !1)] 6 +[(!0 & !1)] 7 {0} +State: 5 "3" +[(!0 & !1)] 8 {0} +[(!0 & 1)] 5 +[0] 2 +State: 6 "7" +[((0 & 1) | !0)] 8 +[(0 & !1)] 4 +State: 7 "9" +[(0 & 1)] 7 +[((0 & !1) | !0)] 9 +State: 8 "6" +[(0 & !1)] 8 +[(0 & 1)] 4 +[!0] 9 {0} +State: 9 "8" +[(0 & 1)] 7 +[(!0 & !1)] 1 {0} +[((0 & !1) | (!0 & 1))] 9 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[0] 0 +[(!0 & !1)] 2 +State: 1 "1" +[(0 & !1)] 3 +[!0] 4 {0} +[(0 & 1)] 5 +State: 2 "5" +[!0] 6 +[0] 7 {0} +State: 3 "6" +[(0 & 1)] 3 +[(!0 & 1)] 6 {0} +[(!0 & !1)] 1 +[(0 & !1)] 5 +State: 4 "3" +[!0] 4 +[(0 & 1)] 0 {0} +[(0 & !1)] 2 {0} +State: 5 "4" +[!1] 3 +[(!0 & 1)] 1 {0} +[(0 & 1)] 1 +State: 6 "2" +[(!0 & !1)] 4 {0} +[(0 & 1)] 0 +[((0 & !1) | (!0 & 1))] 2 +State: 7 "8" +[(!0 & 1)] 4 {0} +[((0 & 1) | (!0 & !1))] 8 +[(0 & !1)] 7 +State: 8 "7" +[!0] 1 {0} +[0] 7 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 2 {0} +[!0] 0 +State: 2 "3" +[!0] 3 +[0] 4 +State: 3 "2" +[0] 2 +[!0] 0 {0} +State: 4 "4" +[0] 2 +[!0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "1" +[0] 3 {0} +[!0] 0 +State: 2 "5" +[0] 4 {0} +[!0] 0 +State: 3 "3" +[0] 1 {0} +[!0] 5 +State: 4 "2" +[t] 3 +State: 5 "4" +[0] 4 +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[0] 2 +[!0] 0 +State: 2 "4" +[!0] 1 +[0] 3 {0} +State: 3 "1" +[0] 4 +[!0] 3 +State: 4 "3" +[0] 3 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[!0] 2 {0} +[0] 0 +State: 2 "3" +[0] 3 +[!0] 4 +State: 3 "2" +[!0] 3 +[0] 2 +State: 4 "4" +[0] 5 {0} +[!0] 2 +State: 5 "6" +[!0] 1 {0} +[0] 6 +State: 6 "5" +[0] 5 +[!0] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "2" +[!0] 3 +[0] 2 {0} +State: 2 "1" +[!0] 4 +[0] 0 +State: 3 "3" +[!0] 1 +[0] 3 +State: 4 "4" +[!0] 3 {0} +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[!0] 3 +[0] 2 +State: 2 "4" +[0] 1 +[!0] 4 +State: 3 "1" +[0] 1 +[!0] 0 +State: 4 "3" +[0] 1 {0} +[!0] 5 +State: 5 "5" +[0] 3 +[!0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[0] 3 +[!0] 2 +State: 2 "1" +[0] 3 {0} +[!0] 0 +State: 3 "7" +[!0] 4 +[0] 3 +State: 4 "6" +[0] 5 {0} +[!0] 6 +State: 5 "4" +[t] 7 +State: 6 "5" +[!0] 3 +[0] 2 +State: 7 "3" +[!0] 1 {0} +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "1" +[0] 3 +[!0] 0 +State: 2 "5" +[0] 4 +[!0] 5 +State: 3 "3" +[t] 1 +State: 4 "2" +[!0] 0 {0} +[0] 2 +State: 5 "4" +[!0] 6 +[0] 3 {0} +State: 6 "6" +[!0] 1 {0} +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "1" +[0] 1 +[!0] 3 +State: 2 "4" +[!0] 4 +[0] 2 +State: 3 "5" +[!0] 5 {0} +[0] 0 +State: 4 "3" +[0] 6 +[!0] 5 +State: 5 "2" +[0] 6 {0} +[!0] 2 +State: 6 "6" +[0] 1 {0} +[!0] 7 +State: 7 "8" +[!0] 8 +[0] 2 +State: 8 "7" +[!0] 6 +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[!0] 2 +[0] 0 +State: 3 "4" +[0] 4 +[!0] 5 +State: 4 "3" +[0] 2 {0} +[!0] 3 +State: 5 "5" +[!0] 6 +[0] 4 +State: 6 "6" +[0] 1 {0} +[!0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "2" +[!0] 1 +[0] 3 +State: 2 "1" +[0] 4 +[!0] 2 +State: 3 "5" +[!0] 1 +[0] 5 +State: 4 "3" +[0] 2 +[!0] 0 +State: 5 "4" +[!0] 6 {0} +[0] 1 +State: 6 "6" +[0] 7 +[!0] 2 {0} +State: 7 "7" +[!0] 6 +[0] 7 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "1" +[0] 3 {0} +[!0] 0 +State: 2 "5" +[0] 1 {0} +[!0] 0 +State: 3 "2" +[t] 4 +State: 4 "3" +[!0] 4 +[0] 5 +State: 5 "4" +[0] 3 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[!0] 2 {0} +[0] 3 +State: 2 "6" +[0] 3 +[!0] 4 {0} +State: 3 "2" +[0] 0 {0} +[!0] 5 +State: 4 "3" +[t] 6 +State: 5 "5" +[!0] 2 +[0] 0 +State: 6 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "1" +[!0] 3 {0} +[0] 4 +State: 2 "8" +[0] 5 +[!0] 2 +State: 3 "4" +[t] 6 +State: 4 "5" +[!0] 0 +[0] 4 +State: 5 "6" +[0] 7 +[!0] 3 {0} +State: 6 "3" +[0] 8 +[!0] 3 +State: 7 "7" +[!0] 6 {0} +[0] 2 +State: 8 "2" +[0] 3 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 2 {0} +[!0] 0 +State: 2 "3" +[!0] 3 +[0] 4 +State: 3 "2" +[0] 2 +[!0] 0 {0} +State: 4 "4" +[0] 2 +[!0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "1" +[!0] 3 {0} +[0] 0 +State: 2 "4" +[!0] 4 {0} +[0] 0 +State: 3 "3" +[!0] 4 +[0] 3 +State: 4 "2" +[!0] 3 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "3" +[!0] 3 +[0] 0 {0} +State: 2 "1" +[!0] 4 +[0] 0 +State: 3 "4" +[0] 2 {0} +[!0] 3 +State: 4 "2" +[t] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "3" +[0] 1 +[!0] 0 +State: 2 "1" +[0] 3 +[!0] 2 +State: 3 "2" +[0] 1 {0} +[!0] 4 +State: 4 "4" +[0] 2 +[!0] 5 {0} +State: 5 "5" +[0] 1 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 2 +[!0] 0 +State: 2 "2" +[0] 3 {0} +[!0] 0 +State: 3 "6" +[0] 4 +[!0] 1 {0} +State: 4 "3" +[0] 3 +[!0] 5 +State: 5 "4" +[!0] 0 {0} +[0] 6 +State: 6 "5" +[!0] 3 +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "3" +[t] 0 +State: 2 "5" +[!0] 3 +[0] 2 +State: 3 "6" +[0] 4 {0} +[!0] 5 +State: 4 "2" +[t] 6 +State: 5 "7" +[0] 6 {0} +[!0] 2 +State: 6 "1" +[0] 4 +[!0] 7 +State: 7 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[!0] 2 +[0] 3 {0} +State: 2 "3" +[!0] 1 +[0] 0 +State: 3 "5" +[!0] 4 +[0] 3 +State: 4 "4" +[0] 5 +[!0] 1 {0} +State: 5 "2" +[!0] 6 +[0] 3 +State: 6 "6" +[!0] 0 {0} +[0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "3" +[0] 1 +[!0] 3 +State: 2 "4" +[t] 4 +State: 3 "1" +[!0] 5 +[0] 4 +State: 4 "5" +[0] 1 {0} +[!0] 0 +State: 5 "2" +[!0] 1 +[0] 4 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "6" +[0] 2 {0} +[!0] 3 +State: 2 "2" +[t] 4 +State: 3 "3" +[0] 5 +[!0] 0 +State: 4 "5" +[0] 2 +[!0] 6 +State: 5 "1" +[!0] 3 +[0] 4 {0} +State: 6 "4" +[0] 5 {0} +[!0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "7" +[!0] 3 +[0] 4 {0} +State: 2 "1" +[!0] 5 +[0] 1 {0} +State: 3 "8" +[!0] 6 +[0] 1 +State: 4 "5" +[!0] 7 +[0] 4 +State: 5 "3" +[0] 2 +[!0] 0 +State: 6 "6" +[0] 8 {0} +[!0] 1 +State: 7 "4" +[t] 8 +State: 8 "2" +[0] 2 {0} +[!0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 {0} +[!0] 3 +State: 2 "2" +[0] 4 +[!0] 5 {0} +State: 3 "3" +[!0] 1 +[0] 0 +State: 4 "6" +[0] 4 +[!0] 6 {0} +State: 5 "5" +[t] 6 +State: 6 "4" +[0] 0 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "2" +[!0] 3 +[0] 4 +State: 2 "1" +[0] 1 {0} +[!0] 5 +State: 3 "4" +[!0] 6 {0} +[0] 1 +State: 4 "5" +[!0] 1 +[0] 3 +State: 5 "3" +[!0] 5 +[0] 0 +State: 6 "6" +[!0] 7 +[0] 8 +State: 7 "7" +[0] 6 +[!0] 5 {0} +State: 8 "8" +[!0] 6 +[0] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "1" +[t] 3 +State: 2 "4" +[0] 4 +[!0] 3 +State: 3 "5" +[!0] 2 +[0] 0 +State: 4 "2" +[0] 5 +[!0] 2 +State: 5 "3" +[0] 2 +[!0] 3 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "2" +[!0] 3 +[0] 4 +State: 2 "1" +[0] 5 +[!0] 4 {0} +State: 3 "4" +[!0] 2 {0} +[0] 4 +State: 4 "5" +[0] 1 +[!0] 4 +State: 5 "3" +[!0] 6 +[0] 0 +State: 6 "6" +[!0] 2 +[0] 4 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[0] 0 +[!0] 2 {0} +State: 2 "5" +[!0] 3 {0} +[0] 4 +State: 3 "2" +[0] 5 +[!0] 0 {0} +State: 4 "3" +[0] 6 +[!0] 2 +State: 5 "6" +[!0] 3 +[0] 7 +State: 6 "4" +[!0] 5 +[0] 2 +State: 7 "7" +[!0] 5 +[0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[0] 2 +[!0] 1 +State: 2 "7" +[0] 0 +[!0] 3 {0} +State: 3 "5" +[0] 4 +[!0] 3 +State: 4 "6" +[!0] 4 +[0] 5 +State: 5 "2" +[!0] 6 {0} +[0] 3 +State: 6 "4" +[!0] 7 +[0] 6 +State: 7 "3" +[0] 6 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[0] 1 +[!0] 0 +State: 3 "3" +[!0] 3 +[0] 4 {0} +State: 4 "4" +[0] 4 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 0 +State: 2 "2" +[0] 3 {0} +[!0] 0 +State: 3 "4" +[!0] 4 +[0] 3 +State: 4 "3" +[!0] 5 {0} +[0] 3 +State: 5 "6" +[0] 1 {0} +[!0] 6 +State: 6 "5" +[!0] 7 +[0] 6 +State: 7 "7" +[!0] 5 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "6" +[0] 0 +[!0] 3 +State: 2 "2" +[0] 2 +[!0] 4 +State: 3 "5" +[!0] 4 {0} +[0] 5 +State: 4 "3" +[!0] 2 +[0] 6 +State: 5 "1" +[!0] 0 +[0] 3 +State: 6 "4" +[!0] 2 +[0] 3 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[0] 1 +[!0] 0 +State: 2 "1" +[!0] 3 {0} +[0] 1 +State: 3 "6" +[0] 3 +[!0] 4 +State: 4 "7" +[0] 3 +[!0] 5 {0} +State: 5 "3" +[!0] 5 +[0] 6 +State: 6 "4" +[0] 5 +[!0] 7 +State: 7 "5" +[!0] 1 {0} +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "2" +[!0] 3 +[0] 2 +State: 2 "1" +[0] 1 +[!0] 4 +State: 3 "3" +[0] 2 {0} +[!0] 5 +State: 4 "5" +[0] 2 +[!0] 0 +State: 5 "4" +[!0] 1 +[0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "6" +[0] 3 {0} +[!0] 0 +State: 2 "7" +[!0] 4 {0} +[0] 5 +State: 3 "1" +[0] 6 {0} +[!0] 0 +State: 4 "4" +[0] 1 {0} +[!0] 6 +State: 5 "5" +[!0] 7 +[0] 3 +State: 6 "3" +[0] 6 +[!0] 4 +State: 7 "2" +[!0] 6 {0} +[0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "6" +[!0] 3 {0} +[0] 4 +State: 2 "4" +[!0] 2 +[0] 0 +State: 3 "1" +[0] 5 +[!0] 2 {0} +State: 4 "5" +[!0] 5 {0} +[0] 6 +State: 5 "2" +[!0] 5 +[0] 7 +State: 6 "7" +[0] 1 +[!0] 4 +State: 7 "3" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "7" +[0] 3 +[!0] 4 {0} +State: 2 "8" +[0] 1 {0} +[!0] 5 +State: 3 "1" +[!0] 6 +[0] 7 {0} +State: 4 "4" +[!0] 8 +[0] 7 +State: 5 "9" +[0] 9 +[!0] 1 +State: 6 "2" +[0] 1 +[!0] 0 +State: 7 "5" +[0] 3 {0} +[!0] 4 +State: 8 "3" +[0] 4 +[!0] 7 +State: 9 "6" +[!0] 8 {0} +[0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "2" +[!0] 3 {0} +[0] 4 +State: 2 "1" +[t] 5 +State: 3 "6" +[!0] 5 {0} +[0] 4 +State: 4 "5" +[0] 6 +[!0] 4 +State: 5 "3" +[!0] 5 +[0] 0 +State: 6 "4" +[0] 3 +[!0] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "4" +[0] 3 +[!0] 0 +State: 2 "5" +[0] 3 {0} +[!0] 1 +State: 3 "3" +[!0] 4 +[0] 1 +State: 4 "2" +[!0] 5 +[0] 1 {0} +State: 5 "1" +[!0] 3 +[0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[!0] 2 {0} +[0] 0 +State: 2 "4" +[0] 3 {0} +[!0] 2 +State: 3 "3" +[!0] 4 +[0] 0 {0} +State: 4 "2" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[!0] 2 +[0] 0 +State: 2 "2" +[0] 3 {0} +[!0] 1 +State: 3 "3" +[!0] 4 +[0] 5 +State: 4 "4" +[0] 3 +[!0] 1 {0} +State: 5 "5" +[0] 3 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "6" +[!0] 1 +[0] 3 +State: 2 "1" +[!0] 4 +[0] 0 +State: 3 "7" +[!0] 1 +[0] 5 {0} +State: 4 "2" +[0] 3 {0} +[!0] 0 +State: 5 "4" +[0] 2 {0} +[!0] 6 +State: 6 "5" +[0] 7 +[!0] 6 +State: 7 "3" +[!0] 7 +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 {0} +[0] 3 +State: 2 "6" +[!0] 2 +[0] 4 {0} +State: 3 "2" +[0] 3 +[!0] 0 +State: 4 "5" +[t] 5 +State: 5 "3" +[!0] 6 +[0] 4 +State: 6 "4" +[0] 3 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 0 +[0] 2 {0} +State: 2 "5" +[!0] 3 +[0] 4 {0} +State: 3 "6" +[!0] 5 {0} +[0] 2 +State: 4 "4" +[!0] 5 +[0] 4 +State: 5 "3" +[0] 6 +[!0] 0 {0} +State: 6 "2" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "1" +[t] 3 +State: 2 "4" +[0] 4 +[!0] 3 +State: 3 "5" +[!0] 2 +[0] 0 +State: 4 "2" +[0] 5 +[!0] 2 +State: 5 "3" +[0] 2 +[!0] 3 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "2" +[!0] 3 {0} +[0] 4 +State: 2 "1" +[!0] 5 +[0] 0 +State: 3 "7" +[0] 6 +[!0] 3 +State: 4 "5" +[!0] 1 +[0] 7 +State: 5 "3" +[0] 5 +[!0] 2 +State: 6 "6" +[0] 3 +[!0] 2 {0} +State: 7 "4" +[0] 6 {0} +[!0] 1 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "1" +[!0] 1 +[0] 0 +State: 2 "5" +[0] 3 +[!0] 4 {0} +State: 3 "6" +[0] 5 +[!0] 2 +State: 4 "2" +[!0] 4 +[0] 6 +State: 5 "7" +[!0] 7 {0} +[0] 2 +State: 6 "4" +[t] 7 +State: 7 "3" +[0] 4 +[!0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "3" +[0] 1 +[!0] 3 +State: 2 "1" +[!0] 2 +[0] 0 +State: 3 "4" +[0] 4 +[!0] 2 {0} +State: 4 "2" +[!0] 1 +[0] 5 {0} +State: 5 "5" +[!0] 2 {0} +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "3" +[t] 0 +State: 2 "1" +[0] 3 +[!0] 2 +State: 3 "2" +[0] 2 +[!0] 4 {0} +State: 4 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "3" +[!0] 1 +[0] 3 +State: 2 "1" +[!0] 2 +[0] 0 +State: 3 "4" +[!0] 3 +[0] 4 +State: 4 "5" +[!0] 5 {0} +[0] 1 +State: 5 "6" +[!0] 5 +[0] 6 +State: 6 "7" +[0] 7 +[!0] 6 +State: 7 "2" +[0] 5 +[!0] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "6" +[t] 3 +State: 2 "3" +[0] 2 +[!0] 4 +State: 3 "5" +[0] 5 +[!0] 4 {0} +State: 4 "4" +[0] 6 +[!0] 2 +State: 5 "1" +[!0] 0 +[0] 3 +State: 6 "2" +[!0] 2 +[0] 3 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[!0] 2 {0} +[0] 0 +State: 2 "9" +[!0] 3 {0} +[0] 4 +State: 3 "4" +[0] 5 +[!0] 6 {0} +State: 4 "8" +[0] 7 {0} +[!0] 2 +State: 5 "6" +[0] 7 +[!0] 3 +State: 6 "7" +[!0] 6 +[0] 8 {0} +State: 7 "2" +[!0] 5 +[0] 8 {0} +State: 8 "5" +[!0] 9 +[0] 8 +State: 9 "3" +[0] 1 {0} +[!0] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "6" +[!0] 1 +[0] 3 +State: 2 "4" +[!0] 4 +[0] 5 +State: 3 "5" +[0] 5 {0} +[!0] 6 +State: 4 "2" +[!0] 1 {0} +[0] 5 +State: 5 "3" +[!0] 5 +[0] 2 +State: 6 "1" +[!0] 6 +[0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[!0] 2 {0} +[0] 0 +State: 2 "4" +[t] 3 +State: 3 "3" +[0] 4 +[!0] 0 {0} +State: 4 "2" +[!0] 2 +[0] 5 {0} +State: 5 "5" +[!0] 0 {0} +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "2" +[0] 3 +[!0] 4 {0} +State: 2 "1" +[!0] 2 +[0] 0 +State: 3 "7" +[0] 5 +[!0] 1 +State: 4 "5" +[0] 3 +[!0] 2 {0} +State: 5 "6" +[0] 6 {0} +[!0] 7 +State: 6 "3" +[0] 2 {0} +[!0] 7 +State: 7 "4" +[0] 6 +[!0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "3" +[0] 1 +[!0] 0 +State: 2 "1" +[0] 3 +[!0] 4 +State: 3 "2" +[0] 2 +[!0] 0 {0} +State: 4 "4" +[!0] 1 {0} +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "1" +[0] 3 {0} +[!0] 0 +State: 2 "5" +[0] 4 {0} +[!0] 0 +State: 3 "3" +[!0] 4 +[0] 3 +State: 4 "2" +[!0] 3 +[0] 5 +State: 5 "4" +[0] 4 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 {0} +[!0] 0 +State: 2 "3" +[0] 3 +[!0] 2 +State: 3 "2" +[0] 2 +[!0] 4 {0} +State: 4 "4" +[0] 1 {0} +[!0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "4" +[0] 3 +[!0] 0 +State: 2 "5" +[0] 3 {0} +[!0] 1 +State: 3 "3" +[!0] 4 +[0] 1 +State: 4 "2" +[!0] 5 +[0] 1 {0} +State: 5 "1" +[!0] 3 +[0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 0 +State: 1 "2" +[!0] 2 +[0] 3 +State: 2 "1" +[t] 4 +State: 3 "4" +[0] 1 +[!0] 2 {0} +State: 4 "3" +[0] 1 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[!0] 2 +[0] 0 +State: 3 "4" +[0] 4 +[!0] 3 +State: 4 "3" +[0] 3 +[!0] 5 {0} +State: 5 "5" +[!0] 6 +[0] 5 +State: 6 "6" +[!0] 2 {0} +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "4" +[0] 3 +[!0] 2 {0} +State: 2 "5" +[0] 4 +[!0] 0 +State: 3 "2" +[t] 0 +State: 4 "3" +[0] 5 +[!0] 2 +State: 5 "1" +[!0] 0 {0} +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "2" +[!0] 1 +[0] 3 +State: 2 "4" +[!0] 3 +[0] 4 +State: 3 "3" +[0] 5 +[!0] 0 {0} +State: 4 "5" +[!0] 1 +[0] 0 +State: 5 "1" +[0] 1 +[!0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 0 +[!0] 2 {0} +State: 2 "5" +[0] 3 {0} +[!0] 2 +State: 3 "3" +[t] 4 +State: 4 "2" +[0] 3 +[!0] 5 +State: 5 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "6" +[0] 3 {0} +[!0] 4 +State: 2 "1" +[0] 3 +[!0] 0 +State: 3 "3" +[!0] 3 +[0] 2 +State: 4 "5" +[0] 5 +[!0] 4 +State: 5 "4" +[!0] 6 +[0] 2 {0} +State: 6 "2" +[0] 1 +[!0] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[0] 2 {0} +[!0] 3 +State: 2 "6" +[0] 2 +[!0] 4 {0} +State: 3 "3" +[!0] 3 +[0] 0 +State: 4 "5" +[0] 5 +[!0] 4 +State: 5 "2" +[0] 6 +[!0] 0 {0} +State: 6 "4" +[!0] 3 {0} +[0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 0 +State: 2 "2" +[0] 3 {0} +[!0] 0 +State: 3 "3" +[0] 3 +[!0] 4 +State: 4 "5" +[!0] 5 +[0] 0 {0} +State: 5 "4" +[!0] 3 +[0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "7" +[!0] 3 +[0] 4 {0} +State: 2 "1" +[!0] 2 +[0] 0 +State: 3 "2" +[t] 5 +State: 4 "8" +[0] 6 +[!0] 7 +State: 5 "5" +[!0] 1 +[0] 6 {0} +State: 6 "9" +[!0] 8 {0} +[0] 7 +State: 7 "10" +[!0] 9 {0} +[0] 4 +State: 8 "6" +[!0] 2 {0} +[0] 9 +State: 9 "4" +[0] 10 +[!0] 9 +State: 10 "3" +[t] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "3" +[!0] 2 {0} +[0] 3 +State: 2 "1" +[!0] 2 +[0] 4 +State: 3 "4" +[0] 5 +[!0] 2 +State: 4 "5" +[!0] 1 +[0] 0 +State: 5 "2" +[t] 1 +--END-- + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "4" +[0] 2 +[!0] 3 +State: 2 "2" +[0] 0 +[!0] 3 {0} +State: 3 "5" +[0] 4 +[!0] 0 {0} +State: 4 "3" +[0] 5 +[!0] 0 +State: 5 "1" +[!0] 2 +[0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 2 {0} +[!0] 0 +State: 2 "2" +[t] 3 +State: 3 "3" +[0] 2 +[!0] 4 {0} +State: 4 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "3" +[0] 3 +[!0] 0 +State: 2 "1" +[!0] 3 {0} +[0] 4 +State: 3 "4" +[0] 5 +[!0] 0 {0} +State: 4 "5" +[!0] 3 +[0] 0 +State: 5 "2" +[0] 1 +[!0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 {0} +[!0] 0 +State: 2 "3" +[0] 3 +[!0] 2 +State: 3 "2" +[0] 2 +[!0] 4 {0} +State: 4 "4" +[0] 1 {0} +[!0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 2 {0} +[!0] 0 +State: 2 "3" +[!0] 3 +[0] 4 +State: 3 "2" +[0] 2 +[!0] 0 {0} +State: 4 "4" +[0] 2 +[!0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[0] 1 +[!0] 0 +State: 3 "3" +[0] 2 {0} +[!0] 4 +State: 4 "5" +[0] 5 {0} +[!0] 6 +State: 5 "6" +[!0] 6 +[0] 0 {0} +State: 6 "4" +[0] 5 +[!0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "2" +[0] 1 +[!0] 3 +State: 2 "4" +[0] 3 +[!0] 4 +State: 3 "3" +[!0] 5 +[0] 0 {0} +State: 4 "5" +[0] 1 +[!0] 0 +State: 5 "1" +[!0] 1 +[0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[0] 1 +[!0] 2 +State: 2 "1" +[!0] 0 +[0] 3 {0} +State: 3 "5" +[0] 1 {0} +[!0] 4 +State: 4 "3" +[0] 2 {0} +[!0] 5 +State: 5 "4" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "4" +[!0] 3 +[0] 2 +State: 2 "5" +[!0] 3 {0} +[0] 0 +State: 3 "1" +[0] 4 +[!0] 3 +State: 4 "2" +[0] 5 +[!0] 2 {0} +State: 5 "3" +[0] 3 +[!0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 +[!0] 1 {0} +State: 2 "2" +[!0] 3 {0} +[0] 0 +State: 3 "3" +[0] 3 +[!0] 4 +State: 4 "5" +[!0] 1 {0} +[0] 5 +State: 5 "4" +[0] 6 {0} +[!0] 3 +State: 6 "6" +[0] 6 +[!0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "1" +[!0] 3 {0} +[0] 0 +State: 2 "4" +[!0] 4 {0} +[0] 0 +State: 3 "3" +[!0] 4 +[0] 3 +State: 4 "2" +[!0] 3 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[!0] 0 +[0] 3 {0} +State: 2 "1" +[0] 1 +[!0] 2 +State: 3 "5" +[!0] 4 +[0] 3 +State: 4 "4" +[!0] 1 {0} +[0] 5 +State: 5 "3" +[!0] 6 +[0] 3 +State: 6 "6" +[!0] 2 {0} +[0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "1" +[t] 0 +State: 2 "4" +[0] 3 {0} +[!0] 2 +State: 3 "2" +[0] 3 +[!0] 4 +State: 4 "3" +[!0] 3 +[0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "3" +[0] 1 +[!0] 3 +State: 2 "4" +[t] 4 +State: 3 "1" +[!0] 5 +[0] 4 +State: 4 "5" +[0] 1 {0} +[!0] 0 +State: 5 "2" +[!0] 1 +[0] 4 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 3 {0} +State: 2 "3" +[t] 0 +State: 3 "5" +[t] 4 +State: 4 "6" +[0] 5 {0} +[!0] 6 +State: 5 "2" +[!0] 7 +[0] 0 {0} +State: 6 "7" +[t] 3 +State: 7 "4" +[t] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[0] 1 +[!0] 0 +State: 2 "1" +[0] 3 +[!0] 4 +State: 3 "3" +[0] 2 +[!0] 4 {0} +State: 4 "4" +[!0] 1 {0} +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "1" +[!0] 3 +[0] 4 {0} +State: 2 "4" +[0] 1 {0} +[!0] 4 +State: 3 "2" +[!0] 5 +[0] 4 +State: 4 "5" +[!0] 0 +[0] 4 +State: 5 "3" +[t] 1 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 2 {0} +[!0] 0 +State: 2 "3" +[!0] 3 +[0] 4 +State: 3 "2" +[0] 2 +[!0] 0 {0} +State: 4 "4" +[0] 2 +[!0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 0 +State: 2 "2" +[0] 3 {0} +[!0] 0 +State: 3 "3" +[0] 3 +[!0] 4 +State: 4 "5" +[!0] 5 +[0] 0 {0} +State: 5 "4" +[!0] 3 +[0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[0] 0 +[!0] 3 +State: 3 "5" +[0] 4 +[!0] 3 +State: 4 "3" +[!0] 1 +[0] 5 +State: 5 "4" +[!0] 1 {0} +[0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[!0] 3 {0} +[0] 4 +State: 2 "7" +[!0] 3 +[0] 5 {0} +State: 3 "6" +[!0] 3 +[0] 2 +State: 4 "5" +[!0] 0 +[0] 4 +State: 5 "3" +[!0] 6 +[0] 4 {0} +State: 6 "4" +[0] 5 +[!0] 7 +State: 7 "1" +[t] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[!0] 3 +[0] 2 +State: 2 "4" +[0] 1 +[!0] 4 +State: 3 "1" +[0] 1 +[!0] 0 +State: 4 "3" +[0] 1 {0} +[!0] 5 +State: 5 "5" +[0] 3 +[!0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[t] 2 +State: 2 "2" +[!0] 3 {0} +[0] 0 +State: 3 "3" +[!0] 3 +[0] 4 +State: 4 "4" +[!0] 5 {0} +[0] 3 +State: 5 "6" +[!0] 0 {0} +[0] 6 +State: 6 "5" +[!0] 5 +[0] 7 +State: 7 "7" +[0] 5 +[!0] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "3" +[0] 1 +[!0] 3 +State: 2 "4" +[0] 1 {0} +[!0] 4 +State: 3 "1" +[!0] 5 +[0] 2 {0} +State: 4 "5" +[0] 2 +[!0] 0 +State: 5 "2" +[!0] 1 +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 {0} +State: 1 "7" +[0] 2 +[!0] 3 +State: 2 "2" +[!0] 4 {0} +[0] 0 +State: 3 "5" +[0] 5 +[!0] 3 +State: 4 "3" +[!0] 4 +[0] 6 +State: 5 "6" +[!0] 7 {0} +[0] 0 +State: 6 "1" +[!0] 7 +[0] 0 {0} +State: 7 "4" +[t] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[t] 2 +State: 2 "2" +[!0] 3 {0} +[0] 0 +State: 3 "4" +[0] 4 +[!0] 3 +State: 4 "3" +[0] 3 +[!0] 5 +State: 5 "5" +[0] 6 {0} +[!0] 3 +State: 6 "6" +[!0] 7 +[0] 8 +State: 7 "7" +[0] 6 +[!0] 0 {0} +State: 8 "8" +[!0] 2 {0} +[0] 7 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[!0] 3 +[0] 2 +State: 2 "4" +[0] 1 +[!0] 4 +State: 3 "1" +[0] 1 +[!0] 0 +State: 4 "3" +[0] 1 {0} +[!0] 5 +State: 5 "5" +[0] 3 +[!0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 {0} +[!0] 0 +State: 2 "3" +[0] 3 +[!0] 2 +State: 3 "2" +[0] 2 +[!0] 4 {0} +State: 4 "4" +[0] 1 {0} +[!0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 +[!0] 0 +State: 2 "2" +[0] 3 {0} +[!0] 0 +State: 3 "4" +[t] 4 +State: 4 "3" +[0] 3 +[!0] 5 {0} +State: 5 "5" +[0] 1 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "4" +[!0] 3 +[0] 1 +State: 2 "5" +[!0] 4 {0} +[0] 2 +State: 3 "2" +[!0] 3 +[0] 0 +State: 4 "3" +[!0] 4 +[0] 5 +State: 5 "1" +[0] 4 +[!0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 2 {0} +[!0] 3 +State: 2 "6" +[0] 4 {0} +[!0] 5 +State: 3 "3" +[!0] 3 +[0] 0 +State: 4 "2" +[0] 4 +[!0] 6 +State: 5 "7" +[0] 2 +[!0] 6 {0} +State: 6 "5" +[!0] 3 {0} +[0] 7 +State: 7 "4" +[t] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 0 +[!0] 2 {0} +State: 2 "5" +[0] 3 {0} +[!0] 2 +State: 3 "4" +[t] 4 +State: 4 "2" +[!0] 5 +[0] 0 {0} +State: 5 "3" +[!0] 4 +[0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 +[!0] 0 +State: 2 "2" +[!0] 3 {0} +[0] 0 +State: 3 "3" +[!0] 3 +[0] 4 +State: 4 "5" +[0] 5 +[!0] 0 {0} +State: 5 "4" +[0] 3 +[!0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "4" +[0] 3 +[!0] 0 +State: 2 "5" +[0] 3 {0} +[!0] 1 +State: 3 "3" +[!0] 4 +[0] 1 +State: 4 "2" +[!0] 5 +[0] 1 {0} +State: 5 "1" +[!0] 3 +[0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[0] 1 +[!0] 0 +State: 3 "3" +[!0] 3 +[0] 4 {0} +State: 4 "4" +[0] 4 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[0] 1 +[!0] 0 +State: 2 "1" +[0] 1 +[!0] 3 {0} +State: 3 "3" +[!0] 1 {0} +[0] 4 +State: 4 "4" +[!0] 3 +[0] 5 +State: 5 "5" +[0] 4 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "2" +[0] 3 +[!0] 2 {0} +State: 2 "1" +[0] 4 +[!0] 0 +State: 3 "3" +[0] 1 +[!0] 3 +State: 4 "4" +[0] 3 {0} +[!0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "2" +[0] 1 +[!0] 3 {0} +State: 2 "3" +[0] 4 +[!0] 0 +State: 3 "4" +[0] 4 {0} +[!0] 3 +State: 4 "1" +[t] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[!0] 0 +[0] 4 {0} +State: 3 "4" +[0] 5 +[!0] 3 +State: 4 "5" +[!0] 3 {0} +[0] 4 +State: 5 "3" +[0] 3 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "1" +[0] 3 +[!0] 4 +State: 2 "5" +[t] 5 +State: 3 "6" +[0] 6 +[!0] 4 {0} +State: 4 "4" +[!0] 5 {0} +[0] 6 +State: 5 "2" +[!0] 4 {0} +[0] 0 +State: 6 "3" +[0] 1 +[!0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "4" +[0] 3 +[!0] 0 +State: 2 "5" +[0] 3 {0} +[!0] 1 +State: 3 "3" +[!0] 4 +[0] 1 +State: 4 "2" +[!0] 5 +[0] 1 {0} +State: 5 "1" +[!0] 3 +[0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "6" +[!0] 2 +[0] 3 +State: 2 "2" +[!0] 4 {0} +[0] 0 +State: 3 "1" +[!0] 5 +[0] 3 +State: 4 "4" +[!0] 6 +[0] 7 +State: 5 "7" +[!0] 6 {0} +[0] 0 +State: 6 "3" +[!0] 4 +[0] 0 {0} +State: 7 "5" +[!0] 1 {0} +[0] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "7" +[0] 3 {0} +[!0] 4 +State: 2 "1" +[!0] 5 +[0] 4 {0} +State: 3 "4" +[0] 6 +[!0] 7 +State: 4 "8" +[0] 5 +[!0] 0 +State: 5 "3" +[!0] 8 +[0] 4 +State: 6 "2" +[!0] 2 {0} +[0] 3 +State: 7 "5" +[!0] 6 +[0] 4 {0} +State: 8 "6" +[t] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "6" +[!0] 1 +[0] 3 {0} +State: 2 "1" +[!0] 0 +[0] 4 +State: 3 "3" +[0] 3 +[!0] 5 +State: 4 "5" +[0] 3 {0} +[!0] 2 +State: 5 "4" +[!0] 6 +[0] 3 +State: 6 "2" +[!0] 3 +[0] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "1" +[!0] 2 {0} +[0] 0 +State: 2 "4" +[!0] 3 {0} +[0] 0 +State: 3 "2" +[0] 3 +[!0] 4 +State: 4 "3" +[!0] 3 +[0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "1" +[!0] 3 +[0] 4 {0} +State: 2 "4" +[0] 1 {0} +[!0] 4 +State: 3 "2" +[!0] 5 +[0] 4 +State: 4 "5" +[!0] 0 +[0] 4 +State: 5 "3" +[t] 1 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "1" +[!0] 3 +[0] 1 +State: 2 "4" +[!0] 4 {0} +[0] 5 +State: 3 "3" +[0] 5 {0} +[!0] 6 +State: 4 "6" +[!0] 4 +[0] 1 {0} +State: 5 "2" +[!0] 5 +[0] 0 +State: 6 "5" +[!0] 1 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "6" +[0] 1 +[!0] 3 +State: 2 "2" +[0] 2 +[!0] 4 +State: 3 "5" +[!0] 4 {0} +[0] 5 +State: 4 "3" +[!0] 2 +[0] 6 +State: 5 "1" +[0] 5 +[!0] 0 +State: 6 "4" +[!0] 1 {0} +[0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[0] 1 +[!0] 2 +State: 2 "1" +[!0] 0 +[0] 3 {0} +State: 3 "5" +[0] 1 {0} +[!0] 4 +State: 4 "3" +[0] 2 {0} +[!0] 5 +State: 5 "4" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[0] 3 {0} +[!0] 2 +State: 2 "1" +[0] 1 +[!0] 0 +State: 3 "6" +[0] 4 +[!0] 5 +State: 4 "3" +[0] 3 +[!0] 6 +State: 5 "7" +[0] 7 +[!0] 8 +State: 6 "4" +[!0] 9 +[0] 8 +State: 7 "9" +[0] 4 +[!0] 0 {0} +State: 8 "5" +[0] 3 +[!0] 2 {0} +State: 9 "8" +[0] 3 +[!0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "7" +[!0] 2 +[0] 3 {0} +State: 2 "8" +[!0] 0 +[0] 3 +State: 3 "5" +[!0] 4 +[0] 3 +State: 4 "6" +[0] 1 +[!0] 5 +State: 5 "1" +[0] 6 {0} +[!0] 3 +State: 6 "2" +[!0] 7 +[0] 8 +State: 7 "3" +[!0] 8 +[0] 3 {0} +State: 8 "4" +[0] 6 +[!0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[!0] 2 {0} +[0] 0 +State: 2 "4" +[0] 3 {0} +[!0] 2 +State: 3 "3" +[!0] 4 +[0] 0 {0} +State: 4 "2" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "3" +[0] 1 +[!0] 3 +State: 2 "4" +[t] 4 +State: 3 "1" +[!0] 5 +[0] 4 +State: 4 "5" +[0] 1 {0} +[!0] 0 +State: 5 "2" +[!0] 1 +[0] 4 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[0] 1 +[!0] 3 +State: 2 "3" +[0] 1 {0} +[!0] 4 +State: 3 "4" +[0] 2 +[!0] 0 +State: 4 "5" +[0] 1 +[!0] 5 +State: 5 "1" +[t] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "4" +[0] 3 +[!0] 2 {0} +State: 2 "5" +[0] 4 +[!0] 0 +State: 3 "2" +[t] 0 +State: 4 "3" +[0] 5 +[!0] 2 +State: 5 "1" +[!0] 0 {0} +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "4" +[0] 3 +[!0] 2 {0} +State: 2 "5" +[0] 4 +[!0] 0 +State: 3 "2" +[t] 0 +State: 4 "3" +[0] 5 +[!0] 2 +State: 5 "1" +[!0] 0 {0} +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[!0] 3 +[0] 2 +State: 2 "4" +[0] 1 +[!0] 4 +State: 3 "1" +[0] 1 +[!0] 0 +State: 4 "3" +[0] 1 {0} +[!0] 5 +State: 5 "5" +[0] 3 +[!0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 2 {0} +[!0] 0 +State: 2 "6" +[!0] 2 +[0] 3 +State: 3 "5" +[!0] 2 +[0] 4 {0} +State: 4 "4" +[!0] 5 +[0] 4 +State: 5 "2" +[!0] 5 +[0] 6 +State: 6 "3" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 2 {0} +[!0] 0 +State: 2 "3" +[!0] 3 +[0] 4 +State: 3 "2" +[0] 2 +[!0] 0 {0} +State: 4 "4" +[0] 2 +[!0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "4" +[!0] 3 +[0] 2 +State: 2 "5" +[!0] 3 {0} +[0] 0 +State: 3 "1" +[0] 4 +[!0] 3 +State: 4 "2" +[0] 5 +[!0] 2 {0} +State: 5 "3" +[0] 3 +[!0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "6" +[0] 1 +[!0] 3 {0} +State: 2 "4" +[!0] 4 +[0] 2 +State: 3 "3" +[!0] 2 {0} +[0] 5 +State: 4 "2" +[!0] 2 +[0] 0 +State: 5 "5" +[0] 6 +[!0] 2 {0} +State: 6 "1" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[!0] 2 +[0] 0 +State: 3 "4" +[0] 4 +[!0] 5 +State: 4 "3" +[0] 2 {0} +[!0] 3 +State: 5 "5" +[0] 4 {0} +[!0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 {0} +[0] 0 +State: 2 "7" +[!0] 2 +[0] 3 +State: 3 "5" +[0] 4 +[!0] 5 {0} +State: 4 "6" +[!0] 6 {0} +[0] 2 +State: 5 "4" +[t] 6 +State: 6 "3" +[0] 7 +[!0] 5 +State: 7 "2" +[!0] 1 {0} +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[0] 1 +[!0] 2 +State: 2 "1" +[!0] 0 +[0] 3 {0} +State: 3 "5" +[0] 1 {0} +[!0] 4 +State: 4 "3" +[0] 2 {0} +[!0] 5 +State: 5 "4" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "9" +[0] 3 {0} +[!0] 1 +State: 2 "1" +[0] 2 +[!0] 4 +State: 3 "7" +[!0] 5 {0} +[0] 3 +State: 4 "4" +[0] 4 +[!0] 0 +State: 5 "3" +[t] 6 +State: 6 "5" +[0] 7 +[!0] 5 +State: 7 "2" +[!0] 8 {0} +[0] 6 +State: 8 "8" +[!0] 9 +[0] 8 +State: 9 "6" +[!0] 0 {0} +[0] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[t] 2 +State: 2 "2" +[!0] 3 {0} +[0] 0 +State: 3 "4" +[0] 4 +[!0] 3 +State: 4 "3" +[!0] 5 {0} +[0] 3 +State: 5 "6" +[!0] 0 {0} +[0] 6 +State: 6 "5" +[!0] 5 +[0] 7 +State: 7 "7" +[0] 5 +[!0] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "4" +[0] 2 +[!0] 3 +State: 2 "2" +[0] 0 +[!0] 3 {0} +State: 3 "5" +[0] 4 +[!0] 0 {0} +State: 4 "3" +[0] 5 +[!0] 0 +State: 5 "1" +[!0] 2 +[0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[!0] 2 +[0] 0 +State: 2 "2" +[0] 1 +[!0] 3 {0} +State: 3 "8" +[!0] 4 +[0] 5 {0} +State: 4 "9" +[!0] 6 +[0] 7 {0} +State: 5 "5" +[0] 8 {0} +[!0] 7 +State: 6 "7" +[0] 4 +[!0] 3 +State: 7 "4" +[!0] 9 +[0] 7 +State: 8 "6" +[0] 8 +[!0] 0 {0} +State: 9 "3" +[t] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "1" +[0] 3 +[!0] 1 +State: 2 "5" +[0] 4 +[!0] 2 +State: 3 "2" +[0] 5 {0} +[!0] 0 +State: 4 "6" +[0] 3 {0} +[!0] 0 +State: 5 "4" +[!0] 6 +[0] 5 +State: 6 "3" +[0] 4 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[!0] 2 +[0] 3 {0} +State: 2 "1" +[0] 1 +[!0] 0 +State: 3 "4" +[!0] 4 {0} +[0] 5 +State: 4 "6" +[0] 6 +[!0] 5 +State: 5 "5" +[!0] 7 +[0] 3 +State: 6 "7" +[!0] 0 {0} +[0] 5 +State: 7 "3" +[!0] 4 +[0] 8 +State: 8 "8" +[0] 7 +[!0] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "2" +[!0] 1 +[0] 3 +State: 2 "4" +[0] 4 +[!0] 0 +State: 3 "1" +[!0] 5 +[0] 2 {0} +State: 4 "6" +[0] 2 +[!0] 6 +State: 5 "3" +[0] 1 +[!0] 5 +State: 6 "5" +[!0] 4 +[0] 5 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 {0} +[0] 3 +State: 2 "6" +[0] 2 +[!0] 4 {0} +State: 3 "2" +[0] 2 {0} +[!0] 0 +State: 4 "3" +[!0] 5 +[0] 6 +State: 5 "4" +[!0] 0 {0} +[0] 6 +State: 6 "5" +[!0] 4 +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "1" +[0] 3 +[!0] 4 {0} +State: 2 "5" +[0] 3 +[!0] 5 {0} +State: 3 "2" +[0] 0 +[!0] 2 {0} +State: 4 "3" +[0] 1 {0} +[!0] 5 +State: 5 "4" +[!0] 4 +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "2" +[!0] 3 +[0] 2 {0} +State: 2 "4" +[0] 4 +[!0] 0 +State: 3 "1" +[0] 1 +[!0] 5 +State: 4 "3" +[t] 2 +State: 5 "5" +[!0] 6 +[0] 4 {0} +State: 6 "6" +[0] 4 {0} +[!0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "3" +[0] 1 +[!0] 3 +State: 2 "4" +[0] 1 {0} +[!0] 4 +State: 3 "1" +[!0] 5 +[0] 2 {0} +State: 4 "5" +[0] 2 +[!0] 0 +State: 5 "2" +[!0] 1 +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[!0] 3 {0} +[0] 0 +State: 2 "1" +[0] 1 +[!0] 4 {0} +State: 3 "7" +[!0] 5 +[0] 6 {0} +State: 4 "8" +[0] 5 +[!0] 3 +State: 5 "6" +[0] 7 {0} +[!0] 4 +State: 6 "3" +[0] 2 {0} +[!0] 7 +State: 7 "4" +[0] 7 +[!0] 8 +State: 8 "5" +[t] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "7" +[!0] 2 +[0] 3 {0} +State: 2 "3" +[!0] 1 +[0] 0 +State: 3 "8" +[!0] 4 +[0] 5 {0} +State: 4 "9" +[0] 6 +[!0] 7 +State: 5 "5" +[!0] 8 +[0] 5 +State: 6 "6" +[!0] 6 +[0] 3 +State: 7 "1" +[0] 9 {0} +[!0] 4 +State: 8 "4" +[0] 9 +[!0] 0 {0} +State: 9 "2" +[0] 0 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 {0} +[!0] 3 +State: 2 "3" +[0] 2 +[!0] 4 +State: 3 "4" +[0] 1 +[!0] 0 +State: 4 "8" +[0] 5 +[!0] 2 +State: 5 "6" +[0] 4 +[!0] 6 {0} +State: 6 "5" +[0] 7 +[!0] 8 +State: 7 "2" +[!0] 3 {0} +[0] 6 +State: 8 "7" +[0] 8 +[!0] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "1" +[t] 0 +State: 2 "4" +[!0] 3 {0} +[0] 2 +State: 3 "2" +[!0] 3 +[0] 4 +State: 4 "3" +[0] 3 +[!0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[0] 3 +[!0] 4 {0} +State: 2 "1" +[0] 5 {0} +[!0] 0 +State: 3 "6" +[!0] 1 +[0] 5 +State: 4 "4" +[!0] 0 {0} +[0] 6 +State: 5 "7" +[!0] 3 +[0] 1 {0} +State: 6 "5" +[t] 7 +State: 7 "3" +[0] 2 {0} +[!0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[!0] 2 {0} +[0] 0 +State: 2 "6" +[!0] 2 +[0] 3 +State: 3 "5" +[!0] 2 +[0] 4 {0} +State: 4 "4" +[!0] 5 +[0] 4 +State: 5 "3" +[0] 6 +[!0] 4 +State: 6 "2" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "1" +[!0] 3 +[0] 1 +State: 2 "4" +[0] 4 +[!0] 0 {0} +State: 3 "3" +[t] 0 +State: 4 "2" +[!0] 2 +[0] 5 +State: 5 "5" +[0] 4 +[!0] 3 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 0 +State: 1 "1" +[0] 2 +[!0] 3 +State: 2 "2" +[0] 4 +[!0] 3 +State: 3 "4" +[0] 2 {0} +[!0] 1 +State: 4 "3" +[!0] 1 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "4" +[0] 3 +[!0] 2 {0} +State: 2 "5" +[0] 4 +[!0] 0 +State: 3 "2" +[t] 0 +State: 4 "3" +[0] 5 +[!0] 2 +State: 5 "1" +[!0] 0 {0} +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[!0] 2 {0} +[0] 0 +State: 2 "3" +[t] 3 +State: 3 "4" +[0] 4 +[!0] 2 +State: 4 "2" +[!0] 2 +[0] 5 {0} +State: 5 "5" +[!0] 0 {0} +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[!0] 2 +[0] 3 {0} +State: 2 "1" +[0] 1 +[!0] 0 +State: 3 "4" +[0] 3 {0} +[!0] 4 +State: 4 "5" +[0] 5 +[!0] 6 +State: 5 "6" +[!0] 2 {0} +[0] 3 +State: 6 "8" +[0] 7 +[!0] 8 +State: 7 "3" +[0] 3 +[!0] 0 {0} +State: 8 "7" +[0] 5 +[!0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[0] 0 +[!0] 3 +State: 3 "5" +[0] 4 +[!0] 3 +State: 4 "3" +[!0] 1 +[0] 5 +State: 5 "4" +[!0] 1 {0} +[0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[!0] 2 +[0] 0 +State: 2 "2" +[0] 0 +[!0] 3 {0} +State: 3 "8" +[!0] 3 +[0] 4 {0} +State: 4 "5" +[t] 5 +State: 5 "4" +[!0] 6 +[0] 4 +State: 6 "3" +[0] 7 {0} +[!0] 5 +State: 7 "6" +[0] 7 +[!0] 8 +State: 8 "7" +[0] 7 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "6" +[0] 3 {0} +[!0] 4 +State: 2 "1" +[!0] 2 +[0] 0 +State: 3 "3" +[!0] 5 +[0] 6 {0} +State: 4 "7" +[t] 7 +State: 5 "2" +[0] 3 +[!0] 8 +State: 6 "5" +[!0] 2 {0} +[0] 6 +State: 7 "8" +[!0] 1 +[0] 8 {0} +State: 8 "4" +[!0] 3 +[0] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 {0} +[!0] 0 +State: 2 "3" +[0] 3 +[!0] 2 +State: 3 "2" +[0] 2 +[!0] 4 {0} +State: 4 "4" +[0] 1 {0} +[!0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "1" +[!0] 3 {0} +[0] 0 +State: 2 "5" +[!0] 4 {0} +[0] 0 +State: 3 "3" +[!0] 5 +[0] 3 +State: 4 "4" +[!0] 3 +[0] 0 {0} +State: 5 "2" +[0] 5 +[!0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[0] 0 +[!0] 3 +State: 3 "5" +[0] 4 +[!0] 3 +State: 4 "3" +[!0] 1 +[0] 5 +State: 5 "4" +[!0] 1 {0} +[0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[t] 3 +State: 2 "3" +[0] 2 +[!0] 4 +State: 3 "4" +[0] 1 +[!0] 0 +State: 4 "1" +[0] 2 +[!0] 5 {0} +State: 5 "5" +[!0] 6 +[0] 3 {0} +State: 6 "7" +[!0] 7 +[0] 6 +State: 7 "6" +[0] 1 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[!0] 1 +[0] 0 +State: 2 "1" +[!0] 1 +[0] 3 {0} +State: 3 "7" +[0] 4 +[!0] 5 {0} +State: 4 "8" +[0] 6 +[!0] 3 +State: 5 "5" +[0] 7 +[!0] 5 +State: 6 "6" +[!0] 8 {0} +[0] 3 +State: 7 "4" +[t] 8 +State: 8 "3" +[!0] 1 {0} +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "1" +[0] 3 +[!0] 2 +State: 2 "5" +[0] 4 +[!0] 5 +State: 3 "8" +[0] 0 +[!0] 2 +State: 4 "7" +[!0] 6 {0} +[0] 1 +State: 5 "9" +[0] 7 +[!0] 2 +State: 6 "2" +[!0] 8 +[0] 9 +State: 7 "6" +[!0] 8 {0} +[0] 1 +State: 8 "3" +[t] 6 +State: 9 "4" +[!0] 6 +[0] 3 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "1" +[!0] 0 +[0] 2 +State: 2 "8" +[!0] 3 {0} +[0] 0 +State: 3 "6" +[!0] 4 +[0] 5 +State: 4 "2" +[0] 3 +[!0] 6 {0} +State: 5 "7" +[!0] 3 +[0] 4 +State: 6 "5" +[0] 7 +[!0] 6 +State: 7 "3" +[!0] 8 +[0] 2 {0} +State: 8 "4" +[0] 8 +[!0] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[!0] 2 {0} +[0] 0 +State: 2 "2" +[0] 2 +[!0] 3 +State: 3 "3" +[0] 4 +[!0] 0 {0} +State: 4 "4" +[!0] 2 +[0] 5 {0} +State: 5 "5" +[!0] 0 {0} +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "1" +[0] 3 +[!0] 4 {0} +State: 2 "4" +[!0] 5 +[0] 2 +State: 3 "3" +[!0] 1 +[0] 6 +State: 4 "9" +[!0] 4 +[0] 2 {0} +State: 5 "2" +[0] 7 {0} +[!0] 0 +State: 6 "5" +[0] 1 +[!0] 6 +State: 7 "6" +[!0] 1 {0} +[0] 8 +State: 8 "8" +[t] 9 +State: 9 "7" +[0] 7 +[!0] 6 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[!0] 0 +[0] 3 +State: 2 "4" +[!0] 4 +[0] 5 +State: 3 "5" +[t] 0 +State: 4 "6" +[!0] 1 {0} +[0] 2 +State: 5 "3" +[!0] 6 +[0] 0 {0} +State: 6 "1" +[0] 2 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "1" +[0] 3 {0} +[!0] 0 +State: 2 "5" +[0] 4 {0} +[!0] 0 +State: 3 "2" +[!0] 5 +[0] 1 {0} +State: 4 "4" +[t] 3 +State: 5 "3" +[!0] 5 +[0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[!1] 1 {0} +[1] 0 +State: 1 "1" +[((0 & 1) | !0)] 2 +[(0 & !1)] 3 +State: 2 "2" +[(0 & 1)] 2 +[(!0 & 1)] 3 +[(0 & !1)] 4 {0} +[(!0 & !1)] 1 +State: 3 "3" +[(0 & 1)] 3 +[(0 & !1)] 1 +[(!0 & !1)] 5 {0} +[(!0 & 1)] 6 {0} +State: 4 "7" +[(0 & 1)] 7 +[(!0 & !1)] 2 {0} +[(0 & !1)] 4 +[(!0 & 1)] 6 +State: 5 "4" +[(0 & !1)] 3 {0} +[(!0 & !1)] 5 +[(!0 & 1)] 0 {0} +[(0 & 1)] 6 +State: 6 "5" +[(0 & 1)] 7 +[((0 & !1) | (!0 & 1))] 4 +[(!0 & !1)] 1 {0} +State: 7 "6" +[(0 & !1)] 1 {0} +[(!0 & !1)] 5 +[(!0 & 1)] 0 {0} +[(0 & 1)] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[((0 & !1) | (!0 & 1))] 1 +[((0 & 1) | (!0 & !1))] 0 +State: 1 "1" +[(!0 & 1)] 2 {0} +[(!0 & !1)] 3 +[(0 & 1)] 4 {0} +[(0 & !1)] 0 +State: 2 "2" +[(!0 & 1)] 2 +[(0 & 1)] 5 +[(!0 & !1)] 6 {0} +[(0 & !1)] 7 +State: 3 "3" +[(!0 & !1)] 3 +[(0 & !1)] 1 +[1] 0 +State: 4 "10" +[!0] 8 {0} +[(0 & !1)] 9 {0} +[(0 & 1)] 4 +State: 5 "4" +[(!0 & !1)] 2 +[((0 & !1) | (!0 & 1))] 10 {0} +[(0 & 1)] 0 {0} +State: 6 "8" +[((0 & !1) | (!0 & 1))] 10 +[(0 & 1)] 0 {0} +[(!0 & !1)] 6 +State: 7 "5" +[(!0 & 1)] 1 {0} +[!1] 5 +[(0 & 1)] 7 +State: 8 "6" +[!0] 2 {0} +[(0 & 1)] 9 +[(0 & !1)] 7 {0} +State: 9 "7" +[1] 8 +[(0 & !1)] 8 {0} +[(!0 & !1)] 2 {0} +State: 10 "9" +[(0 & !1)] 10 +[(!0 & 1)] 1 {0} +[(0 & 1)] 0 {0} +[(!0 & !1)] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 {0} +[((0 & 1) | (!0 & !1))] 0 +[(!0 & 1)] 2 {0} +State: 1 "1" +[(!0 & !1)] 1 +[(!0 & 1)] 3 +[0] 2 {0} +State: 2 "5" +[(!0 & !1)] 4 {0} +[(0 | (!0 & 1))] 2 +State: 3 "4" +[(0 & 1)] 5 +[((0 & !1) | (!0 & 1))] 1 +[(!0 & !1)] 3 +State: 4 "6" +[1] 4 +[(0 & !1)] 6 +[(!0 & !1)] 7 {0} +State: 5 "2" +[0] 3 +[(!0 & !1)] 0 {0} +[(!0 & 1)] 2 {0} +State: 6 "3" +[!1] 4 +[(0 & 1)] 5 {0} +[(!0 & 1)] 6 +State: 7 "7" +[(0 & 1)] 5 {0} +[!0] 7 +[(0 & !1)] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[(0 & !1)] 2 +[((0 & 1) | (!0 & !1))] 0 +State: 1 "7" +[!1] 3 +[(!0 & 1)] 1 +[(0 & 1)] 4 {0} +State: 2 "1" +[(!0 & !1)] 3 {0} +[(0 & 1)] 2 +[((0 & !1) | (!0 & 1))] 0 +State: 3 "6" +[(!0 & !1)] 3 +[(0 & !1)] 5 {0} +[(0 & 1)] 1 +[(!0 & 1)] 4 {0} +State: 4 "4" +[(!0 & 1)] 5 +[!1] 6 +[(0 & 1)] 7 {0} +State: 5 "2" +[!1] 5 +[1] 4 +State: 6 "3" +[(0 & 1)] 5 +[(!0 & !1)] 6 +[(!0 & 1)] 0 {0} +[(0 & !1)] 7 {0} +State: 7 "5" +[!0] 0 {0} +[0] 7 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 {0} +[((0 & 1) | (!0 & !1))] 2 +[(!0 & 1)] 0 +State: 1 "6" +[((0 & !1) | !0)] 1 +[(0 & 1)] 3 +State: 2 "1" +[(0 & !1)] 1 {0} +[(0 & 1)] 4 +[(!0 & 1)] 5 {0} +[(!0 & !1)] 0 +State: 3 "3" +[(0 & !1)] 1 +[(!0 & 1)] 6 +[(!0 & !1)] 0 {0} +[(0 & 1)] 7 {0} +State: 4 "2" +[(0 & !1)] 1 {0} +[1] 6 {0} +[(!0 & !1)] 0 +State: 5 "9" +[(!0 & !1)] 1 {0} +[(0 & 1)] 8 +[(0 & !1)] 5 +[(!0 & 1)] 9 +State: 6 "4" +[(!0 & !1)] 1 {0} +[(!0 & 1)] 3 +[0] 6 +State: 7 "5" +[(0 & !1)] 5 {0} +[(!0 & !1)] 0 {0} +[1] 7 +State: 8 "7" +[(!0 & 1)] 8 +[(0 & !1)] 5 +[(0 & 1)] 6 {0} +[(!0 & !1)] 0 {0} +State: 9 "8" +[(!0 & !1)] 1 {0} +[(0 & 1)] 4 {0} +[(!0 & 1)] 5 +[(0 & !1)] 9 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 +[((0 & !1) | (!0 & 1))] 2 +[(!0 & !1)] 3 {0} +State: 1 "10" +[(!0 & !1)] 4 +[(!0 & 1)] 1 +[(0 & !1)] 0 +[(0 & 1)] 3 {0} +State: 2 "1" +[(0 & 1)] 5 {0} +[(!0 & 1)] 2 +[!1] 0 +State: 3 "5" +[(0 & 1)] 5 +[(0 & !1)] 6 {0} +[!0] 3 +State: 4 "9" +[(!0 & !1)] 5 {0} +[(!0 & 1)] 1 +[0] 2 +State: 5 "2" +[0] 7 +[!0] 5 +State: 6 "7" +[(!0 & !1)] 8 {0} +[0] 9 +[(!0 & 1)] 10 +State: 7 "6" +[(!0 & 1)] 7 +[0] 9 {0} +[(!0 & !1)] 3 +State: 8 "3" +[!1] 8 +[(!0 & 1)] 2 {0} +[(0 & 1)] 1 {0} +State: 9 "4" +[(0 & !1)] 6 +[(0 & 1)] 1 {0} +[!0] 9 +State: 10 "8" +[!1] 8 {0} +[(!0 & 1)] 6 +[(0 & 1)] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[((0 & 1) | (!0 & !1))] 1 +[((0 & !1) | (!0 & 1))] 0 +State: 1 "1" +[(!0 & 1)] 2 +[(0 & 1)] 0 +[!1] 3 {0} +State: 2 "2" +[(!0 & !1)] 2 +[0] 1 +[(!0 & 1)] 3 {0} +State: 3 "8" +[(0 & !1)] 4 {0} +[((0 & 1) | !0)] 3 +State: 4 "3" +[((0 & 1) | !0)] 5 +[(0 & !1)] 6 {0} +State: 5 "4" +[((0 & !1) | !0)] 4 +[(0 & 1)] 5 +State: 6 "5" +[(!0 & 1)] 7 +[(!0 & !1)] 1 {0} +[(0 & !1)] 0 {0} +[(0 & 1)] 6 +State: 7 "7" +[(!0 & !1)] 8 +[(0 & 1)] 1 {0} +[(!0 & 1)] 0 {0} +[(0 & !1)] 6 +State: 8 "6" +[!0] 2 {0} +[(0 & !1)] 1 {0} +[(0 & 1)] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 {0} +[(!0 & 1)] 2 +[!1] 0 +State: 1 "2" +[(0 & 1)] 1 +[(0 & !1)] 3 +[(!0 & !1)] 0 {0} +[(!0 & 1)] 4 +State: 2 "4" +[(!0 & !1)] 1 {0} +[((0 & !1) | (!0 & 1))] 5 +[(0 & 1)] 2 +State: 3 "3" +[(!0 & 1)] 6 {0} +[(!0 & !1)] 1 +[(0 & 1)] 2 {0} +[(0 & !1)] 4 +State: 4 "5" +[(!0 & !1)] 1 +[(!0 & 1)] 3 +[(0 & 1)] 2 {0} +[(0 & !1)] 4 +State: 5 "1" +[(0 & !1)] 5 +[(0 & 1)] 2 +[!0] 0 +State: 6 "6" +[((0 & !1) | (!0 & 1))] 6 +[(0 & 1)] 2 {0} +[(!0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 {0} +[1] 0 +[(!0 & !1)] 2 +State: 1 "1" +[(!0 & 1)] 3 +[(0 & 1)] 1 +[(0 & !1)] 4 {0} +[(!0 & !1)] 5 +State: 2 "5" +[(0 & !1)] 6 +[(0 & 1)] 3 {0} +[(!0 & !1)] 0 +[(!0 & 1)] 2 +State: 3 "3" +[(0 & 1)] 7 {0} +[((0 & !1) | (!0 & 1))] 1 +[(!0 & !1)] 5 +State: 4 "10" +[!0] 8 {0} +[(0 & 1)] 7 +[(0 & !1)] 4 +State: 5 "8" +[(0 & 1)] 3 +[(!0 & !1)] 8 {0} +[(0 & !1)] 4 {0} +[(!0 & 1)] 5 +State: 6 "2" +[!0] 0 +[(0 & !1)] 5 {0} +[(0 & 1)] 2 +State: 7 "9" +[(0 & !1)] 9 {0} +[(0 & 1)] 8 {0} +[(!0 & 1)] 7 +[(!0 & !1)] 4 +State: 8 "7" +[(0 & !1)] 9 +[((0 & 1) | !0)] 8 +State: 9 "6" +[((0 & !1) | (!0 & 1))] 8 +[(!0 & !1)] 10 {0} +[(0 & 1)] 11 +State: 10 "11" +[(0 & !1)] 6 {0} +[!0] 10 +[(0 & 1)] 0 {0} +State: 11 "4" +[!1] 9 +[(!0 & 1)] 8 +[(0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 {0} +[(0 & 1)] 2 {0} +[(!0 & !1)] 3 +[(!0 & 1)] 0 +State: 1 "6" +[((0 & !1) | !0)] 1 +[(0 & 1)] 2 +State: 2 "7" +[((0 & !1) | (!0 & 1))] 1 +[(0 & 1)] 2 +[(!0 & !1)] 4 {0} +State: 3 "1" +[(0 & !1)] 1 {0} +[(!0 & 1)] 5 +[(!0 & !1)] 3 +[(0 & 1)] 0 +State: 4 "5" +[(!0 & 1)] 6 +[(0 | (!0 & !1))] 4 +State: 5 "3" +[(!0 & !1)] 5 +[(0 & 1)] 2 {0} +[(!0 & 1)] 3 +[(0 & !1)] 0 +State: 6 "2" +[!1] 6 +[(0 & 1)] 7 +[(!0 & 1)] 4 +State: 7 "4" +[(0 & !1)] 6 +[(!0 & !1)] 3 {0} +[1] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 +[!0] 0 +[(0 & !1)] 2 {0} +State: 1 "1" +[(!0 & 1)] 3 +[(0 & 1)] 1 +[(!0 & !1)] 0 +[(0 & !1)] 2 {0} +State: 2 "8" +[(0 & 1)] 4 {0} +[(!0 & !1)] 5 +[((0 & !1) | (!0 & 1))] 2 +State: 3 "3" +[(!0 & 1)] 6 {0} +[0] 3 +[(!0 & !1)] 0 +State: 4 "7" +[(!0 & 1)] 7 {0} +[(0 | (!0 & !1))] 8 +State: 5 "10" +[(!0 & 1)] 6 {0} +[(0 & 1)] 5 +[(!0 & !1)] 8 {0} +[(0 & !1)] 2 +State: 6 "2" +[(0 & 1)] 9 {0} +[(!0 & 1)] 6 +[(!0 & !1)] 4 +[(0 & !1)] 8 +State: 7 "9" +[(0 & 1)] 9 {0} +[((0 & !1) | (!0 & 1))] 7 +[(!0 & !1)] 10 {0} +State: 8 "4" +[((0 & !1) | (!0 & 1))] 6 +[(0 & 1)] 4 +[(!0 & !1)] 8 +State: 9 "6" +[0] 9 +[!0] 10 +State: 10 "5" +[(!0 & 1)] 9 +[(0 & !1)] 3 {0} +[(0 & 1)] 11 {0} +[(!0 & !1)] 10 +State: 11 "11" +[((0 & !1) | (!0 & 1))] 3 {0} +[(0 & 1)] 11 +[(!0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 +[((0 & 1) | !0)] 2 +State: 1 "2" +[!0] 1 +[(0 & !1)] 3 {0} +[(0 & 1)] 0 +State: 2 "1" +[1] 1 +[(!0 & !1)] 0 +[(0 & !1)] 4 {0} +State: 3 "9" +[1] 5 {0} +[!1] 3 +State: 4 "8" +[(0 & 1)] 6 {0} +[!1] 7 +[(!0 & 1)] 8 {0} +State: 5 "7" +[(!0 & 1)] 6 {0} +[((0 & 1) | (!0 & !1))] 8 {0} +[(0 & !1)] 4 +State: 6 "3" +[1] 9 {0} +[(!0 & !1)] 8 +[(0 & !1)] 10 +State: 7 "10" +[(!0 & 1)] 6 {0} +[0] 5 +[(!0 & !1)] 7 +State: 8 "4" +[((0 & !1) | (!0 & 1))] 6 +[((0 & 1) | (!0 & !1))] 8 +State: 9 "6" +[((0 & 1) | !0)] 9 +[(0 & !1)] 1 {0} +State: 10 "5" +[(!0 & 1)] 9 {0} +[(0 & 1)] 6 +[(0 & !1)] 8 +[(!0 & !1)] 10 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[((0 & !1) | (!0 & 1))] 0 +[(0 & 1)] 2 {0} +State: 1 "3" +[(0 & 1)] 3 +[((0 & !1) | (!0 & 1))] 0 +[(!0 & !1)] 2 {0} +State: 2 "8" +[(0 & !1)] 4 {0} +[((0 & 1) | !0)] 2 +State: 3 "1" +[(0 | (!0 & 1))] 1 +[(!0 & !1)] 0 +State: 4 "6" +[(0 & !1)] 4 +[1] 5 {0} +[(!0 & !1)] 6 +State: 5 "2" +[(0 | (!0 & 1))] 5 +[(!0 & !1)] 7 +State: 6 "5" +[(0 & !1)] 4 +[((0 & 1) | !0)] 8 +State: 7 "4" +[(0 & !1)] 5 +[(!0 & !1)] 1 {0} +[(0 & 1)] 3 {0} +[(!0 & 1)] 7 +State: 8 "7" +[(0 & !1)] 5 {0} +[(0 & 1)] 8 +[!0] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[((0 & 1) | (!0 & !1))] 1 +[(!0 & 1)] 0 +[(0 & !1)] 2 {0} +State: 1 "1" +[(!0 & 1)] 1 +[(0 & !1)] 0 +[((0 & 1) | (!0 & !1))] 2 {0} +State: 2 "8" +[(0 & 1)] 3 {0} +[(0 & !1)] 4 {0} +[(!0 & 1)] 5 +[(!0 & !1)] 2 +State: 3 "6" +[(0 & 1)] 3 +[(!0 & 1)] 6 {0} +[!1] 4 {0} +State: 4 "3" +[(!0 & !1)] 6 +[(0 & 1)] 7 {0} +[(0 & !1)] 8 {0} +[(!0 & 1)] 9 +State: 5 "9" +[(!0 & 1)] 3 {0} +[((0 & 1) | (!0 & !1))] 4 {0} +[(0 & !1)] 2 +State: 6 "2" +[(!0 & 1)] 6 +[!1] 4 +[(0 & 1)] 1 {0} +State: 7 "7" +[!0] 7 +[(0 & !1)] 10 +[(0 & 1)] 2 {0} +State: 8 "10" +[(!0 & !1)] 7 {0} +[(0 & 1)] 1 {0} +[((0 & !1) | (!0 & 1))] 8 +State: 9 "5" +[(0 & !1)] 6 +[((0 & 1) | (!0 & !1))] 4 +[(!0 & 1)] 8 {0} +State: 10 "4" +[(0 & !1)] 7 +[((0 & 1) | (!0 & !1))] 1 {0} +[(!0 & 1)] 10 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[((0 & 1) | (!0 & !1))] 2 +[(0 & !1)] 0 +State: 1 "2" +[((0 & 1) | (!0 & !1))] 1 +[(!0 & 1)] 2 +[(0 & !1)] 0 +State: 2 "1" +[(0 & !1)] 1 +[(!0 & 1)] 3 {0} +[(!0 & !1)] 2 +[(0 & 1)] 0 +State: 3 "3" +[((0 & !1) | (!0 & 1))] 3 +[(0 & 1)] 4 +[(!0 & !1)] 5 {0} +State: 4 "7" +[(!0 & !1)] 6 +[1] 3 +[(0 & !1)] 7 {0} +State: 5 "8" +[(0 & !1)] 7 +[!0] 5 +[(0 & 1)] 8 +State: 6 "6" +[(0 & 1)] 6 +[(0 & !1)] 3 +[!0] 5 {0} +State: 7 "4" +[(!0 & 1)] 9 {0} +[(0 | (!0 & !1))] 5 +State: 8 "5" +[(0 & !1)] 10 {0} +[((0 & 1) | !0)] 5 +State: 9 "10" +[0] 10 +[(!0 & 1)] 2 {0} +[(!0 & !1)] 9 +State: 10 "9" +[(0 & !1)] 10 +[((0 & 1) | !0)] 9 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 {0} +[(0 & 1)] 2 +[((0 & !1) | (!0 & 1))] 0 +State: 1 "2" +[(!0 & !1)] 1 +[(!0 & 1)] 3 {0} +[0] 4 +State: 2 "1" +[(!0 & 1)] 5 {0} +[(0 | (!0 & !1))] 0 +State: 3 "4" +[(0 & !1)] 6 +[((0 & 1) | !0)] 7 +State: 4 "5" +[(!0 & !1)] 1 +[0] 8 +[(!0 & 1)] 4 +State: 5 "10" +[(0 & 1)] 8 {0} +[(!0 & !1)] 9 +[(!0 & 1)] 5 +[(0 & !1)] 10 +State: 6 "6" +[(!0 & !1)] 6 +[(0 & 1)] 7 +[(!0 & 1)] 3 +[(0 & !1)] 0 {0} +State: 7 "7" +[0] 6 +[(!0 & !1)] 7 +[(!0 & 1)] 3 +State: 8 "3" +[!1] 1 +[(!0 & 1)] 8 +[(0 & 1)] 11 {0} +State: 9 "9" +[(!0 & !1)] 1 {0} +[0] 5 +[(!0 & 1)] 4 {0} +State: 10 "8" +[(!0 & !1)] 1 {0} +[(!0 & 1)] 8 {0} +[(0 & !1)] 9 +[(0 & 1)] 4 {0} +State: 11 "11" +[(0 & !1)] 6 {0} +[((0 & 1) | (!0 & !1))] 11 +[(!0 & 1)] 3 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(0 & !1)] 2 {0} +[(0 & 1)] 0 +[(!0 & !1)] 3 {0} +State: 1 "2" +[((0 & !1) | (!0 & 1))] 1 +[(!0 & !1)] 4 {0} +[(0 & 1)] 0 +State: 2 "11" +[(!0 & 1)] 5 {0} +[(!0 & !1)] 4 +[(0 & !1)] 6 {0} +[(0 & 1)] 3 {0} +State: 3 "5" +[(!0 & 1)] 5 +[(0 & !1)] 6 +[(0 & 1)] 7 {0} +[(!0 & !1)] 3 +State: 4 "10" +[(0 & 1)] 5 {0} +[(0 & !1)] 2 +[(!0 & 1)] 8 +[(!0 & !1)] 3 {0} +State: 5 "3" +[(0 & 1)] 5 +[(!0 & 1)] 6 +[(!0 & !1)] 7 {0} +[(0 & !1)] 3 +State: 6 "4" +[(!0 & !1)] 5 +[(!0 & 1)] 9 {0} +[(0 & !1)] 6 +[(0 & 1)] 3 +State: 7 "8" +[(!0 & 1)] 9 {0} +[(0 | (!0 & !1))] 7 +State: 8 "9" +[(!0 & !1)] 5 {0} +[(0 & !1)] 2 +[(0 & 1)] 4 +[(!0 & 1)] 6 {0} +State: 9 "7" +[(0 & !1)] 10 +[(!0 & !1)] 1 {0} +[1] 9 +State: 10 "6" +[(!0 & 1)] 1 {0} +[0] 9 +[(!0 & !1)] 11 +State: 11 "1" +[(0 & 1)] 10 +[(0 & !1)] 1 {0} +[(!0 & 1)] 8 {0} +[(!0 & !1)] 11 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[!1] 1 +[1] 2 +State: 1 "2" +[((0 & 1) | (!0 & !1))] 1 +[(!0 & 1)] 2 +[(0 & !1)] 3 {0} +State: 2 "1" +[(!0 & 1)] 1 +[(!0 & !1)] 2 +[(0 & 1)] 0 +[(0 & !1)] 3 {0} +State: 3 "5" +[(!0 & !1)] 4 {0} +[1] 5 +[(0 & !1)] 3 +State: 4 "3" +[(0 & 1)] 6 +[(0 & !1)] 1 {0} +[(!0 & !1)] 4 +[(!0 & 1)] 7 {0} +State: 5 "4" +[(!0 & 1)] 6 {0} +[((0 & 1) | (!0 & !1))] 5 +[(0 & !1)] 3 +State: 6 "6" +[(!0 & 1)] 6 +[!1] 4 +[(0 & 1)] 8 +State: 7 "8" +[(0 & !1)] 1 {0} +[((0 & 1) | !0)] 7 +State: 8 "7" +[(0 | (!0 & 1))] 6 +[(!0 & !1)] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[!1] 1 +[(!0 & 1)] 2 {0} +[(0 & 1)] 3 +State: 1 "2" +[0] 1 +[(!0 & 1)] 2 {0} +[(!0 & !1)] 0 +State: 2 "10" +[(!0 & 1)] 4 {0} +[(0 & !1)] 5 {0} +[((0 & 1) | (!0 & !1))] 6 +State: 3 "1" +[0] 1 +[!0] 0 +State: 4 "3" +[1] 4 +[(0 & !1)] 5 +[(!0 & !1)] 7 +State: 5 "7" +[(!0 & !1)] 4 +[((0 & !1) | (!0 & 1))] 8 {0} +[(0 & 1)] 7 +State: 6 "11" +[(0 & 1)] 4 {0} +[((0 & !1) | (!0 & 1))] 2 +[(!0 & !1)] 7 {0} +State: 7 "8" +[(!0 & !1)] 9 {0} +[0] 4 +[(!0 & 1)] 5 +State: 8 "4" +[(!0 & !1)] 10 {0} +[((0 & !1) | (!0 & 1))] 8 +[(0 & 1)] 11 +State: 9 "6" +[(0 & 1)] 9 +[(!0 & !1)] 10 {0} +[((0 & !1) | (!0 & 1))] 8 +State: 10 "9" +[(0 & !1)] 1 {0} +[(!0 & !1)] 10 +[(0 & 1)] 3 {0} +[(!0 & 1)] 0 {0} +State: 11 "5" +[!1] 9 +[(0 & 1)] 3 {0} +[(!0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 {0} +[((0 & !1) | (!0 & 1))] 0 +[(0 & 1)] 2 {0} +State: 1 "7" +[!0] 1 +[(0 & !1)] 2 +[(0 & 1)] 3 {0} +State: 2 "8" +[1] 4 {0} +[(!0 & !1)] 1 +[(0 & !1)] 3 {0} +State: 3 "5" +[(0 & !1)] 5 {0} +[1] 4 +[(!0 & !1)] 6 +State: 4 "3" +[(0 & 1)] 7 {0} +[!0] 4 +[(0 & !1)] 3 +State: 5 "6" +[((0 & 1) | (!0 & !1))] 7 +[((0 & !1) | (!0 & 1))] 0 {0} +State: 6 "1" +[(0 & !1)] 4 +[!0] 6 +[(0 & 1)] 3 +State: 7 "2" +[(0 & !1)] 5 +[(!0 & 1)] 7 +[(!0 & !1)] 8 +[(0 & 1)] 0 {0} +State: 8 "4" +[!1] 5 +[(!0 & 1)] 8 +[(0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(0 | (!0 & 1))] 0 +State: 1 "1" +[1] 2 +[(!0 & !1)] 3 {0} +[(0 & !1)] 4 {0} +State: 2 "2" +[(0 & 1)] 2 +[(0 & !1)] 1 +[(!0 & 1)] 0 {0} +[(!0 & !1)] 0 +State: 3 "3" +[(!0 & 1)] 2 {0} +[0] 3 +[(!0 & !1)] 4 +State: 4 "4" +[(!0 & !1)] 3 +[0] 4 +[(!0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[!1] 1 +[(0 & 1)] 2 {0} +[(!0 & 1)] 0 +State: 1 "2" +[(!0 & !1)] 3 {0} +[(0 & 1)] 4 {0} +[(0 & !1)] 0 +[(!0 & 1)] 5 +State: 2 "1" +[!0] 6 +[0] 2 +State: 3 "3" +[(!0 & !1)] 3 +[(0 & !1)] 7 {0} +[1] 4 +State: 4 "4" +[(!0 & 1)] 7 {0} +[(0 & 1)] 2 {0} +[!1] 8 +State: 5 "8" +[(0 & 1)] 1 +[!1] 3 {0} +[(!0 & 1)] 0 +State: 6 "6" +[((0 & !1) | !0)] 9 +[(0 & 1)] 2 +State: 7 "9" +[((0 & !1) | !0)] 7 +[(0 & 1)] 2 {0} +State: 8 "5" +[(!0 & !1)] 3 +[((0 & !1) | (!0 & 1))] 7 {0} +[(0 & 1)] 2 {0} +State: 9 "7" +[(0 & 1)] 1 {0} +[(!0 & 1)] 9 +[!1] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 {0} +[(0 | (!0 & 1))] 0 +State: 1 "3" +[((0 & !1) | (!0 & 1))] 2 +[((0 & 1) | (!0 & !1))] 1 +State: 2 "2" +[(0 & 1)] 2 +[(!0 & 1)] 1 +[(!0 & !1)] 3 {0} +[(0 & !1)] 4 {0} +State: 3 "1" +[(0 & !1)] 3 +[!0] 0 {0} +[(0 & 1)] 5 +State: 4 "4" +[(!0 & !1)] 3 +[(0 & !1)] 4 +[(!0 & 1)] 0 {0} +[(0 & 1)] 5 {0} +State: 5 "5" +[(!0 & !1)] 3 +[1] 0 {0} +[(0 & !1)] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(!0 & !1)] 2 {0} +[0] 3 +State: 1 "2" +[((0 & !1) | (!0 & 1))] 1 +[(0 & 1)] 4 {0} +[(!0 & !1)] 0 +State: 2 "11" +[1] 5 {0} +[(!0 & !1)] 2 +[(0 & !1)] 6 +State: 3 "1" +[1] 4 {0} +[!1] 0 +State: 4 "10" +[(0 & !1)] 6 +[1] 4 +[(!0 & !1)] 7 {0} +State: 5 "3" +[(!0 & !1)] 8 {0} +[1] 9 +[(0 & !1)] 7 +State: 6 "9" +[(!0 & !1)] 9 {0} +[(0 & !1)] 6 +[1] 4 +State: 7 "8" +[1] 5 +[(!0 & !1)] 9 +[(0 & !1)] 7 +State: 8 "6" +[((0 & !1) | !0)] 8 +[(0 & 1)] 10 +State: 9 "7" +[(0 | (!0 & 1))] 5 +[(!0 & !1)] 7 +State: 10 "5" +[((0 & !1) | (!0 & 1))] 11 +[(!0 & !1)] 0 {0} +[(0 & 1)] 10 +State: 11 "4" +[((0 & 1) | (!0 & !1))] 8 +[(!0 & 1)] 1 {0} +[(0 & !1)] 11 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 +[(!0 & 1)] 2 +[(!0 & !1)] 0 +[(0 & 1)] 3 +State: 1 "2" +[(0 | (!0 & 1))] 1 +[(!0 & !1)] 0 +State: 2 "1" +[(0 & 1)] 1 +[(!0 & 1)] 4 {0} +[(!0 & !1)] 2 +[(0 & !1)] 3 +State: 3 "5" +[(0 & 1)] 1 +[(!0 & !1)] 2 +[(!0 & 1)] 5 {0} +[(0 & !1)] 3 +State: 4 "3" +[(!0 & 1)] 4 +[(!0 & !1)] 2 {0} +[(0 & 1)] 5 +[(0 & !1)] 3 {0} +State: 5 "4" +[(!0 & !1)] 6 +[0] 1 {0} +[(!0 & 1)] 5 +State: 6 "6" +[(0 & !1)] 1 {0} +[(!0 & 1)] 4 +[(0 & 1)] 7 +[(!0 & !1)] 0 {0} +State: 7 "7" +[(0 & 1)] 1 {0} +[(!0 & !1)] 4 +[(!0 & 1)] 7 +[(0 & !1)] 3 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 +[((0 & !1) | !0)] 0 +State: 1 "1" +[!0] 1 +[(0 & !1)] 2 +[(0 & 1)] 3 {0} +State: 2 "4" +[(!0 & 1)] 4 +[(!0 & !1)] 5 {0} +[(0 & !1)] 0 +[(0 & 1)] 3 {0} +State: 3 "5" +[(0 & !1)] 5 +[(!0 & !1)] 6 +[1] 3 +State: 4 "6" +[(!0 & 1)] 4 +[(!0 & !1)] 6 {0} +[(0 & !1)] 0 +[(0 & 1)] 3 {0} +State: 5 "2" +[(!0 & !1)] 5 +[(!0 & 1)] 6 +[(0 & 1)] 0 {0} +[(0 & !1)] 3 +State: 6 "3" +[(0 & !1)] 5 +[((0 & 1) | (!0 & !1))] 0 {0} +[(!0 & 1)] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[!1] 2 +[(0 & 1)] 0 +State: 1 "2" +[(0 | (!0 & 1))] 1 +[(!0 & !1)] 3 {0} +State: 2 "1" +[(0 & 1)] 1 {0} +[(0 & !1)] 2 +[!0] 4 +State: 3 "3" +[!1] 5 +[1] 6 +State: 4 "4" +[(0 & 1)] 1 {0} +[(!0 & !1)] 2 +[((0 & !1) | (!0 & 1))] 0 +State: 5 "6" +[0] 5 +[(!0 & !1)] 3 +[(!0 & 1)] 7 {0} +State: 6 "5" +[(0 & 1)] 5 +[(!0 & !1)] 3 +[((0 & !1) | (!0 & 1))] 8 {0} +State: 7 "7" +[(!0 & !1)] 2 {0} +[1] 0 {0} +[(0 & !1)] 8 +State: 8 "8" +[(!0 & !1)] 9 +[(!0 & 1)] 4 {0} +[(0 & 1)] 0 {0} +[(0 & !1)] 8 +State: 9 "9" +[(!0 & 1)] 7 +[(!0 & !1)] 9 +[(0 & 1)] 0 {0} +[(0 & !1)] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[1] 1 +[(0 & !1)] 2 {0} +[(!0 & !1)] 3 {0} +State: 1 "1" +[!1] 1 +[(0 & 1)] 2 {0} +[(!0 & 1)] 0 +State: 2 "4" +[!0] 4 +[0] 2 +State: 3 "8" +[0] 2 {0} +[!0] 3 +State: 4 "3" +[(0 & 1)] 5 {0} +[(0 & !1)] 6 {0} +[!0] 2 +State: 5 "2" +[(!0 & !1)] 7 {0} +[1] 5 +[(0 & !1)] 8 {0} +State: 6 "9" +[(!0 & !1)] 8 {0} +[(0 & 1)] 9 +[(!0 & 1)] 0 {0} +[(0 & !1)] 10 {0} +State: 7 "6" +[(!0 & !1)] 7 +[(0 & !1)] 8 +[(0 & 1)] 2 {0} +[(!0 & 1)] 0 {0} +State: 8 "7" +[(0 & 1)] 7 +[(!0 & !1)] 8 +[(!0 & 1)] 0 {0} +[(0 & !1)] 10 +State: 9 "10" +[(0 & 1)] 7 {0} +[(0 & !1)] 6 +[(!0 & !1)] 9 +[(!0 & 1)] 0 {0} +State: 10 "5" +[(0 & 1)] 8 +[!1] 1 {0} +[(!0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(0 & 1)] 2 {0} +[(!0 & 1)] 0 +[(0 & !1)] 3 +State: 1 "2" +[(0 & 1)] 1 +[(!0 & 1)] 2 {0} +[(!0 & !1)] 0 +[(0 & !1)] 4 {0} +State: 2 "4" +[((0 & 1) | (!0 & !1))] 5 +[((0 & !1) | (!0 & 1))] 2 +State: 3 "8" +[(0 & !1)] 1 +[(!0 & 1)] 2 {0} +[(0 & 1)] 0 +[(!0 & !1)] 3 +State: 4 "5" +[(!0 & 1)] 5 +[((0 & 1) | (!0 & !1))] 2 +[(0 & !1)] 4 +State: 5 "3" +[(0 & !1)] 6 {0} +[((0 & 1) | (!0 & !1))] 2 +[(!0 & 1)] 4 +State: 6 "11" +[((0 & !1) | (!0 & 1))] 6 +[((0 & 1) | (!0 & !1))] 7 +State: 7 "9" +[(0 & !1)] 8 {0} +[((0 & 1) | (!0 & !1))] 6 +[(!0 & 1)] 9 +State: 8 "7" +[(!0 & 1)] 10 +[!1] 8 +[(0 & 1)] 11 {0} +State: 9 "12" +[((0 & 1) | (!0 & !1))] 6 +[(!0 & 1)] 7 +[(0 & !1)] 9 +State: 10 "6" +[(!0 & 1)] 10 +[(!0 & !1)] 1 {0} +[(0 & !1)] 8 +[(0 & 1)] 12 +State: 11 "10" +[(0 & 1)] 1 {0} +[(!0 & !1)] 11 +[(!0 & 1)] 0 {0} +[(0 & !1)] 3 {0} +State: 12 "1" +[((0 & !1) | (!0 & 1))] 8 +[(0 & 1)] 11 {0} +[(!0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(0 | (!0 & 1))] 0 +State: 1 "1" +[(!0 & 1)] 2 {0} +[(0 & 1)] 1 +[!1] 0 +State: 2 "3" +[1] 2 +[!1] 3 +State: 3 "4" +[(0 & !1)] 4 +[!0] 2 +[(0 & 1)] 5 {0} +State: 4 "2" +[0] 4 +[(!0 & 1)] 2 +[(!0 & !1)] 3 +State: 5 "5" +[(!0 & 1)] 0 {0} +[(0 | (!0 & !1))] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "2" +[(0 & !1)] 3 +[(!0 & !1)] 2 {0} +[(!0 & 1)] 4 +[(0 & 1)] 0 {0} +State: 2 "1" +[!0] 2 +[0] 0 +State: 3 "3" +[!0] 1 +[(0 & 1)] 2 {0} +[(0 & !1)] 4 +State: 4 "4" +[!0] 1 +[(0 & !1)] 3 +[(0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[!1] 2 {0} +[(0 & 1)] 3 {0} +State: 1 "2" +[(0 & 1)] 1 +[(!0 & !1)] 2 {0} +[((0 & !1) | (!0 & 1))] 0 +State: 2 "3" +[(!0 & !1)] 2 {0} +[(0 & !1)] 2 +[(!0 & 1)] 4 {0} +[(0 & 1)] 3 +State: 3 "4" +[(!0 & !1)] 2 +[(!0 & 1)] 4 {0} +[0] 3 +State: 4 "1" +[(0 & 1)] 5 +[((0 & !1) | (!0 & 1))] 4 +[(!0 & !1)] 6 +State: 5 "6" +[(!0 & !1)] 2 {0} +[(0 & 1)] 4 +[(!0 & 1)] 0 {0} +[(0 & !1)] 6 +State: 6 "5" +[(!0 & 1)] 1 {0} +[(!0 & !1)] 2 {0} +[(0 & 1)] 4 +[(0 & !1)] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[!1] 2 +[(0 & 1)] 0 +State: 1 "3" +[((0 & !1) | (!0 & 1))] 1 +[(0 & 1)] 3 +[(!0 & !1)] 4 {0} +State: 2 "1" +[(0 & 1)] 3 {0} +[((0 & !1) | !0)] 0 +State: 3 "4" +[(!0 & 1)] 5 {0} +[!1] 1 +[(0 & 1)] 3 +State: 4 "5" +[(0 & !1)] 5 {0} +[(!0 & 1)] 6 +[(0 & 1)] 0 {0} +[(!0 & !1)] 4 +State: 5 "6" +[!1] 5 +[1] 0 {0} +State: 6 "2" +[(0 & 1)] 6 +[(!0 & !1)] 2 {0} +[(!0 & 1)] 0 {0} +[(0 & !1)] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 | (!0 & 1))] 1 +[(!0 & !1)] 0 +State: 1 "1" +[(!0 & 1)] 1 +[0] 0 +[(!0 & !1)] 2 {0} +State: 2 "5" +[(0 & 1)] 3 +[(!0 & 1)] 4 {0} +[(!0 & !1)] 5 {0} +[(0 & !1)] 2 +State: 3 "2" +[(0 & 1)] 3 +[(0 & !1)] 5 {0} +[!0] 2 +State: 4 "3" +[t] 5 +State: 5 "4" +[0] 6 {0} +[(!0 & 1)] 4 +[(!0 & !1)] 5 +State: 6 "6" +[(0 | (!0 & 1))] 6 +[(!0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[(0 & 1)] 2 +[!1] 0 +State: 1 "2" +[(!0 & 1)] 3 {0} +[(!0 & !1)] 4 {0} +[0] 5 +State: 2 "1" +[t] 0 +State: 3 "6" +[1] 3 +[!1] 4 {0} +State: 4 "3" +[!1] 4 +[1] 6 +State: 5 "5" +[((0 & !1) | (!0 & 1))] 1 +[((0 & 1) | (!0 & !1))] 5 +State: 6 "4" +[(!0 & 1)] 4 +[(0 & 1)] 6 +[!1] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 {0} +[((0 & 1) | !0)] 0 +State: 1 "2" +[(!0 & !1)] 2 +[1] 3 {0} +[(0 & !1)] 4 {0} +State: 2 "1" +[((0 & !1) | (!0 & 1))] 1 +[(0 & 1)] 2 +[(!0 & !1)] 4 {0} +State: 3 "4" +[(0 & !1)] 5 +[((0 & 1) | (!0 & !1))] 3 +[(!0 & 1)] 0 {0} +State: 4 "5" +[(!0 & 1)] 3 {0} +[(0 | (!0 & !1))] 4 +State: 5 "3" +[(!0 & !1)] 5 +[(0 | (!0 & 1))] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 +[(!0 & !1)] 2 +[((0 & !1) | (!0 & 1))] 0 +State: 1 "6" +[0] 1 +[(!0 & !1)] 0 +[(!0 & 1)] 3 {0} +State: 2 "1" +[(0 & 1)] 1 +[(0 & !1)] 2 +[(!0 & 1)] 0 {0} +[(!0 & !1)] 0 +State: 3 "5" +[(!0 & !1)] 4 {0} +[(0 & !1)] 5 +[(0 & 1)] 6 {0} +[(!0 & 1)] 3 +State: 4 "2" +[(0 & !1)] 4 +[!0] 2 {0} +[(0 & 1)] 6 +State: 5 "3" +[(!0 & 1)] 4 {0} +[(!0 & !1)] 5 +[(0 & !1)] 6 {0} +[(0 & 1)] 3 +State: 6 "4" +[!0] 4 +[0] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 {0} +[!0] 2 {0} +[(0 & 1)] 0 +State: 1 "6" +[((0 & !1) | (!0 & 1))] 1 +[((0 & 1) | (!0 & !1))] 3 +State: 2 "7" +[(0 & !1)] 1 {0} +[(0 & 1)] 3 {0} +[!0] 2 +State: 3 "3" +[!1] 1 +[(!0 & 1)] 3 +[(0 & 1)] 4 {0} +State: 4 "1" +[((0 & !1) | !0)] 5 +[(0 & 1)] 0 {0} +State: 5 "4" +[(0 & !1)] 6 {0} +[((0 & 1) | (!0 & !1))] 4 +[(!0 & 1)] 7 {0} +State: 6 "2" +[(0 & !1)] 1 {0} +[(!0 & !1)] 6 +[(0 & 1)] 0 {0} +[(!0 & 1)] 7 +State: 7 "5" +[(0 | (!0 & !1))] 6 +[(!0 & 1)] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[0] 1 +[(!0 & !1)] 0 +[(!0 & 1)] 2 {0} +State: 1 "1" +[t] 0 +State: 2 "5" +[(0 & !1)] 3 {0} +[(0 & 1)] 4 {0} +[!0] 2 +State: 3 "2" +[(0 & !1)] 3 +[!0] 4 +[(0 & 1)] 5 {0} +State: 4 "3" +[(!0 & 1)] 3 +[((0 & 1) | (!0 & !1))] 4 +[(0 & !1)] 5 {0} +State: 5 "4" +[(0 | (!0 & 1))] 5 +[(!0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[(!0 & !1)] 2 +[0] 0 +State: 1 "6" +[(0 | (!0 & 1))] 1 +[(!0 & !1)] 3 {0} +State: 2 "3" +[0] 4 {0} +[!0] 0 +State: 3 "4" +[(0 | (!0 & 1))] 4 +[(!0 & !1)] 5 {0} +State: 4 "2" +[(0 & !1)] 4 +[(!0 & 1)] 5 {0} +[((0 & 1) | (!0 & !1))] 3 +State: 5 "7" +[(0 | (!0 & !1))] 5 +[(!0 & 1)] 6 {0} +State: 6 "5" +[!1] 7 +[(!0 & 1)] 0 {0} +[(0 & 1)] 6 +State: 7 "1" +[(0 & 1)] 7 +[((0 & !1) | !0)] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 +[(0 & !1)] 0 +[!0] 2 {0} +State: 1 "1" +[!1] 1 +[(!0 & 1)] 0 +[(0 & 1)] 2 {0} +State: 2 "5" +[(0 & !1)] 3 {0} +[((0 & 1) | !0)] 2 +State: 3 "2" +[(0 | (!0 & !1))] 3 +[(!0 & 1)] 4 +State: 4 "3" +[(!0 & 1)] 3 +[((0 & 1) | (!0 & !1))] 4 +[(0 & !1)] 5 {0} +State: 5 "4" +[(0 | (!0 & !1))] 5 +[(!0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[((0 & 1) | (!0 & !1))] 1 +[(!0 & 1)] 2 {0} +[(0 & !1)] 0 +State: 1 "1" +[((0 & !1) | (!0 & 1))] 1 +[((0 & 1) | (!0 & !1))] 0 +State: 2 "4" +[((0 & !1) | !0)] 3 +[(0 & 1)] 2 +State: 3 "2" +[(!0 & !1)] 3 +[(!0 & 1)] 4 {0} +[(0 & 1)] 2 +[(0 & !1)] 5 {0} +State: 4 "7" +[(!0 & !1)] 6 {0} +[1] 4 +[(0 & !1)] 5 {0} +State: 5 "5" +[(!0 & !1)] 7 {0} +[(!0 & 1)] 6 +[0] 5 +State: 6 "3" +[(0 & !1)] 7 {0} +[((0 & 1) | (!0 & !1))] 6 +[(!0 & 1)] 5 +State: 7 "6" +[(0 | (!0 & !1))] 7 +[(!0 & 1)] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(0 & !1)] 0 +[1] 2 {0} +State: 1 "4" +[(!0 & 1)] 1 +[(0 | (!0 & !1))] 0 +State: 2 "5" +[((0 & 1) | !0)] 3 +[(0 & !1)] 2 +State: 3 "6" +[(!0 & 1)] 3 +[(!0 & !1)] 4 {0} +[(0 & 1)] 0 {0} +[(0 & !1)] 2 +State: 4 "7" +[(!0 & !1)] 5 {0} +[((0 & !1) | (!0 & 1))] 6 +[(0 & 1)] 0 {0} +State: 5 "2" +[((0 & !1) | (!0 & 1))] 7 +[(0 & 1)] 0 {0} +[(!0 & !1)] 8 {0} +State: 6 "1" +[((0 & !1) | !0)] 4 +[(0 & 1)] 0 {0} +State: 7 "3" +[!0] 5 +[(0 & !1)] 7 +[(0 & 1)] 8 {0} +State: 8 "8" +[(!0 & 1)] 1 {0} +[(0 & 1)] 0 {0} +[!1] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[!1] 1 +[(0 & 1)] 2 {0} +[(!0 & 1)] 3 {0} +State: 1 "6" +[(0 & !1)] 1 +[1] 0 +[(!0 & !1)] 2 {0} +State: 2 "8" +[((0 & 1) | (!0 & !1))] 2 +[((0 & !1) | (!0 & 1))] 3 {0} +State: 3 "5" +[(!0 & !1)] 4 +[(!0 & 1)] 5 {0} +[0] 3 +State: 4 "7" +[(0 & 1)] 4 +[((0 & !1) | !0)] 3 +State: 5 "1" +[0] 6 +[(!0 & !1)] 5 +[(!0 & 1)] 7 {0} +State: 6 "3" +[(!0 & !1)] 8 {0} +[(0 & 1)] 6 +[(!0 & 1)] 5 +[(0 & !1)] 7 {0} +State: 7 "4" +[((0 & 1) | (!0 & !1))] 8 +[((0 & !1) | (!0 & 1))] 7 +State: 8 "2" +[(!0 & !1)] 1 {0} +[(0 & !1)] 7 +[1] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 {0} +[1] 2 +[(!0 & !1)] 0 +State: 1 "2" +[!1] 1 +[(!0 & 1)] 3 +[(0 & 1)] 4 {0} +State: 2 "1" +[(!0 & !1)] 3 {0} +[(!0 & 1)] 2 +[(0 & 1)] 4 +[(0 & !1)] 0 +State: 3 "3" +[0] 1 +[(!0 & !1)] 3 +[(!0 & 1)] 4 {0} +State: 4 "4" +[(!0 & !1)] 1 {0} +[(!0 & 1)] 2 +[(0 & 1)] 4 +[(0 & !1)] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 | (!0 & !1))] 1 +[(!0 & 1)] 0 +State: 1 "1" +[(0 & 1)] 2 {0} +[(!0 & 1)] 1 +[!1] 0 +State: 2 "7" +[((0 & 1) | !0)] 2 +[(0 & !1)] 3 {0} +State: 3 "4" +[(!0 & !1)] 4 +[(0 | (!0 & 1))] 3 +State: 4 "2" +[(0 & 1)] 4 +[!0] 3 +[(0 & !1)] 5 {0} +State: 5 "5" +[(!0 & !1)] 6 {0} +[1] 7 +[(0 & !1)] 5 +State: 6 "6" +[((0 & !1) | !0)] 6 +[(0 & 1)] 1 {0} +State: 7 "3" +[((0 & !1) | (!0 & 1))] 6 {0} +[((0 & 1) | (!0 & !1))] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[((0 & !1) | (!0 & 1))] 0 +[(0 & 1)] 2 {0} +State: 1 "1" +[1] 1 +[!1] 0 +State: 2 "5" +[0] 3 +[(!0 & 1)] 4 {0} +[(!0 & !1)] 0 {0} +State: 3 "3" +[!0] 5 {0} +[(0 & !1)] 3 +[(0 & 1)] 2 +State: 4 "4" +[0] 5 +[(!0 & 1)] 4 +[(!0 & !1)] 0 {0} +State: 5 "2" +[!0] 5 +[(0 & 1)] 4 +[(0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[!1] 1 +[1] 0 +State: 1 "1" +[(0 & 1)] 1 +[(!0 & 1)] 0 +[!1] 2 {0} +State: 2 "5" +[(!0 & !1)] 3 {0} +[(!0 & 1)] 4 {0} +[0] 2 +State: 3 "7" +[((0 & 1) | (!0 & !1))] 3 +[((0 & !1) | (!0 & 1))] 4 {0} +State: 4 "4" +[((0 & 1) | (!0 & !1))] 5 +[((0 & !1) | (!0 & 1))] 4 +State: 5 "6" +[(0 & 1)] 5 +[(0 & !1)] 6 {0} +[(!0 & 1)] 7 {0} +[(!0 & !1)] 4 +State: 6 "2" +[(0 | (!0 & 1))] 7 +[(!0 & !1)] 0 {0} +State: 7 "3" +[(0 & !1)] 6 +[(!0 & 1)] 7 +[(!0 & !1)] 1 {0} +[(0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 {0} +[0] 2 +[(!0 & 1)] 0 +State: 1 "6" +[((0 & 1) | (!0 & !1))] 1 +[(0 & !1)] 3 {0} +[(!0 & 1)] 4 +State: 2 "1" +[(0 & 1)] 1 {0} +[!0] 0 +[(0 & !1)] 5 {0} +State: 3 "3" +[((0 & !1) | (!0 & 1))] 3 +[(0 & 1)] 6 {0} +[(!0 & !1)] 7 +State: 4 "7" +[(0 & !1)] 1 +[(0 & 1)] 3 {0} +[!0] 5 {0} +State: 5 "8" +[(0 & 1)] 3 {0} +[((0 & !1) | !0)] 5 +State: 6 "4" +[!1] 8 +[(0 & 1)] 6 +[(!0 & 1)] 0 {0} +State: 7 "5" +[(0 | (!0 & !1))] 3 +[(!0 & 1)] 7 +State: 8 "2" +[(0 & 1)] 2 {0} +[((0 & !1) | (!0 & 1))] 6 +[(!0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[!1] 1 +[(0 & 1)] 0 +[(!0 & 1)] 2 {0} +State: 1 "1" +[(0 & !1)] 3 {0} +[(0 & 1)] 1 +[!0] 0 +State: 2 "5" +[(!0 & !1)] 4 {0} +[0] 3 +[(!0 & 1)] 2 +State: 3 "2" +[(0 & !1)] 3 +[(!0 & 1)] 5 {0} +[(0 & 1)] 6 {0} +[(!0 & !1)] 2 +State: 4 "6" +[((0 & 1) | (!0 & !1))] 4 +[(0 & !1)] 1 {0} +[(!0 & 1)] 0 {0} +State: 5 "3" +[(!0 & !1)] 4 {0} +[(0 & !1)] 5 +[(0 & 1)] 6 +[(!0 & 1)] 0 {0} +State: 6 "4" +[(!0 & !1)] 4 {0} +[(!0 & 1)] 5 +[(0 & !1)] 1 {0} +[(0 & 1)] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[((0 & !1) | !0)] 1 +[(0 & 1)] 0 +State: 1 "1" +[(!0 & 1)] 2 {0} +[(0 & 1)] 1 +[!1] 0 +State: 2 "3" +[(0 | (!0 & 1))] 2 +[(!0 & !1)] 3 {0} +State: 3 "4" +[(0 & !1)] 4 +[(0 & 1)] 5 {0} +[(!0 & !1)] 3 +[(!0 & 1)] 6 {0} +State: 4 "6" +[t] 3 +State: 5 "2" +[(0 & 1)] 5 +[!1] 7 {0} +[(!0 & 1)] 6 +State: 6 "5" +[!0] 5 +[0] 6 +State: 7 "7" +[(0 | (!0 & !1))] 7 +[(!0 & 1)] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 {0} +[((0 & !1) | !0)] 0 +State: 1 "4" +[(!0 & !1)] 2 +[(!0 & 1)] 1 +[0] 3 {0} +State: 2 "2" +[t] 1 +State: 3 "5" +[(!0 & !1)] 4 {0} +[(0 | (!0 & 1))] 3 +State: 4 "3" +[1] 4 +[(0 & !1)] 5 +[(!0 & !1)] 0 {0} +State: 5 "1" +[((0 & !1) | !0)] 4 +[(0 & 1)] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[((0 & 1) | !0)] 1 +[(0 & !1)] 0 +State: 1 "1" +[(!0 & 1)] 1 +[!1] 0 +[(0 & 1)] 2 {0} +State: 2 "5" +[((0 & !1) | !0)] 3 +[(0 & 1)] 4 {0} +State: 3 "3" +[(!0 & !1)] 5 {0} +[(0 & !1)] 6 {0} +[1] 2 +State: 4 "7" +[!0] 5 {0} +[0] 4 +State: 5 "2" +[(!0 & !1)] 7 {0} +[(!0 & 1)] 5 +[0] 6 +State: 6 "4" +[((0 & 1) | (!0 & !1))] 5 +[(!0 & 1)] 1 {0} +[(0 & !1)] 6 +State: 7 "6" +[((0 & !1) | !0)] 7 +[(0 & 1)] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[0] 1 +[(!0 & 1)] 0 +[(!0 & !1)] 2 {0} +State: 1 "1" +[0] 1 +[(!0 & !1)] 0 +[(!0 & 1)] 2 {0} +State: 2 "5" +[(0 & !1)] 3 {0} +[(0 & 1)] 4 {0} +[!0] 2 +State: 3 "2" +[(0 & !1)] 3 +[((0 & 1) | !0)] 4 +State: 4 "4" +[((0 & !1) | !0)] 3 +[(0 & 1)] 5 {0} +State: 5 "3" +[1] 5 +[(0 & !1)] 1 {0} +[(!0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 {0} +[((0 & 1) | (!0 & !1))] 2 +[(!0 & 1)] 3 {0} +State: 1 "6" +[((0 & 1) | (!0 & !1))] 4 +[((0 & !1) | (!0 & 1))] 5 {0} +State: 2 "1" +[(0 & !1)] 6 {0} +[(0 & 1)] 2 +[(!0 & !1)] 3 {0} +[(!0 & 1)] 0 +State: 3 "4" +[((0 & !1) | (!0 & 1))] 6 +[(!0 & !1)] 7 {0} +[(0 & 1)] 3 +State: 4 "7" +[((0 & !1) | !0)] 1 +[(0 & 1)] 8 {0} +State: 5 "8" +[(0 & 1)] 8 {0} +[((0 & !1) | (!0 & 1))] 5 +[(!0 & !1)] 9 {0} +State: 6 "2" +[(0 & !1)] 1 {0} +[(0 & 1)] 7 {0} +[!0] 3 +State: 7 "9" +[((0 & !1) | (!0 & 1))] 1 {0} +[(0 & 1)] 4 {0} +[(!0 & !1)] 7 +State: 8 "3" +[(!0 & 1)] 8 +[(0 & 1)] 2 {0} +[!1] 9 +State: 9 "5" +[0] 8 +[(!0 & !1)] 2 {0} +[(!0 & 1)] 9 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[((0 & 1) | (!0 & !1))] 1 {0} +[(!0 & 1)] 2 +[(0 & !1)] 0 +State: 1 "1" +[(0 & 1)] 3 {0} +[(!0 & 1)] 4 {0} +[!1] 1 +State: 2 "4" +[(!0 & 1)] 1 {0} +[(0 | (!0 & !1))] 0 +State: 3 "2" +[(0 & 1)] 5 {0} +[(!0 & !1)] 6 {0} +[((0 & !1) | (!0 & 1))] 7 +State: 4 "7" +[(0 & 1)] 3 {0} +[((0 & !1) | (!0 & 1))] 4 +[(!0 & !1)] 7 {0} +State: 5 "6" +[(!0 & 1)] 5 +[(0 & !1)] 6 +[((0 & 1) | (!0 & !1))] 0 {0} +State: 6 "3" +[0] 5 +[!0] 6 +State: 7 "5" +[(0 & 1)] 5 {0} +[((0 & !1) | (!0 & 1))] 3 +[(!0 & !1)] 7 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[((0 & 1) | !0)] 1 +[(0 & !1)] 0 +State: 1 "1" +[(!0 & 1)] 2 {0} +[(0 & 1)] 3 {0} +[(!0 & !1)] 1 +[(0 & !1)] 0 +State: 2 "6" +[((0 & !1) | (!0 & 1))] 2 +[((0 & 1) | (!0 & !1))] 3 {0} +State: 3 "3" +[((0 & 1) | (!0 & !1))] 3 +[((0 & !1) | (!0 & 1))] 4 +State: 4 "4" +[(!0 & !1)] 5 {0} +[(0 | (!0 & 1))] 3 +State: 5 "2" +[(!0 & !1)] 5 +[(0 | (!0 & 1))] 6 +State: 6 "5" +[((0 & 1) | (!0 & !1))] 5 +[(0 & !1)] 0 {0} +[(!0 & 1)] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[(!0 & !1)] 2 {0} +[(0 & !1)] 1 +[(0 & 1)] 0 +[(!0 & 1)] 3 {0} +State: 2 "6" +[!0] 2 +[(0 & 1)] 4 {0} +[(0 & !1)] 5 +State: 3 "8" +[(0 & 1)] 2 {0} +[(0 & !1)] 5 {0} +[!0] 3 +State: 4 "3" +[0] 4 +[(!0 & 1)] 6 {0} +[(!0 & !1)] 7 +State: 5 "7" +[((0 & 1) | (!0 & !1))] 2 +[(0 & !1)] 4 {0} +[(!0 & 1)] 5 +State: 6 "4" +[(0 | (!0 & !1))] 8 +[(!0 & 1)] 0 {0} +State: 7 "5" +[(0 & 1)] 8 {0} +[!1] 4 +[(!0 & 1)] 7 +State: 8 "2" +[(0 | (!0 & !1))] 8 +[(!0 & 1)] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 {0} +[(0 & !1)] 2 +[(!0 & !1)] 3 {0} +[(!0 & 1)] 0 +State: 1 "6" +[1] 1 +[(0 & !1)] 4 {0} +[(!0 & !1)] 3 {0} +State: 2 "2" +[0] 2 +[(!0 & !1)] 3 {0} +[(!0 & 1)] 0 +State: 3 "1" +[0] 4 +[!0] 3 +State: 4 "3" +[(!0 & 1)] 4 +[((0 & 1) | (!0 & !1))] 3 +[(0 & !1)] 5 {0} +State: 5 "4" +[!1] 5 +[1] 6 +State: 6 "5" +[(0 & !1)] 2 {0} +[(!0 & 1)] 5 +[((0 & 1) | (!0 & !1))] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[(!0 & 1)] 2 {0} +[(0 & !1)] 1 +[((0 & 1) | (!0 & !1))] 0 +State: 2 "3" +[(0 & !1)] 3 {0} +[((0 & 1) | !0)] 2 +State: 3 "2" +[(!0 & 1)] 1 {0} +[0] 4 +[(!0 & !1)] 5 {0} +State: 4 "4" +[(0 & !1)] 3 +[!0] 4 +[(0 & 1)] 0 {0} +State: 5 "5" +[(!0 & 1)] 1 {0} +[(0 | (!0 & !1))] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[(0 & 1)] 2 +[!1] 0 +State: 1 "3" +[(0 & !1)] 3 +[!0] 1 +[(0 & 1)] 4 {0} +State: 2 "1" +[!1] 2 +[1] 0 +State: 3 "2" +[!1] 3 +[(0 & 1)] 1 +[(!0 & 1)] 4 {0} +State: 4 "4" +[(0 & !1)] 4 +[((0 & 1) | !0)] 5 +State: 5 "5" +[((0 & 1) | (!0 & !1))] 6 {0} +[(0 & !1)] 4 +[(!0 & 1)] 5 +State: 6 "6" +[(0 | (!0 & !1))] 6 +[(!0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[!1] 1 +[1] 0 +State: 1 "1" +[(!0 & 1)] 2 {0} +[(0 & 1)] 1 +[!1] 0 +State: 2 "3" +[(!0 & 1)] 3 {0} +[(0 & 1)] 4 +[(0 & !1)] 2 +[(!0 & !1)] 5 {0} +State: 3 "6" +[((0 & !1) | (!0 & 1))] 3 +[((0 & 1) | (!0 & !1))] 5 +State: 4 "2" +[(0 & !1)] 4 +[1] 2 +[(!0 & !1)] 5 {0} +State: 5 "7" +[(!0 & 1)] 3 +[((0 & 1) | (!0 & !1))] 5 +[(0 & !1)] 6 {0} +State: 6 "5" +[((0 & 1) | (!0 & !1))] 7 +[((0 & !1) | (!0 & 1))] 6 +State: 7 "4" +[(!0 & 1)] 0 {0} +[(!0 & !1)] 8 {0} +[0] 6 +State: 8 "8" +[(!0 & 1)] 0 {0} +[(0 | (!0 & !1))] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 {0} +[(0 | (!0 & 1))] 2 +State: 1 "3" +[(0 & 1)] 3 +[((0 & !1) | !0)] 1 +State: 2 "1" +[(0 & !1)] 1 {0} +[(!0 & 1)] 2 +[(0 & 1)] 4 {0} +[(!0 & !1)] 0 +State: 3 "2" +[(0 | (!0 & 1))] 1 +[(!0 & !1)] 0 {0} +State: 4 "4" +[!1] 1 {0} +[1] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[(!0 & 1)] 2 {0} +[(!0 & !1)] 1 +[0] 0 +State: 2 "3" +[(!0 & !1)] 3 +[(!0 & 1)] 2 +[0] 4 {0} +State: 3 "2" +[(0 & !1)] 2 +[((0 & 1) | !0)] 4 {0} +State: 4 "4" +[(0 | (!0 & !1))] 4 +[(!0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "1" +[(0 & 1)] 1 +[((0 & !1) | !0)] 0 +State: 2 "4" +[(0 & 1)] 3 +[(0 & !1)] 4 {0} +[(!0 & !1)] 2 +[(!0 & 1)] 5 {0} +State: 3 "2" +[(0 & 1)] 3 +[((0 & !1) | !0)] 2 +State: 4 "3" +[1] 4 +[(!0 & !1)] 6 {0} +[(0 & !1)] 7 +State: 5 "8" +[0] 4 {0} +[(!0 & !1)] 6 {0} +[(!0 & 1)] 5 +State: 6 "7" +[(0 & !1)] 8 +[!0] 6 +[(0 & 1)] 1 {0} +State: 7 "5" +[(0 & !1)] 8 {0} +[(0 & 1)] 4 +[!0] 6 {0} +State: 8 "6" +[(0 & 1)] 8 +[!1] 6 +[(!0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[!1] 1 +[(0 & 1)] 2 {0} +[(!0 & 1)] 0 +State: 1 "3" +[(0 & 1)] 1 +[!0] 2 {0} +[(0 & !1)] 0 +State: 2 "7" +[((0 & 1) | !0)] 2 +[(0 & !1)] 3 {0} +State: 3 "1" +[0] 3 +[!0] 4 +State: 4 "5" +[(0 & !1)] 5 {0} +[!0] 3 +[(0 & 1)] 4 +State: 5 "6" +[(0 & !1)] 5 +[((0 & 1) | (!0 & !1))] 6 {0} +[(!0 & 1)] 7 {0} +State: 6 "2" +[(0 & 1)] 6 +[(!0 & 1)] 2 {0} +[!1] 7 +State: 7 "4" +[((0 & 1) | (!0 & !1))] 6 +[(0 & !1)] 1 {0} +[(!0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[((0 & 1) | (!0 & !1))] 2 +[(0 & !1)] 3 {0} +State: 1 "9" +[(0 | (!0 & 1))] 1 +[(!0 & !1)] 3 {0} +State: 2 "1" +[(0 & 1)] 1 {0} +[((0 & !1) | (!0 & 1))] 2 +[(!0 & !1)] 0 +State: 3 "5" +[(0 & 1)] 4 +[((0 & !1) | !0)] 3 +State: 4 "3" +[(!0 & !1)] 5 {0} +[(!0 & 1)] 4 +[0] 3 +State: 5 "2" +[(!0 & !1)] 6 {0} +[(0 & !1)] 5 +[(0 & 1)] 7 +[(!0 & 1)] 8 {0} +State: 6 "6" +[(!0 & !1)] 6 +[(0 | (!0 & 1))] 9 +State: 7 "4" +[t] 5 +State: 8 "8" +[(!0 & !1)] 6 {0} +[(0 | (!0 & 1))] 8 +State: 9 "7" +[((0 & !1) | (!0 & 1))] 6 +[((0 & 1) | (!0 & !1))] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[((0 & !1) | !0)] 1 +[(0 & 1)] 0 +State: 1 "1" +[(!0 & !1)] 2 {0} +[1] 1 +[(0 & !1)] 0 +State: 2 "3" +[1] 2 +[(!0 & !1)] 3 {0} +[(0 & !1)] 4 +State: 3 "7" +[((0 & !1) | (!0 & 1))] 5 {0} +[(!0 & !1)] 3 +[(0 & 1)] 6 {0} +State: 4 "4" +[!1] 2 +[(!0 & 1)] 4 +[(0 & 1)] 6 {0} +State: 5 "2" +[1] 7 {0} +[(0 & !1)] 5 +[(!0 & !1)] 6 +State: 6 "5" +[(0 & 1)] 7 {0} +[((0 & !1) | !0)] 5 +State: 7 "6" +[(0 | (!0 & 1))] 7 +[(!0 & !1)] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[1] 1 +[(!0 & !1)] 2 {0} +[(0 & !1)] 0 +State: 1 "1" +[t] 0 +State: 2 "4" +[(!0 & 1)] 3 {0} +[(0 | (!0 & !1))] 2 +State: 3 "2" +[1] 3 +[(!0 & !1)] 4 +[(0 & !1)] 0 {0} +State: 4 "3" +[(!0 & !1)] 3 +[0] 4 +[(!0 & 1)] 5 {0} +State: 5 "5" +[(!0 & !1)] 0 {0} +[(0 | (!0 & 1))] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[((0 & 1) | (!0 & !1))] 1 {0} +[((0 & !1) | (!0 & 1))] 2 +State: 1 "1" +[!1] 3 +[(!0 & 1)] 1 +[(0 & 1)] 2 {0} +State: 2 "4" +[(0 & !1)] 3 {0} +[1] 1 {0} +[(!0 & !1)] 0 +State: 3 "3" +[(0 | (!0 & !1))] 1 +[(!0 & 1)] 4 {0} +State: 4 "5" +[(!0 & !1)] 5 +[(0 & 1)] 1 {0} +[(0 & !1)] 0 {0} +[(!0 & 1)] 4 +State: 5 "2" +[(0 & 1)] 1 {0} +[(0 & !1)] 2 {0} +[!0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 {0} +[(!0 & 1)] 0 +[!1] 2 +State: 1 "2" +[((0 & !1) | (!0 & 1))] 1 +[(!0 & !1)] 3 {0} +[(0 & 1)] 4 +State: 2 "5" +[((0 & !1) | !0)] 1 {0} +[(0 & 1)] 0 +State: 3 "9" +[(0 & 1)] 5 {0} +[(0 & !1)] 6 {0} +[!0] 3 +State: 4 "4" +[((0 & 1) | (!0 & !1))] 1 +[(0 & !1)] 3 {0} +[(!0 & 1)] 4 +State: 5 "6" +[((0 & !1) | !0)] 6 +[(0 & 1)] 7 {0} +State: 6 "7" +[((0 & 1) | !0)] 5 +[(0 & !1)] 7 {0} +State: 7 "1" +[(!0 & 1)] 8 +[(!0 & !1)] 7 +[(0 & 1)] 9 {0} +[(0 & !1)] 2 {0} +State: 8 "3" +[(!0 & !1)] 8 +[(0 | (!0 & 1))] 7 +State: 9 "8" +[1] 9 +[!1] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[1] 1 +[(0 & !1)] 0 +[(!0 & !1)] 2 {0} +State: 1 "1" +[0] 1 +[!0] 0 +State: 2 "5" +[(0 & !1)] 3 {0} +[((0 & 1) | !0)] 2 +State: 3 "3" +[1] 4 +[(!0 & !1)] 3 +[(0 & !1)] 5 {0} +State: 4 "2" +[((0 & 1) | (!0 & !1))] 4 +[((0 & !1) | (!0 & 1))] 3 +State: 5 "4" +[(0 | (!0 & 1))] 5 +[(!0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 {0} +[(0 & !1)] 2 +[1] 0 +State: 1 "6" +[((0 & 1) | (!0 & !1))] 1 +[(0 & !1)] 3 {0} +[(!0 & 1)] 4 {0} +State: 2 "1" +[(0 | (!0 & !1))] 2 +[(!0 & 1)] 0 +State: 3 "4" +[(0 & !1)] 5 {0} +[(!0 & !1)] 3 +[1] 4 +State: 4 "5" +[0] 3 +[!0] 4 +State: 5 "2" +[((0 & !1) | (!0 & 1))] 5 +[((0 & 1) | (!0 & !1))] 6 +State: 6 "3" +[!0] 5 +[(0 & 1)] 6 +[(0 & !1)] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[((0 & 1) | (!0 & !1))] 2 +[(0 & !1)] 0 +State: 1 "2" +[(!0 & 1)] 1 +[((0 & 1) | (!0 & !1))] 3 +[(0 & !1)] 4 {0} +State: 2 "1" +[(0 | (!0 & 1))] 2 +[(!0 & !1)] 0 +State: 3 "3" +[((0 & 1) | (!0 & !1))] 1 +[(0 & !1)] 3 +[(!0 & 1)] 2 {0} +State: 4 "4" +[1] 2 {0} +[!1] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 +[((0 & !1) | !0)] 0 +State: 1 "1" +[(!0 & 1)] 2 {0} +[!1] 0 +[(0 & 1)] 3 {0} +State: 2 "3" +[(0 & 1)] 4 {0} +[(!0 & !1)] 2 +[(!0 & 1)] 5 {0} +[(0 & !1)] 3 +State: 3 "5" +[((0 & !1) | (!0 & 1))] 2 +[((0 & 1) | (!0 & !1))] 3 +State: 4 "6" +[0] 4 +[!0] 5 {0} +State: 5 "4" +[0] 6 +[(!0 & 1)] 5 +[(!0 & !1)] 0 {0} +State: 6 "2" +[(0 | (!0 & !1))] 5 +[(!0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[(0 | (!0 & !1))] 2 +State: 1 "7" +[(0 | (!0 & 1))] 1 +[(!0 & !1)] 3 {0} +State: 2 "1" +[1] 2 +[!1] 0 +State: 3 "5" +[(!0 & !1)] 4 {0} +[(!0 & 1)] 5 +[0] 3 +State: 4 "2" +[(!0 & !1)] 6 {0} +[(!0 & 1)] 2 {0} +[0] 7 +State: 5 "3" +[(0 & !1)] 5 +[((0 & 1) | !0)] 3 +State: 6 "6" +[(0 | (!0 & !1))] 6 +[(!0 & 1)] 2 {0} +State: 7 "4" +[(0 | (!0 & !1))] 4 +[(!0 & 1)] 7 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[((0 & 1) | !0)] 1 +[(0 & !1)] 0 +State: 1 "1" +[(0 & !1)] 2 {0} +[(!0 & !1)] 1 +[1] 0 +State: 2 "7" +[(!0 & 1)] 3 {0} +[0] 2 +[(!0 & !1)] 4 {0} +State: 3 "2" +[0] 3 +[(!0 & 1)] 5 {0} +[(!0 & !1)] 4 +State: 4 "4" +[(!0 & 1)] 3 +[(!0 & !1)] 5 {0} +[0] 4 +State: 5 "3" +[(!0 & 1)] 6 {0} +[!1] 5 +[(0 & 1)] 7 +State: 6 "6" +[((0 & 1) | !0)] 6 +[(0 & !1)] 0 {0} +State: 7 "5" +[(0 & 1)] 6 {0} +[!0] 5 +[(0 & !1)] 7 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 | (!0 & 1))] 1 +[(!0 & !1)] 0 +State: 1 "1" +[(!0 & !1)] 2 {0} +[0] 0 +[(!0 & 1)] 3 {0} +State: 2 "2" +[((0 & !1) | (!0 & 1))] 4 +[(0 & 1)] 5 {0} +[(!0 & !1)] 3 {0} +State: 3 "5" +[(!0 & !1)] 6 {0} +[(0 & 1)] 5 {0} +[((0 & !1) | (!0 & 1))] 3 +State: 4 "3" +[(!0 & !1)] 2 +[(0 & !1)] 4 +[1] 3 {0} +State: 5 "4" +[(!0 & 1)] 7 +[(0 | (!0 & !1))] 5 +State: 6 "7" +[!0] 6 +[0] 5 {0} +State: 7 "6" +[(!0 & !1)] 7 +[1] 5 +[(0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 {0} +[(!0 & 1)] 2 +[0] 3 +State: 1 "6" +[!0] 4 +[(0 & !1)] 5 +[(0 & 1)] 6 +State: 2 "2" +[(0 & 1)] 2 +[!1] 3 +[(!0 & 1)] 7 {0} +State: 3 "1" +[(0 & !1)] 2 +[((0 & 1) | (!0 & !1))] 8 {0} +[(!0 & 1)] 0 +State: 4 "3" +[(!0 & !1)] 1 +[0] 3 {0} +[(!0 & 1)] 6 +State: 5 "9" +[(!0 & !1)] 1 +[(0 & 1)] 2 {0} +[(0 & !1)] 3 {0} +[(!0 & 1)] 6 +State: 6 "8" +[(!0 & !1)] 1 +[(0 & 1)] 2 {0} +[(!0 & 1)] 0 {0} +[(0 & !1)] 6 +State: 7 "5" +[(!0 & !1)] 1 {0} +[(0 & !1)] 8 +[(!0 & 1)] 9 {0} +[(0 & 1)] 6 {0} +State: 8 "7" +[((0 & 1) | (!0 & !1))] 8 +[(0 & !1)] 9 {0} +[(!0 & 1)] 7 +State: 9 "4" +[(!0 & !1)] 1 {0} +[(!0 & 1)] 9 +[0] 6 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(!0 & !1)] 2 {0} +[(0 & !1)] 3 {0} +[(0 & 1)] 0 +State: 1 "6" +[(!0 & 1)] 4 {0} +[(0 & !1)] 5 {0} +[((0 & 1) | (!0 & !1))] 0 +State: 2 "13" +[(!0 & 1)] 6 {0} +[(0 & 1)] 6 +[(0 & !1)] 5 {0} +[(!0 & !1)] 7 {0} +State: 3 "10" +[(!0 & 1)] 8 {0} +[(!0 & !1)] 4 {0} +[(0 & !1)] 3 +[(0 & 1)] 5 {0} +State: 4 "3" +[(0 & 1)] 8 +[(!0 & 1)] 4 +[(!0 & !1)] 7 +[(0 & !1)] 9 {0} +State: 5 "4" +[((0 & !1) | (!0 & 1))] 8 +[(!0 & !1)] 4 +[(0 & 1)] 5 +State: 6 "11" +[(!0 & 1)] 4 {0} +[(0 & 1)] 3 {0} +[(0 & !1)] 5 {0} +[(!0 & !1)] 7 {0} +State: 7 "5" +[1] 4 +[(!0 & !1)] 7 +[(0 & !1)] 9 {0} +State: 8 "2" +[0] 5 +[(!0 & 1)] 10 {0} +[(!0 & !1)] 9 {0} +State: 9 "14" +[(!0 & !1)] 11 {0} +[(0 & 1)] 12 {0} +[(!0 & 1)] 10 {0} +[(0 & !1)] 9 +State: 10 "12" +[!1] 11 {0} +[(0 & 1)] 12 {0} +[(!0 & 1)] 13 {0} +State: 11 "9" +[(!0 & 1)] 14 +[(!0 & !1)] 11 +[(0 & 1)] 0 {0} +[(0 & !1)] 13 +State: 12 "1" +[(!0 & 1)] 1 {0} +[((0 & 1) | (!0 & !1))] 14 +[(0 & !1)] 12 +State: 13 "8" +[(0 & 1)] 12 +[!1] 0 {0} +[(!0 & 1)] 13 +State: 14 "7" +[(!0 & 1)] 1 {0} +[!1] 11 +[(0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[!1] 1 +[(!0 & 1)] 2 {0} +[(0 & 1)] 3 +State: 1 "2" +[1] 2 {0} +[(!0 & !1)] 0 +[(0 & !1)] 4 +State: 2 "7" +[(!0 & !1)] 5 +[(!0 & 1)] 2 +[(0 & !1)] 6 {0} +[(0 & 1)] 4 {0} +State: 3 "1" +[(0 & !1)] 1 +[(!0 & !1)] 7 {0} +[(!0 & 1)] 0 +[(0 & 1)] 4 +State: 4 "8" +[!0] 0 +[(0 & 1)] 4 +[(0 & !1)] 8 {0} +State: 5 "3" +[(!0 & 1)] 5 +[(0 & !1)] 6 +[(!0 & !1)] 7 {0} +[(0 & 1)] 3 {0} +State: 6 "9" +[(!0 & 1)] 5 +[(0 & 1)] 2 +[(!0 & !1)] 0 {0} +[(0 & !1)] 4 {0} +State: 7 "10" +[(!0 & 1)] 5 {0} +[(!0 & !1)] 7 +[(0 & 1)] 3 {0} +[(0 & !1)] 8 {0} +State: 8 "5" +[(0 & !1)] 9 {0} +[(0 & 1)] 10 +[!0] 0 {0} +State: 9 "6" +[(0 & !1)] 9 +[!0] 0 {0} +[(0 & 1)] 8 +State: 10 "4" +[0] 9 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 +[(0 & 1)] 2 +[(!0 & !1)] 0 +[(!0 & 1)] 3 {0} +State: 1 "2" +[(0 & 1)] 1 +[(0 & !1)] 2 +[(!0 & !1)] 0 +[(!0 & 1)] 3 {0} +State: 2 "1" +[((0 & 1) | (!0 & !1))] 4 {0} +[(!0 & 1)] 2 +[(0 & !1)] 0 +State: 3 "12" +[1] 5 {0} +[!1] 3 +State: 4 "11" +[((0 & !1) | (!0 & 1))] 6 {0} +[((0 & 1) | (!0 & !1))] 4 +State: 5 "4" +[(!0 & !1)] 7 +[((0 & !1) | (!0 & 1))] 5 +[(0 & 1)] 8 +State: 6 "7" +[(0 & 1)] 9 +[!1] 6 +[(!0 & 1)] 3 {0} +State: 7 "3" +[!1] 7 +[(0 & 1)] 5 +[(!0 & 1)] 8 +State: 8 "5" +[(!0 & !1)] 7 +[(0 & 1)] 10 {0} +[((0 & !1) | (!0 & 1))] 8 +State: 9 "6" +[(!0 & !1)] 9 +[(0 & 1)] 6 +[(!0 & 1)] 5 {0} +[(0 & !1)] 3 {0} +State: 10 "10" +[(0 & 1)] 1 {0} +[(!0 & 1)] 2 {0} +[(!0 & !1)] 0 {0} +[(0 & !1)] 11 +State: 11 "8" +[(0 & !1)] 12 +[1] 2 {0} +[(!0 & !1)] 0 {0} +State: 12 "9" +[0] 10 +[(!0 & !1)] 0 {0} +[(!0 & 1)] 3 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 {0} +[(!0 & 1)] 2 +[(0 & !1)] 0 +[(!0 & !1)] 3 {0} +State: 1 "13" +[1] 1 +[!1] 4 +State: 2 "1" +[(0 & 1)] 5 +[(!0 & 1)] 2 +[(!0 & !1)] 0 +[(0 & !1)] 4 {0} +State: 3 "12" +[((0 & 1) | !0)] 3 +[(0 & !1)] 4 {0} +State: 4 "14" +[(0 & 1)] 1 +[!0] 6 +[(0 & !1)] 7 {0} +State: 5 "7" +[(!0 & 1)] 5 +[(!0 & !1)] 8 +[0] 2 +State: 6 "11" +[(0 & !1)] 9 {0} +[((0 & 1) | (!0 & !1))] 1 +[(!0 & 1)] 4 +State: 7 "4" +[(0 & 1)] 9 +[(!0 & !1)] 10 +[(!0 & 1)] 7 +[(0 & !1)] 11 {0} +State: 8 "9" +[(!0 & 1)] 5 +[(0 & 1)] 0 +[(!0 & !1)] 3 {0} +[(0 & !1)] 4 {0} +State: 9 "6" +[1] 10 +[!1] 7 +State: 10 "2" +[((0 & !1) | !0)] 9 +[(0 & 1)] 10 +State: 11 "5" +[(!0 & 1)] 2 {0} +[(!0 & !1)] 12 +[(0 & !1)] 0 {0} +[(0 & 1)] 13 +State: 12 "10" +[(!0 & 1)] 2 {0} +[(0 & !1)] 0 {0} +[(!0 & !1)] 13 +[(0 & 1)] 11 +State: 13 "8" +[(!0 & !1)] 14 +[(!0 & 1)] 5 {0} +[0] 11 +State: 14 "3" +[(!0 & 1)] 5 {0} +[(!0 & !1)] 12 +[(0 & 1)] 0 {0} +[(0 & !1)] 11 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(!0 & !1)] 2 {0} +[0] 3 +State: 1 "2" +[(0 & 1)] 1 +[(0 & !1)] 3 +[!0] 0 +State: 2 "3" +[(0 & !1)] 2 +[(!0 & 1)] 4 +[(0 & 1)] 5 +[(!0 & !1)] 6 {0} +State: 3 "1" +[(!0 & 1)] 3 +[(0 & !1)] 0 +[((0 & 1) | (!0 & !1))] 7 +State: 4 "7" +[(!0 & 1)] 8 {0} +[(!0 & !1)] 2 +[(0 & 1)] 9 {0} +[(0 & !1)] 4 +State: 5 "9" +[(0 & !1)] 8 {0} +[(0 & 1)] 9 {0} +[!0] 4 +State: 6 "12" +[(!0 & !1)] 10 {0} +[(0 | (!0 & 1))] 11 +State: 7 "8" +[0] 3 +[(!0 & !1)] 0 +[(!0 & 1)] 7 +State: 8 "6" +[(!0 & 1)] 8 +[(0 & 1)] 9 {0} +[(!0 & !1)] 10 +[(0 & !1)] 12 +State: 9 "13" +[1] 9 +[(!0 & !1)] 13 +[(0 & !1)] 14 +State: 10 "4" +[(0 & !1)] 8 +[(0 & 1)] 3 {0} +[(!0 & !1)] 0 {0} +[(!0 & 1)] 12 +State: 11 "14" +[(!0 & 1)] 8 {0} +[(!0 & !1)] 6 +[(0 & !1)] 12 {0} +[(0 & 1)] 11 +State: 12 "5" +[(!0 & !1)] 8 +[1] 9 {0} +[(0 & !1)] 14 {0} +State: 13 "11" +[(!0 & 1)] 13 +[(0 & !1)] 14 +[(!0 & !1)] 0 {0} +[(0 & 1)] 15 +State: 14 "10" +[(0 & 1)] 9 +[(0 & !1)] 14 +[(!0 & !1)] 7 {0} +[(!0 & 1)] 15 +State: 15 "15" +[((0 & 1) | (!0 & !1))] 13 +[((0 & !1) | (!0 & 1))] 14 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[(!0 & !1)] 2 +[(0 & 1)] 3 {0} +[(0 & !1)] 0 +State: 1 "2" +[((0 & !1) | (!0 & 1))] 1 +[(0 & 1)] 3 {0} +[(!0 & !1)] 4 {0} +State: 2 "1" +[(0 & 1)] 5 +[((0 & !1) | !0)] 0 +State: 3 "4" +[(0 & !1)] 6 {0} +[1] 2 {0} +[(!0 & !1)] 7 +State: 4 "5" +[(0 & 1)] 3 +[((0 & !1) | (!0 & 1))] 7 +[(!0 & !1)] 4 +State: 5 "6" +[(0 & !1)] 8 +[1] 2 +[(!0 & !1)] 0 +State: 6 "3" +[(!0 & 1)] 6 +[(!0 & !1)] 9 +[0] 9 {0} +State: 7 "8" +[(0 & 1)] 5 {0} +[(!0 & 1)] 6 {0} +[(0 & !1)] 3 +[(!0 & !1)] 4 +State: 8 "7" +[(!0 & 1)] 8 +[(0 & !1)] 2 +[((0 & 1) | (!0 & !1))] 0 +State: 9 "9" +[(0 & 1)] 5 {0} +[!0] 9 +[(0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 +[((0 & !1) | (!0 & 1))] 2 {0} +[(!0 & !1)] 0 +State: 1 "1" +[(0 & !1)] 3 +[(!0 & !1)] 2 {0} +[(0 & 1)] 1 +[(!0 & 1)] 4 +State: 2 "10" +[(0 & !1)] 5 {0} +[(0 & 1)] 6 +[!0] 2 +State: 3 "7" +[(!0 & !1)] 2 {0} +[((0 & !1) | (!0 & 1))] 1 +[(0 & 1)] 0 +State: 4 "5" +[(!0 & !1)] 3 +[(!0 & 1)] 1 +[(0 & 1)] 0 +[(0 & !1)] 4 +State: 5 "6" +[((0 & !1) | (!0 & 1))] 5 +[(0 & 1)] 7 +[(!0 & !1)] 8 +State: 6 "9" +[(0 & !1)] 5 {0} +[(!0 & !1)] 8 {0} +[(0 & 1)] 6 +[(!0 & 1)] 2 +State: 7 "2" +[(0 & 1)] 7 +[(0 & !1)] 3 {0} +[(!0 & !1)] 9 {0} +[(!0 & 1)] 10 +State: 8 "3" +[t] 5 +State: 9 "4" +[(0 & !1)] 3 {0} +[((0 & 1) | (!0 & !1))] 9 +[(!0 & 1)] 4 {0} +State: 10 "8" +[(0 & 1)] 7 +[!0] 8 +[(0 & !1)] 4 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 {0} +[(0 & 1)] 2 +[(!0 & 1)] 0 +[(!0 & !1)] 3 +State: 1 "7" +[(!0 & 1)] 4 +[(0 & !1)] 1 +[(!0 & !1)] 5 {0} +[(0 & 1)] 6 +State: 2 "1" +[(0 & !1)] 1 {0} +[(!0 & !1)] 7 {0} +[(0 & 1)] 0 +[(!0 & 1)] 3 +State: 3 "8" +[(0 & 1)] 2 +[(!0 & !1)] 7 {0} +[(!0 & 1)] 0 +[(0 & !1)] 8 +State: 4 "3" +[(0 & 1)] 9 {0} +[(!0 & 1)] 4 +[!1] 1 +State: 5 "11" +[1] 9 +[(0 & !1)] 5 +[(!0 & !1)] 2 {0} +State: 6 "9" +[0] 9 {0} +[(!0 & 1)] 10 {0} +[(!0 & !1)] 7 +State: 7 "4" +[(0 & 1)] 4 +[(0 & !1)] 1 +[(!0 & 1)] 6 +[(!0 & !1)] 7 +State: 8 "5" +[(!0 & 1)] 4 {0} +[(0 & !1)] 1 {0} +[(!0 & !1)] 2 +[(0 & 1)] 3 +State: 9 "2" +[0] 9 +[(!0 & !1)] 5 +[(!0 & 1)] 10 +State: 10 "10" +[(!0 & 1)] 11 +[(0 & 1)] 2 {0} +[(!0 & !1)] 3 {0} +[(0 & !1)] 8 {0} +State: 11 "6" +[1] 9 +[(0 & !1)] 5 +[(!0 & !1)] 3 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 | (!0 & 1))] 1 {0} +[(!0 & !1)] 2 +State: 1 "3" +[((0 & 1) | !0)] 1 +[(0 & !1)] 3 +State: 2 "4" +[((0 & 1) | !0)] 4 +[(0 & !1)] 0 +State: 3 "5" +[(!0 & 1)] 5 +[(0 & 1)] 1 +[(!0 & !1)] 6 {0} +[(0 & !1)] 7 {0} +State: 4 "2" +[(!0 & 1)] 4 +[!1] 1 {0} +[(0 & 1)] 0 +State: 5 "6" +[(!0 & !1)] 5 +[1] 1 +[(0 & !1)] 8 {0} +State: 6 "10" +[(0 & 1)] 4 {0} +[!1] 8 +[(!0 & 1)] 7 +State: 7 "8" +[(!0 & !1)] 1 {0} +[(!0 & 1)] 9 +[(0 & 1)] 0 {0} +[(0 & !1)] 7 +State: 8 "7" +[(0 & !1)] 1 {0} +[(!0 & 1)] 10 +[(!0 & !1)] 6 +[(0 & 1)] 0 {0} +State: 9 "9" +[!1] 8 +[(0 & 1)] 0 {0} +[(!0 & 1)] 7 +State: 10 "1" +[(0 & !1)] 1 {0} +[(!0 & !1)] 8 +[(!0 & 1)] 9 +[(0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 {0} +[((0 & !1) | !0)] 0 +State: 1 "2" +[(!0 & 1)] 2 +[(0 & 1)] 3 {0} +[!1] 4 {0} +State: 2 "6" +[(!0 & 1)] 2 +[(0 & 1)] 1 +[(!0 & !1)] 5 +[(0 & !1)] 4 {0} +State: 3 "7" +[(!0 & 1)] 6 {0} +[(0 & 1)] 7 {0} +[!1] 4 +State: 4 "8" +[(!0 & 1)] 6 {0} +[(0 & !1)] 3 +[(!0 & !1)] 8 +[(0 & 1)] 7 {0} +State: 5 "4" +[(0 & !1)] 2 +[(!0 & !1)] 1 +[(0 & 1)] 7 {0} +[(!0 & 1)] 4 {0} +State: 6 "13" +[(!0 & !1)] 6 +[(!0 & 1)] 9 {0} +[0] 7 +State: 7 "12" +[((0 & 1) | !0)] 10 {0} +[(0 & !1)] 11 +State: 8 "10" +[!0] 6 {0} +[(0 & 1)] 3 +[(0 & !1)] 4 +State: 9 "9" +[!0] 9 +[(0 & 1)] 12 +[(0 & !1)] 13 +State: 10 "3" +[(!0 & !1)] 10 +[(!0 & 1)] 9 +[(0 & !1)] 12 +[(0 & 1)] 13 +State: 11 "11" +[(!0 & 1)] 6 +[((0 & 1) | (!0 & !1))] 10 {0} +[(0 & !1)] 11 +State: 12 "1" +[((0 & !1) | !0)] 10 +[(0 & 1)] 0 {0} +State: 13 "5" +[(0 & !1)] 12 +[!0] 0 {0} +[(0 & 1)] 13 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 +[(!0 & 1)] 2 {0} +[(0 & 1)] 0 +[(!0 & !1)] 3 +State: 1 "9" +[(!0 & !1)] 4 +[1] 1 +[(0 & !1)] 5 +State: 2 "1" +[(!0 & !1)] 6 +[1] 2 +[(0 & !1)] 7 +State: 3 "8" +[(!0 & 1)] 8 {0} +[(!0 & !1)] 8 +[(0 & !1)] 1 +[(0 & 1)] 0 +State: 4 "11" +[(!0 & 1)] 8 +[(0 & 1)] 1 +[!1] 0 +State: 5 "10" +[(!0 & 1)] 5 +[(0 & !1)] 7 {0} +[(0 & 1)] 0 +[(!0 & !1)] 3 +State: 6 "6" +[((0 & !1) | !0)] 8 +[(0 & 1)] 2 +State: 7 "4" +[(0 & !1)] 9 {0} +[((0 & 1) | (!0 & !1))] 8 +[(!0 & 1)] 7 +State: 8 "7" +[(!0 & 1)] 9 {0} +[((0 & 1) | (!0 & !1))] 8 +[(0 & !1)] 2 +State: 9 "3" +[((0 & 1) | (!0 & !1))] 10 +[((0 & !1) | (!0 & 1))] 9 +State: 10 "2" +[0] 9 +[!0] 11 {0} +State: 11 "5" +[(0 & 1)] 0 {0} +[((0 & !1) | !0)] 11 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(0 & !1)] 2 +[((0 & 1) | (!0 & !1))] 0 +State: 1 "2" +[(!0 & !1)] 3 {0} +[0] 0 +[(!0 & 1)] 4 {0} +State: 2 "1" +[(!0 & !1)] 1 +[((0 & !1) | (!0 & 1))] 5 +[(0 & 1)] 6 {0} +State: 3 "11" +[((0 & !1) | (!0 & 1))] 7 {0} +[(0 & 1)] 8 +[(!0 & !1)] 3 +State: 4 "12" +[(0 & !1)] 9 {0} +[((0 & 1) | (!0 & !1))] 3 +[(!0 & 1)] 4 +State: 5 "7" +[(0 & !1)] 1 +[(!0 & 1)] 5 +[(!0 & !1)] 0 +[(0 & 1)] 6 {0} +State: 6 "8" +[(0 & !1)] 7 +[(0 & 1)] 10 +[(!0 & !1)] 6 +[(!0 & 1)] 11 {0} +State: 7 "6" +[(!0 & 1)] 7 +[(0 & !1)] 12 {0} +[((0 & 1) | (!0 & !1))] 6 +State: 8 "13" +[(0 & !1)] 7 {0} +[(!0 & !1)] 3 +[(!0 & 1)] 10 {0} +[(0 & 1)] 4 +State: 9 "3" +[((0 & !1) | !0)] 9 +[(0 & 1)] 0 {0} +State: 10 "10" +[((0 & 1) | (!0 & !1))] 7 +[(0 & !1)] 9 {0} +[(!0 & 1)] 10 +State: 11 "5" +[(0 & !1)] 9 {0} +[(!0 & !1)] 13 +[(0 & 1)] 12 +[(!0 & 1)] 11 +State: 12 "4" +[!1] 12 +[(0 & 1)] 0 {0} +[(!0 & 1)] 11 +State: 13 "9" +[(!0 & !1)] 9 {0} +[(0 & 1)] 0 {0} +[((0 & !1) | (!0 & 1))] 11 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(!0 & 1)] 2 +[(0 & 1)] 0 +[(0 & !1)] 3 {0} +State: 1 "6" +[(0 & !1)] 2 +[(0 & 1)] 0 +[!0] 3 {0} +State: 2 "2" +[(!0 & !1)] 1 +[((0 & !1) | (!0 & 1))] 0 +[(0 & 1)] 3 {0} +State: 3 "8" +[(!0 & !1)] 4 +[(!0 & 1)] 5 +[0] 3 +State: 4 "7" +[(!0 & 1)] 5 +[(0 & !1)] 6 {0} +[(0 & 1)] 3 +[(!0 & !1)] 7 {0} +State: 5 "9" +[(!0 & !1)] 4 +[1] 5 +[(0 & !1)] 7 {0} +State: 6 "1" +[1] 6 +[!1] 7 +State: 7 "5" +[(!0 & 1)] 8 +[(0 & !1)] 6 +[((0 & 1) | (!0 & !1))] 7 +State: 8 "3" +[((0 & 1) | !0)] 9 +[(0 & !1)] 7 +State: 9 "4" +[(0 & !1)] 2 {0} +[1] 6 +[(!0 & !1)] 7 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(0 & 1)] 2 {0} +[(!0 & 1)] 3 +[(0 & !1)] 0 +State: 1 "6" +[((0 & !1) | !0)] 4 +[(0 & 1)] 0 +State: 2 "11" +[0] 2 +[(!0 & !1)] 5 {0} +[(!0 & 1)] 6 +State: 3 "4" +[(!0 & 1)] 4 +[(0 & !1)] 2 {0} +[((0 & 1) | (!0 & !1))] 0 +State: 4 "7" +[(!0 & !1)] 1 +[(!0 & 1)] 4 +[0] 2 {0} +State: 5 "1" +[(!0 & 1)] 7 +[(0 & 1)] 0 {0} +[!1] 8 +State: 6 "8" +[(0 & 1)] 7 {0} +[((0 & !1) | (!0 & 1))] 2 +[(!0 & !1)] 9 +State: 7 "2" +[!0] 5 +[0] 8 +State: 8 "5" +[0] 7 +[(!0 & !1)] 10 +[(!0 & 1)] 8 +State: 9 "9" +[(0 & 1)] 7 {0} +[(0 & !1)] 2 +[(!0 & !1)] 9 +[(!0 & 1)] 8 {0} +State: 10 "3" +[(!0 & 1)] 11 {0} +[(0 & 1)] 0 {0} +[!1] 8 +State: 11 "13" +[(!0 & 1)] 11 +[0] 0 {0} +[(!0 & !1)] 12 +State: 12 "12" +[((0 & !1) | (!0 & 1))] 11 +[(!0 & !1)] 13 {0} +[(0 & 1)] 0 {0} +State: 13 "10" +[(!0 & 1)] 4 {0} +[!1] 13 +[(0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[!0] 3 {0} +[0] 2 +State: 2 "1" +[0] 4 +[!0] 0 +State: 3 "3" +[0] 3 +[!0] 5 +State: 4 "6" +[0] 2 +[!0] 5 {0} +State: 5 "4" +[0] 2 {0} +[!0] 6 +State: 6 "5" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "6" +[!0] 3 {0} +[0] 2 +State: 2 "5" +[!0] 4 +[0] 0 +State: 3 "2" +[!0] 5 +[0] 0 {0} +State: 4 "1" +[!0] 6 {0} +[0] 0 +State: 5 "3" +[!0] 3 +[0] 6 +State: 6 "4" +[0] 3 +[!0] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[!0] 2 {0} +[0] 0 +State: 2 "3" +[0] 2 +[!0] 3 +State: 3 "4" +[0] 4 +[!0] 3 +State: 4 "2" +[!0] 2 +[0] 5 {0} +State: 5 "5" +[!0] 0 {0} +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "1" +[0] 3 +[!0] 0 +State: 2 "5" +[!0] 4 +[0] 2 +State: 3 "2" +[!0] 3 +[0] 0 +State: 4 "4" +[0] 5 +[!0] 0 {0} +State: 5 "3" +[!0] 6 +[0] 2 +State: 6 "6" +[!0] 3 {0} +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 0 +State: 2 "2" +[0] 3 {0} +[!0] 0 +State: 3 "3" +[0] 3 +[!0] 4 +State: 4 "5" +[!0] 5 +[0] 0 {0} +State: 5 "4" +[!0] 3 +[0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[0] 2 {0} +[!0] 3 +State: 2 "2" +[0] 4 +[!0] 3 {0} +State: 3 "4" +[0] 0 +[!0] 5 +State: 4 "3" +[0] 2 +[!0] 4 +State: 5 "5" +[0] 6 +[!0] 5 +State: 6 "6" +[0] 4 {0} +[!0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "1" +[t] 0 +State: 2 "4" +[0] 3 {0} +[!0] 2 +State: 3 "2" +[0] 3 +[!0] 4 +State: 4 "3" +[!0] 3 +[0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "6" +[0] 1 +[!0] 3 +State: 2 "4" +[0] 1 {0} +[!0] 4 +State: 3 "7" +[!0] 1 +[0] 5 {0} +State: 4 "1" +[0] 2 +[!0] 0 +State: 5 "2" +[0] 6 +[!0] 7 +State: 6 "3" +[0] 5 +[!0] 6 +State: 7 "5" +[!0] 5 +[0] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[!0] 2 +[0] 0 +State: 2 "2" +[0] 0 +[!0] 3 {0} +State: 3 "5" +[0] 4 +[!0] 3 +State: 4 "6" +[!0] 5 {0} +[0] 3 +State: 5 "4" +[!0] 6 +[0] 0 {0} +State: 6 "3" +[0] 6 +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[0] 1 +[!0] 0 +State: 2 "3" +[0] 3 +[!0] 4 +State: 3 "1" +[0] 2 +[!0] 0 {0} +State: 4 "4" +[!0] 1 {0} +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "6" +[!0] 2 {0} +[0] 3 +State: 2 "3" +[!0] 4 +[0] 0 {0} +State: 3 "5" +[!0] 5 +[0] 0 +State: 4 "4" +[0] 6 +[!0] 2 +State: 5 "1" +[!0] 6 {0} +[0] 0 +State: 6 "2" +[!0] 6 +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "1" +[0] 3 {0} +[!0] 2 +State: 2 "5" +[0] 4 +[!0] 0 +State: 3 "2" +[0] 5 +[!0] 0 {0} +State: 4 "6" +[0] 6 {0} +[!0] 0 +State: 5 "3" +[0] 3 +[!0] 6 +State: 6 "4" +[!0] 3 +[0] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[0] 0 +[!0] 2 {0} +State: 2 "5" +[0] 3 +[!0] 4 +State: 3 "6" +[0] 4 +[!0] 2 +State: 4 "7" +[!0] 5 {0} +[0] 2 +State: 5 "2" +[0] 6 +[!0] 7 +State: 6 "3" +[!0] 5 +[0] 7 +State: 7 "4" +[0] 5 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[0] 1 +[!0] 0 +State: 2 "1" +[!0] 3 {0} +[0] 0 +State: 3 "3" +[0] 4 +[!0] 5 +State: 4 "6" +[0] 0 {0} +[!0] 5 +State: 5 "5" +[!0] 3 +[0] 6 +State: 6 "4" +[0] 1 {0} +[!0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "4" +[0] 2 +[!0] 3 +State: 2 "2" +[0] 0 +[!0] 3 {0} +State: 3 "5" +[0] 4 +[!0] 0 {0} +State: 4 "3" +[0] 5 +[!0] 0 +State: 5 "1" +[!0] 2 +[0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "6" +[!0] 1 +[0] 3 +State: 2 "1" +[t] 0 +State: 3 "7" +[!0] 4 {0} +[0] 5 +State: 4 "2" +[t] 6 +State: 5 "5" +[0] 1 +[!0] 6 {0} +State: 6 "4" +[!0] 4 +[0] 7 +State: 7 "3" +[0] 4 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 +[!0] 0 +State: 2 "2" +[!0] 3 {0} +[0] 1 +State: 3 "6" +[0] 4 +[!0] 5 {0} +State: 4 "7" +[!0] 3 +[0] 6 {0} +State: 5 "4" +[!0] 5 +[0] 7 +State: 6 "3" +[0] 6 +[!0] 5 +State: 7 "5" +[!0] 6 +[0] 8 {0} +State: 8 "8" +[!0] 0 {0} +[0] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 2 {0} +[!0] 0 +State: 2 "2" +[0] 3 +[!0] 4 +State: 3 "3" +[0] 4 +[!0] 5 {0} +State: 4 "4" +[0] 2 +[!0] 5 {0} +State: 5 "5" +[0] 0 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 2 +[!0] 1 +State: 2 "2" +[0] 3 {0} +[!0] 0 +State: 3 "6" +[0] 3 +[!0] 4 {0} +State: 4 "4" +[t] 5 +State: 5 "3" +[!0] 4 +[0] 6 +State: 6 "5" +[0] 5 +[!0] 7 {0} +State: 7 "7" +[!0] 7 +[0] 8 +State: 8 "8" +[!0] 7 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "1" +[t] 0 +State: 2 "4" +[!0] 3 {0} +[0] 2 +State: 3 "2" +[!0] 3 +[0] 4 +State: 4 "3" +[0] 3 +[!0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "1" +[!0] 3 {0} +[0] 0 +State: 2 "4" +[!0] 4 {0} +[0] 0 +State: 3 "3" +[!0] 4 +[0] 3 +State: 4 "2" +[!0] 3 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "6" +[!0] 3 {0} +[0] 2 +State: 2 "5" +[!0] 4 +[0] 0 +State: 3 "4" +[0] 5 +[!0] 3 +State: 4 "1" +[!0] 5 {0} +[0] 2 +State: 5 "3" +[!0] 6 +[0] 3 +State: 6 "2" +[!0] 5 +[0] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 {0} +[!0] 0 +State: 2 "3" +[0] 3 +[!0] 2 +State: 3 "2" +[0] 2 +[!0] 4 {0} +State: 4 "4" +[0] 1 {0} +[!0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "3" +[t] 3 +State: 2 "4" +[t] 4 +State: 3 "2" +[0] 0 +[!0] 5 {0} +State: 4 "1" +[!0] 1 {0} +[0] 2 +State: 5 "5" +[t] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 2 +[!0] 0 +State: 2 "2" +[0] 3 {0} +[!0] 0 +State: 3 "4" +[0] 4 +[!0] 3 +State: 4 "3" +[0] 3 +[!0] 5 {0} +State: 5 "5" +[0] 6 +[!0] 5 +State: 6 "6" +[0] 0 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[t] 2 +State: 2 "1" +[!0] 3 {0} +[0] 0 +State: 3 "3" +[0] 2 {0} +[!0] 4 +State: 4 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "6" +[!0] 3 +[0] 4 +State: 2 "1" +[t] 5 +State: 3 "3" +[!0] 1 +[0] 4 {0} +State: 4 "5" +[0] 6 +[!0] 7 +State: 5 "4" +[t] 0 +State: 6 "2" +[0] 1 +[!0] 8 +State: 7 "8" +[!0] 1 +[0] 8 {0} +State: 8 "7" +[!0] 1 +[0] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[t] 2 +State: 2 "1" +[!0] 3 {0} +[0] 0 +State: 3 "3" +[0] 2 {0} +[!0] 4 +State: 4 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[t] 2 +State: 2 "2" +[!0] 0 +[0] 3 {0} +State: 3 "8" +[0] 4 +[!0] 3 +State: 4 "7" +[!0] 3 +[0] 5 {0} +State: 5 "5" +[0] 6 +[!0] 5 +State: 6 "6" +[!0] 6 +[0] 7 +State: 7 "3" +[0] 8 {0} +[!0] 5 +State: 8 "4" +[0] 8 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "1" +[0] 3 {0} +[!0] 0 +State: 2 "4" +[0] 4 {0} +[!0] 0 +State: 3 "3" +[0] 4 +[!0] 0 {0} +State: 4 "2" +[!0] 4 +[0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 0 +[!0] 1 +State: 1 "8" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[!0] 4 +[0] 0 +State: 3 "4" +[0] 5 +[!0] 3 +State: 4 "7" +[0] 4 +[!0] 6 +State: 5 "6" +[0] 3 +[!0] 7 {0} +State: 6 "1" +[0] 2 +[!0] 7 {0} +State: 7 "5" +[0] 2 {0} +[!0] 8 +State: 8 "3" +[0] 8 +[!0] 7 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 3 {0} +State: 2 "3" +[!0] 1 +[0] 0 +State: 3 "4" +[0] 1 {0} +[!0] 4 +State: 4 "5" +[!0] 5 +[0] 0 {0} +State: 5 "2" +[!0] 6 +[0] 3 +State: 6 "6" +[0] 0 {0} +[!0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[0] 1 +[!0] 0 +State: 3 "4" +[0] 4 +[!0] 3 +State: 4 "3" +[!0] 5 +[0] 1 {0} +State: 5 "6" +[!0] 3 +[0] 6 +State: 6 "5" +[!0] 3 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 3 {0} +State: 2 "2" +[0] 2 +[!0] 0 +State: 3 "8" +[!0] 4 {0} +[0] 3 +State: 4 "4" +[0] 5 +[!0] 4 +State: 5 "3" +[!0] 6 {0} +[0] 4 +State: 6 "6" +[0] 7 +[!0] 8 +State: 7 "7" +[!0] 6 +[0] 2 {0} +State: 8 "5" +[!0] 7 +[0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[!0] 2 {0} +[0] 0 +State: 2 "3" +[0] 3 +[!0] 4 +State: 3 "2" +[!0] 2 +[0] 0 {0} +State: 4 "4" +[!0] 2 +[0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 0 +State: 1 "4" +[0] 2 +[!0] 3 +State: 2 "6" +[!0] 4 {0} +[0] 1 +State: 3 "2" +[!0] 2 +[0] 3 +State: 4 "3" +[!0] 0 {0} +[0] 5 +State: 5 "5" +[0] 6 +[!0] 7 +State: 6 "7" +[!0] 4 +[0] 1 {0} +State: 7 "1" +[0] 3 {0} +[!0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "6" +[!0] 3 +[0] 0 +State: 2 "4" +[0] 4 +[!0] 3 {0} +State: 3 "1" +[!0] 3 +[0] 5 +State: 4 "3" +[t] 6 +State: 5 "5" +[0] 1 +[!0] 6 {0} +State: 6 "2" +[0] 6 +[!0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 0 +State: 2 "2" +[0] 3 {0} +[!0] 1 +State: 3 "3" +[0] 3 +[!0] 4 +State: 4 "4" +[0] 3 +[!0] 5 {0} +State: 5 "5" +[0] 0 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "4" +[0] 2 +[!0] 3 +State: 2 "2" +[0] 0 +[!0] 3 {0} +State: 3 "5" +[0] 4 +[!0] 0 {0} +State: 4 "3" +[0] 5 +[!0] 0 +State: 5 "1" +[!0] 2 +[0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 +[!0] 0 +State: 2 "2" +[0] 3 {0} +[!0] 0 +State: 3 "3" +[t] 4 +State: 4 "4" +[0] 3 +[!0] 5 {0} +State: 5 "5" +[0] 1 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "3" +[0] 1 +[!0] 3 +State: 2 "4" +[0] 1 {0} +[!0] 4 +State: 3 "1" +[!0] 5 +[0] 2 {0} +State: 4 "5" +[0] 2 +[!0] 0 +State: 5 "2" +[!0] 1 +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "3" +[0] 1 +[!0] 3 +State: 2 "4" +[t] 4 +State: 3 "1" +[!0] 5 +[0] 4 +State: 4 "5" +[0] 1 {0} +[!0] 0 +State: 5 "2" +[!0] 1 +[0] 4 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "1" +[!0] 3 +[0] 0 +State: 2 "4" +[!0] 4 +[0] 5 +State: 3 "6" +[!0] 1 +[0] 6 +State: 4 "2" +[0] 4 +[!0] 2 +State: 5 "3" +[!0] 1 {0} +[0] 2 +State: 6 "5" +[0] 4 {0} +[!0] 1 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "1" +[0] 3 {0} +[!0] 0 +State: 2 "4" +[0] 4 {0} +[!0] 0 +State: 3 "3" +[0] 4 +[!0] 0 {0} +State: 4 "2" +[!0] 4 +[0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 0 +State: 2 "2" +[0] 3 {0} +[!0] 0 +State: 3 "3" +[0] 3 +[!0] 4 +State: 4 "5" +[!0] 5 +[0] 0 {0} +State: 5 "4" +[!0] 3 +[0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "6" +[!0] 3 {0} +[0] 2 +State: 2 "1" +[0] 4 +[!0] 0 +State: 3 "3" +[!0] 3 +[0] 5 +State: 4 "2" +[0] 2 +[!0] 6 {0} +State: 5 "5" +[!0] 6 +[0] 5 +State: 6 "4" +[0] 3 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[!0] 2 +[0] 0 +State: 2 "2" +[0] 3 {0} +[!0] 1 +State: 3 "3" +[0] 4 +[!0] 3 +State: 4 "6" +[0] 1 {0} +[!0] 5 +State: 5 "5" +[0] 6 +[!0] 5 +State: 6 "4" +[!0] 3 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "3" +[0] 3 +[!0] 1 +State: 2 "4" +[0] 4 +[!0] 5 +State: 3 "2" +[!0] 3 +[0] 0 +State: 4 "6" +[!0] 6 +[0] 2 +State: 5 "5" +[0] 3 {0} +[!0] 2 +State: 6 "1" +[!0] 4 +[0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[0] 0 +[!0] 2 {0} +State: 2 "5" +[!0] 3 +[0] 4 {0} +State: 3 "2" +[0] 4 +[!0] 5 +State: 4 "3" +[!0] 3 +[0] 0 {0} +State: 5 "4" +[0] 4 +[!0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "1" +[t] 0 +State: 2 "4" +[0] 3 {0} +[!0] 2 +State: 3 "2" +[0] 3 +[!0] 4 +State: 4 "3" +[!0] 3 +[0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "2" +[!0] 3 +[0] 4 +State: 2 "1" +[!0] 2 +[0] 0 +State: 3 "3" +[!0] 1 +[0] 4 {0} +State: 4 "4" +[!0] 1 +[0] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 0 +State: 2 "2" +[0] 3 {0} +[!0] 0 +State: 3 "3" +[!0] 4 +[0] 5 {0} +State: 4 "4" +[0] 3 +[!0] 4 +State: 5 "5" +[!0] 6 +[0] 5 +State: 6 "7" +[!0] 7 +[0] 0 {0} +State: 7 "6" +[0] 1 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "1" +[0] 1 +[!0] 0 +State: 2 "5" +[t] 3 +State: 3 "6" +[0] 4 {0} +[!0] 5 +State: 4 "3" +[0] 1 {0} +[!0] 5 +State: 5 "4" +[0] 6 +[!0] 2 +State: 6 "2" +[t] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "1" +[t] 0 +State: 2 "4" +[!0] 3 {0} +[0] 2 +State: 3 "2" +[!0] 3 +[0] 4 +State: 4 "3" +[0] 3 +[!0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "8" +[!0] 3 +[0] 1 +State: 2 "5" +[0] 4 +[!0] 0 +State: 3 "7" +[!0] 5 +[0] 6 {0} +State: 4 "1" +[0] 4 +[!0] 2 +State: 5 "6" +[0] 7 {0} +[!0] 1 +State: 6 "3" +[t] 7 +State: 7 "4" +[!0] 8 +[0] 6 +State: 8 "2" +[!0] 6 +[0] 4 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 3 {0} +State: 2 "2" +[!0] 1 +[0] 0 +State: 3 "3" +[0] 3 +[!0] 4 {0} +State: 4 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[!0] 1 +[0] 0 +State: 2 "1" +[!0] 3 {0} +[0] 0 +State: 3 "6" +[0] 3 +[!0] 4 +State: 4 "7" +[0] 3 +[!0] 5 {0} +State: 5 "3" +[0] 5 +[!0] 6 +State: 6 "4" +[0] 6 +[!0] 7 +State: 7 "5" +[!0] 1 {0} +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "1" +[t] 0 +State: 2 "4" +[0] 3 +[!0] 4 +State: 3 "6" +[!0] 5 +[0] 0 {0} +State: 4 "5" +[!0] 6 +[0] 5 {0} +State: 5 "7" +[0] 6 +[!0] 7 +State: 6 "3" +[0] 5 +[!0] 2 +State: 7 "8" +[!0] 8 +[0] 4 +State: 8 "2" +[!0] 5 +[0] 4 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[t] 2 +State: 2 "2" +[!0] 3 {0} +[0] 0 +State: 3 "4" +[0] 4 +[!0] 3 +State: 4 "3" +[!0] 5 {0} +[0] 3 +State: 5 "6" +[!0] 0 {0} +[0] 6 +State: 6 "5" +[!0] 5 +[0] 7 +State: 7 "7" +[0] 5 +[!0] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "3" +[0] 1 +[!0] 3 +State: 2 "4" +[0] 1 {0} +[!0] 4 +State: 3 "1" +[!0] 5 +[0] 2 {0} +State: 4 "5" +[0] 2 +[!0] 0 +State: 5 "2" +[!0] 1 +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 0 +State: 2 "2" +[0] 3 {0} +[!0] 0 +State: 3 "4" +[!0] 4 +[0] 5 {0} +State: 4 "3" +[t] 3 +State: 5 "5" +[!0] 6 +[0] 5 +State: 6 "7" +[!0] 7 +[0] 0 {0} +State: 7 "6" +[0] 1 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "1" +[!0] 3 {0} +[0] 0 +State: 2 "5" +[!0] 4 {0} +[0] 0 +State: 3 "2" +[!0] 5 +[0] 4 +State: 4 "4" +[0] 3 +[!0] 4 +State: 5 "3" +[!0] 3 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "6" +[!0] 3 +[0] 4 +State: 2 "5" +[0] 5 +[!0] 0 +State: 3 "7" +[!0] 6 {0} +[0] 2 +State: 4 "8" +[0] 0 +[!0] 2 {0} +State: 5 "1" +[0] 3 +[!0] 4 +State: 6 "2" +[!0] 7 {0} +[0] 0 +State: 7 "3" +[t] 8 +State: 8 "4" +[0] 1 {0} +[!0] 7 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[!0] 0 +[0] 0 {0} +State: 3 "3" +[0] 4 +[!0] 5 +State: 4 "6" +[0] 0 {0} +[!0] 6 +State: 5 "4" +[0] 4 {0} +[!0] 6 +State: 6 "5" +[0] 4 +[!0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 0 +State: 1 "4" +[t] 2 +State: 2 "6" +[0] 2 +[!0] 3 +State: 3 "2" +[!0] 4 {0} +[0] 1 +State: 4 "3" +[!0] 5 {0} +[0] 6 +State: 5 "7" +[!0] 0 {0} +[0] 7 +State: 6 "5" +[t] 8 +State: 7 "8" +[!0] 5 +[0] 7 +State: 8 "1" +[t] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[!0] 1 +[0] 3 +State: 2 "5" +[!0] 4 +[0] 5 +State: 3 "3" +[!0] 3 +[0] 0 +State: 4 "6" +[0] 3 {0} +[!0] 2 +State: 5 "1" +[!0] 6 +[0] 2 +State: 6 "4" +[!0] 5 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "1" +[0] 3 +[!0] 0 {0} +State: 2 "4" +[0] 3 {0} +[!0] 2 +State: 3 "2" +[!0] 4 +[0] 1 +State: 4 "3" +[t] 1 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "3" +[!0] 1 +[0] 3 +State: 2 "1" +[!0] 2 +[0] 0 +State: 3 "5" +[!0] 1 +[0] 4 {0} +State: 4 "7" +[t] 5 +State: 5 "8" +[!0] 6 {0} +[0] 7 +State: 6 "2" +[0] 8 +[!0] 6 +State: 7 "9" +[!0] 8 {0} +[0] 4 +State: 8 "6" +[!0] 2 {0} +[0] 9 +State: 9 "4" +[!0] 8 +[0] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "2" +[!0] 1 +[0] 3 +State: 2 "1" +[t] 0 +State: 3 "4" +[0] 4 {0} +[!0] 5 +State: 4 "6" +[!0] 5 +[0] 2 {0} +State: 5 "3" +[!0] 3 +[0] 6 +State: 6 "5" +[0] 4 +[!0] 1 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[!0] 3 +[0] 2 +State: 2 "4" +[0] 1 +[!0] 4 +State: 3 "1" +[0] 1 +[!0] 0 +State: 4 "3" +[0] 1 {0} +[!0] 5 +State: 5 "5" +[0] 3 +[!0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "7" +[0] 3 {0} +[!0] 1 +State: 2 "1" +[t] 4 +State: 3 "6" +[0] 3 +[!0] 5 +State: 4 "4" +[0] 6 {0} +[!0] 0 +State: 5 "3" +[!0] 3 +[0] 2 {0} +State: 6 "2" +[0] 6 +[!0] 7 +State: 7 "5" +[!0] 3 {0} +[0] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "1" +[!0] 0 +[0] 3 +State: 2 "8" +[!0] 4 +[0] 5 +State: 3 "5" +[t] 0 +State: 4 "6" +[0] 6 +[!0] 2 +State: 5 "7" +[!0] 7 +[0] 8 {0} +State: 6 "4" +[!0] 7 +[0] 3 {0} +State: 7 "2" +[!0] 6 +[0] 2 +State: 8 "3" +[0] 8 +[!0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "10" +[!0] 1 +[0] 3 +State: 2 "1" +[!0] 2 +[0] 4 +State: 3 "8" +[!0] 5 {0} +[0] 6 +State: 4 "5" +[0] 0 +[!0] 4 +State: 5 "2" +[0] 5 +[!0] 7 +State: 6 "9" +[!0] 6 +[0] 1 +State: 7 "4" +[0] 5 +[!0] 8 {0} +State: 8 "7" +[0] 9 +[!0] 10 +State: 9 "6" +[0] 10 +[!0] 8 +State: 10 "3" +[0] 9 +[!0] 4 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 1 +State: 1 "1" +[!0] 1 +[0] 2 +State: 2 "4" +[0] 3 {0} +[!0] 0 +State: 3 "2" +[t] 4 +State: 4 "3" +[!0] 5 {0} +[0] 3 +State: 5 "6" +[!0] 1 {0} +[0] 6 +State: 6 "5" +[!0] 5 +[0] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[0] 3 {0} +[!0] 0 +State: 2 "1" +[0] 0 +[!0] 4 {0} +State: 3 "7" +[0] 5 +[!0] 6 {0} +State: 4 "8" +[0] 3 +[!0] 4 +State: 5 "6" +[0] 4 +[!0] 7 {0} +State: 6 "4" +[t] 7 +State: 7 "5" +[0] 8 +[!0] 6 +State: 8 "3" +[!0] 1 {0} +[0] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "3" +[0] 3 +[!0] 4 +State: 2 "1" +[!0] 5 +[0] 0 +State: 3 "4" +[!0] 1 +[0] 2 {0} +State: 4 "5" +[0] 5 {0} +[!0] 1 +State: 5 "2" +[0] 5 +[!0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "6" +[!0] 1 +[0] 3 +State: 2 "1" +[!0] 2 +[0] 0 +State: 3 "7" +[!0] 1 +[0] 4 {0} +State: 4 "3" +[!0] 5 +[0] 6 {0} +State: 5 "4" +[!0] 7 +[0] 4 +State: 6 "5" +[!0] 2 {0} +[0] 6 +State: 7 "2" +[t] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 +[!0] 0 +State: 2 "2" +[!0] 3 {0} +[0] 0 +State: 3 "3" +[!0] 3 +[0] 4 +State: 4 "5" +[0] 5 +[!0] 0 {0} +State: 5 "4" +[0] 3 +[!0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[0] 2 +[!0] 1 +State: 2 "2" +[0] 3 {0} +[!0] 0 +State: 3 "4" +[!0] 4 +[0] 3 +State: 4 "3" +[0] 5 {0} +[!0] 3 +State: 5 "6" +[0] 0 {0} +[!0] 6 +State: 6 "5" +[0] 5 +[!0] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[!0] 2 +[0] 0 +State: 3 "4" +[!0] 4 +[0] 5 {0} +State: 4 "3" +[!0] 3 +[0] 5 +State: 5 "5" +[0] 2 {0} +[!0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "1" +[0] 3 {0} +[!0] 0 +State: 2 "4" +[0] 4 {0} +[!0] 0 +State: 3 "3" +[0] 4 +[!0] 0 {0} +State: 4 "2" +[!0] 4 +[0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "2" +[0] 3 +[!0] 4 +State: 2 "1" +[0] 5 +[!0] 1 {0} +State: 3 "10" +[!0] 6 {0} +[0] 7 +State: 4 "8" +[!0] 7 +[0] 8 +State: 5 "6" +[!0] 2 +[0] 0 +State: 6 "7" +[0] 5 {0} +[!0] 9 +State: 7 "9" +[!0] 1 +[0] 3 +State: 8 "4" +[0] 1 +[!0] 9 {0} +State: 9 "5" +[t] 10 +State: 10 "3" +[t] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[0] 0 +[!0] 3 +State: 2 "1" +[!0] 4 +[0] 5 +State: 3 "5" +[!0] 1 +[0] 4 {0} +State: 4 "3" +[0] 4 +[!0] 2 +State: 5 "4" +[!0] 1 {0} +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[0] 0 +[!0] 2 {0} +State: 2 "8" +[0] 3 +[!0] 4 +State: 3 "6" +[0] 5 {0} +[!0] 2 +State: 4 "7" +[!0] 3 +[0] 6 {0} +State: 5 "3" +[0] 5 +[!0] 7 +State: 6 "2" +[!0] 5 +[0] 8 {0} +State: 7 "4" +[t] 6 +State: 8 "5" +[!0] 0 {0} +[0] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "1" +[!0] 3 {0} +[0] 0 +State: 2 "5" +[!0] 4 {0} +[0] 0 +State: 3 "4" +[t] 4 +State: 4 "2" +[0] 5 +[!0] 2 {0} +State: 5 "3" +[0] 5 +[!0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[0] 3 +[!0] 0 +State: 2 "1" +[!0] 4 +[0] 5 +State: 3 "3" +[0] 1 +[!0] 3 +State: 4 "4" +[!0] 1 {0} +[0] 2 +State: 5 "5" +[!0] 3 {0} +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "1" +[0] 3 {0} +[!0] 4 +State: 2 "5" +[0] 3 +[!0] 4 {0} +State: 3 "2" +[!0] 5 +[0] 6 {0} +State: 4 "4" +[0] 6 +[!0] 0 +State: 5 "3" +[t] 2 +State: 6 "7" +[!0] 7 +[0] 4 +State: 7 "6" +[!0] 7 {0} +[0] 1 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "6" +[0] 1 +[!0] 3 {0} +State: 2 "2" +[0] 2 +[!0] 4 +State: 3 "1" +[0] 5 +[!0] 3 +State: 4 "4" +[!0] 4 +[0] 0 +State: 5 "3" +[0] 3 +[!0] 6 +State: 6 "5" +[0] 2 {0} +[!0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[!0] 2 +[0] 1 +State: 2 "2" +[!0] 3 {0} +[0] 0 +State: 3 "4" +[0] 4 +[!0] 3 +State: 4 "7" +[0] 5 {0} +[!0] 3 +State: 5 "3" +[!0] 6 +[0] 7 +State: 6 "6" +[0] 5 +[!0] 8 {0} +State: 7 "5" +[0] 6 +[!0] 7 +State: 8 "8" +[!0] 9 +[0] 8 +State: 9 "9" +[!0] 0 {0} +[0] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 1 +State: 1 "4" +[!0] 2 {0} +[0] 1 +State: 2 "3" +[!0] 3 +[0] 4 +State: 3 "2" +[!0] 2 +[0] 0 {0} +State: 4 "1" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "4" +[0] 3 +[!0] 0 +State: 2 "5" +[0] 3 {0} +[!0] 1 +State: 3 "3" +[!0] 4 +[0] 1 +State: 4 "2" +[!0] 5 +[0] 1 {0} +State: 5 "1" +[!0] 3 +[0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "4" +[0] 3 +[!0] 0 +State: 2 "5" +[0] 3 {0} +[!0] 1 +State: 3 "3" +[!0] 4 +[0] 1 +State: 4 "2" +[!0] 5 +[0] 1 {0} +State: 5 "1" +[!0] 3 +[0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[!0] 2 {0} +[0] 3 +State: 2 "6" +[!0] 4 {0} +[0] 5 +State: 3 "2" +[t] 0 +State: 4 "3" +[!0] 0 {0} +[0] 6 +State: 5 "7" +[t] 2 +State: 6 "5" +[0] 4 +[!0] 7 +State: 7 "4" +[!0] 4 +[0] 7 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[0] 1 +[!0] 0 +State: 2 "1" +[0] 3 +[!0] 4 +State: 3 "3" +[0] 2 +[!0] 4 {0} +State: 4 "4" +[!0] 1 {0} +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[0] 0 +[!0] 2 {0} +State: 2 "8" +[!0] 3 +[0] 4 +State: 3 "7" +[!0] 4 +[0] 5 {0} +State: 4 "9" +[0] 6 {0} +[!0] 2 +State: 5 "4" +[!0] 6 +[0] 7 {0} +State: 6 "6" +[0] 6 +[!0] 8 +State: 7 "3" +[0] 7 +[!0] 9 +State: 8 "2" +[t] 5 +State: 9 "5" +[!0] 7 +[0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "9" +[0] 3 +[!0] 4 +State: 2 "5" +[0] 5 +[!0] 0 +State: 3 "10" +[0] 1 +[!0] 3 +State: 4 "8" +[!0] 1 +[0] 6 {0} +State: 5 "7" +[!0] 5 +[0] 2 +State: 6 "1" +[!0] 7 +[0] 6 +State: 7 "3" +[!0] 8 {0} +[0] 6 +State: 8 "2" +[!0] 5 {0} +[0] 9 +State: 9 "4" +[!0] 10 +[0] 8 +State: 10 "6" +[0] 10 +[!0] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "1" +[0] 3 +[!0] 0 +State: 2 "8" +[!0] 4 +[0] 5 +State: 3 "3" +[!0] 1 +[0] 0 +State: 4 "2" +[0] 5 {0} +[!0] 2 +State: 5 "4" +[!0] 6 +[0] 7 +State: 6 "6" +[0] 1 {0} +[!0] 2 +State: 7 "7" +[0] 2 +[!0] 8 +State: 8 "5" +[0] 3 {0} +[!0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "1" +[!0] 3 +[0] 0 +State: 2 "5" +[!0] 4 {0} +[0] 5 +State: 3 "3" +[t] 0 +State: 4 "2" +[!0] 4 +[0] 1 {0} +State: 5 "4" +[0] 6 +[!0] 2 +State: 6 "6" +[!0] 3 {0} +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 +[!0] 0 +State: 2 "2" +[!0] 3 {0} +[0] 0 +State: 3 "4" +[0] 4 +[!0] 3 +State: 4 "3" +[0] 3 +[!0] 5 {0} +State: 5 "5" +[0] 6 +[!0] 5 +State: 6 "7" +[0] 7 +[!0] 0 {0} +State: 7 "6" +[!0] 1 {0} +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "1" +[0] 3 {0} +[!0] 0 +State: 2 "4" +[0] 4 {0} +[!0] 0 +State: 3 "3" +[0] 4 +[!0] 0 {0} +State: 4 "2" +[!0] 4 +[0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(!0 & !1)] 1 {0} +[(0 & 1)] 0 +[(0 & !1)] 0 {0} +State: 1 "1" +[!0] 2 +[(0 & 1)] 3 {0} +[(0 & !1)] 0 {0} +State: 2 "2" +[((0 & 1) | !0)] 1 +[(0 & !1)] 0 +State: 3 "3" +[!0] 2 {0} +[(0 & 1)] 3 +[(0 & !1)] 3 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 1 +State: 1 "1" +[(!0 & !1)] 2 +[(!0 & 1)] 1 {0} +[0] 0 +State: 2 "2" +[(0 & 1)] 3 +[!0] 1 +[(0 & !1)] 0 {0} +State: 3 "3" +[(0 & 1)] 2 +[!0] 1 +[(0 & !1)] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "3" +[0] 3 +[(!0 & 1)] 0 +[(!0 & !1)] 0 {0} +State: 2 "1" +[0] 3 +[(!0 & !1)] 2 {0} +[(!0 & 1)] 0 +State: 3 "2" +[0] 3 +[!0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[(!0 & 1)] 2 {0} +[(!0 & !1)] 0 {0} +[0] 0 +State: 2 "4" +[0] 3 {0} +[!0] 2 +State: 3 "3" +[(!0 & 1)] 4 +[(0 | (!0 & !1))] 0 {0} +State: 4 "2" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "2" +[!0] 3 +[0] 4 +State: 2 "3" +[0] 1 +[!0] 0 +State: 3 "1" +[(0 & 1)] 1 {0} +[(0 & !1)] 2 +[!0] 0 +State: 4 "4" +[!0] 2 +[0] 4 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "3" +[0] 3 +[!0] 4 +State: 2 "1" +[0] 2 +[!0] 0 +State: 3 "2" +[0] 1 +[!0] 0 {0} +State: 4 "4" +[0] 1 +[!0] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "2" +[0] 1 +[(!0 & 1)] 3 +[(!0 & !1)] 4 +State: 2 "4" +[(0 & !1)] 1 {0} +[(0 & 1)] 4 {0} +[!0] 0 +State: 3 "3" +[(!0 & !1)] 1 +[(0 & !1)] 1 {0} +[(!0 & 1)] 2 {0} +[(0 & 1)] 0 {0} +State: 4 "1" +[!0] 1 +[(0 & 1)] 3 +[(0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 {0} +[(0 & 1)] 2 +[!0] 0 +State: 1 "3" +[!0] 3 +[0] 1 +State: 2 "1" +[!0] 1 +[(0 & !1)] 2 +[(0 & 1)] 4 +State: 3 "2" +[(0 & !1)] 1 {0} +[(0 & 1)] 2 {0} +[!0] 0 +State: 4 "4" +[0] 1 {0} +[!0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "3" +[!0] 3 +[0] 4 +State: 2 "1" +[!0] 2 +[0] 0 +State: 3 "2" +[!0] 1 +[0] 0 {0} +State: 4 "4" +[!0] 1 +[0] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 {0} +[!0] 3 +State: 2 "2" +[(!0 & 1)] 1 {0} +[(!0 & !1)] 4 {0} +[0] 4 +State: 3 "3" +[(0 & !1)] 2 {0} +[!0] 1 +[(0 & 1)] 0 +State: 4 "4" +[!0] 3 {0} +[0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 0 +State: 1 "3" +[0] 2 +[(!0 & 1)] 1 +[(!0 & !1)] 3 +State: 2 "2" +[(!0 & 1)] 1 {0} +[(0 & 1)] 1 +[(0 & !1)] 4 +[(!0 & !1)] 0 {0} +State: 3 "1" +[0] 2 {0} +[!0] 1 +State: 4 "4" +[!0] 1 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 +[(0 & 1)] 2 +[!0] 0 {0} +State: 1 "1" +[(0 & !1)] 3 {0} +[(0 & 1)] 2 {0} +[!0] 0 +State: 2 "4" +[(0 & 1)] 3 {0} +[(0 & !1)] 4 {0} +[!0] 0 +State: 3 "2" +[(0 & 1)] 3 +[(0 & !1)] 4 +[!0] 0 {0} +State: 4 "3" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "3" +[!0] 3 +[0] 4 +State: 2 "4" +[!0] 3 {0} +[0] 0 +State: 3 "2" +[!0] 1 +[0] 2 {0} +State: 4 "1" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[(!0 & 1)] 1 {0} +[0] 2 +[(!0 & !1)] 3 {0} +State: 2 "1" +[!0] 4 +[0] 0 +State: 3 "4" +[!0] 4 {0} +[0] 2 +State: 4 "3" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "3" +[0] 3 +[!0] 4 +State: 2 "1" +[(0 & !1)] 3 {0} +[(0 & 1)] 2 +[!0] 0 +State: 3 "2" +[0] 1 +[!0] 0 {0} +State: 4 "4" +[0] 1 +[!0] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 0 +State: 1 "3" +[!0] 2 +[0] 3 +State: 2 "1" +[!0] 4 +[0] 3 +State: 3 "4" +[0] 1 +[!0] 2 {0} +State: 4 "2" +[0] 1 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[(!0 & 1)] 3 +[(!0 & !1)] 4 {0} +[(0 & !1)] 2 +[(0 & 1)] 0 {0} +State: 2 "4" +[(!0 & !1)] 1 {0} +[(!0 & 1)] 3 +[(0 & !1)] 2 +[(0 & 1)] 0 {0} +State: 3 "3" +[!0] 4 +[0] 0 +State: 4 "1" +[!0] 3 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "1" +[(!0 & 1)] 3 +[(!0 & !1)] 0 +[0] 0 {0} +State: 2 "4" +[0] 4 {0} +[(!0 & 1)] 3 +[(!0 & !1)] 0 +State: 3 "3" +[0] 4 +[!0] 3 +State: 4 "2" +[!0] 3 +[0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 0 +State: 1 "3" +[(!0 & !1)] 2 +[0] 3 +[(!0 & 1)] 0 {0} +State: 2 "1" +[(!0 & !1)] 4 +[(0 & 1)] 1 {0} +[(0 & !1)] 3 +[(!0 & 1)] 0 {0} +State: 3 "4" +[0] 1 +[(!0 & !1)] 2 {0} +[(!0 & 1)] 0 {0} +State: 4 "2" +[0] 1 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 {0} +State: 1 "2" +[!0] 2 +[0] 0 {0} +State: 2 "1" +[0] 3 +[!0] 0 +State: 3 "3" +[(!0 & 1)] 3 +[(!0 & !1)] 4 {0} +[0] 0 +State: 4 "4" +[0] 3 {0} +[!0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(!0 & !1)] 2 {0} +[0] 2 +State: 1 "2" +[t] 3 +State: 2 "1" +[(!0 & !1)] 3 {0} +[0] 3 +[(!0 & 1)] 4 {0} +State: 3 "3" +[(!0 & !1)] 2 +[(!0 & 1)] 4 +[0] 0 +State: 4 "4" +[!0] 3 {0} +[0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 {0} +[0] 2 {0} +[(!0 & 1)] 3 +State: 1 "2" +[!0] 1 +[0] 2 +State: 2 "3" +[(!0 & !1)] 1 {0} +[0] 1 +[(!0 & 1)] 3 {0} +State: 3 "1" +[0] 4 +[!0] 0 +State: 4 "4" +[(0 | (!0 & !1))] 1 {0} +[(!0 & 1)] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[0] 1 +[(!0 & !1)] 4 {0} +[(!0 & 1)] 0 +State: 3 "3" +[!0] 3 +[0] 4 {0} +State: 4 "4" +[0] 4 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 3 +State: 2 "3" +[!0] 2 +[0] 0 +State: 3 "4" +[(!0 & 1)] 4 +[0] 2 {0} +[(!0 & !1)] 1 +State: 4 "2" +[(!0 & 1)] 4 +[(!0 & !1)] 1 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "3" +[!0] 3 +[0] 4 +State: 2 "1" +[!0] 2 +[0] 0 +State: 3 "2" +[!0] 1 +[0] 0 {0} +State: 4 "4" +[!0] 1 +[0] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[(0 & 1)] 2 {0} +[(0 & !1)] 0 {0} +State: 1 "3" +[(0 & 1)] 3 +[!0] 0 +[(0 & !1)] 0 {0} +State: 2 "1" +[(0 & 1)] 2 +[((0 & !1) | !0)] 4 {0} +State: 3 "2" +[t] 0 +State: 4 "4" +[(0 & 1)] 3 {0} +[!0] 4 +[(0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[(!0 & !1)] 2 {0} +[0] 2 +State: 1 "2" +[!0] 3 +[0] 4 +State: 2 "1" +[(0 & 1)] 1 {0} +[(!0 & !1)] 2 +[(0 & !1)] 4 {0} +[(!0 & 1)] 0 +State: 3 "3" +[0] 1 +[(!0 & 1)] 3 +[(!0 & !1)] 2 {0} +State: 4 "4" +[0] 1 +[(!0 & 1)] 3 +[(!0 & !1)] 3 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[0] 0 +[!0] 3 {0} +State: 2 "1" +[!0] 4 +[0] 0 +State: 3 "5" +[0] 2 {0} +[!0] 5 +State: 4 "3" +[0] 2 +[!0] 0 +State: 5 "4" +[0] 0 {0} +[!0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "2" +[!0] 1 +[0] 3 +State: 2 "3" +[!0] 4 +[0] 0 {0} +State: 3 "4" +[0] 1 +[!0] 5 {0} +State: 4 "1" +[t] 0 +State: 5 "5" +[0] 0 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[!0] 4 +[0] 5 +State: 3 "3" +[!0] 3 +[0] 5 {0} +State: 4 "4" +[t] 0 +State: 5 "5" +[0] 2 +[!0] 4 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "2" +[0] 1 +[!0] 3 +State: 2 "1" +[t] 0 +State: 3 "3" +[!0] 1 +[0] 4 +State: 4 "4" +[!0] 3 +[0] 5 {0} +State: 5 "5" +[!0] 0 {0} +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "3" +[!0] 3 +[0] 4 {0} +State: 2 "1" +[!0] 4 {0} +[0] 4 +State: 3 "2" +[t] 0 +State: 4 "4" +[t] 5 +State: 5 "5" +[!0] 3 {0} +[0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "3" +[0] 3 {0} +[!0] 4 +State: 2 "4" +[0] 3 +[!0] 5 {0} +State: 3 "2" +[t] 2 +State: 4 "1" +[t] 5 +State: 5 "5" +[!0] 1 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "3" +[(!0 & 1)] 3 +[0] 2 {0} +[(!0 & !1)] 4 +State: 2 "1" +[(!0 & 1)] 3 {0} +[0] 2 +[(!0 & !1)] 0 +State: 3 "2" +[(!0 & 1)] 3 {0} +[0] 1 +[(!0 & !1)] 0 {0} +State: 4 "4" +[0] 1 +[!0] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 {0} +[!0] 2 +[(0 & !1)] 3 +State: 1 "2" +[0] 1 +[!0] 4 {0} +State: 2 "3" +[!0] 4 +[(0 & 1)] 3 {0} +[(0 & !1)] 0 {0} +State: 3 "4" +[0] 1 {0} +[!0] 4 +State: 4 "1" +[(0 & 1)] 1 {0} +[!0] 2 +[(0 & !1)] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[(!0 & !1)] 2 {0} +[(0 & !1)] 2 +[(0 & 1)] 3 +State: 1 "3" +[(!0 & !1)] 4 +[0] 1 +[(!0 & 1)] 3 {0} +State: 2 "1" +[0] 1 +[(!0 & 1)] 3 {0} +[(!0 & !1)] 0 +State: 3 "4" +[(!0 & !1)] 4 {0} +[(0 & !1)] 2 +[(0 & 1)] 3 +[(!0 & 1)] 0 {0} +State: 4 "2" +[t] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 1 +State: 1 "1" +[!0] 2 +[0] 2 {0} +State: 2 "5" +[!0] 3 +[0] 4 +State: 3 "2" +[!0] 3 {0} +[0] 2 +State: 4 "4" +[!0] 5 {0} +[0] 1 +State: 5 "3" +[!0] 3 +[0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[(!0 & 1)] 2 +[(!0 & !1)] 0 +[0] 3 {0} +State: 2 "2" +[t] 4 +State: 3 "5" +[(!0 & 1)] 5 +[(0 | (!0 & !1))] 0 {0} +State: 4 "3" +[t] 0 +State: 5 "4" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 0 +State: 2 "2" +[t] 3 +State: 3 "3" +[!0] 0 +[0] 4 {0} +State: 4 "5" +[!0] 5 +[0] 0 {0} +State: 5 "4" +[t] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(!0 & !1)] 2 {0} +[0] 3 +State: 1 "2" +[!0] 2 {0} +[(0 & 1)] 3 {0} +[(0 & !1)] 4 +State: 2 "3" +[!0] 2 +[0] 4 {0} +State: 3 "1" +[t] 4 +State: 4 "4" +[(!0 & 1)] 1 +[0] 3 +[(!0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[0] 2 +[(!0 & !1)] 3 {0} +State: 1 "2" +[t] 0 +State: 2 "1" +[0] 2 {0} +[!0] 0 +State: 3 "4" +[!0] 4 +[0] 2 {0} +State: 4 "3" +[!0] 3 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[(!0 & 1)] 2 {0} +[(0 & !1)] 1 +[(0 & 1)] 3 +[(!0 & !1)] 0 {0} +State: 2 "2" +[0] 4 +[!0] 0 {0} +State: 3 "4" +[0] 4 +[(!0 & 1)] 1 {0} +[(!0 & !1)] 0 {0} +State: 4 "3" +[0] 4 +[(!0 & 1)] 1 +[(!0 & !1)] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 {0} +[(!0 & 1)] 2 {0} +[0] 3 +State: 1 "2" +[(!0 & 1)] 4 {0} +[(!0 & !1)] 4 +[0] 0 {0} +State: 2 "3" +[t] 0 +State: 3 "1" +[!0] 2 +[0] 0 +State: 4 "4" +[(0 | (!0 & 1))] 3 {0} +[(!0 & !1)] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 {0} +[!0] 3 +State: 2 "2" +[0] 2 +[!0] 4 {0} +State: 3 "3" +[!0] 1 +[0] 0 +State: 4 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 {0} +[(!0 & 1)] 0 +[(!0 & !1)] 0 {0} +State: 1 "3" +[!0] 2 +[0] 3 +State: 2 "2" +[t] 3 +State: 3 "1" +[(!0 & !1)] 2 {0} +[0] 1 +[(!0 & 1)] 4 {0} +State: 4 "4" +[(0 | (!0 & !1))] 3 {0} +[(!0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 0 +[0] 1 {0} +State: 1 "5" +[!0] 2 {0} +[0] 1 +State: 2 "3" +[(!0 & 1)] 3 +[0] 4 +[(!0 & !1)] 5 +State: 3 "2" +[!0] 2 +[0] 4 +State: 4 "1" +[0] 3 +[!0] 0 {0} +State: 5 "4" +[0] 3 {0} +[(!0 & 1)] 2 +[(!0 & !1)] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[t] 3 +State: 2 "1" +[!0] 4 +[0] 5 +State: 3 "4" +[!0] 0 +[0] 5 +State: 4 "3" +[!0] 1 +[0] 3 {0} +State: 5 "5" +[!0] 1 +[0] 4 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[0] 2 +[!0] 3 +State: 2 "1" +[!0] 4 +[0] 0 +State: 3 "4" +[(0 & 1)] 4 +[!0] 3 +[(0 & !1)] 0 +State: 4 "3" +[0] 2 +[!0] 5 {0} +State: 5 "5" +[0] 0 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[((0 & !1) | (!0 & 1))] 1 {0} +[(0 & 1)] 2 +[(!0 & !1)] 3 +State: 1 "3" +[0] 2 {0} +[!0] 4 +State: 2 "1" +[0] 5 +[!0] 0 +State: 3 "5" +[(0 & !1)] 1 {0} +[(0 & 1)] 2 +[(!0 & 1)] 4 {0} +[(!0 & !1)] 0 +State: 4 "4" +[t] 1 +State: 5 "2" +[0] 4 {0} +[!0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "1" +[!0] 3 +[0] 1 +State: 2 "4" +[0] 4 +[!0] 0 {0} +State: 3 "3" +[t] 0 +State: 4 "2" +[!0] 2 +[0] 5 +State: 5 "5" +[0] 4 +[!0] 3 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 0 +State: 1 "3" +[(!0 & 1)] 2 {0} +[0] 1 +[(!0 & !1)] 3 +State: 2 "2" +[0] 1 +[!0] 0 {0} +State: 3 "4" +[t] 4 +State: 4 "1" +[!0] 2 +[0] 5 +State: 5 "5" +[0] 1 +[(!0 & 1)] 4 {0} +[(!0 & !1)] 3 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[!0] 0 +[0] 0 {0} +State: 2 "1" +[(!0 & 1)] 1 +[(!0 & !1)] 3 {0} +[0] 0 +State: 3 "4" +[(!0 & !1)] 4 {0} +[0] 4 +[(!0 & 1)] 5 {0} +State: 4 "3" +[(!0 & !1)] 4 +[0] 3 +[(!0 & 1)] 5 {0} +State: 5 "5" +[0] 2 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 0 +State: 2 "2" +[0] 3 {0} +[!0] 1 +State: 3 "3" +[t] 4 +State: 4 "4" +[0] 3 +[(!0 & 1)] 4 +[(!0 & !1)] 5 {0} +State: 5 "5" +[0] 0 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 +[!0] 0 +[(0 & !1)] 2 {0} +State: 1 "1" +[!0] 3 {0} +[0] 4 +State: 2 "5" +[t] 3 {0} +State: 3 "2" +[0] 5 +[!0] 0 {0} +State: 4 "4" +[t] 0 +State: 5 "3" +[!0] 3 +[0] 4 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 {0} +[0] 1 +[(!0 & 1)] 0 {0} +State: 1 "1" +[0] 2 +[!0] 3 +State: 2 "2" +[(0 & 1)] 2 +[!0] 3 +[(0 & !1)] 4 +State: 3 "3" +[0] 2 +[(!0 & !1)] 1 +[(!0 & 1)] 0 +State: 4 "4" +[!0] 3 {0} +[0] 1 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 {0} +[(!0 & !1)] 2 +[(!0 & 1)] 0 {0} +State: 1 "2" +[0] 3 +[!0] 4 +State: 2 "1" +[0] 2 +[!0] 0 +State: 3 "3" +[0] 1 +[!0] 4 {0} +State: 4 "4" +[0] 1 +[(!0 & !1)] 2 {0} +[(!0 & 1)] 4 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[0] 2 +[(!0 & !1)] 3 {0} +State: 1 "2" +[t] 0 +State: 2 "1" +[!0] 1 {0} +[0] 4 +State: 3 "4" +[(!0 & 1)] 1 +[(!0 & !1)] 1 {0} +[0] 2 +State: 4 "3" +[!0] 1 +[(0 & !1)] 4 +[(0 & 1)] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "3" +[!0] 2 {0} +[0] 0 +State: 2 "1" +[(!0 & 1)] 3 +[0] 2 +[(!0 & !1)] 4 {0} +State: 3 "2" +[t] 2 +State: 4 "4" +[!0] 1 {0} +[0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[0] 3 +[!0] 2 +State: 2 "1" +[(0 & !1)] 2 +[!0] 4 {0} +[(0 & 1)] 0 +State: 3 "3" +[0] 3 +[!0] 0 +State: 4 "4" +[!0] 1 {0} +[0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[(0 & !1)] 2 +[(0 & 1)] 0 +State: 1 "2" +[0] 3 +[!0] 2 +State: 2 "1" +[!0] 3 +[0] 0 +State: 3 "3" +[0] 1 +[!0] 4 {0} +State: 4 "4" +[!0] 2 {0} +[0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 2 {0} +[!0] 0 +State: 2 "2" +[t] 3 +State: 3 "3" +[0] 2 +[!0] 4 {0} +State: 4 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[(!0 & !1)] 2 {0} +[(!0 & 1)] 1 {0} +[0] 0 +State: 2 "2" +[(!0 & !1)] 2 {0} +[(!0 & 1)] 1 {0} +[0] 3 +State: 3 "4" +[(!0 & !1)] 2 +[(0 & !1)] 4 +[1] 1 {0} +State: 4 "3" +[(!0 & !1)] 2 +[(!0 & 1)] 1 {0} +[(0 & !1)] 3 +[(0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(!0 & 1)] 2 {0} +[0] 0 +State: 1 "2" +[0] 3 +[!0] 0 +State: 2 "4" +[0] 3 {0} +[(!0 & !1)] 2 +[(!0 & 1)] 0 {0} +State: 3 "3" +[!0] 4 +[0] 0 +State: 4 "1" +[(0 & 1)] 3 {0} +[(0 & !1)] 3 +[!0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "1" +[0] 3 +[(!0 & 1)] 4 {0} +[(!0 & !1)] 0 {0} +State: 2 "4" +[0] 3 +[!0] 0 {0} +State: 3 "2" +[(!0 & 1)] 4 +[(!0 & !1)] 1 {0} +[0] 0 +State: 4 "3" +[0] 3 +[!0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "1" +[(!0 & 1)] 1 +[(!0 & !1)] 2 {0} +[0] 0 +State: 2 "4" +[(!0 & !1)] 3 {0} +[(!0 & 1)] 2 +[0] 0 +State: 3 "2" +[(!0 & 1)] 3 +[(!0 & !1)] 3 {0} +[(0 & !1)] 4 +[(0 & 1)] 0 {0} +State: 4 "3" +[(!0 & !1)] 3 +[(!0 & 1)] 4 +[(0 & !1)] 1 {0} +[(0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "3" +[!0] 3 +[0] 4 +State: 2 "4" +[0] 3 {0} +[!0] 1 +State: 3 "2" +[0] 2 +[!0] 0 +State: 4 "1" +[!0] 3 {0} +[0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 {0} +[(!0 & 1)] 2 +[(!0 & !1)] 3 {0} +State: 1 "2" +[!0] 4 +[0] 0 {0} +State: 2 "3" +[0] 1 +[!0] 0 +State: 3 "4" +[!0] 2 {0} +[0] 3 {0} +State: 4 "1" +[t] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 +[!0] 1 {0} +State: 2 "2" +[(!0 & 1)] 3 +[(!0 & !1)] 1 +[0] 4 +State: 3 "3" +[t] 0 +State: 4 "4" +[0] 2 +[(!0 & 1)] 3 {0} +[(!0 & !1)] 4 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "1" +[0] 3 +[!0] 0 {0} +State: 2 "4" +[0] 3 {0} +[!0] 2 +State: 3 "2" +[!0] 4 +[0] 1 +State: 4 "3" +[t] 1 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 {0} +[0] 0 +State: 2 "2" +[(0 & !1)] 2 +[(0 & 1)] 3 +[!0] 1 {0} +State: 3 "3" +[!0] 2 +[0] 4 {0} +State: 4 "4" +[!0] 1 {0} +[0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[(0 & !1)] 2 {0} +[!0] 0 +[(0 & 1)] 0 {0} +State: 2 "2" +[0] 3 +[!0] 4 +State: 3 "3" +[(0 & !1)] 2 +[!0] 1 {0} +[(0 & 1)] 0 {0} +State: 4 "4" +[(0 & !1)] 2 +[(0 & 1)] 3 {0} +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 +[!0] 2 {0} +[(0 & 1)] 2 +State: 1 "1" +[(0 & 1)] 3 {0} +[!1] 4 {0} +[(!0 & 1)] 0 +State: 2 "4" +[(!0 & !1)] 4 {0} +[0] 1 {0} +[(!0 & 1)] 0 +State: 3 "2" +[t] 4 +State: 4 "3" +[(0 & 1)] 3 +[(!0 & !1)] 4 {0} +[(0 & !1)] 4 +[(!0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[(0 & !1)] 2 {0} +[(0 & 1)] 0 {0} +State: 1 "3" +[t] 0 +State: 2 "1" +[!0] 3 +[0] 2 {0} +State: 3 "2" +[(0 & !1)] 2 +[(!0 & !1)] 4 +[1] 0 {0} +State: 4 "4" +[(!0 & !1)] 3 +[(!0 & 1)] 1 {0} +[(0 & !1)] 2 +[(0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[0] 1 +[(!0 & !1)] 0 {0} +State: 1 "1" +[(!0 & 1)] 2 +[(!0 & !1)] 3 +[0] 0 +State: 2 "2" +[!0] 2 {0} +[(0 & !1)] 4 +[(0 & 1)] 0 {0} +State: 3 "4" +[!0] 2 {0} +[(0 & !1)] 4 +[(0 & 1)] 1 {0} +State: 4 "3" +[0] 4 +[(!0 & 1)] 1 +[(!0 & !1)] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[!0] 2 {0} +[0] 0 +State: 2 "4" +[0] 3 {0} +[!0] 2 +State: 3 "3" +[!0] 4 +[0] 0 {0} +State: 4 "2" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "2" +[!0] 3 +[0] 4 +State: 2 "1" +[!0] 3 +[0] 0 +State: 3 "3" +[0] 1 +[!0] 5 +State: 4 "4" +[t] 1 +State: 5 "5" +[0] 2 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 1 +State: 1 "1" +[!0] 2 +[0] 3 {0} +State: 2 "2" +[0] 4 +[!0] 1 +State: 3 "5" +[!0] 1 {0} +[0] 5 +State: 4 "3" +[!0] 1 +[0] 0 +State: 5 "4" +[!0] 2 {0} +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[!0] 4 +[0] 5 +State: 3 "3" +[!0] 1 +[0] 5 {0} +State: 4 "4" +[0] 2 +[!0] 0 +State: 5 "5" +[0] 2 {0} +[!0] 1 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "1" +[!0] 3 {0} +[0] 3 +State: 2 "5" +[0] 3 +[!0] 4 {0} +State: 3 "2" +[!0] 4 +[0] 0 +State: 4 "3" +[0] 3 +[!0] 5 +State: 5 "4" +[0] 1 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[0] 4 +[!0] 1 +State: 3 "5" +[0] 2 {0} +[!0] 0 {0} +State: 4 "3" +[!0] 1 {0} +[0] 5 +State: 5 "4" +[0] 5 +[!0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 {0} +[!0] 3 +State: 2 "2" +[0] 2 +[!0] 4 +State: 3 "3" +[0] 0 +[!0] 5 {0} +State: 4 "4" +[!0] 2 +[0] 0 {0} +State: 5 "5" +[0] 2 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 {0} +[!0] 3 +State: 2 "2" +[0] 2 +[!0] 4 {0} +State: 3 "3" +[!0] 1 +[0] 0 +State: 4 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 {0} +[!0] 2 +[(0 & !1)] 0 +State: 1 "2" +[!1] 3 +[(!0 & 1)] 4 {0} +[(0 & 1)] 0 {0} +State: 2 "3" +[!0] 4 +[0] 0 +State: 3 "1" +[0] 1 +[!0] 2 {0} +State: 4 "4" +[!0] 2 +[(0 & 1)] 0 {0} +[(0 & !1)] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 3 {0} +State: 2 "2" +[!0] 1 +[0] 0 +State: 3 "3" +[0] 3 +[!0] 4 {0} +State: 4 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "2" +[(0 & 1)] 2 +[!0] 3 +[(0 & !1)] 0 +State: 2 "3" +[!0] 2 +[0] 4 +State: 3 "4" +[!0] 2 +[0] 4 {0} +State: 4 "1" +[!0] 1 +[0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 3 {0} +State: 2 "2" +[!0] 1 +[(0 & 1)] 4 {0} +[(0 & !1)] 0 +State: 3 "3" +[0] 3 +[!0] 4 {0} +State: 4 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[t] 2 +State: 2 "1" +[!0] 3 {0} +[0] 0 +State: 3 "3" +[0] 2 {0} +[!0] 4 +State: 4 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 +[(!0 & 1)] 2 {0} +[(!0 & !1)] 0 {0} +State: 1 "1" +[(!0 & 1)] 3 +[0] 4 +[(!0 & !1)] 0 {0} +State: 2 "4" +[!0] 4 {0} +[0] 1 +State: 3 "2" +[!0] 4 +[0] 1 +State: 4 "3" +[(!0 & 1)] 2 +[(0 | (!0 & !1))] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[(0 & !1)] 2 {0} +[(0 & 1)] 3 {0} +State: 1 "3" +[(0 & !1)] 4 +[!0] 0 +[(0 & 1)] 0 {0} +State: 2 "1" +[0] 3 +[!0] 0 {0} +State: 3 "4" +[!0] 1 {0} +[(0 & !1)] 2 +[(0 & 1)] 3 +State: 4 "2" +[t] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "2" +[0] 1 +[!0] 3 +State: 2 "4" +[0] 4 {0} +[(!0 & !1)] 2 +[(!0 & 1)] 0 +State: 3 "1" +[(!0 & 1)] 1 +[0] 4 +[(!0 & !1)] 2 {0} +State: 4 "3" +[!0] 1 +[0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 {0} +State: 1 "3" +[!0] 2 +[0] 3 {0} +State: 2 "2" +[t] 3 +State: 3 "1" +[(!0 & 1)] 2 +[(!0 & !1)] 4 {0} +[0] 0 +State: 4 "4" +[!0] 2 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[(0 | (!0 & 1))] 2 +[(!0 & !1)] 0 +State: 2 "2" +[t] 3 +State: 3 "3" +[(0 & 1)] 2 +[!0] 0 +[(0 & !1)] 4 {0} +State: 4 "5" +[(0 & !1)] 2 {0} +[((0 & 1) | !0)] 5 +State: 5 "4" +[t] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 {0} +State: 1 "1" +[!0] 2 +[0] 3 +State: 2 "2" +[!0] 4 +[0] 0 +State: 3 "4" +[0] 0 +[!0] 5 +State: 4 "3" +[0] 1 {0} +[!0] 0 +State: 5 "5" +[!0] 0 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[!0] 3 +[0] 2 +State: 2 "4" +[0] 4 +[!0] 0 +State: 3 "1" +[!0] 0 +[0] 5 +State: 4 "3" +[!0] 1 {0} +[0] 0 +State: 5 "5" +[!0] 3 {0} +[0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[(0 & 1)] 2 {0} +[(0 & !1)] 0 +State: 1 "2" +[(0 & 1)] 1 +[!0] 3 {0} +[(0 & !1)] 0 +State: 2 "4" +[!0] 3 {0} +[0] 2 +State: 3 "3" +[!0] 1 {0} +[0] 4 +State: 4 "1" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[0] 3 +[!0] 4 +State: 2 "1" +[0] 2 +[!0] 0 +State: 3 "3" +[(0 & !1)] 1 +[(0 & 1)] 2 +[!0] 0 {0} +State: 4 "4" +[(0 & !1)] 1 +[!0] 2 {0} +[(0 & 1)] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "2" +[(!0 & !1)] 1 +[(!0 & 1)] 3 +[0] 2 {0} +State: 2 "1" +[!0] 4 +[0] 0 +State: 3 "3" +[!0] 1 +[0] 3 +State: 4 "4" +[(!0 & !1)] 1 {0} +[(!0 & 1)] 3 {0} +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 {0} +State: 1 "2" +[(!0 & 1)] 1 +[(0 & !1)] 2 {0} +[(!0 & !1)] 3 {0} +[(0 & 1)] 0 +State: 2 "3" +[(0 & !1)] 2 {0} +[!0] 4 +[(0 & 1)] 0 {0} +State: 3 "4" +[0] 2 {0} +[!0] 3 +State: 4 "1" +[t] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[(0 & 1)] 2 {0} +[(0 & !1)] 3 +[(!0 & !1)] 4 +State: 1 "2" +[!0] 2 +[0] 0 {0} +State: 2 "3" +[!0] 1 +[0] 2 +State: 3 "1" +[(!0 & 1)] 1 {0} +[(!0 & !1)] 4 {0} +[0] 0 +State: 4 "4" +[!0] 2 {0} +[0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 +[((0 & 1) | !0)] 2 +State: 1 "1" +[!0] 3 +[0] 3 {0} +State: 2 "4" +[!0] 3 +[(0 & 1)] 3 {0} +[(0 & !1)] 4 {0} +State: 3 "2" +[!0] 3 {0} +[(0 & 1)] 3 +[(0 & !1)] 4 +State: 4 "3" +[0] 3 +[!0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(!0 & !1)] 1 {0} +[(0 & 1)] 0 +[(0 & !1)] 0 {0} +State: 1 "1" +[!0] 2 +[(0 & 1)] 3 {0} +[(0 & !1)] 0 {0} +State: 2 "2" +[((0 & 1) | !0)] 1 +[(0 & !1)] 0 +State: 3 "3" +[!0] 2 {0} +[(0 & 1)] 3 +[(0 & !1)] 3 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 1 +State: 1 "1" +[(!0 & !1)] 2 +[(!0 & 1)] 1 {0} +[0] 0 +State: 2 "2" +[(0 & 1)] 3 +[!0] 1 +[(0 & !1)] 0 {0} +State: 3 "3" +[(0 & 1)] 2 +[!0] 1 +[(0 & !1)] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "3" +[0] 3 +[(!0 & 1)] 0 +[(!0 & !1)] 0 {0} +State: 2 "1" +[0] 3 +[(!0 & !1)] 2 {0} +[(!0 & 1)] 0 +State: 3 "2" +[0] 3 +[!0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 {0} +[(0 & 1)] 2 {0} +[!0] 0 +State: 1 "2" +[0] 2 +[!0] 3 +State: 2 "3" +[0] 1 +[!0] 3 {0} +State: 3 "1" +[t] 4 +State: 4 "4" +[0] 1 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(!0 & !1)] 2 {0} +[0] 3 +State: 1 "2" +[t] 3 +State: 2 "3" +[0] 3 {0} +[!0] 4 +State: 3 "1" +[!0] 2 {0} +[0] 0 +State: 4 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "1" +[(0 & 1)] 3 {0} +[(!0 & 1)] 1 +[(!0 & !1)] 2 {0} +[(0 & !1)] 0 +State: 2 "4" +[0] 3 {0} +[!0] 2 +State: 3 "3" +[!0] 4 +[0] 3 +State: 4 "2" +[!0] 3 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 {0} +[(0 & !1)] 2 {0} +[!0] 3 +State: 1 "3" +[(!0 & !1)] 2 +[0] 2 {0} +[(!0 & 1)] 0 {0} +State: 2 "1" +[(!0 & !1)] 4 +[(!0 & 1)] 1 +[0] 2 +State: 3 "4" +[0] 2 {0} +[!0] 0 +State: 4 "2" +[(0 & 1)] 1 +[!0] 2 +[(0 & !1)] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 +[(0 & !1)] 1 {0} +[!0] 0 +State: 1 "1" +[!0] 2 +[(0 & 1)] 3 +[(0 & !1)] 1 +State: 2 "2" +[0] 2 +[!0] 4 +State: 3 "3" +[0] 2 {0} +[!0] 0 +State: 4 "4" +[(0 & 1)] 1 {0} +[!0] 0 +[(0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[!0] 2 {0} +[0] 0 +State: 2 "3" +[0] 3 +[!0] 4 +State: 3 "2" +[!0] 2 +[0] 0 {0} +State: 4 "4" +[!0] 2 +[0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[(!0 & 1)] 2 {0} +[(!0 & !1)] 0 {0} +[0] 0 +State: 2 "4" +[0] 3 {0} +[!0] 2 +State: 3 "3" +[(!0 & 1)] 4 +[(0 | (!0 & !1))] 0 {0} +State: 4 "2" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[0] 2 +[!0] 0 +State: 2 "3" +[!0] 3 +[0] 4 +State: 3 "1" +[(0 & !1)] 1 +[(0 & 1)] 4 {0} +[!0] 0 +State: 4 "4" +[!0] 1 +[(0 & 1)] 4 {0} +[(0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "2" +[0] 3 +[!0] 4 +State: 2 "1" +[0] 2 +[!0] 0 +State: 3 "3" +[0] 1 +[!0] 4 {0} +State: 4 "4" +[0] 1 +[!0] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "1" +[!0] 3 +[0] 0 {0} +State: 2 "4" +[!0] 3 {0} +[0] 0 +State: 3 "3" +[0] 4 +[!0] 1 +State: 4 "2" +[t] 1 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[(!0 & 1)] 1 {0} +[0] 2 +[(!0 & !1)] 3 {0} +State: 2 "1" +[!0] 4 +[0] 0 +State: 3 "4" +[!0] 4 {0} +[0] 2 +State: 4 "3" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 {0} +[(0 & !1)] 2 {0} +[!0] 3 +State: 1 "2" +[0] 2 +[!0] 4 +State: 2 "3" +[0] 1 +[!0] 4 {0} +State: 3 "1" +[(0 & !1)] 2 {0} +[(0 & 1)] 3 +[!0] 0 +State: 4 "4" +[0] 1 +[!0] 3 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 {0} +[(0 & 1)] 2 {0} +[!0] 0 +State: 1 "2" +[0] 2 +[!0] 3 +State: 2 "3" +[0] 1 +[!0] 3 {0} +State: 3 "1" +[t] 4 +State: 4 "4" +[0] 1 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[(!0 & 1)] 3 +[(!0 & !1)] 4 {0} +[(0 & !1)] 2 +[(0 & 1)] 0 {0} +State: 2 "4" +[(!0 & !1)] 1 {0} +[(!0 & 1)] 3 +[(0 & !1)] 2 +[(0 & 1)] 0 {0} +State: 3 "3" +[!0] 4 +[0] 0 +State: 4 "1" +[!0] 3 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "1" +[(!0 & 1)] 3 +[(!0 & !1)] 0 +[0] 0 {0} +State: 2 "4" +[0] 4 {0} +[(!0 & 1)] 3 +[(!0 & !1)] 0 +State: 3 "3" +[0] 4 +[!0] 3 +State: 4 "2" +[!0] 3 +[0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 {0} +[(0 & !1)] 2 {0} +[!0] 0 +State: 1 "2" +[(!0 & !1)] 3 +[(!0 & 1)] 2 {0} +[0] 2 +State: 2 "4" +[0] 1 +[(!0 & !1)] 3 {0} +[(!0 & 1)] 0 {0} +State: 3 "1" +[!1] 4 +[(0 & 1)] 2 {0} +[(!0 & 1)] 0 {0} +State: 4 "3" +[0] 1 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[0] 3 +[!0] 2 +State: 2 "1" +[0] 2 {0} +[!0] 0 +State: 3 "3" +[(!0 & 1)] 3 +[0] 2 +[(!0 & !1)] 4 {0} +State: 4 "4" +[0] 3 {0} +[!0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(!0 & !1)] 2 {0} +[0] 2 +State: 1 "2" +[t] 3 +State: 2 "1" +[(!0 & !1)] 3 {0} +[0] 3 +[(!0 & 1)] 4 {0} +State: 3 "3" +[(!0 & !1)] 2 +[(!0 & 1)] 4 +[0] 0 +State: 4 "4" +[!0] 3 {0} +[0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "2" +[!0] 3 +[0] 4 +State: 2 "1" +[!0] 2 +[0] 0 +State: 3 "3" +[!0] 1 +[0] 4 {0} +State: 4 "4" +[!0] 1 +[0] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[(0 & 1)] 2 {0} +[(0 & !1)] 0 {0} +State: 1 "3" +[(0 & 1)] 3 +[!0] 0 +[(0 & !1)] 0 {0} +State: 2 "4" +[(0 & 1)] 4 +[((0 & !1) | !0)] 0 {0} +State: 3 "1" +[t] 0 +State: 4 "2" +[(0 & 1)] 4 +[!0] 1 {0} +[(0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[(!0 & !1)] 2 {0} +[0] 2 +State: 1 "2" +[!0] 3 +[0] 4 +State: 2 "1" +[(0 & 1)] 1 {0} +[(!0 & !1)] 2 +[(0 & !1)] 4 {0} +[(!0 & 1)] 0 +State: 3 "3" +[0] 1 +[(!0 & 1)] 3 +[(!0 & !1)] 2 {0} +State: 4 "4" +[0] 1 +[(!0 & 1)] 3 +[(!0 & !1)] 3 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[(!0 & !1)] 1 {0} +[0] 2 {0} +[(!0 & 1)] 0 +State: 2 "1" +[!0] 1 +[0] 3 +State: 3 "4" +[(!0 & !1)] 1 {0} +[0] 4 {0} +[(!0 & 1)] 0 +State: 4 "3" +[0] 4 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(!0 & 1)] 2 {0} +[(0 & !1)] 3 +[(0 & 1)] 0 +State: 1 "2" +[0] 4 +[!0] 0 +State: 2 "3" +[!0] 2 +[0] 4 {0} +State: 3 "1" +[!0] 1 +[0] 4 +State: 4 "4" +[(!0 & 1)] 1 {0} +[(!0 & !1)] 1 +[(0 & !1)] 3 +[(0 & 1)] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[t] 2 +State: 2 "2" +[!0] 3 +[0] 0 +State: 3 "3" +[(0 & 1)] 2 +[(0 & !1)] 4 +[!0] 0 {0} +State: 4 "4" +[(0 & 1)] 2 +[!0] 1 {0} +[(0 & !1)] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 {0} +[(!0 & !1)] 2 {0} +[(!0 & 1)] 3 +State: 1 "2" +[(!0 & !1)] 2 {0} +[0] 2 +[(!0 & 1)] 3 {0} +State: 2 "3" +[0] 1 +[!0] 2 +State: 3 "1" +[0] 4 +[!0] 0 +State: 4 "4" +[(0 | (!0 & !1))] 2 {0} +[(!0 & 1)] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(!0 & !1)] 2 {0} +[0] 3 +State: 1 "2" +[t] 3 +State: 2 "3" +[0] 3 {0} +[!0] 4 +State: 3 "1" +[!0] 2 {0} +[0] 0 +State: 4 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[!0] 1 +[0] 3 +State: 2 "4" +[(!0 & 1)] 4 +[(!0 & !1)] 0 +[0] 0 {0} +State: 3 "3" +[t] 0 +State: 4 "1" +[0] 3 {0} +[(!0 & 1)] 4 +[(!0 & !1)] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(!0 & !1)] 2 {0} +[0] 3 +State: 1 "2" +[!0] 2 {0} +[(0 & 1)] 3 {0} +[(0 & !1)] 4 +State: 2 "3" +[!0] 2 +[0] 4 {0} +State: 3 "1" +[t] 4 +State: 4 "4" +[(!0 & 1)] 1 +[0] 3 +[(!0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[0] 2 +[(!0 & !1)] 3 {0} +State: 1 "2" +[t] 0 +State: 2 "1" +[0] 2 {0} +[!0] 0 +State: 3 "4" +[!0] 4 +[0] 2 {0} +State: 4 "3" +[!0] 3 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[(!0 & 1)] 2 {0} +[(0 & !1)] 1 +[(0 & 1)] 3 +[(!0 & !1)] 0 {0} +State: 2 "2" +[0] 4 +[!0] 0 {0} +State: 3 "4" +[0] 4 +[(!0 & 1)] 1 {0} +[(!0 & !1)] 0 {0} +State: 4 "3" +[0] 4 +[(!0 & 1)] 1 +[(!0 & !1)] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "3" +[(!0 & !1)] 3 +[(0 | (!0 & 1))] 0 {0} +State: 2 "1" +[!0] 4 +[0] 0 +State: 3 "4" +[0] 2 {0} +[(!0 & 1)] 3 {0} +[(!0 & !1)] 3 +State: 4 "2" +[t] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 {0} +[!0] 3 +State: 2 "2" +[0] 2 +[!0] 4 {0} +State: 3 "3" +[!0] 1 +[0] 0 +State: 4 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 {0} +[(!0 & 1)] 0 +[(!0 & !1)] 0 {0} +State: 1 "4" +[!0] 2 {0} +[0] 1 +State: 2 "1" +[t] 3 +State: 3 "2" +[0] 4 +[!0] 0 {0} +State: 4 "3" +[0] 3 +[!0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 1 +State: 1 "1" +[!0] 2 +[0] 2 {0} +State: 2 "5" +[!0] 3 +[0] 4 +State: 3 "2" +[!0] 3 {0} +[0] 2 +State: 4 "4" +[!0] 5 {0} +[0] 1 +State: 5 "3" +[!0] 3 +[0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[t] 2 +State: 2 "2" +[t] 3 +State: 3 "3" +[(!0 & !1)] 2 +[(!0 & 1)] 0 +[0] 4 {0} +State: 4 "5" +[0] 2 {0} +[!0] 5 +State: 5 "4" +[t] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 0 +State: 2 "2" +[t] 3 +State: 3 "3" +[!0] 0 +[0] 4 {0} +State: 4 "5" +[!0] 5 +[0] 0 {0} +State: 5 "4" +[t] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 {0} +[0] 1 +[(!0 & 1)] 0 {0} +State: 1 "1" +[0] 2 +[!0] 3 +State: 2 "2" +[(0 & 1)] 2 +[!0] 3 +[(0 & !1)] 4 +State: 3 "3" +[0] 2 +[(!0 & !1)] 1 +[(!0 & 1)] 0 +State: 4 "4" +[!0] 3 {0} +[0] 1 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 {0} +[(!0 & !1)] 2 +[(!0 & 1)] 0 {0} +State: 1 "3" +[0] 3 +[!0] 4 +State: 2 "1" +[0] 2 +[!0] 0 +State: 3 "2" +[0] 1 +[!0] 0 {0} +State: 4 "4" +[0] 1 +[(!0 & !1)] 2 {0} +[(!0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[0] 2 +[(!0 & !1)] 3 {0} +State: 1 "2" +[t] 0 +State: 2 "1" +[!0] 1 {0} +[0] 4 +State: 3 "4" +[(!0 & 1)] 1 +[(!0 & !1)] 1 {0} +[0] 2 +State: 4 "3" +[!0] 1 +[(0 & !1)] 4 +[(0 & 1)] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[0] 0 +[!0] 3 {0} +State: 2 "1" +[!0] 4 +[0] 0 +State: 3 "5" +[0] 2 {0} +[!0] 5 +State: 4 "3" +[0] 2 +[!0] 0 +State: 5 "4" +[0] 0 {0} +[!0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "4" +[!0] 3 +[0] 2 {0} +State: 2 "5" +[!0] 4 {0} +[0] 2 +State: 3 "2" +[t] 0 +State: 4 "1" +[0] 5 +[!0] 4 +State: 5 "3" +[0] 4 +[!0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "1" +[0] 3 +[!0] 4 {0} +State: 2 "5" +[0] 3 +[!0] 5 {0} +State: 3 "2" +[!0] 4 +[0] 1 +State: 4 "3" +[t] 0 +State: 5 "4" +[0] 1 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "3" +[!0] 3 +[0] 1 +State: 2 "1" +[t] 0 +State: 3 "2" +[!0] 1 +[0] 4 +State: 4 "4" +[!0] 3 +[0] 5 {0} +State: 5 "5" +[!0] 0 {0} +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "1" +[0] 3 {0} +[!0] 4 +State: 2 "5" +[0] 5 {0} +[!0] 4 +State: 3 "2" +[0] 5 +[!0] 0 {0} +State: 4 "4" +[0] 5 {0} +[!0] 0 +State: 5 "3" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "1" +[0] 3 +[!0] 4 +State: 2 "4" +[!0] 5 +[0] 1 {0} +State: 3 "3" +[0] 1 +[!0] 0 {0} +State: 4 "5" +[!0] 5 {0} +[0] 1 +State: 5 "2" +[t] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 0 +State: 1 "1" +[0] 2 +[!0] 3 +State: 2 "2" +[0] 1 +[!0] 3 {0} +State: 3 "4" +[0] 2 +[(!0 & !1)] 4 +[(!0 & 1)] 1 +State: 4 "3" +[(!0 & 1)] 3 +[(!0 & !1)] 5 +[0] 5 {0} +State: 5 "5" +[0] 1 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[t] 3 +State: 2 "1" +[!0] 4 +[0] 5 +State: 3 "4" +[!0] 0 +[0] 5 +State: 4 "3" +[!0] 1 +[0] 3 {0} +State: 5 "5" +[!0] 1 +[0] 4 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[0] 2 +[!0] 3 +State: 2 "1" +[!0] 4 +[0] 0 +State: 3 "4" +[(0 & 1)] 4 +[!0] 3 +[(0 & !1)] 0 +State: 4 "3" +[0] 2 +[!0] 5 {0} +State: 5 "5" +[0] 0 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[(0 & 1)] 2 +[(0 & !1)] 2 {0} +[(!0 & !1)] 3 +State: 1 "3" +[t] 4 +State: 2 "1" +[0] 5 +[!0] 3 +State: 3 "5" +[(0 & 1)] 2 +[((0 & !1) | (!0 & 1))] 4 {0} +[(!0 & !1)] 0 +State: 4 "4" +[!0] 1 +[0] 2 {0} +State: 5 "2" +[0] 2 {0} +[!0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "1" +[!0] 3 +[0] 1 +State: 2 "5" +[0] 4 +[!0] 0 {0} +State: 3 "2" +[t] 0 +State: 4 "3" +[0] 5 +[!0] 2 +State: 5 "4" +[!0] 3 {0} +[0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "2" +[t] 3 +State: 2 "5" +[0] 4 {0} +[!0] 2 +State: 3 "1" +[0] 4 +[!0] 0 {0} +State: 4 "4" +[(!0 & !1)] 5 +[(!0 & 1)] 3 {0} +[0] 4 +State: 5 "3" +[t] 1 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "3" +[0] 3 +[!0] 0 +State: 2 "1" +[0] 4 +[(!0 & !1)] 2 +[(!0 & 1)] 5 {0} +State: 3 "4" +[0] 1 +[(!0 & 1)] 0 +[(!0 & !1)] 0 {0} +State: 4 "2" +[(!0 & !1)] 2 {0} +[0] 2 +[(!0 & 1)] 0 {0} +State: 5 "5" +[0] 1 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 0 +State: 2 "2" +[0] 3 {0} +[!0] 1 +State: 3 "3" +[t] 4 +State: 4 "4" +[0] 3 +[(!0 & 1)] 4 +[(!0 & !1)] 5 {0} +State: 5 "5" +[0] 0 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 +[(0 & !1)] 2 {0} +[!0] 0 +State: 1 "1" +[!0] 3 {0} +[0] 4 +State: 2 "4" +[!0] 3 +[0] 0 {0} +State: 3 "2" +[!0] 0 {0} +[0] 5 +State: 4 "3" +[t] 0 +State: 5 "5" +[!0] 3 +[0] 4 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "1" +[(!0 & 1)] 3 +[(!0 & !1)] 0 +[0] 0 {0} +State: 2 "4" +[0] 4 {0} +[(!0 & 1)] 3 +[(!0 & !1)] 0 +State: 3 "3" +[0] 4 +[!0] 3 +State: 4 "2" +[!0] 3 +[0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "3" +[!0] 3 +[0] 0 {0} +State: 2 "1" +[!0] 4 +[0] 0 +State: 3 "4" +[0] 2 {0} +[!0] 3 +State: 4 "2" +[t] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[0] 1 +[!0] 3 +State: 2 "4" +[0] 4 +[!0] 0 {0} +State: 3 "1" +[!0] 1 {0} +[0] 4 +State: 4 "3" +[(0 & 1)] 4 +[(0 & !1)] 2 +[!0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[(0 & !1)] 2 {0} +[(0 & 1)] 3 {0} +State: 1 "2" +[(!0 & 1)] 2 {0} +[(!0 & !1)] 3 {0} +[0] 0 +State: 2 "3" +[(0 | (!0 & !1))] 3 +[(!0 & 1)] 4 +State: 3 "1" +[(!0 & !1)] 1 {0} +[(!0 & 1)] 2 +[0] 3 +State: 4 "4" +[(!0 & 1)] 2 +[(!0 & !1)] 3 {0} +[0] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[0] 3 +[!0] 2 +State: 2 "1" +[(0 & !1)] 2 +[!0] 4 {0} +[(0 & 1)] 0 +State: 3 "3" +[0] 3 +[!0] 0 +State: 4 "4" +[!0] 1 {0} +[0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[(0 & !1)] 2 +[(0 & 1)] 0 +State: 1 "2" +[0] 3 +[!0] 2 +State: 2 "1" +[!0] 3 +[0] 0 +State: 3 "3" +[0] 1 +[!0] 4 {0} +State: 4 "4" +[!0] 2 {0} +[0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 {0} +[(!0 & 1)] 2 +[0] 3 {0} +State: 1 "2" +[!0] 4 +[0] 0 +State: 2 "3" +[0] 3 +[!0] 4 +State: 3 "1" +[!0] 1 +[0] 3 {0} +State: 4 "4" +[(!0 & 1)] 2 +[0] 3 {0} +[(!0 & !1)] 4 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 +[!0] 1 {0} +State: 2 "2" +[(!0 & 1)] 3 +[(!0 & !1)] 1 +[0] 4 +State: 3 "3" +[t] 0 +State: 4 "4" +[0] 2 +[(!0 & 1)] 3 {0} +[(!0 & !1)] 4 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 0 +State: 1 "1" +[0] 2 +[!0] 3 +State: 2 "2" +[0] 1 +[!0] 4 {0} +State: 3 "3" +[t] 2 +State: 4 "4" +[0] 2 {0} +[!0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 2 {0} +[!0] 0 +State: 2 "2" +[t] 3 +State: 3 "3" +[0] 2 +[!0] 4 {0} +State: 4 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[(!0 & !1)] 2 {0} +[(!0 & 1)] 1 {0} +[0] 0 +State: 2 "2" +[(!0 & !1)] 2 {0} +[(!0 & 1)] 1 {0} +[0] 3 +State: 3 "4" +[(!0 & !1)] 2 +[(0 & !1)] 4 +[1] 1 {0} +State: 4 "3" +[(!0 & !1)] 2 +[(!0 & 1)] 1 {0} +[(0 & !1)] 3 +[(0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(!0 & 1)] 2 {0} +[0] 0 +State: 1 "1" +[0] 3 +[!0] 0 +State: 2 "4" +[(0 | (!0 & 1))] 3 {0} +[(!0 & !1)] 2 +State: 3 "3" +[!0] 4 +[0] 0 +State: 4 "2" +[(0 & 1)] 3 {0} +[(0 & !1)] 3 +[!0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 {0} +[0] 0 +State: 2 "2" +[(0 & !1)] 2 +[(0 & 1)] 3 +[!0] 1 {0} +State: 3 "3" +[!0] 2 +[0] 4 {0} +State: 4 "4" +[!0] 1 {0} +[0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[(0 & !1)] 2 {0} +[!0] 0 +[(0 & 1)] 0 {0} +State: 2 "2" +[0] 3 +[!0] 4 +State: 3 "3" +[(0 & !1)] 2 +[!0] 1 {0} +[(0 & 1)] 0 {0} +State: 4 "4" +[(0 & !1)] 2 +[(0 & 1)] 3 {0} +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 +[!0] 2 {0} +[(0 & 1)] 2 +State: 1 "1" +[(0 & 1)] 3 {0} +[!1] 4 {0} +[(!0 & 1)] 0 +State: 2 "4" +[(!0 & !1)] 4 {0} +[0] 1 {0} +[(!0 & 1)] 0 +State: 3 "2" +[t] 4 +State: 4 "3" +[(0 & 1)] 3 +[(!0 & !1)] 4 {0} +[(0 & !1)] 4 +[(!0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[(0 & !1)] 2 {0} +[(0 & 1)] 3 {0} +State: 1 "2" +[t] 0 +State: 2 "1" +[!0] 4 +[0] 0 {0} +State: 3 "4" +[!0] 3 +[0] 0 {0} +State: 4 "3" +[(!0 & !1)] 4 +[(0 & !1)] 2 +[1] 3 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[0] 1 +[(!0 & !1)] 0 {0} +State: 1 "1" +[(!0 & 1)] 2 +[(!0 & !1)] 3 +[0] 0 +State: 2 "2" +[!0] 2 {0} +[(0 & !1)] 4 +[(0 & 1)] 0 {0} +State: 3 "4" +[!0] 2 {0} +[(0 & !1)] 4 +[(0 & 1)] 1 {0} +State: 4 "3" +[0] 4 +[(!0 & 1)] 1 +[(!0 & !1)] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[!0] 2 {0} +[0] 0 +State: 2 "4" +[0] 3 {0} +[!0] 2 +State: 3 "3" +[!0] 4 +[0] 0 {0} +State: 4 "2" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 {0} +[!0] 3 +State: 2 "2" +[0] 2 +[!0] 4 {0} +State: 3 "3" +[!0] 1 +[0] 0 +State: 4 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[(0 & 1)] 2 {0} +[(0 & !1)] 0 +State: 1 "2" +[0] 2 +[!0] 0 +State: 2 "4" +[!0] 1 +[(0 & 1)] 3 {0} +[(0 & !1)] 2 +State: 3 "3" +[!1] 4 +[1] 0 {0} +State: 4 "1" +[0] 3 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 3 {0} +State: 2 "2" +[!0] 1 +[0] 0 +State: 3 "3" +[0] 3 +[!0] 4 {0} +State: 4 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[!0] 1 +[0] 2 +State: 2 "1" +[!0] 3 +[0] 4 +State: 3 "3" +[(0 & 1)] 1 +[(0 & !1)] 4 +[!0] 0 +State: 4 "4" +[!0] 1 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[!0] 1 +[0] 2 +State: 2 "1" +[!0] 3 +[0] 4 +State: 3 "3" +[0] 3 +[!0] 0 +State: 4 "4" +[!0] 1 +[0] 3 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[(0 & !1)] 2 +[(0 & 1)] 0 +State: 1 "2" +[!0] 1 +[(0 & !1)] 3 +[(0 & 1)] 0 {0} +State: 2 "4" +[(!0 & 1)] 4 {0} +[(!0 & !1)] 0 {0} +[0] 0 +State: 3 "3" +[(!0 & 1)] 4 +[(0 & !1)] 2 {0} +[((0 & 1) | (!0 & !1))] 0 {0} +State: 4 "1" +[t] 1 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 {0} +[!0] 2 {0} +[(0 & 1)] 3 +State: 1 "2" +[0] 1 +[!0] 2 +State: 2 "3" +[!0] 1 +[(0 & 1)] 3 {0} +[(0 & !1)] 0 {0} +State: 3 "1" +[!0] 4 +[0] 0 +State: 4 "4" +[((0 & !1) | !0)] 1 {0} +[(0 & 1)] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 3 {0} +State: 2 "2" +[!0] 1 +[(0 & 1)] 4 {0} +[(0 & !1)] 0 +State: 3 "3" +[0] 3 +[!0] 4 {0} +State: 4 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[t] 2 +State: 2 "1" +[!0] 3 {0} +[0] 0 +State: 3 "3" +[0] 2 {0} +[!0] 4 +State: 4 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[0] 1 +[(!0 & 1)] 2 {0} +[(!0 & !1)] 0 {0} +State: 1 "1" +[(!0 & 1)] 3 +[0] 4 +[(!0 & !1)] 0 {0} +State: 2 "4" +[!0] 4 {0} +[0] 1 +State: 3 "2" +[!0] 4 +[0] 1 +State: 4 "3" +[(!0 & 1)] 2 +[(0 | (!0 & !1))] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 {0} +State: 1 "4" +[!1] 2 {0} +[(!0 & 1)] 3 +[(0 & 1)] 0 +State: 2 "2" +[(0 & !1)] 2 {0} +[!0] 4 +[(0 & 1)] 0 {0} +State: 3 "3" +[!1] 4 {0} +[(!0 & 1)] 1 +[(0 & 1)] 0 +State: 4 "1" +[t] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 {0} +[(!0 & 1)] 2 {0} +[(0 & !1)] 3 +[(!0 & !1)] 4 +State: 1 "2" +[0] 1 +[!0] 2 +State: 2 "3" +[!0] 1 +[0] 0 {0} +State: 3 "1" +[!0] 2 {0} +[0] 0 +State: 4 "4" +[!0] 1 {0} +[0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 +[((0 & 1) | !0)] 2 +State: 1 "1" +[!0] 3 +[0] 3 {0} +State: 2 "4" +[!0] 3 +[(0 & 1)] 3 {0} +[(0 & !1)] 4 {0} +State: 3 "2" +[!0] 3 {0} +[(0 & 1)] 3 +[(0 & !1)] 4 +State: 4 "3" +[0] 3 +[!0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[(0 & 1)] 2 {0} +[(0 & !1)] 0 +State: 1 "3" +[!0] 3 {0} +[(0 & 1)] 1 +[(0 & !1)] 0 +State: 2 "4" +[!0] 3 {0} +[0] 2 +State: 3 "2" +[!0] 1 {0} +[0] 4 +State: 4 "1" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "1" +[(0 & 1)] 3 +[!0] 0 {0} +[(0 & !1)] 0 +State: 2 "4" +[(0 & 1)] 3 +[!0] 4 {0} +[(0 & !1)] 0 +State: 3 "2" +[0] 3 +[!0] 4 +State: 4 "3" +[0] 3 +[!0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[(!0 & !1)] 2 {0} +[0] 3 +State: 1 "2" +[0] 1 +[!0] 2 +State: 2 "3" +[(!0 & 1)] 1 +[(!0 & !1)] 2 +[0] 4 {0} +State: 3 "1" +[t] 0 +State: 4 "4" +[0] 4 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[(0 | (!0 & 1))] 2 +[(!0 & !1)] 0 +State: 2 "2" +[t] 3 +State: 3 "3" +[(0 & 1)] 2 +[!0] 0 +[(0 & !1)] 4 {0} +State: 4 "5" +[(0 & !1)] 2 {0} +[((0 & 1) | !0)] 5 +State: 5 "4" +[t] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[!0] 2 +[0] 0 {0} +State: 2 "1" +[0] 3 +[!0] 4 {0} +State: 3 "3" +[!0] 4 +[0] 0 +State: 4 "4" +[0] 2 +[!0] 5 +State: 5 "5" +[0] 3 {0} +[!0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "3" +[0] 3 +[!0] 2 +State: 2 "4" +[0] 4 +[!0] 0 +State: 3 "1" +[!0] 0 +[0] 5 +State: 4 "2" +[!0] 0 {0} +[0] 0 +State: 5 "5" +[!0] 1 {0} +[0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a" "b" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 +[(0 & 1)] 2 +[!0] 3 +State: 1 "2" +[t] 4 +State: 2 "1" +[0] 4 +[!0] 0 {0} +State: 3 "4" +[(!0 & 1)] 4 {0} +[0] 4 +[(!0 & !1)] 3 {0} +State: 4 "3" +[0] 2 +[!0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 +State: 1 "1" +[0] 3 +[!0] 4 {0} +State: 2 "5" +[!0] 3 {0} +[0] 3 +State: 3 "2" +[!0] 4 +[0] 0 +State: 4 "4" +[0] 3 +[!0] 5 +State: 5 "3" +[!0] 5 {0} +[0] 1 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[!0] 1 +[0] 4 +State: 3 "5" +[0] 2 {0} +[!0] 3 +State: 4 "4" +[0] 5 +[!0] 0 {0} +State: 5 "3" +[0] 5 +[!0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 3 {0} +State: 2 "4" +[0] 0 +[!0] 3 {0} +State: 3 "5" +[0] 4 {0} +[!0] 3 +State: 4 "2" +[0] 4 +[!0] 5 +State: 5 "3" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 {0} +State: 1 "1" +[!0] 2 +[0] 3 +State: 2 "4" +[0] 4 +[!0] 0 +State: 3 "5" +[!0] 4 {0} +[0] 1 +State: 4 "2" +[0] 5 +[!0] 2 +State: 5 "3" +[t] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "2" +[!0] 3 +[0] 4 +State: 2 "5" +[!0] 1 +[0] 5 {0} +State: 3 "1" +[!0] 1 +[0] 4 {0} +State: 4 "4" +[!0] 3 +[0] 0 +State: 5 "3" +[!0] 1 {0} +[0] 5 +--END-- + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "2" +[0] 1 +[!0] 0 +State: 2 "1" +[!0] 3 {0} +[0] 0 +State: 3 "4" +[!0] 4 +[0] 5 +State: 4 "3" +[0] 1 {0} +[!0] 3 +State: 5 "5" +[!0] 3 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "1" +[!0] 3 +[0] 4 {0} +State: 2 "4" +[0] 5 +[!0] 1 {0} +State: 3 "3" +[!0] 0 +[0] 4 +State: 4 "5" +[0] 5 {0} +[!0] 1 +State: 5 "2" +[!0] 5 +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "1" +[0] 3 +[!0] 1 +State: 2 "4" +[t] 4 +State: 3 "6" +[!0] 5 +[0] 0 +State: 4 "3" +[!0] 5 {0} +[0] 2 +State: 5 "2" +[!0] 5 +[0] 6 +State: 6 "5" +[!0] 1 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "7" +[!0] 2 +[0] 1 +State: 2 "2" +[0] 3 {0} +[!0] 0 +State: 3 "1" +[0] 3 +[!0] 4 +State: 4 "8" +[!0] 5 +[0] 6 {0} +State: 5 "6" +[0] 5 +[!0] 3 +State: 6 "5" +[0] 7 +[!0] 8 +State: 7 "3" +[!0] 7 +[0] 6 +State: 8 "4" +[!0] 0 {0} +[0] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 0 +[0] 2 {0} +State: 2 "5" +[!0] 3 {0} +[0] 2 +State: 3 "4" +[0] 4 +[!0] 3 +State: 4 "2" +[0] 5 +[!0] 0 {0} +State: 5 "3" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[!0] 2 {0} +[0] 0 +State: 2 "4" +[0] 3 {0} +[!0] 2 +State: 3 "3" +[!0] 4 +[0] 0 {0} +State: 4 "2" +[t] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 0 +State: 1 "2" +[!0] 2 {0} +[0] 3 +State: 2 "3" +[t] 4 +State: 3 "5" +[t] 5 +State: 4 "1" +[!0] 2 +[0] 3 {0} +State: 5 "4" +[0] 6 {0} +[!0] 1 +State: 6 "6" +[!0] 2 {0} +[0] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[!0] 2 {0} +[0] 0 +State: 2 "7" +[0] 3 +[!0] 4 +State: 3 "9" +[!0] 2 +[0] 4 +State: 4 "4" +[!0] 3 +[0] 5 {0} +State: 5 "5" +[!0] 6 +[0] 7 +State: 6 "2" +[!0] 7 +[0] 5 +State: 7 "8" +[0] 8 {0} +[!0] 5 +State: 8 "6" +[0] 8 +[!0] 9 +State: 9 "3" +[!0] 8 +[0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[0] 1 +[!0] 0 +State: 3 "3" +[!0] 3 +[0] 4 {0} +State: 4 "4" +[0] 4 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[t] 2 +State: 2 "2" +[!0] 3 {0} +[0] 0 +State: 3 "3" +[!0] 4 {0} +[0] 5 +State: 4 "6" +[!0] 0 {0} +[0] 6 +State: 5 "4" +[t] 3 +State: 6 "5" +[!0] 4 +[0] 7 +State: 7 "7" +[0] 4 +[!0] 2 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[0] 2 {0} +[!0] 0 +State: 2 "2" +[0] 3 +[!0] 4 {0} +State: 3 "3" +[0] 2 +[!0] 4 +State: 4 "4" +[t] 5 +State: 5 "5" +[0] 3 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 2 {0} +[!0] 0 +State: 2 "3" +[!0] 3 +[0] 4 +State: 3 "2" +[0] 2 +[!0] 5 {0} +State: 4 "4" +[0] 3 +[!0] 1 {0} +State: 5 "5" +[0] 0 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 2 {0} +[!0] 0 +State: 2 "7" +[0] 3 +[!0] 4 +State: 3 "9" +[!0] 5 {0} +[0] 4 +State: 4 "8" +[!0] 6 {0} +[0] 2 +State: 5 "6" +[0] 6 +[!0] 7 {0} +State: 6 "2" +[!0] 6 +[0] 8 +State: 7 "3" +[!0] 7 +[0] 9 +State: 8 "4" +[t] 5 +State: 9 "5" +[!0] 7 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[t] 0 +State: 3 "8" +[0] 4 +[!0] 5 +State: 4 "7" +[0] 6 {0} +[!0] 3 +State: 5 "9" +[!0] 4 +[0] 7 {0} +State: 6 "3" +[0] 6 +[!0] 8 +State: 7 "4" +[0] 9 {0} +[!0] 6 +State: 8 "5" +[t] 7 +State: 9 "6" +[0] 9 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "2" +[!0] 3 +[0] 2 {0} +State: 2 "1" +[!0] 4 +[0] 0 +State: 3 "3" +[!0] 1 +[0] 3 +State: 4 "4" +[!0] 3 {0} +[0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "6" +[!0] 1 +[0] 0 +State: 2 "2" +[0] 3 +[!0] 4 {0} +State: 3 "4" +[t] 2 +State: 4 "5" +[0] 5 +[!0] 4 +State: 5 "8" +[!0] 6 +[0] 7 +State: 6 "3" +[!0] 6 +[0] 8 +State: 7 "1" +[!0] 9 {0} +[0] 4 +State: 8 "7" +[!0] 1 {0} +[0] 9 +State: 9 "9" +[0] 6 +[!0] 9 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[!0] 3 {0} +[0] 4 +State: 2 "3" +[0] 2 +[!0] 5 +State: 3 "6" +[!0] 3 +[0] 2 {0} +State: 4 "5" +[t] 0 +State: 5 "1" +[!0] 2 +[0] 6 +State: 6 "4" +[0] 2 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[0] 2 {0} +[!0] 0 +State: 2 "2" +[0] 3 +[!0] 4 +State: 3 "3" +[0] 4 +[!0] 5 {0} +State: 4 "4" +[0] 2 +[!0] 5 {0} +State: 5 "5" +[0] 0 {0} +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "3" +[!0] 3 +[0] 1 +State: 2 "4" +[!0] 4 +[0] 2 +State: 3 "2" +[!0] 3 +[0] 0 +State: 4 "1" +[!0] 2 +[0] 5 {0} +State: 5 "5" +[!0] 6 +[0] 1 {0} +State: 6 "6" +[!0] 3 {0} +[0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "1" +[0] 0 +[!0] 2 {0} +State: 2 "5" +[0] 3 +[!0] 2 +State: 3 "6" +[0] 4 {0} +[!0] 2 +State: 4 "2" +[0] 4 +[!0] 5 +State: 5 "3" +[!0] 4 +[0] 6 +State: 6 "4" +[!0] 4 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 2 {0} +State: 1 "1" +[!0] 1 +[0] 3 +State: 2 "5" +[0] 4 +[!0] 2 +State: 3 "4" +[0] 1 +[!0] 0 +State: 4 "6" +[!0] 5 {0} +[0] 2 +State: 5 "3" +[!0] 6 +[0] 1 {0} +State: 6 "2" +[0] 6 +[!0] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 +State: 1 "1" +[0] 3 {0} +[!0] 0 +State: 2 "5" +[0] 4 {0} +[!0] 0 +State: 3 "3" +[t] 4 +State: 4 "2" +[0] 3 +[!0] 5 +State: 5 "4" +[0] 3 +[!0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 {0} +[!0] 2 +State: 1 "2" +[0] 3 +[!0] 2 {0} +State: 2 "1" +[0] 4 +[!0] 0 +State: 3 "3" +[0] 1 +[!0] 3 +State: 4 "4" +[0] 3 {0} +[!0] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "6" +[!0] 3 {0} +[0] 4 +State: 2 "1" +[t] 0 +State: 3 "3" +[0] 5 +[!0] 0 {0} +State: 4 "7" +[!0] 6 +[0] 7 +State: 5 "4" +[t] 6 +State: 6 "2" +[t] 3 +State: 7 "5" +[t] 1 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "7" +[!0] 1 +[0] 3 +State: 2 "1" +[0] 4 +[!0] 2 +State: 3 "9" +[!0] 5 {0} +[0] 1 +State: 4 "2" +[0] 2 +[!0] 0 +State: 5 "3" +[!0] 6 +[0] 7 +State: 6 "4" +[!0] 5 +[0] 6 +State: 7 "5" +[!0] 8 {0} +[0] 5 +State: 8 "6" +[!0] 2 {0} +[0] 9 +State: 9 "8" +[!0] 8 +[0] 9 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 {0} +[0] 2 +State: 1 "3" +[!0] 2 {0} +[0] 3 +State: 2 "1" +[!0] 2 +[0] 4 +State: 3 "4" +[0] 5 +[!0] 2 +State: 4 "5" +[!0] 1 +[0] 0 +State: 5 "2" +[t] 1 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 0 +State: 1 "1" +[!0] 2 +[0] 0 +State: 2 "2" +[!0] 3 {0} +[0] 1 +State: 3 "6" +[!0] 3 +[0] 4 +State: 4 "7" +[!0] 5 {0} +[0] 6 +State: 5 "3" +[!0] 5 +[0] 7 +State: 6 "8" +[0] 3 +[!0] 6 +State: 7 "4" +[!0] 1 {0} +[0] 8 +State: 8 "5" +[0] 5 +[!0] 8 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[0] 1 +[!0] 0 +State: 1 "6" +[0] 2 +[!0] 3 {0} +State: 2 "2" +[!0] 2 +[0] 0 +State: 3 "3" +[!0] 4 {0} +[0] 5 +State: 4 "7" +[!0] 4 +[0] 6 +State: 5 "4" +[t] 3 +State: 6 "5" +[0] 7 +[!0] 6 +State: 7 "1" +[!0] 2 {0} +[0] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[!0] 2 +[0] 3 {0} +State: 2 "4" +[t] 0 +State: 3 "5" +[t] 4 +State: 4 "6" +[0] 5 {0} +[!0] 6 +State: 5 "2" +[0] 5 +[!0] 7 +State: 6 "7" +[t] 3 +State: 7 "3" +[!0] 5 +[0] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 1 "a0" +--BODY-- +State: 0 "0" +[!0] 1 +[0] 2 {0} +State: 1 "2" +[0] 1 +[!0] 0 +State: 2 "3" +[0] 3 +[!0] 4 +State: 3 "1" +[0] 2 +[!0] 0 {0} +State: 4 "4" +[!0] 1 {0} +[0] 2 +--END-- + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 {0} +[(0 & 1)] 2 +[(0 & !1)] 3 +[(!0 & 1)] 0 +State: 1 "3" +[(0 & !1)] 4 {0} +[((0 & 1) | !0)] 1 +State: 2 "1" +[(0 & !1)] 2 +[(0 & 1)] 3 +[!0] 0 +State: 3 "4" +[(!0 & !1)] 1 {0} +[1] 2 +[(0 & !1)] 0 +State: 4 "2" +[(0 | (!0 & 1))] 4 +[(!0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 {0} +[(!0 & 1)] 2 +[((0 & 1) | (!0 & !1))] 3 +State: 1 "3" +[(!0 & !1)] 4 +[((0 & !1) | (!0 & 1))] 1 +[(0 & 1)] 5 +State: 2 "1" +[(!0 & 1)] 1 {0} +[(0 & !1)] 1 +[(0 & 1)] 2 +[(!0 & !1)] 0 +State: 3 "4" +[(0 & !1)] 1 {0} +[(!0 & !1)] 2 +[(0 & 1)] 3 +[(!0 & 1)] 5 {0} +State: 4 "2" +[(0 & 1)] 4 +[(0 & !1)] 1 {0} +[!0] 5 +State: 5 "5" +[!1] 1 +[(!0 & 1)] 2 {0} +[(0 & 1)] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(0 | (!0 & !1))] 0 +State: 1 "1" +[1] 2 {0} +[!1] 0 +State: 2 "3" +[(0 & !1)] 3 {0} +[1] 2 +[(!0 & !1)] 4 {0} +State: 3 "2" +[0] 3 +[(!0 & 1)] 5 +[(!0 & !1)] 0 {0} +State: 4 "5" +[1] 5 +[(0 & !1)] 0 {0} +[(!0 & !1)] 4 +State: 5 "4" +[(0 & !1)] 3 +[(!0 & !1)] 0 {0} +[1] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 0 +[(0 | (!0 & !1))] 1 +State: 1 "5" +[(0 & 1)] 2 {0} +[((0 & !1) | !0)] 0 +State: 2 "3" +[(!0 & 1)] 3 +[((0 & 1) | (!0 & !1))] 2 +[(0 & !1)] 4 +State: 3 "2" +[(0 & !1)] 3 +[(0 & 1)] 2 +[(!0 & !1)] 5 {0} +[(!0 & 1)] 4 +State: 4 "4" +[(!0 & !1)] 3 +[(0 & !1)] 2 +[(0 & 1)] 5 {0} +[(!0 & 1)] 0 {0} +State: 5 "1" +[((0 & !1) | !0)] 5 +[(0 & 1)] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 +[((0 & 1) | !0)] 2 +State: 1 "6" +[(!0 & !1)] 3 {0} +[(!0 & 1)] 4 {0} +[(0 & !1)] 2 {0} +[(0 & 1)] 0 +State: 2 "1" +[(0 & !1)] 4 {0} +[!0] 5 {0} +[(0 & 1)] 0 +State: 3 "2" +[!0] 2 {0} +[(0 & 1)] 5 +[(0 & !1)] 6 +State: 4 "3" +[((0 & 1) | (!0 & !1))] 3 {0} +[((0 & !1) | (!0 & 1))] 4 +State: 5 "4" +[(0 & 1)] 3 +[!0] 5 +[(0 & !1)] 6 +State: 6 "5" +[((0 & 1) | (!0 & !1))] 3 +[(0 & !1)] 4 {0} +[(!0 & 1)] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[1] 1 {0} +[!1] 0 +State: 1 "4" +[(0 & !1)] 2 +[(!0 & 1)] 3 {0} +[(0 & 1)] 4 {0} +[(!0 & !1)] 1 +State: 2 "2" +[(!0 & !1)] 2 +[(0 | (!0 & 1))] 1 +State: 3 "3" +[(!0 & 1)] 3 +[(!0 & !1)] 4 +[0] 0 {0} +State: 4 "1" +[(0 & !1)] 3 +[((0 & 1) | (!0 & !1))] 4 +[(!0 & 1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & !1)] 1 +[(!0 & 1)] 2 {0} +[(!0 & !1)] 3 +[(0 & 1)] 4 +State: 1 "6" +[(0 & !1)] 1 +[(!0 & 1)] 2 {0} +[(!0 & !1)] 5 {0} +[(0 & 1)] 0 +State: 2 "2" +[!1] 2 +[(0 & 1)] 0 {0} +[(!0 & 1)] 6 +State: 3 "3" +[(!0 & 1)] 1 +[(0 & 1)] 4 {0} +[!1] 0 +State: 4 "1" +[(!0 & 1)] 2 {0} +[(!0 & !1)] 3 {0} +[(0 & !1)] 4 +[(0 & 1)] 0 +State: 5 "4" +[(!0 & !1)] 2 {0} +[((0 & !1) | (!0 & 1))] 5 +[(0 & 1)] 0 {0} +State: 6 "5" +[(!0 & !1)] 2 +[(!0 & 1)] 5 {0} +[(0 & 1)] 0 {0} +[(0 & !1)] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 {0} +[(0 & !1)] 1 +[(!0 & !1)] 0 +[(!0 & 1)] 2 {0} +State: 1 "1" +[((0 & !1) | (!0 & 1))] 1 +[(0 & 1)] 3 {0} +[(!0 & !1)] 0 +State: 2 "5" +[0] 3 {0} +[!0] 2 +State: 3 "4" +[(!0 & !1)] 4 {0} +[(0 | (!0 & 1))] 3 +State: 4 "3" +[((0 & !1) | (!0 & 1))] 5 +[(!0 & !1)] 6 +[(0 & 1)] 1 {0} +State: 5 "6" +[(!0 & 1)] 5 +[(!0 & !1)] 4 +[0] 1 {0} +State: 6 "2" +[!0] 4 +[0] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[(!0 & !1)] 2 {0} +[(0 & 1)] 0 +[(0 & !1)] 3 +State: 1 "2" +[(!0 & 1)] 1 +[((0 & 1) | (!0 & !1))] 2 +[(0 & !1)] 3 {0} +State: 2 "3" +[(0 & 1)] 1 +[(!0 & !1)] 2 +[((0 & !1) | (!0 & 1))] 3 {0} +State: 3 "5" +[(!0 & !1)] 2 {0} +[(0 & 1)] 4 +[((0 & !1) | (!0 & 1))] 3 +State: 4 "1" +[(!0 & 1)] 5 +[(0 | (!0 & !1))] 3 +State: 5 "4" +[(!0 & !1)] 5 +[(0 & 1)] 0 {0} +[((0 & !1) | (!0 & 1))] 3 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 {0} +[(0 & 1)] 2 +[((0 & !1) | (!0 & 1))] 0 +State: 1 "2" +[1] 3 {0} +[(0 & !1)] 4 +[(!0 & !1)] 5 {0} +State: 2 "1" +[(!0 & 1)] 3 {0} +[(0 & !1)] 1 {0} +[(0 & 1)] 2 +[(!0 & !1)] 0 +State: 3 "6" +[(0 & 1)] 2 {0} +[!0] 6 +[(0 & !1)] 5 +State: 4 "3" +[1] 3 {0} +[(!0 & !1)] 1 +[(0 & !1)] 4 +State: 5 "5" +[(0 | (!0 & 1))] 3 +[(!0 & !1)] 5 +State: 6 "4" +[(!0 & !1)] 1 {0} +[(0 & 1)] 2 {0} +[(!0 & 1)] 6 +[(0 & !1)] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[t] 1 +State: 1 "1" +[((0 & 1) | (!0 & !1))] 2 {0} +[(0 & !1)] 0 +[(!0 & 1)] 3 {0} +State: 2 "6" +[(!0 & !1)] 2 {0} +[(0 & 1)] 4 +[((0 & !1) | (!0 & 1))] 3 +State: 3 "5" +[((0 & !1) | (!0 & 1))] 2 +[(!0 & !1)] 4 {0} +[(0 & 1)] 4 +State: 4 "3" +[(!0 & !1)] 2 +[((0 & !1) | (!0 & 1))] 5 +[(0 & 1)] 4 +State: 5 "2" +[!1] 4 +[(!0 & 1)] 1 {0} +[(0 & 1)] 6 {0} +State: 6 "4" +[!0] 1 {0} +[0] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(0 | (!0 & 1))] 2 +State: 1 "2" +[(!0 & 1)] 3 {0} +[(0 | (!0 & !1))] 0 +State: 2 "1" +[(0 & !1)] 1 +[((0 & 1) | !0)] 3 {0} +State: 3 "7" +[(0 & !1)] 4 +[(!0 & 1)] 3 {0} +[(!0 & !1)] 3 +[(0 & 1)] 5 +State: 4 "3" +[!1] 4 +[(!0 & 1)] 2 {0} +[(0 & 1)] 5 +State: 5 "4" +[(0 & !1)] 4 +[(!0 & 1)] 3 +[(!0 & !1)] 5 +[(0 & 1)] 6 +State: 6 "5" +[(!0 & !1)] 7 +[(0 & !1)] 4 +[(0 & 1)] 2 {0} +[(!0 & 1)] 5 +State: 7 "6" +[(0 & !1)] 4 +[(!0 & 1)] 5 +[(0 & 1)] 0 {0} +[(!0 & !1)] 6 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(!0 & 1)] 2 {0} +[0] 3 +State: 1 "2" +[((0 & 1) | (!0 & !1))] 1 +[(0 & !1)] 2 {0} +[(!0 & 1)] 0 +State: 2 "3" +[(!0 & !1)] 1 {0} +[(0 & !1)] 2 +[(0 & 1)] 3 {0} +[(!0 & 1)] 4 +State: 3 "1" +[!0] 1 +[(0 & 1)] 1 {0} +[(0 & !1)] 4 {0} +State: 4 "4" +[((0 & 1) | (!0 & !1))] 1 {0} +[((0 & !1) | (!0 & 1))] 2 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 +[(0 & !1)] 2 +[(!0 & !1)] 0 +[(0 & 1)] 3 +State: 1 "3" +[(!0 & 1)] 4 +[(0 & !1)] 4 {0} +[(!0 & !1)] 0 +[(0 & 1)] 3 {0} +State: 2 "1" +[(0 & 1)] 1 +[!1] 2 +[(!0 & 1)] 3 +State: 3 "5" +[(!0 & 1)] 5 +[(0 & !1)] 2 +[((0 & 1) | (!0 & !1))] 0 +State: 4 "4" +[(0 & 1)] 1 +[!1] 2 +[(!0 & 1)] 0 +State: 5 "2" +[(0 & 1)] 1 {0} +[(!0 & 1)] 2 +[(0 & !1)] 4 {0} +[(!0 & !1)] 0 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[((0 & 1) | (!0 & !1))] 1 +[(0 & !1)] 0 +State: 1 "1" +[!0] 2 +[0] 0 +State: 2 "3" +[(0 & !1)] 3 +[!0] 1 +[(0 & 1)] 0 {0} +State: 3 "2" +[(0 & !1)] 3 +[!0] 1 +[(0 & 1)] 1 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(0 & 1)] 1 {0} +[!1] 2 +[(!0 & 1)] 0 +State: 1 "3" +[(!0 & !1)] 3 +[(!0 & 1)] 1 +[(0 & 1)] 2 {0} +[(0 & !1)] 4 +State: 2 "4" +[(0 & !1)] 5 {0} +[1] 2 +[(!0 & !1)] 0 +State: 3 "6" +[(!0 & !1)] 5 +[(0 & 1)] 1 +[(!0 & 1)] 6 +[(0 & !1)] 2 {0} +State: 4 "5" +[(!0 & !1)] 3 {0} +[(0 & !1)] 5 +[1] 4 +State: 5 "2" +[(!0 & !1)] 3 +[(0 & !1)] 5 {0} +[(0 & 1)] 1 +[(!0 & 1)] 7 +State: 6 "7" +[(0 & !1)] 5 +[(!0 & 1)] 6 +[(!0 & !1)] 7 {0} +[(0 & 1)] 4 +State: 7 "1" +[(0 & !1)] 5 +[1] 7 +[(!0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[0] 1 +[(!0 & !1)] 0 +[(!0 & 1)] 2 {0} +State: 1 "1" +[!1] 3 {0} +[(!0 & 1)] 1 +[(0 & 1)] 0 +State: 2 "5" +[(!0 & !1)] 4 +[(0 & !1)] 5 +[1] 2 +State: 3 "2" +[(0 & !1)] 4 {0} +[(!0 & !1)] 5 {0} +[(0 & 1)] 5 +[(!0 & 1)] 2 {0} +State: 4 "6" +[(0 & !1)] 4 +[(0 & 1)] 5 +[(!0 & 1)] 6 {0} +[(!0 & !1)] 0 {0} +State: 5 "3" +[(0 & !1)] 4 +[(!0 & !1)] 5 +[(0 & 1)] 6 {0} +[(!0 & 1)] 2 +State: 6 "4" +[((0 & !1) | (!0 & 1))] 1 {0} +[(0 & 1)] 6 +[(!0 & !1)] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 {0} +[(!0 & 1)] 2 +[0] 0 +State: 1 "7" +[(!0 & !1)] 3 {0} +[(0 | (!0 & 1))] 4 +State: 2 "1" +[(!0 & !1)] 3 {0} +[(!0 & 1)] 5 {0} +[(0 & !1)] 2 +[(0 & 1)] 0 +State: 3 "2" +[(0 & 1)] 6 +[(!0 & !1)] 7 {0} +[(!0 & 1)] 4 {0} +[(0 & !1)] 4 +State: 4 "5" +[!1] 1 +[(!0 & 1)] 7 +[(0 & 1)] 0 {0} +State: 5 "3" +[(0 & !1)] 6 +[(!0 & !1)] 3 +[(0 & 1)] 1 {0} +[(!0 & 1)] 7 {0} +State: 6 "6" +[(0 & !1)] 6 +[(!0 & 1)] 5 +[(!0 & !1)] 1 {0} +[(0 & 1)] 4 {0} +State: 7 "4" +[(0 & 1)] 1 +[(!0 & 1)] 2 {0} +[(!0 & !1)] 7 +[(0 & !1)] 4 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 +[(0 & 1)] 0 +[((0 & !1) | (!0 & 1))] 2 +State: 1 "1" +[!0] 3 +[(0 & 1)] 4 {0} +[(0 & !1)] 0 +State: 2 "5" +[!0] 3 +[(0 & 1)] 0 {0} +[(0 & !1)] 0 +State: 3 "6" +[((0 & !1) | (!0 & 1))] 3 +[(!0 & !1)] 4 {0} +[(0 & 1)] 0 +State: 4 "4" +[(0 & !1)] 5 {0} +[(!0 & 1)] 6 +[((0 & 1) | (!0 & !1))] 4 +State: 5 "2" +[((0 & !1) | (!0 & 1))] 5 +[(0 & 1)] 0 +[(!0 & !1)] 2 {0} +State: 6 "3" +[(!0 & 1)] 6 +[(0 & !1)] 4 +[((0 & 1) | (!0 & !1))] 0 {0} +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & 1)] 1 {0} +[(0 & !1)] 2 {0} +[(!0 & !1)] 3 +[(0 & 1)] 0 +State: 1 "2" +[1] 1 +[(0 & !1)] 2 +[(!0 & !1)] 4 {0} +State: 2 "3" +[(!0 & 1)] 1 +[((0 & 1) | (!0 & !1))] 2 +[(0 & !1)] 5 +State: 3 "1" +[0] 2 {0} +[!0] 0 +State: 4 "5" +[(0 & !1)] 5 {0} +[(!0 & 1)] 0 {0} +[((0 & 1) | (!0 & !1))] 4 +State: 5 "4" +[1] 1 +[!1] 5 +--END-- + + + +HOA: v1 +tool: "owl" "22.0-development" +Start: 0 +acc-name: co-Buchi 1 +Acceptance: 1 Fin(0) +properties: trans-acc no-univ-branch +properties: deterministic unambiguous +properties: complete +AP: 2 "a0" "a1" +--BODY-- +State: 0 "0" +[(!0 & !1)] 1 {0} +[(!0 & 1)] 2 +[0] 0 +State: 1 "7" +[!1] 3 +[(0 & 1)] 4 {0} +[(!0 & 1)] 1 +State: 2 "1" +[((0 & !1) | !0)] 5 +[(0 & 1)] 0 +State: 3 "6" +[(!0 & 1)] 3 +[(0 & 1)] 4 {0} +[(0 & !1)] 6 +[(!0 & !1)] 7 {0} +State: 4 "3" +[(!0 & !1)] 5 {0} +[1] 8 {0} +[(0 & !1)] 7 +State: 5 "2" +[(!0 & !1)] 5 +[1] 2 +[(0 & !1)] 0 +State: 6 "4" +[(!0 & !1)] 1 +[(!0 & 1)] 6 +[(0 & !1)] 9 {0} +[(0 & 1)] 7 {0} +State: 7 "5" +[((0 & !1) | (!0 & 1))] 4 +[(0 & 1)] 8 {0} +[(!0 & !1)] 7 +State: 8 "9" +[(!0 & !1)] 5 {0} +[(0 | (!0 & 1))] 8 +State: 9 "8" +[(!0 & 1)] 4 {0} +[(0 & 1)] 8 {0} +[(0 & !1)] 9 +[(!0 & !1)] 7 {0} +--END-- + + + diff --git a/data/tests.json b/data/tests.json index e4551201..8f955817 100644 --- a/data/tests.json +++ b/data/tests.json @@ -271,6 +271,7 @@ "tools": [ "ltl2delta2 --method=SE20_SIGMA_2_AND_GF_SIGMA_1 --verify | ./owl ltl2dela --translation=SLM21", "ltl2delta2 --method=SE20_PI_2_AND_FG_PI_1 --verify | ./owl ltl2dela --translation=SLM21", + "ltl2delta2 --method=SE20_PI_2_AND_FG_PI_1 --verify | ./owl ltl2dra --translation=SE20 --use-sat-based-tdbw-and-tdcw-minimisation", "ltl2delta2 --method=SE20_SIGMA_2_AND_GF_SIGMA_1 --strict --verify | ./owl ltl2dela --translation=SLM21", "ltl2delta2 --method=SE20_PI_2_AND_FG_PI_1 --strict --verify | ./owl ltl2dela --translation=SLM21" ], diff --git a/src/main/c/include/owl_types.h b/src/main/c/include/owl_types.h index 4052f44b..671e44d8 100644 --- a/src/main/c/include/owl_types.h +++ b/src/main/c/include/owl_types.h @@ -107,6 +107,8 @@ typedef enum { // Use a portfolio of simpler constructions for fragments of LTL. OWL_USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS, + OWL_USE_SAT_BASED_DBW_DCW_MINIMIZATION, + // Translate the formula and the negation of the formula to DPWs and // return the smaller one. OWL_X_DPA_USE_COMPLEMENT, diff --git a/src/main/java/owl/automaton/AbstractMemoizingAutomaton.java b/src/main/java/owl/automaton/AbstractMemoizingAutomaton.java index d944b249..820de70e 100644 --- a/src/main/java/owl/automaton/AbstractMemoizingAutomaton.java +++ b/src/main/java/owl/automaton/AbstractMemoizingAutomaton.java @@ -46,6 +46,7 @@ import owl.bdd.MtBddOperations; import owl.collections.Collections3; import owl.collections.Either; +import owl.collections.ImmutableBitSet; import owl.collections.Pair; /** @@ -65,6 +66,8 @@ * * @param the state type * @param the acceptance condition type + *

+ * TODO: Rename to ImmutableAutomaton. **/ public abstract class AbstractMemoizingAutomaton implements Automaton { @@ -192,6 +195,11 @@ public final Set> edges(S state, BitSet valuation) { return edgeTree(state).get(valuation); } + @Override + public final Set> edges(S state, ImmutableBitSet valuation) { + return edgeTree(state).get(valuation); + } + @Override public final Set> edges(S state) { // Call edgeTree to ensure that the result is cached. @@ -489,8 +497,7 @@ protected final Set> edgesImpl(S state, BitSet valuation) { @Override public final boolean is(Property property) { - return property == SEMI_DETERMINISTIC - || super.is(property); + return property == SEMI_DETERMINISTIC || super.is(property); } } @@ -600,4 +607,36 @@ protected void explorationCompleted() { memoizedEdgesB = null; } } + + // TODO: hide behind of(...) and copyOf(). + public static class PrecomputedAutomaton + extends EdgeTreeImplementation { + + @Nullable + private List>> edgeTrees; + + public PrecomputedAutomaton( + List atomicPropositions, + BddSetFactory factory, + Set initialStates, + A acceptance, + List>> edgeTrees) { + + super(atomicPropositions, factory, initialStates, acceptance); + this.edgeTrees = List.copyOf(edgeTrees); + Preconditions.checkArgument(this.initialStates.isEmpty() == this.edgeTrees.isEmpty()); + } + + @Override + protected MtBdd> edgeTreeImpl(Integer state) { + assert edgeTrees != null; + return edgeTrees.get(state); + } + + @Override + protected void explorationCompleted() { + assert edgeTrees != null; + edgeTrees = null; + } + } } diff --git a/src/main/java/owl/automaton/Automaton.java b/src/main/java/owl/automaton/Automaton.java index dd45b28a..ef8cebdf 100644 --- a/src/main/java/owl/automaton/Automaton.java +++ b/src/main/java/owl/automaton/Automaton.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 - 2021 (See AUTHORS) + * Copyright (C) 2016 - 2022 (See AUTHORS) * * This file is part of Owl. * @@ -35,6 +35,7 @@ import owl.bdd.BddSet; import owl.bdd.BddSetFactory; import owl.bdd.MtBdd; +import owl.collections.ImmutableBitSet; /** * An automaton over infinite words. @@ -51,9 +52,9 @@ * *

All methods throw an {@link IllegalArgumentException} on a best-effort basis if they detect * that a state given as an argument is not reachable from the initial states. Note that this - * behavior cannot be guaranteed, as it is, generally speaking, expensive to check this - * for on-the-fly constructed automata. Therefore, it would be wrong to write a program that - * depends on this exception for its correctness: this should be only used to detect bugs.

+ * behavior cannot be guaranteed, as it is, generally speaking, expensive to check this for + * on-the-fly constructed automata. Therefore, it would be wrong to write a program that depends on + * this exception for its correctness: this should be only used to detect bugs.

* * @param the type of the states of the automaton * @param
the type of the omega-acceptance condition of the automaton @@ -82,14 +83,11 @@ public interface Automaton { // States /** - * Returns the initial state. Returns null if there is no and - * {@link IllegalStateException} if there are multiple initial states. + * Returns the initial state. Returns null if there is no and {@link IllegalStateException} if + * there are multiple initial states. * * @return The unique initial state or null. - * - * @throws IllegalStateException - * If there are multiple initial states. - * + * @throws IllegalStateException If there are multiple initial states. * @see #initialStates() */ default S initialState() { @@ -122,15 +120,16 @@ default S initialState() { /** * Returns the successor edges of the specified {@code state} under the given {@code valuation}. * - * @param state - * The starting state of the transition. - * @param valuation - * The valuation. - * + * @param state The starting state of the transition. + * @param valuation The valuation. * @return The successor edges, possibly empty. */ Set> edges(S state, BitSet valuation); + default Set> edges(S state, ImmutableBitSet valuation) { + return edges(state, valuation.copyInto(new BitSet())); + } + /** * Returns the successor edge of the specified {@code state} under the given {@code valuation}. * Returns some edge if there is a non-deterministic choice in this state for the specified @@ -139,13 +138,9 @@ default S initialState() { *

If you want to check if this is the unique edge use the {@link #edges(Object, BitSet)} * method.

* - * @param state - * The starting state of the transition. - * @param valuation - * The valuation. - * + * @param state The starting state of the transition. + * @param valuation The valuation. * @return A successor edge or {@code null} if none. - * * @see #edgeMap(Object) */ @Nullable @@ -156,9 +151,7 @@ default Edge edge(S state, BitSet valuation) { /** * Returns all successor edges of the specified {@code state} under any valuation. * - * @param state - * The starting state of the edges. - * + * @param state The starting state of the edges. * @return The set of edges originating from {@code state} */ default Set> edges(S state) { @@ -170,9 +163,7 @@ default Set> edges(S state) { /** * Returns a mapping from all outgoing edges to their valuations of the specified {@code state}. * - * @param state - * The state. - * + * @param state The state. * @return All labelled edges of the state. */ Map, BddSet> edgeMap(S state); @@ -180,8 +171,7 @@ default Set> edges(S state) { /** * Returns a decision-tree with nodes labelled by literals and sets of edges as leaves. * - * @param state - * The state. + * @param state The state. * @return A tree. */ MtBdd> edgeTree(S state); @@ -191,29 +181,26 @@ default Set> edges(S state) { /** * Returns the successors of the specified {@code state} under the given {@code valuation}. * - * @param state - * The starting state of the transition. - * @param valuation - * The valuation. - * + * @param state The starting state of the transition. + * @param valuation The valuation. * @return The successor set. */ default Set successors(S state, BitSet valuation) { return Edges.successors(edges(state, valuation)); } + default Set successors(S state, ImmutableBitSet valuation) { + return Edges.successors(edges(state, valuation)); + } + /** - * Returns the successor of the specified {@code state} under the given {@code valuation}. - * Returns some state if there is a non-deterministic choice in this state for the specified - * valuation. + * Returns the successor of the specified {@code state} under the given {@code valuation}. Returns + * some state if there is a non-deterministic choice in this state for the specified valuation. * *

If you want to check if this is the unique edge use the successors() method.

* - * @param state - * The starting state of the transition. - * @param valuation - * The valuation. - * + * @param state The starting state of the transition. + * @param valuation The valuation. * @return A successor or {@code null} if none. */ @Nullable @@ -221,12 +208,14 @@ default S successor(S state, BitSet valuation) { return Iterables.getFirst(successors(state, valuation), null); } + default S successor(S state, ImmutableBitSet valuation) { + return Iterables.getFirst(successors(state, valuation), null); + } + /** * Returns all successors of the specified {@code state}. * - * @param state - * The starting state of the transition. - * + * @param state The starting state of the transition. * @return The successor set. */ default Set successors(S state) { @@ -236,9 +225,7 @@ default Set successors(S state) { /** * Returns the predecessors of the specified {@code successor}. * - * @param successor - * The successor for which the predecessor set needs to be computed. - * + * @param successor The successor for which the predecessor set needs to be computed. * @return The predecessor set. */ default Set predecessors(S successor) { @@ -269,14 +256,14 @@ default boolean is(Property property) { case LIMIT_DETERMINISTIC: if (acceptance() instanceof GeneralizedBuchiAcceptance) { return AutomatonUtil.ldbaSplit( - OmegaAcceptanceCast.cast(this, GeneralizedBuchiAcceptance.class)).isPresent(); + OmegaAcceptanceCast.cast(this, GeneralizedBuchiAcceptance.class)).isPresent(); } return false; default: throw new UnsupportedOperationException("Property detection for " + property - + " is not implemented"); + + " is not implemented"); } } @@ -295,16 +282,16 @@ enum Property { DETERMINISTIC, /** - * An automaton is semi-deterministic if every state has at most one successor for each - * letter of the alphabet. + * An automaton is semi-deterministic if every state has at most one successor for each letter + * of the alphabet. */ SEMI_DETERMINISTIC, /** - * An automaton is limit-deterministic if it has a (generalised) Büchi acceptance condition - * and every state reachable from an edge with an acceptance marking is deterministic. Thus - * all accepting runs are eventually trapped within a subset of the states that have - * deterministic transition relation. + * An automaton is limit-deterministic if it has a (generalised) Büchi acceptance condition and + * every state reachable from an edge with an acceptance marking is deterministic. Thus all + * accepting runs are eventually trapped within a subset of the states that have deterministic + * transition relation. */ LIMIT_DETERMINISTIC } diff --git a/src/main/java/owl/automaton/BooleanOperations.java b/src/main/java/owl/automaton/BooleanOperations.java index 90deb323..25b9fb5b 100644 --- a/src/main/java/owl/automaton/BooleanOperations.java +++ b/src/main/java/owl/automaton/BooleanOperations.java @@ -262,6 +262,7 @@ private PairIntersectionAutomaton( Automaton automaton2) { super(atomicPropositions, + automaton1.factory(), Pair.allPairs(automaton1.initialStates(), automaton2.initialStates()), intersectionAcceptance(List.of(automaton1.acceptance(), automaton2.acceptance()))); diff --git a/src/main/java/owl/automaton/EdgeRelation.java b/src/main/java/owl/automaton/EdgeRelation.java new file mode 100644 index 00000000..ddc3f73c --- /dev/null +++ b/src/main/java/owl/automaton/EdgeRelation.java @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2016 - 2021 (See AUTHORS) + * + * This file is part of Owl. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 . + */ + +package owl.automaton; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.function.Predicate; +import owl.automaton.edge.Edge; +import owl.automaton.edge.Edges; + +@FunctionalInterface +public interface EdgeRelation { + + /** + * Returns all outgoing edges of the specified {@code state}. + * + * @param state The starting state of the transition. + * @return The set of all outgoing edges collection. + * @throws IllegalArgumentException If the transition function is not defined for {@code state} + */ + Set> edges(S state); + + default Set successors(S state) { + Set> edges = edges(state); + Set successors = new HashSet<>(edges.size()); + edges.forEach(edge -> successors.add(edge.successor())); + return successors; + } + + static EdgeRelation filter(Automaton automaton, Set states) { + return filter(automaton::edges, edge -> states.contains(edge.successor())); + } + + static EdgeRelation filter(EdgeRelation edgeRelation, Predicate> filter) { + return new MemoizingEdgeRelation(state -> { + List> edges = new ArrayList<>(edgeRelation.edges(state)); + edges.removeIf(Predicate.not(filter)); + return Set.of(edges.toArray(Edge[]::new)); + }); + } + + static MemoizingEdgeRelation memoizing(EdgeRelation edgeRelation) { + if (edgeRelation instanceof EdgeRelation.MemoizingEdgeRelation memoizingEdgeRelation) { + return memoizingEdgeRelation; + } + + return new MemoizingEdgeRelation<>(edgeRelation); + } + + final class MemoizingEdgeRelation implements EdgeRelation { + + private final EdgeRelation relation; + private final Map>> memoizedEdges = new HashMap<>(); + private final Map> memoizedSuccessors = new HashMap<>(); + + MemoizingEdgeRelation(EdgeRelation relation) { + this.relation = relation; + } + + @Override + public Set> edges(S state) { + return memoizedEdges.computeIfAbsent(state, key -> Set.copyOf(relation.edges(state))); + } + + @Override + public Set successors(S state) { + return memoizedSuccessors.computeIfAbsent(state, + key -> (Set) Set.of(Edges.successors(edges(key)).toArray(Object[]::new))); + } + } +} diff --git a/src/main/java/owl/automaton/EmptyAutomaton.java b/src/main/java/owl/automaton/EmptyAutomaton.java index a70ffb06..efeffd71 100644 --- a/src/main/java/owl/automaton/EmptyAutomaton.java +++ b/src/main/java/owl/automaton/EmptyAutomaton.java @@ -42,13 +42,13 @@ private EmptyAutomaton( acceptance); } - public static Automaton of( + public static EmptyAutomaton of( List atomicPropositions, A acceptance) { return new EmptyAutomaton<>(atomicPropositions, null, acceptance); } - public static Automaton of( + public static EmptyAutomaton of( List atomicPropositions, BddSetFactory factory, A acceptance) { return new EmptyAutomaton<>(atomicPropositions, factory, acceptance); diff --git a/src/main/java/owl/automaton/HashMapAutomaton.java b/src/main/java/owl/automaton/HashMapAutomaton.java index d5c130e3..5c345d89 100644 --- a/src/main/java/owl/automaton/HashMapAutomaton.java +++ b/src/main/java/owl/automaton/HashMapAutomaton.java @@ -440,10 +440,14 @@ public static HashMapAutomaton create( public static HashMapAutomaton copyOf( Automaton source) { + HashMapAutomaton target = new HashMapAutomaton<>( source.atomicPropositions(), source.factory(), source.acceptance()); - source.initialStates().forEach(target::addInitialState); + for (S s : source.initialStates()) { + target.addInitialState(s); + } + // Use a work-list algorithm in case source is an on-the-fly generated automaton. Deque workList = new ArrayDeque<>(source.initialStates()); Set visited = new HashSet<>(workList); diff --git a/src/main/java/owl/automaton/SuccessorFunction.java b/src/main/java/owl/automaton/SuccessorFunction.java deleted file mode 100644 index 46c9a91b..00000000 --- a/src/main/java/owl/automaton/SuccessorFunction.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (C) 2016 - 2021 (See AUTHORS) - * - * This file is part of Owl. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program 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 . - */ - -package owl.automaton; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Set; -import java.util.function.Function; -import java.util.function.Predicate; -import owl.automaton.edge.Edge; - -@FunctionalInterface -public interface SuccessorFunction extends Function> { - - @Override - default Collection apply(S s) { - return successors(s); - } - - /** - * Returns all successors of the specified {@code state}. - * - * @param state - * The starting state of the transition. - * - * @return The successor collection. - * - * @throws IllegalArgumentException - * If the transition function is not defined for {@code state} - */ - Collection successors(S state); - - static SuccessorFunction filter(Automaton automaton, - Set states) { - return filter(automaton, states, e -> true); - } - - static SuccessorFunction filter(Automaton automaton, - Set states, Predicate> edgeFilter) { - return state -> { - if (!states.contains(state)) { - return List.of(); - } - - List successors = new ArrayList<>(); - - for (Edge edge : automaton.edges(state)) { - if (edgeFilter.test(edge) && states.contains(edge.successor())) { - successors.add(edge.successor()); - } - } - - return successors; - }; - } - - static SuccessorFunction of(Function> successorFunction) { - return successorFunction::apply; - } -} diff --git a/src/main/java/owl/automaton/Views.java b/src/main/java/owl/automaton/Views.java index e6a7d70d..ff4bbef0 100644 --- a/src/main/java/owl/automaton/Views.java +++ b/src/main/java/owl/automaton/Views.java @@ -24,7 +24,9 @@ import com.google.auto.value.AutoValue; import com.google.common.collect.ImmutableListMultimap; import com.google.common.collect.Sets; +import java.lang.reflect.Modifier; import java.util.ArrayDeque; +import java.util.ArrayList; import java.util.BitSet; import java.util.Deque; import java.util.HashMap; @@ -117,16 +119,24 @@ public boolean is(Property property) { }; } - public static Automaton, ? extends BuchiAcceptance> - completeBuchi(Automaton automaton) { + public static Automaton, BuchiAcceptance> + completeBuchi(Automaton automaton) { - return OmegaAcceptanceCast.cast(Views.complete(automaton), BuchiAcceptance.class); + assert Modifier.isFinal(BuchiAcceptance.class.getModifiers()); + @SuppressWarnings("unchecked") + var completeBuchi = (Automaton, BuchiAcceptance>) + OmegaAcceptanceCast.cast(Views.complete(automaton), BuchiAcceptance.class); + return completeBuchi; } - public static Automaton, ? extends CoBuchiAcceptance> - completeCoBuchi(Automaton automaton) { + public static Automaton, CoBuchiAcceptance> + completeCoBuchi(Automaton automaton) { - return OmegaAcceptanceCast.cast(Views.complete(automaton), CoBuchiAcceptance.class); + assert Modifier.isFinal(CoBuchiAcceptance.class.getModifiers()); + @SuppressWarnings("unchecked") + var completeCoBuchi = (Automaton, CoBuchiAcceptance>) + OmegaAcceptanceCast.cast(Views.complete(automaton), CoBuchiAcceptance.class); + return completeCoBuchi; } /** @@ -151,9 +161,6 @@ public abstract static class Filter { @Nullable abstract Set initialStates(); - @Nullable - abstract Predicate stateFilter(); - @Nullable abstract BiPredicate> edgeFilter(); @@ -163,17 +170,14 @@ public static Builder builder() { public static Filter of(Set initialStates, Predicate stateFilter) { Builder builder = builder(); - return builder.initialStates(initialStates).stateFilter(stateFilter).build(); - } - - public static Filter of(Predicate stateFilter) { - Builder builder = builder(); - return builder.stateFilter(stateFilter).build(); + return builder + .initialStates(Sets.filter(initialStates, stateFilter::test)) + .edgeFilter((state, edge) -> stateFilter.test(edge.successor())).build(); } - public static Filter of(Predicate stateFilter, BiPredicate> edgeFilter) { + public static Filter of(BiPredicate> edgeFilter) { Builder builder = builder(); - return builder.stateFilter(stateFilter).edgeFilter(edgeFilter).build(); + return builder.edgeFilter(edgeFilter).build(); } @AutoValue.Builder @@ -181,8 +185,6 @@ public abstract static class Builder { public abstract Builder initialStates(@Nullable Set initialStates); - public abstract Builder stateFilter(@Nullable Predicate filter); - public abstract Builder edgeFilter(@Nullable BiPredicate> filter); public abstract Filter build(); @@ -267,9 +269,6 @@ private static final class AutomatonView private final Automaton backingAutomaton; - @Nullable - private final Predicate stateFilter; - @Nullable private final BiPredicate> edgeFilter; @@ -280,45 +279,8 @@ private AutomatonView(Automaton automaton, Filter settings) { initialStates(automaton, settings), automaton.acceptance()); - if (automaton instanceof AutomatonView view) { - this.backingAutomaton = view.backingAutomaton; - this.stateFilter = and(view.stateFilter, settings.stateFilter()); - this.edgeFilter = and(view.edgeFilter, settings.edgeFilter()); - } else { - this.backingAutomaton = automaton; - this.stateFilter = settings.stateFilter(); - this.edgeFilter = settings.edgeFilter(); - } - } - - @Nullable - static Predicate and( - @Nullable Predicate predicate1, - @Nullable Predicate predicate2) { - if (predicate1 == null) { - return predicate2; - } - - if (predicate2 == null) { - return predicate1; - } - - return predicate1.and(predicate2); - } - - @Nullable - static BiPredicate and( - @Nullable BiPredicate predicate1, - @Nullable BiPredicate predicate2) { - if (predicate1 == null) { - return predicate2; - } - - if (predicate2 == null) { - return predicate1; - } - - return predicate1.and(predicate2); + this.backingAutomaton = automaton; + this.edgeFilter = settings.edgeFilter(); } private static Set initialStates( @@ -329,36 +291,40 @@ private static Set initialStates( initialStates = automaton.initialStates(); } - Predicate stateFilter = settings.stateFilter(); - - if (stateFilter == null) { - return initialStates; - } - - return Sets.filter(initialStates, stateFilter::test); - } - - private boolean stateFilter(S state) { - return stateFilter == null || stateFilter.test(state); - } - - private boolean edgeFilter(S state, Edge edge) { - return edgeFilter == null || edgeFilter.test(state, edge); + return initialStates; } @Override public MtBdd> edgeTreeImpl(S state) { - checkArgument(stateFilter(state)); + var edgeTree = backingAutomaton.edgeTree(state); - var edges = backingAutomaton.edgeTree(state); - - if (stateFilter == null && edgeFilter == null) { - return edges; + if (edgeFilter == null) { + return edgeTree; } - return edges.map((Set> set) -> set.stream() - .filter(edge -> edgeFilter(state, edge) && stateFilter(edge.successor())) - .collect(Collectors.toUnmodifiableSet())); + return edgeTree.map((Set> edges) -> switch (edges.size()) { + case 0 -> Set.of(); + + case 1 -> { + var edge = edges.iterator().next(); + yield edgeFilter.test(state, edge) ? edges : Set.of(); + } + + default -> { + List> filtered = new ArrayList<>(edges.size()); + + for (Edge edge : edges) { + if (edgeFilter.test(state, edge)) { + filtered.add(edge); + } + } + + @SuppressWarnings("unchecked") + Set> immutableSet = + filtered.size() == edges.size() ? edges : Set.of(filtered.toArray(Edge[]::new)); + yield immutableSet; + } + }); } } @@ -448,24 +414,29 @@ protected MtBdd>> edgeTreeImpl(Pair Automaton - dropStateLabels(Automaton automaton) { + public static AnnotatedAutomaton + dropStateLabels(Automaton automaton) { if (automaton.initialStates().isEmpty()) { - return EmptyAutomaton.of( - automaton.atomicPropositions(), - automaton.factory(), - automaton.acceptance()); + return new AnnotatedAutomaton<>(EmptyAutomaton.of( + automaton.atomicPropositions(), + automaton.factory(), + automaton.acceptance()), + new Numbering<>()); } Numbering mapping = new Numbering<>(); - return new DropStateLabelsImpl<>( - automaton, - Collections3.transformSet(automaton.initialStates(), mapping::lookup), - mapping); + return new AnnotatedAutomaton<>(new DropStateLabelsImpl<>( + automaton, + Collections3.transformSet(automaton.initialStates(), mapping::lookup), + mapping), + mapping); } + public record AnnotatedAutomaton( + AbstractMemoizingAutomaton automaton, Numbering annotation) {} + public static Automaton convertParity( Automaton automaton, ParityAcceptance.Parity toParity) { diff --git a/src/main/java/owl/automaton/acceptance/GeneralizedBuchiAcceptance.java b/src/main/java/owl/automaton/acceptance/GeneralizedBuchiAcceptance.java index 73a11a54..dc7c8bb4 100644 --- a/src/main/java/owl/automaton/acceptance/GeneralizedBuchiAcceptance.java +++ b/src/main/java/owl/automaton/acceptance/GeneralizedBuchiAcceptance.java @@ -19,6 +19,7 @@ package owl.automaton.acceptance; +import static owl.logic.propositional.PropositionalFormula.*; import static owl.logic.propositional.PropositionalFormula.Variable; import static owl.logic.propositional.PropositionalFormula.conjuncts; @@ -32,7 +33,7 @@ public sealed class GeneralizedBuchiAcceptance extends EmersonLeiAcceptance permits AllAcceptance, BuchiAcceptance { - GeneralizedBuchiAcceptance(int size) { + protected GeneralizedBuchiAcceptance(int size) { super(size); } @@ -66,7 +67,7 @@ public static Optional ofPartial( @Override protected final PropositionalFormula lazyBooleanExpression() { - return PropositionalFormula.Conjunction.of(IntStream.range(0, acceptanceSets()) + return Conjunction.of(IntStream.range(0, acceptanceSets()) .mapToObj(Variable::of) .toList()); } diff --git a/src/main/java/owl/automaton/acceptance/GeneralizedCoBuchiAcceptance.java b/src/main/java/owl/automaton/acceptance/GeneralizedCoBuchiAcceptance.java index c04b81d3..5e5d4611 100644 --- a/src/main/java/owl/automaton/acceptance/GeneralizedCoBuchiAcceptance.java +++ b/src/main/java/owl/automaton/acceptance/GeneralizedCoBuchiAcceptance.java @@ -32,7 +32,7 @@ public sealed class GeneralizedCoBuchiAcceptance extends EmersonLeiAcceptance permits CoBuchiAcceptance { - GeneralizedCoBuchiAcceptance(int size) { + protected GeneralizedCoBuchiAcceptance(int size) { super(size); } diff --git a/src/main/java/owl/automaton/acceptance/GeneralizedRabinAcceptance.java b/src/main/java/owl/automaton/acceptance/GeneralizedRabinAcceptance.java index 6ba7e691..6f011096 100644 --- a/src/main/java/owl/automaton/acceptance/GeneralizedRabinAcceptance.java +++ b/src/main/java/owl/automaton/acceptance/GeneralizedRabinAcceptance.java @@ -58,7 +58,7 @@ public sealed class GeneralizedRabinAcceptance extends EmersonLeiAcceptance protected final List pairs; - GeneralizedRabinAcceptance(List pairs) { + protected GeneralizedRabinAcceptance(List pairs) { super(validate(pairs)); this.pairs = List.copyOf(pairs); assert pairs == this.pairs @@ -344,7 +344,7 @@ public int compareTo(RabinPair o) { .thenComparingInt((RabinPair x) -> x.infIndex) .compare(this, o); } - + @Override public boolean equals(Object o) { return this == o diff --git a/src/main/java/owl/automaton/acceptance/OmegaAcceptanceCast.java b/src/main/java/owl/automaton/acceptance/OmegaAcceptanceCast.java index 0783b979..aed59117 100644 --- a/src/main/java/owl/automaton/acceptance/OmegaAcceptanceCast.java +++ b/src/main/java/owl/automaton/acceptance/OmegaAcceptanceCast.java @@ -19,6 +19,8 @@ package owl.automaton.acceptance; +import com.google.common.base.Preconditions; +import java.lang.reflect.Modifier; import java.util.BitSet; import java.util.List; import java.util.Map; @@ -184,6 +186,48 @@ private OmegaAcceptanceCast() {} }); } + /** + * Cast the given automaton to the given acceptance condition if possible. A conversion is + * considered possible if (trivial) rewriting of the acceptance condition is done and no + * changes to state space are necessary, e.g. a Büchi condition can be translated to a Rabin + * condition, but a Rabin condition (even only with a single pair) cannot be cast to parity + * acceptance condition. + * + * @param automaton The automaton. It is assumed that after calling this method the automaton is + * not modified anymore. + * @param acceptanceClass The desired acceptance condition. + * @param The state type. + * @param
The current acceptance type. + * @param The desired acceptance type. + * @return A view on the given automaton with the necessary changes. + */ + public static Automaton + castExact(Automaton automaton, Class acceptanceClass) { + + Preconditions.checkArgument(Modifier.isFinal(acceptanceClass.getModifiers())); + + A oldAcceptance = automaton.acceptance(); + + if (acceptanceClass.equals(oldAcceptance.getClass())) { + @SuppressWarnings("unchecked") + var castedAutomaton = (Automaton) automaton; + return castedAutomaton; + } + + assert !acceptanceClass.equals(EmersonLeiAcceptance.class); + + @SuppressWarnings("unchecked") + var oldAcceptanceClass = (Class) oldAcceptance.getClass(); + var edgeCast = edgeCastMap(oldAcceptanceClass).get(acceptanceClass); + return new CastedAutomaton<>(automaton, + cast(oldAcceptance, oldAcceptanceClass, acceptanceClass), + edgeCast == null ? null : edge -> { + BitSet set = edge.colours().copyInto(new BitSet()); + edgeCast.accept(oldAcceptance, set); + return edge.withAcceptance(set); + }); + } + public static boolean isInstanceOf( Class clazz1, Class clazz2) { diff --git a/src/main/java/owl/automaton/acceptance/degeneralization/RabinDegeneralization.java b/src/main/java/owl/automaton/acceptance/degeneralization/RabinDegeneralization.java index 704a49b1..d04ddac4 100644 --- a/src/main/java/owl/automaton/acceptance/degeneralization/RabinDegeneralization.java +++ b/src/main/java/owl/automaton/acceptance/degeneralization/RabinDegeneralization.java @@ -38,9 +38,9 @@ import owl.automaton.AnnotatedState; import owl.automaton.Automaton; import owl.automaton.AutomatonUtil; +import owl.automaton.EdgeRelation; import owl.automaton.HashMapAutomaton; import owl.automaton.MutableAutomaton; -import owl.automaton.SuccessorFunction; import owl.automaton.acceptance.GeneralizedRabinAcceptance; import owl.automaton.acceptance.GeneralizedRabinAcceptance.RabinPair; import owl.automaton.acceptance.OmegaAcceptanceCast; @@ -52,10 +52,11 @@ public final class RabinDegeneralization { - private RabinDegeneralization() {} + private RabinDegeneralization() { + } public static Automaton degeneralize( - Automaton automaton) { + Automaton automaton) { if (automaton.acceptance() instanceof RabinAcceptance) { return OmegaAcceptanceCast.cast(automaton, RabinAcceptance.class); } @@ -86,10 +87,11 @@ private RabinDegeneralization() {} Map> stateMap = new HashMap<>(); // Table containing all transient edges Table, S, BddSet> transientEdgesTable = - HashBasedTable.create(); + HashBasedTable.create(); MutableAutomaton, RabinAcceptance> resultAutomaton = - HashMapAutomaton.create(automaton.atomicPropositions(), automaton.factory(), rabinAcceptance); + HashMapAutomaton.create(automaton.atomicPropositions(), automaton.factory(), + rabinAcceptance); var sccDecomposition = SccDecomposition.of(automaton); @@ -107,7 +109,7 @@ private RabinDegeneralization() {} Map successors = transientEdgesTable.row(degeneralizedState); automaton.edgeMap(state).forEach((edge, valuations) -> - successors.merge(edge.successor(), valuations, BddSet::union)); + successors.merge(edge.successor(), valuations, BddSet::union)); continue; } @@ -126,7 +128,7 @@ private RabinDegeneralization() {} // Pick an arbitrary starting state for the exploration var initialSccState = - DegeneralizedRabinState.of(scc.iterator().next(), new int[sccTrackedPairs.size()]); + DegeneralizedRabinState.of(scc.iterator().next(), new int[sccTrackedPairs.size()]); // This is a transient edge, add to the table and ignore it // The index of the next awaited inf set of each generalized pair in the successor @@ -143,90 +145,90 @@ private RabinDegeneralization() {} // Deal with sets which have no Fin set separately Automaton, RabinAcceptance> sourceAutomaton = - new AbstractMemoizingAutomaton.EdgeMapImplementation<>( - resultAutomaton.atomicPropositions(), - resultAutomaton.factory(), - Set.of(initialSccState), - resultAutomaton.acceptance()) { - - @Override - public Map>, BddSet> edgeMapImpl( - DegeneralizedRabinState state) { - - S generalizedState = state.state(); - Map transientSuccessors = transientEdgesTable.row(state); - Map>, BddSet> successors = new HashMap<>(); - - automaton.edgeMap(generalizedState).forEach((edge, valuation) -> { - S generalizedSuccessor = edge.successor(); - if (!scc.contains(generalizedSuccessor)) { - // This is a transient edge, add to the table and ignore it - transientSuccessors.merge(generalizedSuccessor, valuation, BddSet::union); - return; - } - - // The index of the next awaited inf set of each generalized pair in the successor - int[] successorAwaitedIndices = new int[sccTrackedPairs.size()]; - - // The acceptance on this edge. If a the Fin set of a generalized pair is - // encountered on - // the original edge, this edge will have the corresponding Fin bit set. If - // otherwise an - // Inf-breakpoint is reached, i.e. the awaited indices wrapped around for a - // particular - // generalized pair, the corresponding Inf index will be set. - BitSet edgeAcceptance = new BitSet(rabinCount); - - // First handle the non-trivial case of pairs with Fin and Inf sets. - for (int sccPairIndex = 0; sccPairIndex < sccTrackedPairs.size(); sccPairIndex++) { - int currentPairIndex = sccTrackedPairs.get(sccPairIndex); - RabinPair currentPair = trackedPairs.get(currentPairIndex); - int awaitedInfSet = state.awaitedInfSet(sccPairIndex); - - if (edge.colours().contains(currentPair.finSet())) { - // We have seen the fin set, put this transition into the fin set and restart - // the wait - awaitedInfSet = 0; - edgeAcceptance.set(rabinAcceptance.pairs().get(currentPairIndex).finSet()); - } else { - // We did not see the fin set, check which inf sets have been seen - // Check all inf sets of the rabin pair, starting from the awaited index. - int infiniteIndexCount = currentPair.infSetCount(); - int currentInfNumber = awaitedInfSet; - for (int i = 0; i < infiniteIndexCount; i++) { - currentInfNumber = (awaitedInfSet + i) % infiniteIndexCount; - int currentInfIndex = currentPair.infSet(currentInfNumber); - if (!edge.colours().contains(currentInfIndex)) { - break; - } + new AbstractMemoizingAutomaton.EdgeMapImplementation<>( + resultAutomaton.atomicPropositions(), + resultAutomaton.factory(), + Set.of(initialSccState), + resultAutomaton.acceptance()) { + + @Override + public Map>, BddSet> edgeMapImpl( + DegeneralizedRabinState state) { + + S generalizedState = state.state(); + Map transientSuccessors = transientEdgesTable.row(state); + Map>, BddSet> successors = new HashMap<>(); + + automaton.edgeMap(generalizedState).forEach((edge, valuation) -> { + S generalizedSuccessor = edge.successor(); + if (!scc.contains(generalizedSuccessor)) { + // This is a transient edge, add to the table and ignore it + transientSuccessors.merge(generalizedSuccessor, valuation, BddSet::union); + return; + } - if (currentInfNumber == infiniteIndexCount - 1) { - // We reached a breakpoint and can add the transition to the inf set - edgeAcceptance.set(rabinAcceptance.pairs().get(currentPairIndex).infSet()); + // The index of the next awaited inf set of each generalized pair in the successor + int[] successorAwaitedIndices = new int[sccTrackedPairs.size()]; + + // The acceptance on this edge. If a the Fin set of a generalized pair is + // encountered on + // the original edge, this edge will have the corresponding Fin bit set. If + // otherwise an + // Inf-breakpoint is reached, i.e. the awaited indices wrapped around for a + // particular + // generalized pair, the corresponding Inf index will be set. + BitSet edgeAcceptance = new BitSet(rabinCount); + + // First handle the non-trivial case of pairs with Fin and Inf sets. + for (int sccPairIndex = 0; sccPairIndex < sccTrackedPairs.size(); sccPairIndex++) { + int currentPairIndex = sccTrackedPairs.get(sccPairIndex); + RabinPair currentPair = trackedPairs.get(currentPairIndex); + int awaitedInfSet = state.awaitedInfSet(sccPairIndex); + + if (edge.colours().contains(currentPair.finSet())) { + // We have seen the fin set, put this transition into the fin set and restart + // the wait + awaitedInfSet = 0; + edgeAcceptance.set(rabinAcceptance.pairs().get(currentPairIndex).finSet()); + } else { + // We did not see the fin set, check which inf sets have been seen + // Check all inf sets of the rabin pair, starting from the awaited index. + int infiniteIndexCount = currentPair.infSetCount(); + int currentInfNumber = awaitedInfSet; + for (int i = 0; i < infiniteIndexCount; i++) { + currentInfNumber = (awaitedInfSet + i) % infiniteIndexCount; + int currentInfIndex = currentPair.infSet(currentInfNumber); + if (!edge.colours().contains(currentInfIndex)) { + break; + } + + if (currentInfNumber == infiniteIndexCount - 1) { + // We reached a breakpoint and can add the transition to the inf set + edgeAcceptance.set(rabinAcceptance.pairs().get(currentPairIndex).infSet()); + } } + awaitedInfSet = currentInfNumber; } - awaitedInfSet = currentInfNumber; + successorAwaitedIndices[sccPairIndex] = awaitedInfSet; } - successorAwaitedIndices[sccPairIndex] = awaitedInfSet; - } - - // Deal with sets which have no Fin set separately - for (int i = 0, s = noInfPairs.size(); i < s; i++) { - int currentPairIndex = trackedPairsCount + i; - RabinPair currentPair = rabinAcceptance.pairs().get(currentPairIndex); - edgeAcceptance.set(edge.colours().contains(noInfPairs.get(i).finSet()) - ? currentPair.finSet() - : currentPair.infSet()); - } - - var successor = - DegeneralizedRabinState.of(generalizedSuccessor, successorAwaitedIndices); - successors.merge(Edge.of(successor, edgeAcceptance), valuation, BddSet::union); - }); - - return successors; - } - }; + + // Deal with sets which have no Fin set separately + for (int i = 0, s = noInfPairs.size(); i < s; i++) { + int currentPairIndex = trackedPairsCount + i; + RabinPair currentPair = rabinAcceptance.pairs().get(currentPairIndex); + edgeAcceptance.set(edge.colours().contains(noInfPairs.get(i).finSet()) + ? currentPair.finSet() + : currentPair.infSet()); + } + + var successor = + DegeneralizedRabinState.of(generalizedSuccessor, successorAwaitedIndices); + successors.merge(Edge.of(successor, edgeAcceptance), valuation, BddSet::union); + }); + + return successors; + } + }; resultAutomaton.addInitialState(initialSccState); // Use a work-list algorithm in case source is an on-the-fly generated automaton. @@ -246,14 +248,14 @@ public Map>, BddSet> edgeMapImpl( resultAutomaton.trim(); var sccDecomposition2 = SccDecomposition.of( - sourceAutomaton.states(), - SuccessorFunction.filter(resultAutomaton, sourceAutomaton.states()) + sourceAutomaton.states(), + EdgeRelation.filter(resultAutomaton, sourceAutomaton.states()) ); var sccs = sccDecomposition2.sccs(); var resultBscc = sccs.stream() - .filter(sccDecomposition2::isBottomScc) - .findFirst().orElseThrow(); + .filter(sccDecomposition2::isBottomScc) + .findFirst().orElseThrow(); // Mark some state of the result BSCC initial. if (!resultBscc.isEmpty()) { @@ -270,16 +272,16 @@ public Map>, BddSet> edgeMapImpl( // Add transient edges transientEdgesTable.rowMap().forEach((state, successors) -> - successors.forEach((generalizedSuccessor, valuations) -> { - DegeneralizedRabinState successor = stateMap.get(generalizedSuccessor); - resultAutomaton.addState(state); - resultAutomaton.addEdge(state, valuations, Edge.of(successor)); - })); + successors.forEach((generalizedSuccessor, valuations) -> { + DegeneralizedRabinState successor = stateMap.get(generalizedSuccessor); + resultAutomaton.addState(state); + resultAutomaton.addEdge(state, valuations, Edge.of(successor)); + })); // Set initial states resultAutomaton.initialStates(automaton.initialStates().stream() - .map(stateMap::get) - .toList()); + .map(stateMap::get) + .toList()); resultAutomaton.trim(); return resultAutomaton; @@ -287,6 +289,7 @@ public Map>, BddSet> edgeMapImpl( @AutoValue public abstract static class DegeneralizedRabinState implements AnnotatedState { + @Override public abstract S state(); @@ -294,12 +297,12 @@ public abstract static class DegeneralizedRabinState implements AnnotatedStat static DegeneralizedRabinState of(S state) { return new AutoValue_RabinDegeneralization_DegeneralizedRabinState<>( - state, ImmutableIntArray.of()); + state, ImmutableIntArray.of()); } static DegeneralizedRabinState of(S state, int[] awaitedSets) { return new AutoValue_RabinDegeneralization_DegeneralizedRabinState<>( - state, ImmutableIntArray.copyOf(awaitedSets)); + state, ImmutableIntArray.copyOf(awaitedSets)); } int awaitedInfSet(int generalizedPairIndex) { @@ -316,8 +319,8 @@ int awaitedInfSet(int generalizedPairIndex) { @Override public String toString() { return awaitedSets().isEmpty() - ? String.format("{%s}", state()) - : String.format("{%s|%s}", state(), awaitedSets()); + ? String.format("{%s}", state()) + : String.format("{%s|%s}", state(), awaitedSets()); } } } diff --git a/src/main/java/owl/automaton/acceptance/optimization/AcceptanceOptimizations.java b/src/main/java/owl/automaton/acceptance/optimization/AcceptanceOptimizations.java index 71c788e3..9753d132 100644 --- a/src/main/java/owl/automaton/acceptance/optimization/AcceptanceOptimizations.java +++ b/src/main/java/owl/automaton/acceptance/optimization/AcceptanceOptimizations.java @@ -46,45 +46,45 @@ public final class AcceptanceOptimizations { // TODO: collapse inf / fins? private static final List>> - generalizedRabinDefaultAllList = List.of( - GeneralizedRabinAcceptanceOptimizations::minimizeOverlap, - GeneralizedRabinAcceptanceOptimizations::minimizeMergePairs, - GeneralizedRabinAcceptanceOptimizations::removeComplementaryInfSets, - GeneralizedRabinAcceptanceOptimizations::minimizeEdgeImplications, - GeneralizedRabinAcceptanceOptimizations::minimizeSccIrrelevant, - GeneralizedRabinAcceptanceOptimizations::minimizePairImplications, - GeneralizedRabinAcceptanceOptimizations::minimizeMergePairs, - GeneralizedRabinAcceptanceOptimizations::removeComplementaryInfSets, - GeneralizedRabinAcceptanceOptimizations::minimizePairImplications, - GeneralizedRabinAcceptanceOptimizations::minimizeEdgeImplications, - GeneralizedRabinAcceptanceOptimizations::minimizeSccIrrelevant, - GeneralizedRabinAcceptanceOptimizations::mergeBuchiTypePairs + generalizedRabinDefaultAllList = List.of( + GeneralizedRabinAcceptanceOptimizations::minimizeOverlap, + GeneralizedRabinAcceptanceOptimizations::minimizeMergePairs, + GeneralizedRabinAcceptanceOptimizations::removeComplementaryInfSets, + GeneralizedRabinAcceptanceOptimizations::minimizeEdgeImplications, + GeneralizedRabinAcceptanceOptimizations::minimizeSccIrrelevant, + GeneralizedRabinAcceptanceOptimizations::minimizePairImplications, + GeneralizedRabinAcceptanceOptimizations::minimizeMergePairs, + GeneralizedRabinAcceptanceOptimizations::removeComplementaryInfSets, + GeneralizedRabinAcceptanceOptimizations::minimizePairImplications, + GeneralizedRabinAcceptanceOptimizations::minimizeEdgeImplications, + GeneralizedRabinAcceptanceOptimizations::minimizeSccIrrelevant, + GeneralizedRabinAcceptanceOptimizations::mergeBuchiTypePairs ); private static final List>> - rabinDefaultAllList = List.of( - GeneralizedRabinAcceptanceOptimizations::minimizeOverlap, - GeneralizedRabinAcceptanceOptimizations::minimizeMergePairs, - // GeneralizedRabinMinimizations::minimizeComplementaryInf, - GeneralizedRabinAcceptanceOptimizations::minimizeEdgeImplications, - GeneralizedRabinAcceptanceOptimizations::minimizeSccIrrelevant, - GeneralizedRabinAcceptanceOptimizations::minimizePairImplications, - GeneralizedRabinAcceptanceOptimizations::minimizeMergePairs, - // GeneralizedRabinMinimizations::minimizeComplementaryInf, - GeneralizedRabinAcceptanceOptimizations::minimizePairImplications, - GeneralizedRabinAcceptanceOptimizations::minimizeEdgeImplications, - GeneralizedRabinAcceptanceOptimizations::minimizeSccIrrelevant, - GeneralizedRabinAcceptanceOptimizations::mergeBuchiTypePairs + rabinDefaultAllList = List.of( + GeneralizedRabinAcceptanceOptimizations::minimizeOverlap, + GeneralizedRabinAcceptanceOptimizations::minimizeMergePairs, + // GeneralizedRabinMinimizations::minimizeComplementaryInf, + GeneralizedRabinAcceptanceOptimizations::minimizeEdgeImplications, + GeneralizedRabinAcceptanceOptimizations::minimizeSccIrrelevant, + GeneralizedRabinAcceptanceOptimizations::minimizePairImplications, + GeneralizedRabinAcceptanceOptimizations::minimizeMergePairs, + // GeneralizedRabinMinimizations::minimizeComplementaryInf, + GeneralizedRabinAcceptanceOptimizations::minimizePairImplications, + GeneralizedRabinAcceptanceOptimizations::minimizeEdgeImplications, + GeneralizedRabinAcceptanceOptimizations::minimizeSccIrrelevant, + GeneralizedRabinAcceptanceOptimizations::mergeBuchiTypePairs ); - private AcceptanceOptimizations() {} + private AcceptanceOptimizations() { + } /** * Remove states from the automaton that cannot belong to an infinite accepting path. Moreover, * all transient edges are cleared of acceptance marks. * - * @param automaton - * The automaton considered by the analysis. + * @param automaton The automaton considered by the analysis. */ public static void removeDeadStates(MutableAutomaton automaton) { @@ -106,10 +106,12 @@ public static void removeDeadStates(MutableAutomaton automaton) { S state = scc.iterator().next(); Automaton filtered = Views.replaceInitialStates(automaton, scc); - if (LanguageEmptiness.isEmpty(filtered, Set.of(state))) { + + if (LanguageEmptiness.isEmpty(filtered)) { // Scc is not accepting on its own var successors - = Sets.difference(condensationGraph.successors(sccIndex), Set.of(sccIndex)); + = Sets.difference(condensationGraph.successors(sccIndex), Set.of(sccIndex)); + if (rejectingIndices.containsAll(successors)) { // The scc only has internal edges or edges to rejecting states rejectingIndices.add(sccIndex); @@ -139,7 +141,7 @@ public static void removeDeadStates(MutableAutomaton automaton) { } static void removeIndices(MutableAutomaton automaton, Set states, - BitSet indicesToRemove) { + BitSet indicesToRemove) { if (indicesToRemove.isEmpty() || states.isEmpty()) { return; } @@ -171,7 +173,7 @@ static void removeAndRemapIndices(MutableAutomaton automaton, BitSet indic } public static Automaton transform( - Automaton automaton) { + Automaton automaton) { var mutableAutomaton = HashMapAutomaton.copyOf(automaton); removeDeadStates(mutableAutomaton); @@ -179,7 +181,7 @@ public static Automaton transform( if (mutableAutomaton.acceptance() instanceof RabinAcceptance) { for (Consumer> optimization - : rabinDefaultAllList) { + : rabinDefaultAllList) { optimization.accept((MutableAutomaton) mutableAutomaton); mutableAutomaton.trim(); } @@ -187,7 +189,7 @@ public static Automaton transform( } else if (mutableAutomaton.acceptance() instanceof GeneralizedRabinAcceptance) { for (Consumer> optimization - : generalizedRabinDefaultAllList) { + : generalizedRabinDefaultAllList) { optimization.accept((MutableAutomaton) mutableAutomaton); mutableAutomaton.trim(); } diff --git a/src/main/java/owl/automaton/acceptance/transformer/ZielonkaTreeTransformations.java b/src/main/java/owl/automaton/acceptance/transformer/ZielonkaTreeTransformations.java index 8c7dedc3..0022fba2 100644 --- a/src/main/java/owl/automaton/acceptance/transformer/ZielonkaTreeTransformations.java +++ b/src/main/java/owl/automaton/acceptance/transformer/ZielonkaTreeTransformations.java @@ -47,7 +47,7 @@ import owl.automaton.AbstractMemoizingAutomaton; import owl.automaton.AnnotatedState; import owl.automaton.Automaton; -import owl.automaton.SuccessorFunction; +import owl.automaton.EdgeRelation; import owl.automaton.acceptance.AllAcceptance; import owl.automaton.acceptance.EmersonLeiAcceptance; import owl.automaton.acceptance.ParityAcceptance; @@ -538,7 +538,7 @@ public static List> of( List> acd = new ArrayList<>(); SccDecomposition sccDecomposition = SccDecomposition.of( - restrictedStates, SuccessorFunction.filter(automaton, restrictedStates)); + restrictedStates, EdgeRelation.filter(automaton, restrictedStates)); for (Set scc : sccDecomposition.sccsWithoutTransient()) { Map>> sccEdges = new HashMap<>(scc.size()); @@ -629,18 +629,18 @@ private static List>>>> childrenOf( var children = new ArrayList>>>>(); for (ImmutableBitSet childColours : maximalModels) { - SuccessorFunction successorFunction = state -> { - Set successors = new HashSet<>(); + EdgeRelation successorsFunction = state -> { + Set> successors = new HashSet<>(); for (var edge : edges.get(state)) { if (childColours.containsAll(edge.colours())) { - successors.add(edge.successor()); + successors.add(edge); } } return successors; }; for (Set childScc - : SccDecomposition.of(edges.keySet(), successorFunction).sccsWithoutTransient()) { + : SccDecomposition.of(edges.keySet(), successorsFunction).sccsWithoutTransient()) { Map>> childEdges = new HashMap<>(edges.size()); for (S childSccState : childScc) { @@ -879,5 +879,9 @@ public abstract static class ZielonkaState implements AnnotatedState { public static ZielonkaState of(S state, ImmutableIntArray path) { return new AutoValue_ZielonkaTreeTransformations_ZielonkaState<>(state, path); } + + @Memoized + @Override + public abstract int hashCode(); } } diff --git a/src/main/java/owl/automaton/algorithm/LanguageContainment.java b/src/main/java/owl/automaton/algorithm/LanguageContainment.java index 69e29208..cefbfe65 100644 --- a/src/main/java/owl/automaton/algorithm/LanguageContainment.java +++ b/src/main/java/owl/automaton/algorithm/LanguageContainment.java @@ -23,6 +23,7 @@ import owl.automaton.Automaton; import owl.automaton.Automaton.Property; import owl.automaton.BooleanOperations; +import owl.automaton.Views; import owl.automaton.acceptance.AllAcceptance; import owl.automaton.acceptance.CoBuchiAcceptance; import owl.automaton.acceptance.EmersonLeiAcceptance; @@ -30,68 +31,64 @@ public final class LanguageContainment { - private LanguageContainment() {} + private LanguageContainment() { + } /** * Checks if the first the language of the first automaton is included in the language of the * second automaton. * - * @param automaton1 - * The first automaton, whose language is tested for inclusion of the second language - * @param automaton2 - * The second automaton - * + * @param automaton1 The first automaton, whose language is tested for inclusion in the second + * language + * @param automaton2 The second automaton * @return true if L_1 is contained in L_2. */ public static boolean contains(Automaton automaton1, Automaton automaton2) { Preconditions.checkArgument(automaton2.is(Property.DETERMINISTIC), - "Second argument needs to be deterministic."); + "Second argument needs to be deterministic."); var automaton2Complement - = BooleanOperations.deterministicComplement(automaton2, EmersonLeiAcceptance.class); + = BooleanOperations.deterministicComplement(automaton2, EmersonLeiAcceptance.class); var intersection - = BooleanOperations.intersection(automaton1, automaton2Complement); + = BooleanOperations.intersection(automaton1, automaton2Complement); return LanguageEmptiness.isEmpty(intersection); } public static boolean containsCoBuchi( - Automaton automaton1, - Automaton automaton2) { + Automaton automaton1, + Automaton automaton2) { if (automaton2.is(Property.DETERMINISTIC)) { return contains(automaton1, automaton2); } - return contains(automaton1, Determinization.determinizeCoBuchiAcceptance(automaton2)); + return contains( + automaton1, Views.dropStateLabels( + Determinization.determinizeCoBuchiAcceptance(automaton2)).automaton()); } public static boolean equalsCoBuchi( - Automaton automaton1, - Automaton automaton2) { + Automaton automaton1, + Automaton automaton2) { return containsCoBuchi(automaton1, automaton2) && containsCoBuchi(automaton2, automaton1); } public static boolean containsAll( - Automaton automaton1, - Automaton automaton2) { + Automaton automaton1, + Automaton automaton2) { if (automaton2.is(Property.DETERMINISTIC)) { return contains(automaton1, automaton2); } - return contains(automaton1, Determinization.determinizeAllAcceptance(automaton2)); - } - - public static boolean equalsAll( - Automaton automaton1, - Automaton automaton2) { - return containsAll(automaton1, automaton2) && containsAll(automaton2, automaton1); + return contains(automaton1, Views.dropStateLabels( + Determinization.determinizeAllAcceptance(automaton2)).automaton()); } public static boolean languageEquivalent(Automaton automaton1, - Automaton automaton2) { + Automaton automaton2) { return LanguageContainment.contains(automaton1, automaton2) - && LanguageContainment.contains(automaton2, automaton1); + && LanguageContainment.contains(automaton2, automaton1); } } diff --git a/src/main/java/owl/automaton/algorithm/LanguageEmptiness.java b/src/main/java/owl/automaton/algorithm/LanguageEmptiness.java index b1a05ab4..80c7049b 100644 --- a/src/main/java/owl/automaton/algorithm/LanguageEmptiness.java +++ b/src/main/java/owl/automaton/algorithm/LanguageEmptiness.java @@ -20,14 +20,14 @@ package owl.automaton.algorithm; import java.util.BitSet; +import java.util.Collection; import java.util.HashSet; import java.util.Set; import java.util.function.IntConsumer; import java.util.function.Predicate; import owl.automaton.Automaton; -import owl.automaton.SuccessorFunction; +import owl.automaton.EdgeRelation; import owl.automaton.acceptance.AllAcceptance; -import owl.automaton.acceptance.BuchiAcceptance; import owl.automaton.acceptance.CoBuchiAcceptance; import owl.automaton.acceptance.EmersonLeiAcceptance; import owl.automaton.acceptance.GeneralizedBuchiAcceptance; @@ -40,100 +40,92 @@ import owl.automaton.edge.Edge; public final class LanguageEmptiness { - private LanguageEmptiness() {} - public static boolean isEmpty(Automaton automaton) { - return isEmpty(automaton, automaton.initialStates()); + private LanguageEmptiness() { } - public static boolean isEmpty(Automaton automaton, Set initialStates) { - EmersonLeiAcceptance acceptance = automaton.acceptance(); - // TODO: move to exploration stage. - // assert acceptance.isWellFormedAutomaton(automaton) : "Automaton is not well-formed."; + public static boolean isEmpty(Automaton automaton) { + // Sync this with the implemetation below. + var acceptance = automaton.acceptance(); - if (acceptance instanceof AllAcceptance) { - return initialStates.stream().noneMatch( - x -> hasAcceptingLasso(automaton, x, -1, -1, false)); + if (acceptance instanceof GeneralizedBuchiAcceptance + || acceptance instanceof CoBuchiAcceptance + || acceptance instanceof GeneralizedRabinAcceptance) { + return isEmpty(automaton.initialStates(), automaton::edges, acceptance); } - //if (acceptance instanceof BuchiAcceptance) { - // var casted = OmegaAcceptanceCast.cast(automaton, BuchiAcceptance.class); - // return initialStates.stream().noneMatch(x -> Buchi.containsAcceptingScc(casted, x)); - //} - - if (acceptance instanceof GeneralizedBuchiAcceptance) { - var casted = OmegaAcceptanceCast.cast(automaton, GeneralizedBuchiAcceptance.class); - return !Buchi.containsAcceptingScc(casted, initialStates); + if (acceptance instanceof ParityAcceptance) { + return isEmpty(OmegaAcceptanceCast.cast(automaton, RabinAcceptance.class)); } - if (acceptance instanceof CoBuchiAcceptance) { - var casted = OmegaAcceptanceCast.cast(automaton, ParityAcceptance.class); - return initialStates.stream().noneMatch(x -> Parity.containsAcceptingLasso(casted, x)); - } + return isEmpty(ZielonkaTreeTransformations.transform(automaton)); + } - if (acceptance instanceof ParityAcceptance) { - var casted = OmegaAcceptanceCast.cast(automaton, ParityAcceptance.class); - return initialStates.stream().noneMatch(x -> Parity.containsAcceptingLasso(casted, x)); + public static boolean isEmpty( + Collection initialStates, + EdgeRelation edgeRelation, + EmersonLeiAcceptance acceptance) { + + if (acceptance instanceof GeneralizedBuchiAcceptance generalizedBuchiAcceptance) { + return !Buchi.containsAcceptingScc(initialStates, edgeRelation, generalizedBuchiAcceptance); } - if (acceptance instanceof RabinAcceptance) { - var casted = OmegaAcceptanceCast.cast(automaton, RabinAcceptance.class); - return initialStates.stream().noneMatch(x -> Rabin.containsAcceptingLasso(casted, x)); + if (acceptance instanceof CoBuchiAcceptance coBuchiAcceptance) { + return !CoBuchi.containsAcceptingScc(initialStates, edgeRelation); } - if (acceptance instanceof GeneralizedRabinAcceptance) { - var casted = OmegaAcceptanceCast.cast(automaton, GeneralizedRabinAcceptance.class); - return !Rabin.containsAcceptingScc(casted, initialStates); + if (acceptance instanceof GeneralizedRabinAcceptance generalizedRabinAcceptance) { + return !Rabin.containsAcceptingScc(initialStates, edgeRelation, generalizedRabinAcceptance); } - // TODO: implement direct algorithm. - return isEmpty(ZielonkaTreeTransformations.transform(automaton)); + throw new UnsupportedOperationException( + "Support for " + acceptance.getClass() + " not yet implemented."); } - private static boolean dfs1(Automaton automaton, S q, Set visitedStates, - Set visitedAcceptingStates, int infIndex, int finIndex, boolean acceptingState, - boolean allFinIndicesBelow) { + private static boolean dfs1(EdgeRelation edges, S q, Set visitedStates, + Set visitedAcceptingStates, int infIndex, int finIndex, boolean acceptingState, + boolean allFinIndicesBelow) { if (acceptingState) { visitedAcceptingStates.add(q); } else { visitedStates.add(q); } - for (Edge edge : automaton.edges(q)) { + for (Edge edge : edges.edges(q)) { S successor = edge.successor(); if ((infIndex == -1 || edge.colours().contains(infIndex)) - && !inSet(edge, finIndex, allFinIndicesBelow)) { - if (!visitedAcceptingStates.contains(successor) && dfs1(automaton, successor, - visitedStates, visitedAcceptingStates, infIndex, - finIndex, true, allFinIndicesBelow)) { + && !inSet(edge, finIndex, allFinIndicesBelow)) { + if (!visitedAcceptingStates.contains(successor) && dfs1(edges, successor, + visitedStates, visitedAcceptingStates, infIndex, + finIndex, true, allFinIndicesBelow)) { return true; } - } else if (!visitedStates.contains(successor) && dfs1(automaton, successor, visitedStates, - visitedAcceptingStates, infIndex, finIndex, false, allFinIndicesBelow)) { + } else if (!visitedStates.contains(successor) && dfs1(edges, successor, visitedStates, + visitedAcceptingStates, infIndex, finIndex, false, allFinIndicesBelow)) { return true; } } - return acceptingState && dfs2(automaton, q, new HashSet<>(), infIndex, finIndex, q, - allFinIndicesBelow); + return acceptingState && dfs2(edges, q, new HashSet<>(), infIndex, finIndex, q, + allFinIndicesBelow); } - private static boolean dfs2(Automaton automaton, S q, Set visitedStatesLasso, - int infIndex, int finIndex, S seed, boolean allFinIndicesBelow) { + private static boolean dfs2(EdgeRelation automaton, S q, Set visitedStatesLasso, + int infIndex, int finIndex, S seed, boolean allFinIndicesBelow) { visitedStatesLasso.add(q); for (Edge edge : automaton.edges(q)) { S successor = edge.successor(); if ((infIndex == -1 || edge.colours().contains(infIndex)) - && !inSet(edge, finIndex, allFinIndicesBelow) - && successor.equals(seed)) { + && !inSet(edge, finIndex, allFinIndicesBelow) + && successor.equals(seed)) { return true; } if (!visitedStatesLasso.contains(successor) && !inSet(edge, finIndex, allFinIndicesBelow) - && dfs2(automaton, successor, visitedStatesLasso, infIndex, finIndex, seed, - allFinIndicesBelow)) { + && dfs2(automaton, successor, visitedStatesLasso, infIndex, finIndex, seed, + allFinIndicesBelow)) { return true; } } @@ -141,23 +133,27 @@ && dfs2(automaton, successor, visitedStatesLasso, infIndex, finIndex, seed, return false; } - private static boolean hasAcceptingLasso(Automaton automaton, S initialState, - int infIndex, int finIndex, boolean allFinIndicesBelow) { + private static boolean hasAcceptingLasso( + S initialState, + EdgeRelation edgeRelation, + int infIndex, + int finIndex) { + Set visitedStates = new HashSet<>(); Set visitedAcceptingStates = new HashSet<>(); - for (Edge edge : automaton.edges(initialState)) { + for (Edge edge : edgeRelation.edges(initialState)) { S successor = edge.successor(); if ((infIndex == -1 || edge.colours().contains(infIndex)) - && !inSet(edge, finIndex, allFinIndicesBelow)) { + && !inSet(edge, finIndex, true)) { - if (!visitedAcceptingStates.contains(successor) && dfs1(automaton, successor, - visitedStates, visitedAcceptingStates, infIndex, finIndex, true, - allFinIndicesBelow)) { + if (!visitedAcceptingStates.contains(successor) && dfs1(edgeRelation, successor, + visitedStates, visitedAcceptingStates, infIndex, finIndex, true, + true)) { return true; } - } else if (!visitedStates.contains(successor) && dfs1(automaton, successor, visitedStates, - visitedAcceptingStates, infIndex, finIndex, false, allFinIndicesBelow)) { + } else if (!visitedStates.contains(successor) && dfs1(edgeRelation, successor, visitedStates, + visitedAcceptingStates, infIndex, finIndex, false, true)) { return true; } } @@ -175,29 +171,26 @@ private static boolean inSet(Edge edge, int index, boolean allIndicesBelo private static final class Buchi { - private Buchi() {} - - private static boolean containsAcceptingLasso( - Automaton automaton, S initialState) { - return hasAcceptingLasso(automaton, initialState, 0, -1, false); + private Buchi() { } private static boolean containsAcceptingScc( - Automaton automaton, Set initialStates) { + Collection initialStates, + EdgeRelation edgeRelation, + GeneralizedBuchiAcceptance acceptance) { + Predicate> acceptingScc = scc -> { - BitSet remaining = new BitSet(automaton.acceptance().acceptanceSets()); - remaining.set(0, automaton.acceptance().acceptanceSets()); + BitSet remaining = new BitSet(acceptance.acceptanceSets()); + remaining.set(0, acceptance.acceptanceSets()); for (S state : scc) { - for (Edge successorEdge : automaton.edges(state)) { - if (!scc.contains(successorEdge.successor())) { - continue; - } + for (Edge edge : edgeRelation.edges(state)) { + if (scc.contains(edge.successor())) { + edge.colours().forEach((IntConsumer) remaining::clear); - successorEdge.colours().forEach((IntConsumer) remaining::clear); - - if (remaining.isEmpty()) { - return true; + if (remaining.isEmpty()) { + return true; + } } } } @@ -205,31 +198,71 @@ private static boolean containsAcceptingScc( return false; }; - return SccDecomposition.of(initialStates, automaton::successors) - .anyMatch(acceptingScc); + var tarjan = new Tarjan<>(edgeRelation, acceptingScc); + + for (S s : initialStates) { + if (tarjan.run(s)) { + return true; + } + } + + return false; + } + } + + private static final class CoBuchi { + + private CoBuchi() { + } + + private static boolean containsAcceptingScc( + Collection initialStates, + EdgeRelation edgeRelation) { + + Predicate> acceptingScc = scc -> !isEmpty( + Set.of(scc.iterator().next()), + EdgeRelation.filter(edgeRelation, + edge -> edge.colours().isEmpty() && scc.contains(edge.successor())), + AllAcceptance.INSTANCE); + + // Filter coBuchi. + var tarjan = new Tarjan<>(edgeRelation, acceptingScc); + + for (S s : initialStates) { + if (tarjan.run(s)) { + return true; + } + } + + return false; } } private static final class Parity { - private Parity() {} + + private Parity() { + } private static boolean containsAcceptingLasso( - Automaton automaton, S initialState) { - if (automaton.acceptance().parity().max()) { + S initialState, + EdgeRelation edgeRelation, + ParityAcceptance acceptance) { + + if (acceptance.parity().max()) { throw new UnsupportedOperationException("Only min-{even,odd} conditions supported."); } - int sets = automaton.acceptance().acceptanceSets(); + int sets = acceptance.acceptanceSets(); - if (automaton.acceptance().parity().even()) { + if (acceptance.parity().even()) { for (int inf = 0; inf < sets; inf += 2) { int fin = inf - 1; - if (hasAcceptingLasso(automaton, initialState, inf, fin, true)) { + if (hasAcceptingLasso(initialState, edgeRelation, inf, fin)) { return true; } - if (sets - inf == 2 && hasAcceptingLasso(automaton, initialState, -1, fin + 2, true)) { + if (sets - inf == 2 && hasAcceptingLasso(initialState, edgeRelation, -1, fin + 2)) { return true; } } @@ -241,7 +274,7 @@ private static boolean containsAcceptingLasso( inf = fin + 1; } - if (hasAcceptingLasso(automaton, initialState, inf, fin, true)) { + if (hasAcceptingLasso(initialState, edgeRelation, inf, fin)) { return true; } } @@ -252,60 +285,71 @@ private static boolean containsAcceptingLasso( } private static final class Rabin { - private Rabin() {} - private static boolean containsAcceptingLasso( - Automaton automaton, S initialState) { - for (RabinPair pair : automaton.acceptance().pairs()) { - if (hasAcceptingLasso(automaton, initialState, pair.infSet(), - pair.finSet(), false)) { - return true; - } - } - - return false; + private Rabin() { } private static boolean containsAcceptingScc( - Automaton automaton, Set initialStates) { + Collection initialStates, + EdgeRelation edgeRelation, + GeneralizedRabinAcceptance acceptance) { Predicate> acceptingScc = scc -> { - for (RabinPair pair : automaton.acceptance().pairs()) { + for (RabinPair pair : acceptance.pairs()) { // Compute all SCCs after removing the finite edges of the current finite pair - var filteredSuccessorFunction = SuccessorFunction.filter( - automaton, scc, edge -> !edge.colours().contains(pair.finSet())); - - if (SccDecomposition.of(scc, filteredSuccessorFunction).anyMatch(subScc -> { - // Iterate over all edges inside the sub-SCC, check if there is any in the Inf set. - BitSet awaitedIndices = new BitSet(); - pair.forEachInfSet(awaitedIndices::set); - - for (S state : subScc) { - for (Edge edge : automaton.edges(state)) { - if (!subScc.contains(edge.successor()) || edge.colours().contains(pair.finSet())) { - // This edge does not qualify for an accepting cycle - continue; + EdgeRelation filteredSuccessorsFunction = EdgeRelation.filter( + edgeRelation, + e -> !e.colours().contains(pair.finSet()) && scc.contains(e.successor())); + + // Iterate over all edges inside the sub-SCC, check if there is any in the Inf set. + // This edge does not qualify for an accepting cycle + // This edge yields an accepting cycle + // No accepting edge was found in this sub-SCC + var tarjan = new Tarjan<>(filteredSuccessorsFunction, + (Predicate>) subScc -> { + // Iterate over all edges inside the sub-SCC, check if there is any in the Inf set. + BitSet awaitedIndices = new BitSet(); + pair.forEachInfSet(awaitedIndices::set); + + for (S state : subScc) { + for (Edge edge : edgeRelation.edges(state)) { + if (!subScc.contains(edge.successor()) || edge.colours() + .contains(pair.finSet())) { + // This edge does not qualify for an accepting cycle + continue; + } + + edge.colours().forEach((IntConsumer) awaitedIndices::clear); + + if (awaitedIndices.isEmpty()) { + // This edge yields an accepting cycle + return true; + } + } } + // No accepting edge was found in this sub-SCC + return false; + }); - edge.colours().forEach((IntConsumer) awaitedIndices::clear); - - if (awaitedIndices.isEmpty()) { - // This edge yields an accepting cycle - return true; - } - } + for (S s : scc) { + if (tarjan.run(s)) { + return true; } - // No accepting edge was found in this sub-SCC - return false; - })) { - return true; } } return false; }; - return SccDecomposition.of(initialStates, automaton::successors).anyMatch(acceptingScc); + var tarjan = new Tarjan<>(edgeRelation, acceptingScc); + + for (S s : initialStates) { + if (tarjan.run(s)) { + return true; + } + } + + return false; } } } diff --git a/src/main/java/owl/automaton/algorithm/SccDecomposition.java b/src/main/java/owl/automaton/algorithm/SccDecomposition.java index 9ba29153..1edfab21 100644 --- a/src/main/java/owl/automaton/algorithm/SccDecomposition.java +++ b/src/main/java/owl/automaton/algorithm/SccDecomposition.java @@ -33,7 +33,6 @@ import java.util.ArrayDeque; import java.util.ArrayList; import java.util.BitSet; -import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -44,14 +43,15 @@ import java.util.stream.IntStream; import javax.annotation.Nullable; import owl.automaton.Automaton; -import owl.automaton.SuccessorFunction; +import owl.automaton.EdgeRelation; import owl.automaton.Views; import owl.automaton.acceptance.BuchiAcceptance; +import owl.automaton.edge.Edge; import owl.collections.ImmutableBitSet; /** * This class provides a decomposition into strongly connected components (SCCs) of a directed graph - * given by either an {@link Automaton} or a {@link SuccessorFunction}. + * given by either an {@link Automaton} or a {@link EdgeRelation}. * *

The SCC decomposition is computed using Tarjan's strongly connected component algorithm. It * runs in linear time, assuming the Map-operation get, put and containsKey (and the onStack @@ -62,26 +62,26 @@ public abstract class SccDecomposition { protected abstract Set initialStates(); - protected abstract SuccessorFunction successorFunction(); + protected abstract EdgeRelation successorFunction(); @Nullable protected abstract Automaton automaton(); public static SccDecomposition of(Automaton automaton) { return new AutoValue_SccDecomposition<>( - Set.copyOf(automaton.initialStates()), automaton::successors, automaton); + Set.copyOf(automaton.initialStates()), automaton::edges, automaton); } public static SccDecomposition of( - Set initialStates, SuccessorFunction successorFunction) { - return new AutoValue_SccDecomposition<>(Set.copyOf(initialStates), successorFunction, null); + Set initialStates, EdgeRelation successorsFunction) { + return new AutoValue_SccDecomposition<>(Set.copyOf(initialStates), successorsFunction, null); } /** * Returns whether any strongly connected components match the provided predicate. May not * evaluate the predicate on all strongly connected components if not necessary for determining - * the result. If the initial states are empty then {@code false} is returned and the predicate - * is not evaluated. + * the result. If the initial states are empty then {@code false} is returned and the predicate is + * not evaluated. * *

This method evaluates the existential quantification of the predicate over the * strongly connected components (for some x P(x)).

@@ -90,18 +90,25 @@ public static SccDecomposition of( *
stateless * predicate to apply to strongly connected components of the graph * @return {@code true} if any strongly connected components of the graph match the provided - * predicate, otherwise {@code false} + * predicate, otherwise {@code false} */ public boolean anyMatch(Predicate> predicate) { var tarjan = new Tarjan<>(successorFunction(), predicate); - return initialStates().stream().anyMatch(tarjan::run); + + for (S s : initialStates()) { + if (tarjan.run(s)) { + return true; + } + } + + return false; } /** * Returns whether all strongly connected components match the provided predicate. May not * evaluate the predicate on all strongly connected components if not necessary for determining - * the result. If the initial states are empty then {@code true} is returned and the predicate - * is not evaluated. + * the result. If the initial states are empty then {@code true} is returned and the predicate is + * not evaluated. * *

This method evaluates the universal quantification of the predicate over the * strongly connected components (for all x P(x)).

@@ -110,7 +117,7 @@ public boolean anyMatch(Predicate> predicate) { * stateless * predicate to apply to strongly connected components of the graph * @return {@code true} if all strongly connected components of the graph match the provided - * predicate, otherwise {@code false} + * predicate, otherwise {@code false} */ public boolean allMatch(Predicate> predicate) { // Early termination of tarjan::run does not allow second entry. @@ -120,8 +127,8 @@ public boolean allMatch(Predicate> predicate) { /** * Compute the list of strongly connected components. The returned list of SCCs is ordered * according to the topological ordering in the condensation graph, i.e., a graph where the SCCs - * are vertices, ordered such that for each transition {@code a->b} in the condensation graph, - * a is in the list before b. + * are vertices, ordered such that for each transition {@code a->b} in the condensation graph, a + * is in the list before b. * * @return the list of strongly connected components. */ @@ -136,16 +143,27 @@ public List> sccs() { var seenStates = new HashSet(); var insertBefore = new AtomicBoolean(false); - var tarjan = new Tarjan(x -> { - var successors = successorFunction.apply(x); + class MonitoringEdgeRelation implements EdgeRelation { + + @Override + public Set> edges(S state) { + throw new UnsupportedOperationException(); + } + + @Override + public Set successors(S state) { + var successors = successorFunction.successors(state); - if (!seenStates.isEmpty() && !disjoint(seenStates, successors)) { - // We can reach previously seen states, thus we need to insert this before the other sccs. - insertBefore.set(true); + if (!seenStates.isEmpty() && !disjoint(seenStates, successors)) { + // We can reach previously seen states, thus we need to insert this before the other sccs. + insertBefore.set(true); + } + + return successors; } + } - return successorFunction.apply(x); - }, x -> { + var tarjan = new Tarjan<>(new MonitoringEdgeRelation(), x -> { localTopologicalSortedSccs.add(Set.copyOf(x)); // We never want to terminate early. return false; @@ -191,9 +209,8 @@ public List> sccsWithoutTransient() { * Find the index of the strongly connected component this state belongs to. * * @param state the state. - * @return the index {@code i} such that {@code sccs().get(i).contains(state)} is {@code true} - * or {@code -1} if no such {@code i} exists (only if {@code state} is not part of the - * automaton) + * @return the index {@code i} such that {@code sccs().get(i).contains(state)} is {@code true} or + * {@code -1} if no such {@code i} exists (only if {@code state} is not part of the automaton) */ public int index(S state) { return indexMap().getOrDefault(state, -1); @@ -214,25 +231,30 @@ public Set scc(S state) { @Memoized public Map indexMap() { - var indexMap = new HashMap(); var sccs = sccs(); + int states = sccs.stream().mapToInt(Set::size).sum(); + + @SuppressWarnings("unchecked") + Map.Entry[] indexMap = new Map.Entry[states]; + int j = 0; for (int i = 0, s = sccs.size(); i < s; i++) { // Share a single value instance for all mappings. Integer iObject = i; for (S state : sccs.get(i)) { - indexMap.put(state, iObject); + indexMap[j] = Map.entry(state, iObject); + j++; } } - return Map.copyOf(indexMap); + return Map.ofEntries(indexMap); } /** * Compute the condensation graph corresponding to the SCC decomposition. The {@code Integer} - * vertices correspond to the index in the list returned by {@link SccDecomposition#sccs}. - * Every path in this graph is labelled by monotonic increasing ids. + * vertices correspond to the index in the list returned by {@link SccDecomposition#sccs}. Every + * path in this graph is labelled by monotonic increasing ids. * * @return the condensation graph. */ @@ -247,7 +269,7 @@ public ImmutableGraph condensation() { builder.addNode(i); for (S state : scc) { - for (S successor : successorFunction().apply(state)) { + for (S successor : successorFunction().successors(state)) { builder.putEdge(i, index(successor)); } } @@ -259,8 +281,8 @@ public ImmutableGraph condensation() { } /** - * Return indices of all strongly connected components that are bottom. A SCC is considered - * bottom if it is not transient and there are no transitions leaving it. + * Return indices of all strongly connected components that are bottom. A SCC is considered bottom + * if it is not transient and there are no transitions leaving it. * * @return indices of bottom strongly connected components. */ @@ -279,8 +301,8 @@ public ImmutableBitSet bottomSccs() { } /** - * Determine if a given strongly connected component is bottom. A SCC is considered bottom - * if there are no transitions leaving it. + * Determine if a given strongly connected component is bottom. A SCC is considered bottom if + * there are no transitions leaving it. * * @param scc a strongly connected component. * @return {@code true} if {@code scc} is bottom, {@code false} otherwise. @@ -326,7 +348,9 @@ public boolean isTransientScc(Set scc) { return !condensation().hasEdgeConnecting(index, index); } - /** reachability relation on states. */ + /** + * reachability relation on states. + */ public boolean pathExists(S source, S target) { int sourceIndex = index(source); int targetIndex = index(target); @@ -346,25 +370,27 @@ public boolean pathExists(S source, S target) { private String sccToString(int i) { return sccs().get(i).toString() + ':' - + (transientSccs().contains(i) ? "T" : "") - + (bottomSccs().contains(i) ? "B" : "") - + (deterministicSccs().contains(i) ? "D" : "") - + (rejectingSccs().contains(i) ? "R" : "") - + (acceptingSccs().contains(i) ? "A" : ""); + + (transientSccs().contains(i) ? "T" : "") + + (bottomSccs().contains(i) ? "B" : "") + + (deterministicSccs().contains(i) ? "D" : "") + + (rejectingSccs().contains(i) ? "R" : "") + + (acceptingSccs().contains(i) ? "A" : ""); } @Override public String toString() { return IntStream.range(0, sccs().size()) - .mapToObj(this::sccToString) - .collect(Collectors.joining(", ","[","]")); + .mapToObj(this::sccToString) + .collect(Collectors.joining(", ", "[", "]")); } - /** deterministic SCCs. */ + /** + * deterministic SCCs. + */ @Memoized public ImmutableBitSet deterministicSccs() { Preconditions.checkState(automaton() != null, - "This decomposition only has access to a graph and not an automaton."); + "This decomposition only has access to a graph and not an automaton."); var deterministicSccs = new BitSet(); @@ -382,15 +408,17 @@ public ImmutableBitSet deterministicSccs() { return ImmutableBitSet.copyOf(deterministicSccs); } - /** Weak accepting SCCs (non-trivial and only good cycles). Only BüchiAcceptance supported. */ + /** + * Weak accepting SCCs (non-trivial and only good cycles). Only BüchiAcceptance supported. + */ @Memoized public ImmutableBitSet acceptingSccs() { Preconditions.checkState(automaton() != null, - "This decomposition only has access to a graph and not an automaton."); + "This decomposition only has access to a graph and not an automaton."); + Preconditions.checkState(automaton().acceptance() instanceof BuchiAcceptance); var acceptingSccs = new BitSet(); - - Preconditions.checkState(automaton().acceptance() instanceof BuchiAcceptance); + var acceptance = (BuchiAcceptance) automaton().acceptance(); for (int i = 0, s = sccs().size(); i < s; i++) { if (transientSccs().contains(i) || rejectingSccs().contains(i)) { @@ -401,9 +429,10 @@ public ImmutableBitSet acceptingSccs() { //if all SCCs in SCC sub-aut. with only rejecting edges are trivial, there is no rej. loop Views.Filter justRej = Views.Filter.builder() - .initialStates(scc) - .stateFilter(scc::contains) - .edgeFilter((state, e) -> !automaton().acceptance().isAcceptingEdge(e)).build(); + .initialStates(scc) + .edgeFilter((state, edge) -> + scc.contains(edge.successor()) && !acceptance.isAcceptingEdge(edge)) + .build(); var rejSubAut = Views.filtered(automaton(), justRej); var sccScci = SccDecomposition.of(rejSubAut); @@ -418,22 +447,24 @@ public ImmutableBitSet acceptingSccs() { return ImmutableBitSet.copyOf(acceptingSccs); } - /** Weak rejecting SCCs (trivial or only rejecting cycles). */ + /** + * Weak rejecting SCCs (trivial or only rejecting cycles). + */ @Memoized public ImmutableBitSet rejectingSccs() { Preconditions.checkState(automaton() != null, - "This decomposition only has access to a graph and not an automaton."); + "This decomposition only has access to a graph and not an automaton."); + var automaton = automaton(); + var sccs = sccs(); var rejectingSccs = new BitSet(); for (int i = 0, s = sccs().size(); i < s; i++) { - Set scc = sccs().get(i); - - Views.Filter sccFilter = Views.Filter.of(Set.of(scc.iterator().next()), scc::contains); - - if (LanguageEmptiness.isEmpty(Views.filtered(automaton(), sccFilter))) { - rejectingSccs.set(i); - } + var scc = sccs.get(i); + rejectingSccs.set(i, LanguageEmptiness.isEmpty( + Set.of(scc.iterator().next()), + EdgeRelation.filter(automaton::edges, edge -> scc.contains(edge.successor())), + automaton.acceptance())); } return ImmutableBitSet.copyOf(rejectingSccs); diff --git a/src/main/java/owl/automaton/algorithm/Tarjan.java b/src/main/java/owl/automaton/algorithm/Tarjan.java index 0ff8ae44..bfd61547 100644 --- a/src/main/java/owl/automaton/algorithm/Tarjan.java +++ b/src/main/java/owl/automaton/algorithm/Tarjan.java @@ -30,12 +30,13 @@ import java.util.Objects; import java.util.Set; import java.util.function.Predicate; -import owl.automaton.SuccessorFunction; +import owl.automaton.EdgeRelation; /** * Finds the SCCs of a given graph / transition system using Tarjan's algorithm. */ final class Tarjan { + // Initial value for the low link - since we update the low-link whenever we find a link to a // state we can use this to detect trivial SCCs. MAX_VALUE is important for "<" comparisons private static final int NO_LINK = Integer.MAX_VALUE; @@ -45,11 +46,11 @@ final class Tarjan { private final Deque> path = new ArrayDeque<>(); private final Set processedNodes = new HashSet<>(); private final Map> stateMap = new HashMap<>(); - private final SuccessorFunction successorFunction; + private final EdgeRelation successorFunction; private int index = 0; private boolean earlyTerminationOccurred = false; - Tarjan(SuccessorFunction successorFunction, Predicate> earlyTermination) { + Tarjan(EdgeRelation successorFunction, Predicate> earlyTermination) { this.successorFunction = successorFunction; this.earlyTermination = earlyTermination; } @@ -60,12 +61,12 @@ private boolean isTransient(Set scc) { } S state = Iterables.getOnlyElement(scc); - return !successorFunction.apply(state).contains(state); + return !Iterables.contains(successorFunction.successors(state), state); } private TarjanState create(S node) { assert !stateMap.containsKey(node) && !processedNodes.contains(node) - : String.format("Node %s already processed", node); + : String.format("Node %s already processed", node); if (index == Integer.MAX_VALUE) { throw new IllegalStateException("exhausted node ids"); @@ -74,8 +75,8 @@ private TarjanState create(S node) { int nodeIndex = index; index += 1; - Iterator successorIterator = successorFunction.apply(node).iterator(); - TarjanState state = new TarjanState<>(node, nodeIndex, successorIterator); + TarjanState state = new TarjanState<>( + node, nodeIndex, successorFunction.successors(node).iterator()); explorationStack.push(node); stateMap.put(node, state); @@ -84,7 +85,7 @@ private TarjanState create(S node) { boolean run(S initial) { Preconditions.checkState(!earlyTerminationOccurred, - "An early termination occurred. Internal data-structures are inconsistent."); + "An early termination occurred. Internal data-structures are inconsistent."); assert path.isEmpty(); if (stateMap.containsKey(initial) || processedNodes.contains(initial)) { @@ -99,7 +100,7 @@ boolean run(S initial) { S node = state.node; int nodeIndex = state.nodeIndex; - Iterator successorIterator = state.successorIterator; + Iterator successorIterator = state.successorIterator; while (successorIterator.hasNext()) { S successor = successorIterator.next(); @@ -125,7 +126,7 @@ boolean run(S initial) { continue outer; } - // Successor is not fully explored and we found a link to it, hence the low-link of this + // Successor is not fully explored, and we found a link to it, hence the low-link of this // state is less than or equal to the successors link. int successorIndex = successorState.nodeIndex; assert successorIndex != nodeIndex; @@ -218,12 +219,13 @@ boolean run(S initial) { } private static final class TarjanState { + private final S node; private final int nodeIndex; - private final Iterator successorIterator; + private final Iterator successorIterator; private int lowLink; - private TarjanState(S node, int nodeIndex, Iterator successorIterator) { + private TarjanState(S node, int nodeIndex, Iterator successorIterator) { this.node = node; this.nodeIndex = nodeIndex; this.successorIterator = successorIterator; diff --git a/src/main/java/owl/automaton/algorithm/simulations/SimulationGame.java b/src/main/java/owl/automaton/algorithm/simulations/SimulationGame.java index 3c4fca37..3cca54d7 100644 --- a/src/main/java/owl/automaton/algorithm/simulations/SimulationGame.java +++ b/src/main/java/owl/automaton/algorithm/simulations/SimulationGame.java @@ -19,7 +19,6 @@ package owl.automaton.algorithm.simulations; -import java.util.BitSet; import java.util.List; import owl.automaton.AbstractMemoizingAutomaton; import owl.automaton.acceptance.ParityAcceptance; @@ -57,16 +56,6 @@ public Owner owner(T state) { return state.owner(); } - @Override - public List variables(Owner owner) { - throw new UnsupportedOperationException(); - } - - @Override - public BitSet choice(T state, Owner owner) { - throw new UnsupportedOperationException(); - } - @Override public String toString() { return HoaWriter.toString(this); diff --git a/src/main/java/owl/automaton/determinization/Determinization.java b/src/main/java/owl/automaton/determinization/Determinization.java index 418d570d..dd59034b 100644 --- a/src/main/java/owl/automaton/determinization/Determinization.java +++ b/src/main/java/owl/automaton/determinization/Determinization.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 - 2021 (See AUTHORS) + * Copyright (C) 2016 - 2022 (See AUTHORS) * * This file is part of Owl. * @@ -19,92 +19,187 @@ package owl.automaton.determinization; -import com.google.auto.value.AutoValue; +import com.google.common.base.Preconditions; +import com.google.common.base.Verify; import java.util.BitSet; +import java.util.Collections; import java.util.HashSet; +import java.util.List; import java.util.Set; import java.util.stream.Collectors; import owl.automaton.AbstractMemoizingAutomaton; import owl.automaton.Automaton; import owl.automaton.acceptance.AllAcceptance; import owl.automaton.acceptance.CoBuchiAcceptance; +import owl.automaton.algorithm.LanguageContainment; import owl.automaton.edge.Edge; +import owl.automaton.minimization.GfgNcwMinimization; +import owl.automaton.minimization.GfgNcwMinimization.CanonicalGfgNcw; +import owl.collections.BitSet2; +import owl.collections.Collections3; +import owl.collections.ImmutableBitSet; -public class Determinization { +public final class Determinization { - private Determinization() {} + private Determinization() { + } public static Automaton, AllAcceptance> - determinizeAllAcceptance(Automaton automaton) { + determinizeAllAcceptance(Automaton automaton) { return new AbstractMemoizingAutomaton.EdgeImplementation<>( - automaton.atomicPropositions(), - automaton.factory(), - Set.of(automaton.initialStates()), - AllAcceptance.INSTANCE) { + automaton.atomicPropositions(), + automaton.factory(), + Set.of(automaton.initialStates()), + AllAcceptance.INSTANCE) { @Override public Edge> edgeImpl(Set state, BitSet valuation) { Set successors = state.stream() - .flatMap(x -> automaton.successors(x, valuation).stream()) - .collect(Collectors.toUnmodifiableSet()); + .flatMap(x -> automaton.successors(x, valuation).stream()) + .collect(Collectors.toUnmodifiableSet()); return successors.isEmpty() ? null : Edge.of(successors); } }; } public static Automaton, CoBuchiAcceptance> - determinizeCoBuchiAcceptance(Automaton ncw) { + determinizeCoBuchiAcceptance(Automaton ncw) { return new AbstractMemoizingAutomaton.EdgeImplementation<>( - ncw.atomicPropositions(), - ncw.factory(), - Set.of(BreakpointState.of(ncw.initialStates(), ncw.initialStates())), - CoBuchiAcceptance.INSTANCE) { + ncw.atomicPropositions(), + ncw.factory(), + Set.of(new BreakpointState<>(ncw.initialStates(), ncw.initialStates())), + CoBuchiAcceptance.INSTANCE) { @Override public Edge> edgeImpl( - BreakpointState breakpointState, BitSet valuation) { + BreakpointState breakpointState, BitSet valuation) { - Set successors = new HashSet<>(); - Set rejectingSuccessors = new HashSet<>(); + Set successors = new HashSet<>(breakpointState.allRuns.size()); + Set acceptingSuccessors = new HashSet<>(breakpointState.acceptingRuns.size()); - for (S state : breakpointState.states()) { - for (Edge edge : ncw.edges(state, valuation)) { - successors.add(edge.successor()); - } + for (S run : breakpointState.allRuns) { + successors.addAll(ncw.successors(run, valuation)); } - for (S rejectingState : breakpointState.rejecting()) { - for (Edge edge : ncw.edges(rejectingState, valuation)) { - if (!edge.colours().contains(0)) { - rejectingSuccessors.add(edge.successor()); + for (S acceptingRun : breakpointState.acceptingRuns) { + for (Edge edge : ncw.edges(acceptingRun, valuation)) { + if (edge.colours().isEmpty()) { + acceptingSuccessors.add(edge.successor()); } } } if (successors.isEmpty()) { - return null; + return Edge.of(new BreakpointState<>(Set.of(), Set.of()), 0); + } + + if (acceptingSuccessors.isEmpty()) { + // Make only one immutable copy. + successors = Set.copyOf(successors); + return Edge.of(new BreakpointState<>(successors, successors), 0); + } + + return Edge.of(new BreakpointState<>(successors, acceptingSuccessors)); + } + }; + } + + public static Automaton + determinizeCanonicalGfgNcw(GfgNcwMinimization.CanonicalGfgNcw canonicalGfgNcw) { + + var alphaMaximalUpToHomogenityGfgNcw = canonicalGfgNcw.alphaMaximalUpToHomogenityGfgNcw; + + var dcw = new AbstractMemoizingAutomaton.EdgeImplementation<>( + alphaMaximalUpToHomogenityGfgNcw.atomicPropositions(), + alphaMaximalUpToHomogenityGfgNcw.factory(), + Set.of(ImmutableBitSet.copyOf(alphaMaximalUpToHomogenityGfgNcw.initialStates())), + CoBuchiAcceptance.INSTANCE) { + + @Override + protected Edge edgeImpl(ImmutableBitSet states, BitSet valuation) { + + BitSet successors = new BitSet(); + BitSet acceptingSuccessors = new BitSet(); + + for (var state = states.first(); + state.isPresent(); + state = states.higher(state.getAsInt())) { + + for (var edge : alphaMaximalUpToHomogenityGfgNcw.edges(state.getAsInt(), valuation)) { + int successor = edge.successor(); + successors.set(successor); + + if (edge.colours().isEmpty()) { + acceptingSuccessors.set(successor); + } + } } - if (rejectingSuccessors.isEmpty()) { - return Edge.of(BreakpointState.of(successors, successors), 0); + // Select only maximal elements using the subsafe-equivalance relation. + var maximalSuccessors = maximalElements(canonicalGfgNcw, successors); + var maximalAcceptingSuccessors = maximalElements(canonicalGfgNcw, acceptingSuccessors); + + if (maximalAcceptingSuccessors.isEmpty()) { + // We reset. + BitSet currentSafeComponents = findSafeComponents(states); + assert currentSafeComponents.cardinality() == 1; + int currentSafeComponent = currentSafeComponents.nextSetBit(0); + assert currentSafeComponent >= 0; + + BitSet nextSafeComponents = findSafeComponents(maximalSuccessors); + assert nextSafeComponents.cardinality() >= 1; + int nextSafeComponent = nextSafeComponents.nextSetBit(currentSafeComponent + 1); + + if (nextSafeComponent < 0) { + nextSafeComponent = nextSafeComponents.nextSetBit(0); + } + + return Edge.of( + canonicalGfgNcw.safeComponents.get(nextSafeComponent).intersection(maximalSuccessors), + 0); + } else { + return maximalAcceptingSuccessors.size() < states.size() ? Edge.of( + maximalAcceptingSuccessors, 0) : Edge.of(maximalAcceptingSuccessors); } + } - return Edge.of(BreakpointState.of(successors, rejectingSuccessors)); + private BitSet findSafeComponents(ImmutableBitSet states) { + List safeComponents = canonicalGfgNcw.safeComponents; + BitSet indices = new BitSet(); + + for (int i = 0, s = safeComponents.size(); i < s; i++) { + if (safeComponents.get(i).intersects(states)) { + indices.set(i); + } + } + + return indices; } }; + + Verify.verify( + LanguageContainment.equalsCoBuchi(canonicalGfgNcw.alphaMaximalUpToHomogenityGfgNcw, dcw)); + return dcw; } - @AutoValue - public abstract static class BreakpointState { - public abstract Set states(); + private static ImmutableBitSet maximalElements( + CanonicalGfgNcw canonicalGfgNcw, BitSet statesBitSet) { + + Set states = BitSet2.asSet(statesBitSet); + + Preconditions.checkArgument(canonicalGfgNcw.languageEquivalenceClasses.stream() + .allMatch(clazz -> Collections.disjoint(clazz, states) || clazz.containsAll(states))); + return ImmutableBitSet.copyOf( + Collections3.maximalElements(states, canonicalGfgNcw::subsafeEquivalent)); + } - public abstract Set rejecting(); + public record BreakpointState(Set allRuns, Set acceptingRuns) { - public static BreakpointState of(Set states, Set rejecting) { - return new AutoValue_Determinization_BreakpointState<>( - Set.copyOf(states), Set.copyOf(rejecting)); + public BreakpointState { + allRuns = Set.copyOf(allRuns); + acceptingRuns = Set.copyOf(acceptingRuns); } } } diff --git a/src/main/java/owl/automaton/edge/Edge.java b/src/main/java/owl/automaton/edge/Edge.java index e9a5574b..742ba8c3 100644 --- a/src/main/java/owl/automaton/edge/Edge.java +++ b/src/main/java/owl/automaton/edge/Edge.java @@ -22,6 +22,7 @@ import com.google.auto.value.AutoValue; import java.util.BitSet; import java.util.Collection; +import java.util.Objects; import java.util.PrimitiveIterator; import java.util.function.Function; import java.util.function.IntUnaryOperator; @@ -37,6 +38,10 @@ @AutoValue public abstract class Edge { + // Restrict constructor to package-visibility. + // TODO: seal this class once it is migrated to records. + Edge() {} + /** * Get the target state of the edge. * @@ -132,7 +137,9 @@ public static Edge of(S successor, Collection acceptance) { * @return An edge leading to {@code successor} with given acceptance. */ public static Edge of(S successor, ImmutableBitSet acceptance) { - return new AutoValue_Edge<>(successor, acceptance); + return new AutoValue_Edge<>( + Objects.requireNonNull(successor), + Objects.requireNonNull(acceptance)); } public Edge withAcceptance(int i) { diff --git a/src/main/java/owl/automaton/edge/Edges.java b/src/main/java/owl/automaton/edge/Edges.java index dad12008..7494964d 100644 --- a/src/main/java/owl/automaton/edge/Edges.java +++ b/src/main/java/owl/automaton/edge/Edges.java @@ -20,6 +20,7 @@ package owl.automaton.edge; import java.util.Set; +import java.util.function.Function; import owl.collections.Collections3; public final class Edges { @@ -28,4 +29,10 @@ private Edges() {} public static Set successors(Set> edges) { return Collections3.transformSet(edges, Edge::successor); } + + public static Set> mapSuccessors( + Set> edges, Function mapper) { + + return Collections3.transformSet(edges, edge -> edge.mapSuccessor(mapper)); + } } diff --git a/src/main/java/owl/automaton/hoa/HoaReader.java b/src/main/java/owl/automaton/hoa/HoaReader.java index 44c560ee..3839c351 100644 --- a/src/main/java/owl/automaton/hoa/HoaReader.java +++ b/src/main/java/owl/automaton/hoa/HoaReader.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 - 2021 (See AUTHORS) + * Copyright (C) 2016 - 2022 (See AUTHORS) * * This file is part of Owl. * @@ -24,8 +24,12 @@ import static owl.logic.propositional.PropositionalFormula.Variable; import com.google.common.collect.Iterables; +import java.io.IOException; import java.io.Reader; import java.io.StringReader; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -69,47 +73,80 @@ public final class HoaReader { - private HoaReader() {} + private HoaReader() { + } public static void readStream( - Reader reader, - Supplier factorySupplier, - @Nullable List predefinedAtomicPropositions, - Consumer> consumer) throws ParseException { + Reader reader, + Supplier factorySupplier, + @Nullable List predefinedAtomicPropositions, + Consumer> consumer) throws ParseException { var copiedPredefinedAtomicPropositions = predefinedAtomicPropositions == null - ? null - : List.copyOf(predefinedAtomicPropositions); + ? null + : List.copyOf(predefinedAtomicPropositions); final class HoaConsumerAutomatonSupplier extends HOAConsumerStore { + @Override public void notifyEnd() throws HOAConsumerException { super.notifyEnd(); - consumer.accept(transform( - getStoredAutomaton(), factorySupplier, copiedPredefinedAtomicPropositions)); + consumer.accept( + transform(getStoredAutomaton(), factorySupplier, copiedPredefinedAtomicPropositions)); } } HOAFParserFixed.parseHOA(reader, - () -> new ToTransitionAcceptance(new HoaConsumerAutomatonSupplier())); + () -> new ToTransitionAcceptance(new HoaConsumerAutomatonSupplier())); } public static Automaton read(String string) throws ParseException { return read(string, FactorySupplier.defaultSupplier()::getBddSetFactory, null); } + public static List> readMultiple(Path path) + throws ParseException, IOException { + + return readMultiple(path, FactorySupplier.defaultSupplier()::getBddSetFactory, null); + } + + public static List> readMultiple( + Path path, + Supplier factorySupplier, + @Nullable List predefinedAtomicPropositions) throws ParseException, IOException { + + List> automata = new ArrayList<>(); + + try (var reader = Files.newBufferedReader(path)) { + HoaReader.readStream(reader, factorySupplier, predefinedAtomicPropositions, automata::add); + } + + return automata; + } + + public static List> readMultiple( + String string, + Supplier factorySupplier, + @Nullable List predefinedAtomicPropositions) throws ParseException { + + List> automata = new ArrayList<>(); + HoaReader.readStream( + new StringReader(string), factorySupplier, predefinedAtomicPropositions, automata::add); + return automata; + } + public static Automaton read( - String string, - Supplier factorySupplier, - @Nullable List predefinedAtomicPropositions) throws ParseException { + String string, + Supplier factorySupplier, + @Nullable List predefinedAtomicPropositions) throws ParseException { return read(new StringReader(string), factorySupplier, predefinedAtomicPropositions); } public static Automaton read( - Reader reader, - Supplier factorySupplier, - @Nullable List predefinedAtomicPropositions) throws ParseException { + Reader reader, + Supplier factorySupplier, + @Nullable List predefinedAtomicPropositions) throws ParseException { AtomicReference> reference = new AtomicReference<>(); @@ -117,7 +154,7 @@ public void notifyEnd() throws HOAConsumerException { var oldValue = reference.getAndSet(automaton); if (oldValue != null) { throw new IllegalArgumentException( - String.format("Stream contained at least two automata: %s, %s", automaton, oldValue)); + String.format("Stream contained at least two automata: %s, %s", automaton, oldValue)); } }); @@ -166,11 +203,11 @@ private static EmersonLeiAcceptance acceptance(StoredHeader header) throws HOACo colours = Integer.parseInt(stringColours); } catch (NumberFormatException e) { throw (HOAConsumerException) new HOAConsumerException( - "Failed to parse colours " + stringColours).initCause(e); + "Failed to parse colours " + stringColours).initCause(e); } check(colours >= 0, "Negative colours"); check(colours == sets, String.format("Mismatch between colours (%d) and acceptance" - + " set count (%d)", colours, sets)); + + " set count (%d)", colours, sets)); return new ParityAcceptance(sets, Parity.of(max, even)); @@ -184,7 +221,7 @@ private static EmersonLeiAcceptance acceptance(StoredHeader header) throws HOACo // Acceptance: 3 Inf(0)&Inf(1)&Inf(2) int size1 = Integer.parseInt(name.extra().get(0).toString()); var generalizedBuchiAcceptance - = GeneralizedBuchiAcceptance.ofPartial(formula).orElseThrow(); + = GeneralizedBuchiAcceptance.ofPartial(formula).orElseThrow(); check(generalizedBuchiAcceptance.acceptanceSets() == size1, "Mismatch."); return generalizedBuchiAcceptance; @@ -193,7 +230,7 @@ private static EmersonLeiAcceptance acceptance(StoredHeader header) throws HOACo // Acceptance: 3 Fin(0)|Fin(1)|Fin(2) int size2 = Integer.parseInt(name.extra().get(0).toString()); var generalizedCoBuchiAcceptance - = GeneralizedCoBuchiAcceptance.ofPartial(formula).orElseThrow(); + = GeneralizedCoBuchiAcceptance.ofPartial(formula).orElseThrow(); check(generalizedCoBuchiAcceptance.acceptanceSets() == size2, "Mismatch."); return generalizedCoBuchiAcceptance; @@ -201,15 +238,15 @@ private static EmersonLeiAcceptance acceptance(StoredHeader header) throws HOACo // acc-name: Rabin 3 // Acceptance: 6 (Fin(0)&Inf(1))|(Fin(2)&Inf(3))|(Fin(4)&Inf(5)) return RabinAcceptance.ofPartial(formula).orElseThrow( - () -> new IllegalArgumentException( - String.format("Rabin Acceptance (%s) not well-formed.", formula))); + () -> new IllegalArgumentException( + String.format("Rabin Acceptance (%s) not well-formed.", formula))); case "generalized-rabin": // acc-name: generalized-Rabin 2 3 2 // Acceptance: 7 (Fin(0)&Inf(1)&Inf(2)&Inf(3))|(Fin(4)&Inf(5)&Inf(6)) return GeneralizedRabinAcceptance.ofPartial(formula).orElseThrow( - () -> new IllegalArgumentException(String.format( - "Generalized-Rabin Acceptance (%s) not well-formed.", formula))); + () -> new IllegalArgumentException(String.format( + "Generalized-Rabin Acceptance (%s) not well-formed.", formula))); case "streett": // acc-name: Streett 3 @@ -221,16 +258,16 @@ private static EmersonLeiAcceptance acceptance(StoredHeader header) throws HOACo } private static void check(boolean condition, String message) - throws HOAConsumerException { + throws HOAConsumerException { if (!condition) { throw new HOAConsumerException(message); } } private static AbstractMemoizingAutomaton transform( - StoredAutomaton storedAutomaton, - Supplier factorySupplier, - @Nullable List predefinedAtomicPropositions) throws HOAConsumerException { + StoredAutomaton storedAutomaton, + Supplier factorySupplier, + @Nullable List predefinedAtomicPropositions) throws HOAConsumerException { var storedHeader = storedAutomaton.getStoredHeader(); var vsFactory = factorySupplier.get(); @@ -248,7 +285,7 @@ private static void check(boolean condition, String message) int[] remapping; if (predefinedAtomicPropositions == null - || predefinedAtomicPropositions.equals(atomicPropositions)) { + || predefinedAtomicPropositions.equals(atomicPropositions)) { remapping = null; } else { remapping = new int[atomicPropositions.size()]; @@ -256,7 +293,7 @@ private static void check(boolean condition, String message) while (variableIterator.hasNext()) { int variableIndex = predefinedAtomicPropositions.indexOf(variableIterator.next()); checkArgument(variableIndex >= 0, - "Failed to map to predefined atomic propositions."); + "Failed to map to predefined atomic propositions."); remapping[variableIterator.previousIndex()] = variableIndex; } } @@ -269,8 +306,8 @@ private static void check(boolean condition, String message) } var automaton = new StoredAutomatonConverter(remapping, - remapping == null ? atomicPropositions : predefinedAtomicPropositions, - vsFactory, initialStates, acceptance(storedHeader), storedAutomaton); + remapping == null ? atomicPropositions : predefinedAtomicPropositions, + vsFactory, initialStates, acceptance(storedHeader), storedAutomaton); automaton.states(); assert automaton.storedAutomaton == null; @@ -278,7 +315,7 @@ private static void check(boolean condition, String message) } private static final class StoredAutomatonConverter - extends AbstractMemoizingAutomaton.EdgeTreeImplementation { + extends AbstractMemoizingAutomaton.EdgeTreeImplementation { @Nullable private StoredAutomaton storedAutomaton; @@ -289,12 +326,12 @@ private static final class StoredAutomatonConverter @SuppressWarnings("PMD.ArrayIsStoredDirectly") private StoredAutomatonConverter( - @Nullable int[] remapping, - List atomicPropositions, - BddSetFactory vsFactory, - Set initialStates, - EmersonLeiAcceptance acceptance, - StoredAutomaton storedAutomaton) { + @Nullable int[] remapping, + List atomicPropositions, + BddSetFactory vsFactory, + Set initialStates, + EmersonLeiAcceptance acceptance, + StoredAutomaton storedAutomaton) { super(atomicPropositions, vsFactory, initialStates, acceptance); @@ -302,7 +339,7 @@ private StoredAutomatonConverter( this.mapping = remapping; this.aliases = new HashMap<>(); storedAutomaton.getStoredHeader().getAliases().forEach( - x -> this.aliases.put(x.name(), x.extra())); + x -> this.aliases.put(x.name(), x.extra())); } @Override @@ -324,15 +361,15 @@ protected MtBdd> edgeTreeImpl(Integer state) { int acceptanceSets = acceptance.acceptanceSets(); for (StoredEdgeWithLabel edgeWithLabel : storedAutomaton.getEdgesWithLabel(state)) { Edge edge = Edge.of(Iterables.getOnlyElement(edgeWithLabel.getConjSuccessors()), - edgeWithLabel.getAccSignature() == null - ? ImmutableBitSet.of() - : ImmutableBitSet.copyOf(edgeWithLabel.getAccSignature())); + edgeWithLabel.getAccSignature() == null + ? ImmutableBitSet.of() + : ImmutableBitSet.copyOf(edgeWithLabel.getAccSignature())); checkArgument(edge.colours().last().orElse(-1) < acceptanceSets, - "The number of colours on the edge (%s) exceeds the number of colours " - + "allowed by the acceptance condition (%s).", edge, acceptance()); + "The number of colours on the edge (%s) exceeds the number of colours " + + "allowed by the acceptance condition (%s).", edge, acceptance()); edgeMap.compute(edge, (key, value) -> value == null - ? resolveAndRemap(edgeWithLabel.getLabelExpr()) - : Disjunction.of(value, resolveAndRemap(edgeWithLabel.getLabelExpr()))); + ? resolveAndRemap(edgeWithLabel.getLabelExpr()) + : Disjunction.of(value, resolveAndRemap(edgeWithLabel.getLabelExpr()))); } return MtBdd.of(edgeMap); @@ -346,13 +383,13 @@ protected void explorationCompleted() { } private PropositionalFormula resolveAndRemap( - PropositionalFormula expression) { + PropositionalFormula expression) { return expression.substitute(atom -> { if (atom.isAlias()) { String alias = atom.aliasName(); checkArgument( - aliases != null && aliases.containsKey(alias), "Alias " + alias + " undefined"); + aliases != null && aliases.containsKey(alias), "Alias " + alias + " undefined"); return resolveAndRemap(aliases.get(alias)); } else { int apIndex = atom.apIndex(); diff --git a/src/main/java/owl/automaton/hoa/HoaWriter.java b/src/main/java/owl/automaton/hoa/HoaWriter.java index f8a16d59..7ba845c2 100644 --- a/src/main/java/owl/automaton/hoa/HoaWriter.java +++ b/src/main/java/owl/automaton/hoa/HoaWriter.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 - 2021 (See AUTHORS) + * Copyright (C) 2016 - 2022 (See AUTHORS) * * This file is part of Owl. * @@ -41,7 +41,8 @@ public final class HoaWriter { - private HoaWriter() {} + private HoaWriter() { + } public static String toString(Automaton automaton) { var buffer = new StringWriter(); @@ -56,26 +57,26 @@ public static String toString(Automaton automaton) { } public static void write( - Automaton automaton, HOAConsumer consumer, boolean stateLabels) - throws HOAConsumerException { + Automaton automaton, HOAConsumer consumer, boolean stateLabels) + throws HOAConsumerException { write(automaton, consumer, stateLabels, null, null, null); } public static void write( - Automaton automaton, - HOAConsumer consumer, - boolean stateLabels, - @Nullable String subcommand, - @Nullable List subcommandArgs, - @Nullable String automatonName) - throws HOAConsumerException { + Automaton automaton, + HOAConsumer consumer, + boolean stateLabels, + @Nullable String subcommand, + @Nullable List subcommandArgs, + @Nullable String automatonName) + throws HOAConsumerException { consumer.notifyHeaderStart("v1"); var nameAndVersion = OwlVersion.getNameAndVersion(); consumer.setTool( - subcommand == null ? nameAndVersion.name() : nameAndVersion.name() + ' ' + subcommand, - nameAndVersion.version()); + subcommand == null ? nameAndVersion.name() : nameAndVersion.name() + ' ' + subcommand, + nameAndVersion.version()); if (automatonName != null) { consumer.setName(automatonName.replace('"', '\'')); @@ -99,13 +100,14 @@ public static void write( consumer.provideAcceptanceName(acceptance.name(), acceptance.nameExtra()); } - consumer.setAcceptanceCondition(acceptance.acceptanceSets(), acceptance.booleanExpression().nnf()); + consumer.setAcceptanceCondition(acceptance.acceptanceSets(), + acceptance.booleanExpression().nnf()); consumer.addProperties(List.of("trans-acc", "no-univ-branch")); // jhoafparser does not adhere to the spec. If we call an automaton without initial // states deterministic, the serializer will throw an exception. if (!automaton.initialStates().isEmpty() - && automaton.is(Automaton.Property.DETERMINISTIC)) { + && automaton.is(Automaton.Property.DETERMINISTIC)) { consumer.addProperties(List.of("deterministic", "unambiguous")); } @@ -143,9 +145,9 @@ public static void write( } consumer.addEdgeWithLabel(stateId, - valuationSet.toExpression().map(AtomLabel::createAPIndex), - List.of(numbering.get(edge.successor())), - edge.colours()); + valuationSet.toExpression().map(AtomLabel::createAPIndex), + List.of(numbering.get(edge.successor())), + edge.colours()); } consumer.notifyEndOfState(stateId); @@ -155,6 +157,7 @@ public static void write( } static final class Numbering { + private final Map stateNumbers = new HashMap<>(); private int get(S state) { @@ -163,6 +166,7 @@ private int get(S state) { } public static class UncheckedHoaConsumerException extends RuntimeException { + public UncheckedHoaConsumerException(HOAConsumerException cause) { super(cause); } diff --git a/src/main/java/owl/automaton/minimization/DbwMinimization.java b/src/main/java/owl/automaton/minimization/DbwMinimization.java new file mode 100644 index 00000000..a0a19d2f --- /dev/null +++ b/src/main/java/owl/automaton/minimization/DbwMinimization.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2016 - 2022 (See AUTHORS) + * + * This file is part of Owl. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 . + */ + +package owl.automaton.minimization; + +import static owl.automaton.BooleanOperations.deterministicComplement; +import static owl.automaton.BooleanOperations.deterministicComplementOfCompleteAutomaton; + +import owl.automaton.Automaton; +import owl.automaton.acceptance.BuchiAcceptance; +import owl.automaton.acceptance.CoBuchiAcceptance; +import owl.automaton.acceptance.OmegaAcceptanceCast; + +public class DbwMinimization { + + public static Automaton minimize( + Automaton dbw) { + var minimalDcw + = DcwMinimization.minimize(deterministicComplement(dbw, CoBuchiAcceptance.class)); + return OmegaAcceptanceCast.castExact( + deterministicComplementOfCompleteAutomaton(minimalDcw, BuchiAcceptance.class), + BuchiAcceptance.class); + } +} diff --git a/src/main/java/owl/automaton/minimization/DcwMinimization.java b/src/main/java/owl/automaton/minimization/DcwMinimization.java new file mode 100644 index 00000000..34233e33 --- /dev/null +++ b/src/main/java/owl/automaton/minimization/DcwMinimization.java @@ -0,0 +1,96 @@ +/* + * Copyright (C) 2022 (Salomon Sickert) + * + * This file is part of Owl. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 . + */ + +package owl.automaton.minimization; + +import static com.google.common.base.Verify.verify; +import static owl.automaton.algorithm.LanguageContainment.equalsCoBuchi; + +import owl.automaton.Automaton; +import owl.automaton.Automaton.Property; +import owl.automaton.Views; +import owl.automaton.acceptance.CoBuchiAcceptance; +import owl.automaton.determinization.Determinization; + +public class DcwMinimization { + + /** + * Computes a minimal tDCW for the language given by the tNCW. + * + * @param ncw the language for which a minimal tDCW should be computed. + * @return an equivalent, deterministic, complete and minimal tDCW. + */ + public static Automaton minimize( + Automaton ncw) { + + var canonicalGfgNcw = GfgNcwMinimization.minimize(ncw); + + // Short-cut for languages that are weak-type. + if (canonicalGfgNcw.alphaMaximalUpToHomogenityGfgNcw.is(Automaton.Property.DETERMINISTIC)) { + return canonicalGfgNcw.alphaMaximalUpToHomogenityGfgNcw; + } + + // Short-cut in case we already constructed a minimal tDCW. + if (canonicalGfgNcw.alphaMaximalGfgNcw.states().size() == canonicalGfgNcw.dcw.states().size()) { + return canonicalGfgNcw.dcw; + } + + // Phase 1: Is the language GFG-helpful? + var dcwByPruning = DcwMinimizationForNonGfgLanguages.prune(canonicalGfgNcw); + + if (dcwByPruning.isPresent()) { + return dcwByPruning.get(); + } + + // Phase 2: We need to explore the space between the canonical GFG-tNCW and the candidate tDCW. + System.err.println("GFG-helpful language."); + + var upperBoundDcw = Views.dropStateLabels( + Determinization.determinizeCanonicalGfgNcw(canonicalGfgNcw)).automaton(); + + if (canonicalGfgNcw.dcw.states().size() < upperBoundDcw.states().size()) { + upperBoundDcw = canonicalGfgNcw.dcw; + } + + int lowerBoundInclusive = canonicalGfgNcw.alphaMaximalGfgNcw.states().size() + 1; + + while (lowerBoundInclusive < upperBoundDcw.states().size()) { + int upperBoundInclusive = upperBoundDcw.states().size() - 1; + int middle = (lowerBoundInclusive + upperBoundInclusive) / 2; + + assert lowerBoundInclusive <= upperBoundInclusive; + assert lowerBoundInclusive <= middle; + assert middle <= upperBoundInclusive; + + var dcwByGuessing = DcwMinimizationForGfgLanguages.guess(canonicalGfgNcw, middle); + + if (dcwByGuessing.isPresent()) { + upperBoundDcw = dcwByGuessing.get(); + } else { + lowerBoundInclusive = middle + 1; + } + } + + verify(upperBoundDcw.is(Property.COMPLETE)); + verify(upperBoundDcw.is(Property.DETERMINISTIC)); + verify(equalsCoBuchi(canonicalGfgNcw.alphaMaximalUpToHomogenityGfgNcw, upperBoundDcw)); + + return upperBoundDcw; + } +} diff --git a/src/main/java/owl/automaton/minimization/DcwMinimizationForGfgLanguages.java b/src/main/java/owl/automaton/minimization/DcwMinimizationForGfgLanguages.java new file mode 100644 index 00000000..3b837b96 --- /dev/null +++ b/src/main/java/owl/automaton/minimization/DcwMinimizationForGfgLanguages.java @@ -0,0 +1,704 @@ +/* + * Copyright (C) 2016 - 2022 (See AUTHORS) + * + * This file is part of Owl. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 . + */ + +package owl.automaton.minimization; + +import com.google.common.base.Preconditions; +import com.google.common.collect.Iterables; +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.BitSet; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import java.util.function.Consumer; +import java.util.stream.IntStream; +import owl.automaton.AbstractMemoizingAutomaton; +import owl.automaton.Automaton; +import owl.automaton.acceptance.CoBuchiAcceptance; +import owl.automaton.algorithm.LanguageContainment; +import owl.automaton.edge.Edge; +import owl.automaton.minimization.GfgNcwMinimization.CanonicalGfgNcw; +import owl.bdd.BddSet; +import owl.collections.BitSet2; +import owl.collections.ImmutableBitSet; +import owl.logic.propositional.sat.Solver; +import owl.logic.propositional.sat.Solver.Clause; + +final class DcwMinimizationForGfgLanguages { + + private static final boolean SYMMETRY_BREAKING = true; + + private DcwMinimizationForGfgLanguages() { + } + + static Optional> guess( + final CanonicalGfgNcw canonicalGfgNcw, + final int dcwSize) { + + final int gfgNcwSize = canonicalGfgNcw.alphaMaximalGfgNcw.states().size(); + assert ImmutableBitSet.range(0, gfgNcwSize).equals(canonicalGfgNcw.alphaMaximalGfgNcw.states()); + + if (dcwSize < gfgNcwSize) { + return Optional.empty(); + } + + List> clauses = new ArrayList<>( + dcwSize * dcwSize * dcwSize * gfgNcwSize * gfgNcwSize); + EncodingFactory factory = new EncodingFactory(canonicalGfgNcw, dcwSize); + + // Function Encoding + for (int dcwState = 0; dcwState < dcwSize; dcwState++) { + for (List sigmaTransitions : factory.allDcwTransitions(dcwState)) { + assert sigmaTransitions.stream().allMatch(t -> t.sigma == sigmaTransitions.get(0).sigma); + clauses.addAll(Clause.exactlyOne(sigmaTransitions)); + } + + clauses.addAll(Clause.exactlyOne(factory.allEquivalent(dcwState))); + clauses.addAll(Clause.exactlyOne(factory.allStronglyEquivalent(dcwState))); + } + + // Condition 1.a: f∼(qB0) = [qA0]∼ + var initialEquivalenceClass = canonicalGfgNcw.initialEquivalenceClass(); + assert initialEquivalenceClass.contains(0); + clauses.add(Clause.assertTrue(factory.equivalent(0, initialEquivalenceClass))); + + // Condition 1.b: (f∼(qB) = [qA]∼ ∧ δB(qB,σ) = sB) −→ f∼(sB) = δA(qA, σ) + for (var equivalenceClass : factory.allEquivalent()) { + for (var sigmaTransitions : factory.allDcwTransitions(equivalenceClass.dcwState)) { + var sigma = sigmaTransitions.get(0).sigma; + var gfgNcwSuccessors = + canonicalGfgNcw.successorEquivalenceClass(equivalenceClass.gfgNcwStates, sigma); + + for (var transition : sigmaTransitions) { + assert transition.sigma == sigma; + clauses.add(Clause.implication( + List.of(equivalenceClass, transition), + factory.equivalent(transition.s, gfgNcwSuccessors))); + } + } + } + + // Condition 2.a: f≈(qBi) = qAi and Partition: (f≈(qB) = ⊥ ←→ f≾(qB) != ⊥) + for (int dcwState = 0; dcwState < dcwSize; dcwState++) { + if (dcwState < gfgNcwSize) { + clauses.add(Clause.assertTrue(factory.stronglyEquivalent(dcwState, dcwState))); + + //for (SubsafeEquivalent subsafeEquivalent : factory.allSubsafeEquivalent(dcwState)) { + // clauses.add(Clause.assertFalse(subsafeEquivalent)); + //} + } else { + var stronglyEquivalentUndefined = factory.stronglyEquivalentUndefined(dcwState); + var subsafeEquivalentList = factory.allSubsafeEquivalent(dcwState); + + clauses.add(new Clause<>(subsafeEquivalentList, List.of(stronglyEquivalentUndefined))); + + for (SubsafeEquivalent subsafeEquivalent : subsafeEquivalentList) { + clauses.add(Clause.implication(subsafeEquivalent, stronglyEquivalentUndefined)); + } + } + } + + // Condition 2.b: f≈(qB) = qA −→ f∼(qB) = [qA]∼ + for (var stronglyEquivalent : factory.allDefinedStronglyEquivalent()) { + assert stronglyEquivalent.gfgNcwState >= 0; + + var equivalent = factory.equivalent( + stronglyEquivalent.dcwState, + canonicalGfgNcw.equivalenceClass(stronglyEquivalent.gfgNcwState)); + + clauses.add(Clause.implication(stronglyEquivalent, equivalent)); + } + + // Condition 2.c: f≈(qB) = qA −→ (〈qA,σ〉∈ αA ←→〈qB,σ〉∈ αB) + for (var stronglyEquivalent : factory.allDefinedStronglyEquivalent()) { + assert stronglyEquivalent.gfgNcwState >= 0; + + for (var alphaTransition : factory.allAlphaTransitions(stronglyEquivalent.dcwState)) { + var gfgNcwEdges = canonicalGfgNcw.alphaMaximalUpToHomogenityGfgNcw.edges( + stronglyEquivalent.gfgNcwState, + alphaTransition.sigma); + + assert !gfgNcwEdges.isEmpty(); + + if (gfgNcwEdges.stream().allMatch(x -> x.colours().isEmpty())) { + clauses.add(new Clause<>(List.of(), List.of(stronglyEquivalent, alphaTransition))); + } else { + assert gfgNcwEdges.stream().noneMatch(x -> x.colours().isEmpty()); + clauses.add(Clause.implication(stronglyEquivalent, alphaTransition)); + } + } + } + + // Condition 2.d: (δB(qB,σ) = sB ∧ 〈qB,σ〉!∈! αB ∧ f≈(qB) = qA) −→ f≈(sB) = δAα ̄(qA,σ) + for (var dcwTransition : factory.allDcwTransitions()) { + var dcwAlphaTransition = factory.alphaTransition(dcwTransition); + + for (var stronglyEquivalent : factory.allDefinedStronglyEquivalent(dcwTransition.q)) { + var successorStronglyEquivalent = factory.stronglyEquivalent( + dcwTransition.s, + canonicalGfgNcw.nonAlphaSuccessor(stronglyEquivalent.gfgNcwState, dcwTransition.sigma)); + + clauses.add(new Clause<>( + List.of(dcwAlphaTransition, successorStronglyEquivalent), + List.of(dcwTransition, stronglyEquivalent))); + } + } + + for (var subsafeEquivalent : factory.allSubsafeEquivalent()) { + // Condition 3.a: f≾(qB) ∋ qA −→ f∼(qB) = [qA]∼ + var equivalent = factory.equivalent( + subsafeEquivalent.dcwState, + canonicalGfgNcw.equivalenceClass(subsafeEquivalent.gfgNcwState)); + + clauses.add(Clause.implication(subsafeEquivalent, equivalent)); + + // Condition 3.b: f≾(qB) ∋ qA −→ (〈qA,σ〉∈ αA −→〈qB,σ〉∈ αB) + for (var alphaTransition : factory.allAlphaTransitions(subsafeEquivalent.dcwState)) { + var gfgNcwEdges = canonicalGfgNcw.alphaMaximalUpToHomogenityGfgNcw.edges( + subsafeEquivalent.gfgNcwState, alphaTransition.sigma); + + assert !gfgNcwEdges.isEmpty(); + + if (gfgNcwEdges.stream().anyMatch(x -> x.colours().contains(0))) { + assert gfgNcwEdges.stream().allMatch(x -> x.colours().contains(0)); + clauses.add(Clause.implication(subsafeEquivalent, alphaTransition)); + } + } + } + + // Condition 3.c: (δB(qB,σ) = sB ∧ 〈qB,σ〉!∈! αB ∧ f≾(qB) ∋ qA) −→ f≾(sB) ∋ δAα ̄(qA,σ) + + for (var dcwTransition : factory.allDcwTransitions()) { + if (dcwTransition.q < gfgNcwSize) { + continue; + } + + var dcwAlphaTransition = factory.alphaTransition(dcwTransition); + + for (var subsafeEquivalent : factory.allSubsafeEquivalent(dcwTransition.q)) { + if (dcwTransition.s < gfgNcwSize) { + clauses.add(new Clause<>( + List.of(dcwAlphaTransition), + List.of(dcwTransition, subsafeEquivalent))); + } else { + int sA = canonicalGfgNcw.nonAlphaSuccessor( + subsafeEquivalent.gfgNcwState, + dcwTransition.sigma); + + if (sA < 0) { + continue; + } + + var successorSubsafeEquivalent = factory.subsafeEquivalent( + dcwTransition.s, sA); + + clauses.add(new Clause<>( + List.of(dcwAlphaTransition, successorSubsafeEquivalent), + List.of(dcwTransition, subsafeEquivalent))); + } + } + } + + // Condition 4: + + for (var equivalent : factory.allEquivalent()) { + for (int gfgNcwState : equivalent.gfgNcwStates) { + + // Selfloops. + var selfLoop = factory.gfgNcwSafePath( + gfgNcwState, equivalent.dcwState, gfgNcwState, equivalent.dcwState); + + clauses.add(Clause.implication(equivalent, selfLoop)); + + // (〈qB, σ, sB〉→ SafeGfgNcw(qA, qB, sA, sB)) + for (var sigmaTransitions : factory.allDcwTransitions(equivalent.dcwState)) { + var sigma = sigmaTransitions.get(0).sigma; + int gfgNcwSuccessor = canonicalGfgNcw.nonAlphaSuccessor(gfgNcwState, sigma); + + if (gfgNcwSuccessor < 0) { + continue; + } + + for (var transition : sigmaTransitions) { + assert transition.sigma == sigma; + assert transition.q == equivalent.dcwState; + + clauses.add(Clause.implication( + List.of(equivalent, transition), + factory.gfgNcwSafePath(gfgNcwState, transition.q, gfgNcwSuccessor, transition.s))); + } + } + + // Transitive + } + } + + // (SafeGfgNcw(qA, qB, qA′, qB′) ∧ SafeGfgNcw(qA′, qB′, qA′′, qB′′)) → SafeGfgNcw(qA, qB, qA′′, qB′′) + for (var path2 : factory.allGfgNcwSafePaths()) { + for (int qA = 0; qA < gfgNcwSize; qA++) { + for (int qB = 0; qB < dcwSize; qB++) { + var path1 = factory.gfgNcwSafePath(qA, qB, path2.gfgNcwState, path2.dcwState); + var path3 = factory.gfgNcwSafePath(qA, qB, path2.gfgNcwSuccessor, path2.dcwSuccessor); + clauses.add(Clause.implication( + List.of(path1, path2), + path3)); + } + } + } + + for (GfgNcwSafePath gfgNcwSafePath : factory.allGfgNcwSafePaths()) { + clauses.add(Clause.implication( + gfgNcwSafePath, + factory.equivalent( + gfgNcwSafePath.dcwState, + canonicalGfgNcw.equivalenceClass(gfgNcwSafePath.gfgNcwState)))); + + clauses.add(Clause.implication( + gfgNcwSafePath, + factory.equivalent( + gfgNcwSafePath.dcwSuccessor, + canonicalGfgNcw.equivalenceClass(gfgNcwSafePath.gfgNcwSuccessor)))); + } + + // Condition 4.: (qB, σ, sB〉∧ SafeGfgNcw(sA, sB, qA, qB)) → ¬(qB,σ)_α + { + for (var transition : factory.allDcwTransitions()) { + var alphaTransition = factory.alphaTransition(transition); + + for (var safePath : factory.allGfgNcwSafePaths()) { + if (safePath.dcwState != transition.s || safePath.dcwSuccessor != transition.q) { + continue; + } + + int qA = safePath.gfgNcwSuccessor; + int sA = canonicalGfgNcw.nonAlphaSuccessor(qA, transition.sigma); + + if (sA != safePath.gfgNcwState) { + continue; + } + + clauses.add(new Clause<>(List.of(), List.of(transition, safePath, alphaTransition))); + } + } + } + + if (SYMMETRY_BREAKING) { + // Add symmetry breaking clause. + for (int dcwState = gfgNcwSize; dcwState < dcwSize - 1; dcwState++) { + var stateUndefined = factory.stronglyEquivalentUndefined(dcwState); + var successorUndefined = factory.stronglyEquivalentUndefined(dcwState + 1); + clauses.add(Clause.implication(stateUndefined, successorUndefined)); + + for (int j = 0; j < gfgNcwSize; j++) { + for (int k = 0; k < j; k++) { + clauses.add( + new Clause<>(List.of(), List.of(factory.stronglyEquivalent(dcwState, j), + factory.stronglyEquivalent(dcwState + 1, k)))); + } + } + + for (int j = 0; j < gfgNcwSize; j++) { + final int dcwStateC = dcwState; + List positiveElements = IntStream.rangeClosed(0, j) + .mapToObj(x -> factory.subsafeEquivalent(dcwStateC, x)) + .toList(); + + clauses.add( + new Clause<>(positiveElements, List.of(factory.subsafeEquivalent(dcwState + 1, j)))); + } + + for (int j = 0; j < gfgNcwSize; j++) { + final int dcwStateC = dcwState; + List positiveElements = IntStream.range(j, gfgNcwSize) + .mapToObj(x -> factory.subsafeEquivalent(dcwStateC + 1, x)) + .toList(); + + clauses.add( + new Clause<>(positiveElements, List.of(factory.subsafeEquivalent(dcwState, j)))); + } + } + + for (int dcwState = gfgNcwSize; dcwState < dcwSize; dcwState++) { + for (ImmutableBitSet safeComponent : canonicalGfgNcw.safeComponents) { + for (int qA : safeComponent) { + for (ImmutableBitSet otherSafeComponent : canonicalGfgNcw.safeComponents) { + if (otherSafeComponent == safeComponent) { + continue; + } + + assert !safeComponent.equals(otherSafeComponent); + + for (int qAPrime : otherSafeComponent) { + if (canonicalGfgNcw.languageEquivalent(qA, qAPrime)) { + clauses.add(new Clause<>( + List.of(), + List.of( + factory.subsafeEquivalent(dcwState, qA), + factory.subsafeEquivalent(dcwState, qAPrime)))); + } + } + } + } + } + } + } + + // + // Clause store with unit information. + // + + var model = Solver.DEFAULT_MODELS.model(clauses); + + if (model.isEmpty()) { + return Optional.empty(); + } + + // Extract alpha-edges from assignment. + @SuppressWarnings("unchecked") + Map, BddSet>[] edgeMaps = new Map[dcwSize]; + + for (int i = 0; i < dcwSize; i++) { + edgeMaps[i] = new HashMap<>(dcwSize); + } + + var theModel = model.get(); + var bddFactory = canonicalGfgNcw.alphaMaximalGfgNcw.factory(); + var apSize = canonicalGfgNcw.alphaMaximalGfgNcw.atomicPropositions().size(); + + for (var encoding : theModel) { + if (encoding instanceof DcwTransition transition) { + + Edge edge = theModel.contains(factory.alphaTransition(transition)) + ? Edge.of(transition.s, 0) + : Edge.of(transition.s); + BddSet bddSet = bddFactory.of(transition.sigma, apSize); + + edgeMaps[transition.q] + .compute(edge, (key, oldSet) -> oldSet == null ? bddSet : oldSet.union(bddSet)); + } + } + + var dcw = new AbstractMemoizingAutomaton.PrecomputedAutomaton<>( + canonicalGfgNcw.alphaMaximalGfgNcw.atomicPropositions(), + canonicalGfgNcw.alphaMaximalGfgNcw.factory(), + Set.of(0), + CoBuchiAcceptance.INSTANCE, + Arrays.stream(edgeMaps).map(bddFactory::toMtBdd).toList()); + + assert dcw.is(Automaton.Property.COMPLETE); + assert dcw.is(Automaton.Property.DETERMINISTIC); + assert LanguageContainment.containsCoBuchi(canonicalGfgNcw.alphaMaximalGfgNcw, dcw); + assert LanguageContainment.containsCoBuchi(dcw, canonicalGfgNcw.alphaMaximalGfgNcw); + + return Optional.of(dcw); + } + + sealed interface Encoding { + + } + + record DcwTransition(int q, ImmutableBitSet sigma, int s) implements Encoding { + + DcwTransition { + Preconditions.checkArgument(q >= 0); + Objects.requireNonNull(sigma); + Preconditions.checkArgument(s >= 0); + } + + @Override + public boolean equals(Object o) { + return o instanceof DcwTransition that + && q == that.q && s == that.s && sigma.equals(that.sigma); + } + + @Override + public int hashCode() { + return 204 + 31 * (32 * (33 + q) + sigma.hashCode()) + s; + } + } + + record DcwAlphaTransition(int q, ImmutableBitSet sigma) implements Encoding { + + DcwAlphaTransition { + Preconditions.checkArgument(q >= 0); + Objects.requireNonNull(sigma); + } + + @Override + public boolean equals(Object o) { + return o instanceof DcwAlphaTransition that + && q == that.q && sigma.equals(that.sigma); + } + + @Override + public int hashCode() { + return 21 + 31 * (32 + q) + sigma.hashCode(); + } + } + + record Equivalent(int dcwState, ImmutableBitSet gfgNcwStates) implements Encoding { + + Equivalent { + Preconditions.checkArgument(!gfgNcwStates.isEmpty()); + Preconditions.checkArgument(dcwState >= 0); + } + + } + + /** + * @param dcwState + * @param gfgNcwState -1 is signals that the function is not defined. + */ + record StronglyEquivalent(int dcwState, int gfgNcwState) implements Encoding { + + StronglyEquivalent { + Preconditions.checkArgument(dcwState >= 0); + Preconditions.checkArgument(gfgNcwState >= -1); + } + + } + + /** + * @param dcwState + */ + record SubsafeEquivalent(int dcwState, int gfgNcwState) implements Encoding { + + SubsafeEquivalent { + Preconditions.checkArgument(dcwState >= 0); + Preconditions.checkArgument(gfgNcwState >= 0); + } + + } + + record GfgNcwSafePath(int gfgNcwState, + int dcwState, + int gfgNcwSuccessor, + int dcwSuccessor) implements Encoding { + + GfgNcwSafePath { + Preconditions.checkArgument(dcwState >= 0); + Preconditions.checkArgument(gfgNcwState >= 0); + Preconditions.checkArgument(dcwSuccessor >= 0); + Preconditions.checkArgument(gfgNcwSuccessor >= 0); + } + } + + private static class EncodingFactory { + + private final List sortedGfgNcwStates; + private final Equivalent[][] equivalents; + private final List[][] dcwTransitions; + private final DcwAlphaTransition[][] dcwAlphaTransitions; + private final StronglyEquivalent[][] stronglyEquivalents; + private final SubsafeEquivalent[][] subsafeEquivalents; + private final GfgNcwSafePath[][][][] gfgNcwSafePaths; + private final List allGfgNcwSafePaths; + + private EncodingFactory(CanonicalGfgNcw canonicalGfgNcw, int dcwSize) { + int apSize = canonicalGfgNcw.alphaMaximalGfgNcw.atomicPropositions().size(); + int alphabetSize = BigInteger.TWO.pow(apSize).intValueExact(); + int canonicalGfgNcwSize = canonicalGfgNcw.alphaMaximalGfgNcw.states().size(); + + { // Equivalent + sortedGfgNcwStates = canonicalGfgNcw.languageEquivalenceClasses.stream().sorted().toList(); + equivalents = new Equivalent[dcwSize][sortedGfgNcwStates.size()]; + + for (int i = 0; i < sortedGfgNcwStates.size(); i++) { + var gfgNcwStates = sortedGfgNcwStates.get(i); + for (int dcwState = 0; dcwState < dcwSize; dcwState++) { + equivalents[dcwState][i] = new Equivalent(dcwState, gfgNcwStates); + } + } + } + + { // Transition and AlphaTransition + dcwTransitions = new List[dcwSize][alphabetSize]; + dcwAlphaTransitions = new DcwAlphaTransition[dcwSize][alphabetSize]; + + int sigmaIndex = -1; + + for (BitSet sigmaMutable : BitSet2.powerSet(apSize)) { + sigmaIndex++; + var sigma = ImmutableBitSet.copyOf(sigmaMutable); + + for (int i = 0; i < dcwSize; i++) { + dcwAlphaTransitions[i][sigmaIndex] = new DcwAlphaTransition(i, sigma); + DcwTransition[] localTransitions = new DcwTransition[dcwSize]; + + for (int j = 0; j < dcwSize; j++) { + localTransitions[j] = new DcwTransition(i, sigma, j); + } + + dcwTransitions[i][sigmaIndex] = List.of(localTransitions); + } + } + } + + { + stronglyEquivalents = new StronglyEquivalent[dcwSize][canonicalGfgNcwSize + 1]; + + for (int dcwState = 0; dcwState < dcwSize; dcwState++) { + for (int gfgNcwState = -1; gfgNcwState < canonicalGfgNcwSize; gfgNcwState++) { + stronglyEquivalents[dcwState][gfgNcwState + 1] + = new StronglyEquivalent(dcwState, gfgNcwState); + } + } + } + + { + subsafeEquivalents = new SubsafeEquivalent[dcwSize][]; + + for (int dcwState = 0; dcwState < dcwSize; dcwState++) { + if (dcwState < canonicalGfgNcwSize) { + assert subsafeEquivalents[dcwState] == null; + } else { + subsafeEquivalents[dcwState] = new SubsafeEquivalent[canonicalGfgNcwSize]; + + for (int gfgNcwState = 0; gfgNcwState < canonicalGfgNcwSize; gfgNcwState++) { + subsafeEquivalents[dcwState][gfgNcwState] + = new SubsafeEquivalent(dcwState, gfgNcwState); + } + } + } + } + + { // GfgNcwSafePath + gfgNcwSafePaths = new GfgNcwSafePath[canonicalGfgNcwSize][dcwSize][canonicalGfgNcwSize][dcwSize]; + allGfgNcwSafePaths = new ArrayList<>( + dcwSize * dcwSize * canonicalGfgNcwSize * canonicalGfgNcwSize); + + for (int dcwState = 0; dcwState < dcwSize; dcwState++) { + for (int gfgNcwState = 0; gfgNcwState < canonicalGfgNcwSize; gfgNcwState++) { + for (int dcwSuccessor = 0; dcwSuccessor < dcwSize; dcwSuccessor++) { + for (int gfgNcwSuccessor = 0; gfgNcwSuccessor < canonicalGfgNcwSize; + gfgNcwSuccessor++) { + var path = new GfgNcwSafePath(gfgNcwState, dcwState, gfgNcwSuccessor, dcwSuccessor); + + gfgNcwSafePaths[gfgNcwState][dcwState][gfgNcwSuccessor][dcwSuccessor] + = path; + allGfgNcwSafePaths.add(path); + } + } + } + } + } + } + + // Equivalenet + Iterable allEquivalent() { + return () -> Arrays.stream(equivalents).flatMap(Arrays::stream).iterator(); + } + + List allEquivalent(int dcwState) { + return Arrays.asList(equivalents[dcwState]); + } + + Equivalent equivalent(int dcwState, ImmutableBitSet gfgNcwStates) { + return equivalents[dcwState][Collections.binarySearch(sortedGfgNcwStates, gfgNcwStates)]; + } + + // Transition + Iterable allDcwTransitions() { + return () -> Arrays.stream(dcwTransitions) + .flatMap(Arrays::stream) + .flatMap(List::stream) + .iterator(); + } + + List[] allDcwTransitions(int dcwState) { + return dcwTransitions[dcwState]; + } + + // AlphaTransition + DcwAlphaTransition[] allAlphaTransitions(int dcwState) { + return dcwAlphaTransitions[dcwState]; + } + + DcwAlphaTransition alphaTransition(DcwTransition transition) { + return alphaTransition(transition.q, transition.sigma); + } + + DcwAlphaTransition alphaTransition(int dcwState, ImmutableBitSet sigma) { + return Iterables.getOnlyElement(Arrays.stream(allAlphaTransitions(dcwState)) + .filter(x -> x.sigma.equals(sigma)) + .toList()); + } + + // StronglyEquivalent + StronglyEquivalent stronglyEquivalent(int dcwState, int gfgNcwState) { + return stronglyEquivalents[dcwState][gfgNcwState + 1]; + } + + StronglyEquivalent stronglyEquivalentUndefined(int dcwState) { + return stronglyEquivalents[dcwState][0]; + } + + List allStronglyEquivalent(int dcwState) { + return Arrays.asList(stronglyEquivalents[dcwState]); + } + + Iterable allDefinedStronglyEquivalent() { + return () -> Arrays.stream(stronglyEquivalents) + .mapMulti((StronglyEquivalent[] x, Consumer mapper) -> { + for (int i = 1; i < x.length; i++) { + mapper.accept(x[i]); + } + }).iterator(); + } + + List allDefinedStronglyEquivalent(int dcwState) { + return Arrays + .asList(stronglyEquivalents[dcwState]) + .subList(1, stronglyEquivalents[dcwState].length); + } + + + // GfgNcwSafePath + Iterable allGfgNcwSafePaths() { + return allGfgNcwSafePaths; + } + + GfgNcwSafePath gfgNcwSafePath(int qA, int qB, int sA, int sB) { + return gfgNcwSafePaths[qA][qB][sA][sB]; + } + + List allSubsafeEquivalent(int dcwState) { + Objects.requireNonNull(subsafeEquivalents[dcwState]); + return Arrays.asList(subsafeEquivalents[dcwState]); + } + + SubsafeEquivalent[] allSubsafeEquivalent() { + return Arrays.stream(subsafeEquivalents) + .filter(Objects::nonNull) + .flatMap(Arrays::stream) + .toArray(SubsafeEquivalent[]::new); + } + + SubsafeEquivalent subsafeEquivalent(int dcwState, int gfgNcwState) { + return subsafeEquivalents[dcwState][gfgNcwState]; + } + } + +} diff --git a/src/main/java/owl/automaton/minimization/DcwMinimizationForNonGfgLanguages.java b/src/main/java/owl/automaton/minimization/DcwMinimizationForNonGfgLanguages.java new file mode 100644 index 00000000..6dadbdf3 --- /dev/null +++ b/src/main/java/owl/automaton/minimization/DcwMinimizationForNonGfgLanguages.java @@ -0,0 +1,474 @@ +/* + * Copyright (C) 2016 - 2021 (See AUTHORS) + * + * This file is part of Owl. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 . + */ + +package owl.automaton.minimization; + +import com.google.common.base.Preconditions; +import com.google.common.base.Verify; +import com.google.common.collect.Lists; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import java.util.concurrent.atomic.AtomicBoolean; +import javax.annotation.Nullable; +import owl.automaton.AbstractMemoizingAutomaton; +import owl.automaton.Automaton; +import owl.automaton.acceptance.CoBuchiAcceptance; +import owl.automaton.algorithm.LanguageContainment; +import owl.automaton.edge.Edge; +import owl.automaton.minimization.GfgNcwMinimization.CanonicalGfgNcw; +import owl.bdd.BddSet; +import owl.bdd.MtBdd; +import owl.bdd.MtBddOperations; +import owl.collections.ImmutableBitSet; +import owl.logic.propositional.sat.Solver; + +final class DcwMinimizationForNonGfgLanguages { + + private DcwMinimizationForNonGfgLanguages() { + } + + private static int find(List equivalenceClasses, int state) { + for (int i = 0, s = equivalenceClasses.size(); i < s; i++) { + if (equivalenceClasses.get(i).contains(state)) { + assert find(equivalenceClasses.subList(i + 1, s), state) == -1; + return i; + } + } + + return -1; + } + + private static boolean assertConsistentTransitionRelation(MtBdd> transitionRelation, + BddSet set) { + return true; + +// assert !transitionRelation.values().contains(Set.of()); +// var values = new HashSet<>(set.intersection(transitionRelation).values()); +// values.remove(Set.of()); +// return values.size() <= 1; + } + + @Nullable + private static MtBdd>[] prune( + AbstractMemoizingAutomaton minimalGfgNcw, + ImmutableBitSet scc, + List languageEquivalenceClasses) { + + int states = minimalGfgNcw.states().size(); + int sccStates = scc.size(); + + @SuppressWarnings("unchecked") + MtBdd>[] edgeTrees = new MtBdd[states]; + AtomicBoolean isComplete = new AtomicBoolean(true); + + // Initialise edgeTrees and isComplete. + { + for (int state = 0; state < states; state++) { + if (scc.contains(state)) { + assert find(languageEquivalenceClasses, state) >= 0; + edgeTrees[state] = minimalGfgNcw.edgeTree(state).map(edges -> { + int edgesSize = edges.size(); + + if (edgesSize == 1) { + return edges; + } + + assert edgesSize > 1; + var representativeEdge = edges.iterator().next(); + + if (scc.contains(representativeEdge.successor())) { + // All transitions must stay in the SCC. + assert edges.stream().allMatch( + x -> x.colours().equals(ImmutableBitSet.of(0)) && scc.contains(x.successor())); + + isComplete.lazySet(false); + return Set.of(); + } else { + // All transitions must leave the SCC. + assert edges.stream().noneMatch(x -> scc.contains(x.successor())); + + // Select arbitrary edge. + // We use the 'smallest' successor in order to be consistent for all edgeTrees. + // This is to ensure that running a determinization procedure on a partially pruned + // automaton yields an SCC of the same size for each already deterministic SCC. + + var smallestEdge = representativeEdge; + + for (Edge edge : edges) { + if (edge.successor() < smallestEdge.successor()) { + smallestEdge = edge; + } + } + + return Set.of(smallestEdge); + } + }); + } else { + assert find(languageEquivalenceClasses, state) == -1; + assert edgeTrees[state] == null; + } + } + } + + // If already complete (then nothing needs to be decided), return immediately. + if (isComplete.getAcquire()) { + return edgeTrees; + } + + // For each language equivalence class we compute equivalence classes on the letters of the + // alphabet. It is enough decide for a single representative of this class how non-determinism + // should be resolved. + List> languageEquivalenceClassLetters; + + // Initialise languageEquivalenceClassLetters. + { + @SuppressWarnings("unchecked") + List[] representativesBuilder = new List[languageEquivalenceClasses.size()]; + + for (int i = 0, s = languageEquivalenceClasses.size(); i < s; i++) { + ImmutableBitSet languageEquivalenceClass = languageEquivalenceClasses.get(i); + List letterEquivalenceClasses + = new ArrayList<>(List.of(minimalGfgNcw.factory().of(true))); + BddSet sccLeavingLetterEquivalenceClass = null; + + for (Integer state : languageEquivalenceClass) { + BddSet localSccLeavingLetterEquivalenceClass = minimalGfgNcw.factory().of(false); + + for (Map.Entry, BddSet> entry : minimalGfgNcw.edgeMap(state).entrySet()) { + // If we leave the SCC, we don't need to do anything. + if (!scc.contains(entry.getKey().successor())) { + localSccLeavingLetterEquivalenceClass + = localSccLeavingLetterEquivalenceClass.union(entry.getValue()); + + BddSet complement = entry.getValue().complement(); + letterEquivalenceClasses.replaceAll(complement::intersection); + letterEquivalenceClasses.removeIf(BddSet::isEmpty); + continue; + } + + BddSet bddSet = entry.getValue(); + List refinedLetterEquivalenceClasses = new ArrayList<>( + 2 * letterEquivalenceClasses.size()); + + for (BddSet letterEquivalenceClass : letterEquivalenceClasses) { + var class1 = letterEquivalenceClass.intersection(bddSet); + var class2 = letterEquivalenceClass.intersection(bddSet.complement()); + + if (!class1.isEmpty()) { + refinedLetterEquivalenceClasses.add(class1); + } + + if (!class2.isEmpty()) { + refinedLetterEquivalenceClasses.add(class2); + } + } + + letterEquivalenceClasses = refinedLetterEquivalenceClasses; + } + + if (sccLeavingLetterEquivalenceClass == null) { + sccLeavingLetterEquivalenceClass = localSccLeavingLetterEquivalenceClass; + } else { + Verify.verify( + sccLeavingLetterEquivalenceClass.equals(localSccLeavingLetterEquivalenceClass)); + } + } + + representativesBuilder[i] = List.copyOf(letterEquivalenceClasses); + } + + languageEquivalenceClassLetters = List.of(representativesBuilder); + } + + StatePair[][] statePairsMap = new StatePair[states][states]; + List statePairsList = new ArrayList<>(scc.size() * scc.size()); + + // Initialise statePairs{Map,List}. + { + // Reachable iff they are language-equivalent. + for (ImmutableBitSet equivalenceClass : languageEquivalenceClasses) { + for (int ncwState : equivalenceClass) { + for (int dcwState : equivalenceClass) { + var pair = new StatePair(ncwState, dcwState); + statePairsMap[ncwState][dcwState] = pair; + statePairsList.add(pair); + } + } + } + } + + // Construct constraints. + List> constraints = new ArrayList<>(); + + // AlphaTransitions. + for (int i = 0, s = languageEquivalenceClasses.size(); i < s; i++) { + var languageEquivalenceClass = languageEquivalenceClasses.get(i); + var letterEquivalenceClasses = languageEquivalenceClassLetters.get(i); + + for (Integer state : languageEquivalenceClass) { + for (BddSet letterEquivalenceClass : letterEquivalenceClasses) { + assert assertConsistentTransitionRelation(minimalGfgNcw.edgeTree(state), + letterEquivalenceClass); + var edges = minimalGfgNcw.edges(state, letterEquivalenceClass.element()); + int edgesSize = edges.size(); + + // Already deterministic, nothing to-do. + if (edgesSize == 1) { + continue; + } + + // Only consider edges within the SCC. + // We already filtered for this, thus we only assert it. + assert edgesSize > 1; + assert scc.contains(edges.iterator().next().successor()); + + AlphaTransition[] alphaTransitions = new AlphaTransition[edgesSize]; + + int j = 0; + for (Edge edge : edges) { + assert scc.contains(edge.successor()); + assert edge.colours().equals(ImmutableBitSet.of(0)); + alphaTransitions[j++] = new AlphaTransition(state, letterEquivalenceClass, + edge.successor()); + } + + // There must be at least one alpha transition. + constraints.add(new Solver.Clause<>(List.of(alphaTransitions), List.of())); + + // At most one alpha transition is allowed. + for (int k1 = 0, l = alphaTransitions.length; k1 < l; k1++) { + for (int k2 = k1 + 1; k2 < l; k2++) { + constraints.add(new Solver.Clause<>( + List.of(), + List.of(alphaTransitions[k1], alphaTransitions[k2]))); + } + } + } + } + } + + // SafeReachable and Forbidden Patterns. + for (var from : statePairsList) { + + // SafeReachable (empty path). + constraints.add(new Solver.Clause<>(List.of(new SafeReachable(from, from)), List.of())); + + int classIndex = find(languageEquivalenceClasses, from.gfgNcwState); + assert classIndex == find(languageEquivalenceClasses, from.dcwState); + + // SafeReachable (non-empty path) and Forbidden Patterns. + for (BddSet letterEquivalenceClass : languageEquivalenceClassLetters.get(classIndex)) { + assert assertConsistentTransitionRelation(minimalGfgNcw.edgeTree(from.gfgNcwState), + letterEquivalenceClass); + assert assertConsistentTransitionRelation(minimalGfgNcw.edgeTree(from.dcwState), + letterEquivalenceClass); + + // Get Edges. + var letter = letterEquivalenceClass.element(); + var gfgNcwEdges = minimalGfgNcw.edges(from.gfgNcwState, letter); + var dcwEdges = minimalGfgNcw.edges(from.dcwState, letter); + + // Edges leaving the SCC are already deterministic (see code above) and we removed them. + assert gfgNcwEdges.stream().allMatch(x -> scc.contains(x.successor())); + assert dcwEdges.stream().allMatch(x -> scc.contains(x.successor())); + + var safeEdge = gfgNcwEdges.iterator().next(); + + // This is not a safe edge. + if (!safeEdge.colours().isEmpty()) { + assert gfgNcwEdges.stream().noneMatch(x -> x.colours().isEmpty()); + continue; + } + + // The edge is deterministic. + assert gfgNcwEdges.size() == 1; + + if (dcwEdges.size() == 1) { + var dcwEdge = dcwEdges.iterator().next(); + var fromSuccessor = statePairsMap[safeEdge.successor()][dcwEdge.successor()]; + + // SafeReachable (non-empty path with deterministic edge). + for (var to : statePairsList) { + if (!from.equals(to) && !fromSuccessor.equals(from)) { + constraints.add(new Solver.Clause<>( + List.of(new SafeReachable(from, to)), + List.of(new SafeReachable(fromSuccessor, to)))); + } + } + + // ForbiddenPattern: closing the loop. + if (!dcwEdge.colours().isEmpty()) { + assert dcwEdge.colours().contains(0); + // The DCW uses a non-safe edge for the letter, while the NCW uses a safe edge. + assert from.gfgNcwState != from.dcwState; + + constraints.add(new Solver.Clause<>( + List.of(), + List.of(new SafeReachable(fromSuccessor, from)))); + } + } else { + assert dcwEdges.size() > 1; + + for (var dcwEdge : dcwEdges) { + assert dcwEdge.colours().contains(0); + var alphaTransition = new AlphaTransition(from.dcwState, letterEquivalenceClass, + dcwEdge.successor()); + var fromSuccessor = statePairsMap[safeEdge.successor()][dcwEdge.successor()]; + + // SafeReachable (non-empty path with non-deterministic edge). + for (var to : statePairsList) { + if (!from.equals(to) && !fromSuccessor.equals(from)) { + constraints.add(new Solver.Clause<>( + List.of(new SafeReachable(from, to)), + List.of(alphaTransition, new SafeReachable(fromSuccessor, to)))); + } + } + + // The DCW uses a non-safe edge for the letter, while the NCW uses a safe edge. + assert from.gfgNcwState != from.dcwState; + + // ForbiddenPattern: unsafe-edge and closing the loop. + constraints.add(new Solver.Clause<>( + List.of(), + List.of(alphaTransition, new SafeReachable(fromSuccessor, from)))); + } + } + } + } + + constraints.sort( + (x, y) -> Integer.compare(x.negativeLiterals().size(), y.negativeLiterals().size())); + // Find a satisfying assignment. + var model = Solver.DEFAULT_MODELS.model(constraints); + + if (model.isEmpty()) { + return null; + } + + // Extract alpha-edges from assignment. + Map, BddSet>> alphaEdgeMaps = new HashMap<>(sccStates); + + for (var encoding : model.get()) { + if (encoding instanceof AlphaTransition transition) { + alphaEdgeMaps + .computeIfAbsent(transition.s, z -> new HashMap<>(sccStates)) + .compute(Edge.of(transition.t, 0), + (key, oldSet) -> oldSet == null ? transition.valuation + : oldSet.union(transition.valuation)); + } + } + + for (int i = 0, s = edgeTrees.length; i < s; i++) { + var edgeTree = edgeTrees[i]; + + if (edgeTree == null) { + assert alphaEdgeMaps.get(i) == null; + continue; + } + + var selectedAlphaEdges = alphaEdgeMaps.get(i); + + if (selectedAlphaEdges != null) { + edgeTrees[i] = MtBddOperations.union( + edgeTree, + minimalGfgNcw.factory().toMtBdd(selectedAlphaEdges)); + } + } + + return edgeTrees; + } + + static Optional> prune(CanonicalGfgNcw canonicalGfgNcw) { + + AbstractMemoizingAutomaton minimalGfgNcw + = canonicalGfgNcw.alphaMaximalUpToHomogenityGfgNcw; + + assert !minimalGfgNcw.is(Automaton.Property.DETERMINISTIC); + assert minimalGfgNcw.is(Automaton.Property.COMPLETE); + assert ImmutableBitSet.range(0, minimalGfgNcw.states().size()).equals(minimalGfgNcw.states()); + + @SuppressWarnings("unchecked") + MtBdd>[] edgeTrees = new MtBdd[minimalGfgNcw.states().size()]; + + for (var scc : Lists.reverse(canonicalGfgNcw.sccs)) { + var sccEdgeTrees = prune( + minimalGfgNcw, + scc, + // We only keep language equivalence classes that are relevant for the SCC. + canonicalGfgNcw.languageEquivalenceClasses + .stream() + .filter(x -> x.intersects(scc)) + .toList()); + + if (sccEdgeTrees == null) { + return Optional.empty(); + } + + for (int i = 0, s = sccEdgeTrees.length; i < s; i++) { + var sccEdgeTree = sccEdgeTrees[i]; + + if (sccEdgeTree != null) { + assert edgeTrees[i] == null; + edgeTrees[i] = sccEdgeTree; + } + } + } + + var minimalDcw = new AbstractMemoizingAutomaton.PrecomputedAutomaton<>( + minimalGfgNcw.atomicPropositions(), + minimalGfgNcw.factory(), + Set.of(minimalGfgNcw.initialState()), + CoBuchiAcceptance.INSTANCE, + List.of(edgeTrees)); + + assert minimalDcw.is(Automaton.Property.COMPLETE); + assert minimalDcw.is(Automaton.Property.DETERMINISTIC); + assert LanguageContainment.equalsCoBuchi(minimalGfgNcw, minimalDcw); + + return Optional.of(minimalDcw); + } + + record StatePair(int gfgNcwState, int dcwState) { + + } + + sealed interface Encoding { + + } + + record AlphaTransition(int s, BddSet valuation, int t) implements Encoding { + + AlphaTransition { + Preconditions.checkArgument(!valuation.isEmpty()); + } + } + + record SafeReachable(StatePair start, StatePair target) implements Encoding { + + SafeReachable { + Objects.requireNonNull(start); + Objects.requireNonNull(target); + } + } +} diff --git a/src/main/java/owl/automaton/minimization/GfgCoBuchiMinimization.java b/src/main/java/owl/automaton/minimization/GfgCoBuchiMinimization.java deleted file mode 100644 index 10f15e88..00000000 --- a/src/main/java/owl/automaton/minimization/GfgCoBuchiMinimization.java +++ /dev/null @@ -1,312 +0,0 @@ -/* - * Copyright (C) 2016 - 2021 (See AUTHORS) - * - * This file is part of Owl. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program 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 . - */ - -package owl.automaton.minimization; - -import com.google.common.base.Preconditions; -import java.util.ArrayList; -import java.util.BitSet; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; -import owl.automaton.AbstractMemoizingAutomaton; -import owl.automaton.Automaton; -import owl.automaton.EmptyAutomaton; -import owl.automaton.HashMapAutomaton; -import owl.automaton.MutableAutomaton; -import owl.automaton.Views; -import owl.automaton.acceptance.AllAcceptance; -import owl.automaton.acceptance.CoBuchiAcceptance; -import owl.automaton.algorithm.LanguageContainment; -import owl.automaton.algorithm.SccDecomposition; -import owl.automaton.edge.Edge; -import owl.automaton.hoa.HoaWriter; -import owl.bdd.MtBdd; -import owl.collections.Collections3; - -/** - * This class implements [ICALP'19] minimization of GFG automata. - */ -public final class GfgCoBuchiMinimization { - - private GfgCoBuchiMinimization() {} - - public static Automaton, CoBuchiAcceptance> minimize( - Automaton dcw) { - - Preconditions.checkArgument(dcw.is(Automaton.Property.DETERMINISTIC)); - - var dcwCopy = HashMapAutomaton.copyOf(dcw); - var safeComponents = safeComponents(dcwCopy); - - if (dcwCopy.initialStates().isEmpty()) { - return EmptyAutomaton.of(dcw.atomicPropositions(), CoBuchiAcceptance.INSTANCE); - } - - normalize(dcwCopy, safeComponents); - assert LanguageContainment.equalsCoBuchi(dcw, dcwCopy); - - var safeCentralized = HashMapAutomaton.copyOf(safeCentralize(dcwCopy, safeComponents)); - assert LanguageContainment.equalsCoBuchi(dcwCopy, safeCentralized); - - var safeMinimized = HashMapAutomaton.copyOf(safeMinimize(safeCentralized)); - assert LanguageContainment.equalsCoBuchi(safeCentralized, safeMinimized) - : "before: " + HoaWriter.toString(safeCentralized) - + "\nafter: " + HoaWriter.toString(safeMinimized); - - return safeMinimized; - } - - private static List> safeComponents(Automaton ncw) { - return SccDecomposition.of( - ncw.states(), - state -> ncw.edges(state).stream() - .filter(edge -> !edge.colours().contains(0)) - .map(Edge::successor) - .collect(Collectors.toSet())) - .sccs(); - } - - private static void normalize(MutableAutomaton ncw, - List> safeComponents) { - - ncw.updateEdges((state, edge) -> { - if (componentId(state, safeComponents) == componentId(edge.successor(), safeComponents)) { - return edge; - } else { - return edge.withAcceptance(0); - } - }); - - ncw.trim(); - } - - private static boolean languageEquivalent( - Automaton ncw, S q, S p) { - - return LanguageContainment.equalsCoBuchi( - Views.replaceInitialStates(ncw, Set.of(q)), - Views.replaceInitialStates(ncw, Set.of(p))); - } - - private static Automaton - safeView(Automaton ncw, S q) { - - return new AbstractMemoizingAutomaton.EdgeTreeImplementation<>( - ncw.atomicPropositions(), ncw.factory(), Set.of(q), AllAcceptance.INSTANCE) { - - @Override - public MtBdd> edgeTreeImpl(S state) { - return ncw.edgeTree(state).map(edges -> { - var edgesCopy = new HashSet<>(edges); - edgesCopy.removeIf(sEdge -> !sEdge.colours().isEmpty()); - return edgesCopy; - }); - } - }; - } - - private static boolean subsafeEquivalent( - Automaton ncw, S q, S p) { - - return languageEquivalent(ncw, q, p) - && LanguageContainment.containsAll(safeView(ncw, q), safeView(ncw, p)); - } - - private static boolean stronglyEquivalent( - Automaton ncw, S q, S p) { - - return languageEquivalent(ncw, q, p) - && LanguageContainment.equalsAll(safeView(ncw, q), safeView(ncw, p)); - } - - private static Automaton safeCentralize( - Automaton ncw, List> safeComponents) { - - var frontier = Collections3.maximalElements(safeComponents, (component1, component2) -> { - S representative1 = component1.iterator().next(); - - for (S representative2 : component2) { - if (subsafeEquivalent(ncw, representative1, representative2)) { - return true; - } - } - - return false; - }); - - S initialState = null; - - for (Set safeComponent : frontier) { - if (safeComponent.contains(ncw.initialState())) { - initialState = ncw.initialState(); - break; - } - } - - if (initialState == null) { - outer: - for (Set safeComponent : frontier) { - for (S state : safeComponent) { - if (subsafeEquivalent(ncw, ncw.initialState(), state)) { - initialState = state; - break outer; - } - } - } - } - - assert initialState != null; - - return new AbstractMemoizingAutomaton.EdgesImplementation<>( - ncw.atomicPropositions(), ncw.factory(), Set.of(initialState), CoBuchiAcceptance.INSTANCE) { - - @Override - protected Set> edgesImpl(S state, BitSet valuation) { - Set> acceptingEdges = new HashSet<>(); - Set rejectingSuccessors = new HashSet<>(); - - ncw.edges(state, valuation).forEach(edge -> { - if (edge.colours().contains(0)) { - rejectingSuccessors.add(edge.successor()); - } else { - assert edge.colours().isEmpty(); - acceptingEdges.add(edge); - } - }); - - if (acceptingEdges.isEmpty()) { - Set> rejectingEdges = new HashSet<>(); - - for (S rejectingSuccessor : rejectingSuccessors) { - for (Set safeComponent : frontier) { - for (S safeSuccessor : safeComponent) { - if (subsafeEquivalent(ncw, rejectingSuccessor, safeSuccessor)) { - rejectingEdges.add(Edge.of(safeSuccessor, 0)); - } - } - } - } - - return rejectingEdges; - } else { - return acceptingEdges; - } - } - }; - } - - private static Automaton, CoBuchiAcceptance> - safeMinimize(Automaton ncw) { - - List> equivalenceClasses = new ArrayList<>(); - - outer: - for (S state : ncw.states()) { - // Scan for existing class - for (Set equivalenceClass : equivalenceClasses) { - var representative = equivalenceClass.iterator().next(); - - if (stronglyEquivalent(ncw, state, representative)) { - equivalenceClass.add(state); - continue outer; - } - } - - // Add new equivalence class. - equivalenceClasses.add(new HashSet<>(Set.of(state))); - } - - List> immutableEquivalenceClass = equivalenceClasses.stream() - .map(Set::copyOf) - .toList(); - - Set> initialStates = immutableEquivalenceClass.stream() - .filter(x -> !Collections.disjoint(x, ncw.initialStates())) - .collect(Collectors.toUnmodifiableSet()); - - return new AbstractMemoizingAutomaton.EdgesImplementation<>( - ncw.atomicPropositions(), - ncw.factory(), - initialStates, - CoBuchiAcceptance.INSTANCE) { - - @Override - protected Set>> edgesImpl(Set state, BitSet valuation) { - var edges = new HashSet>>(); - - for (S representative : state) { - var type = EdgeType.UNKNOWN; - - for (Edge edge : ncw.edges(representative, valuation)) { - var successorRepresentative = edge.successor(); - - if (edge.colours().contains(0)) { - assert type == EdgeType.UNKNOWN || type == EdgeType.REJECTING; - type = EdgeType.REJECTING; - } else { - assert type == EdgeType.UNKNOWN || type == EdgeType.ACCEPTING; - type = EdgeType.ACCEPTING; - } - - var successor - = findEquivalenceClass(immutableEquivalenceClass, successorRepresentative); - edges.add(type == EdgeType.REJECTING - ? Edge.of(successor, 0) - : Edge.of(successor)); - } - } - - return edges; - } - }; - } - - enum EdgeType { - ACCEPTING, REJECTING, UNKNOWN - } - - private static int componentId(S state, List> components) { - int i = 0; - - for (Set component : components) { - if (component.contains(state)) { - return i; - } - - i++; - } - - throw new IllegalStateException("Internal error."); - } - - private static Set findEquivalenceClass( - List> equivalenceClasses, S representative) { - - for (Set equivalenceClass : equivalenceClasses) { - if (equivalenceClass.contains(representative)) { - return equivalenceClass; - } - } - - throw new IllegalStateException("Internal error."); - } -} diff --git a/src/main/java/owl/automaton/minimization/GfgNcwMinimization.java b/src/main/java/owl/automaton/minimization/GfgNcwMinimization.java new file mode 100644 index 00000000..2fb2f331 --- /dev/null +++ b/src/main/java/owl/automaton/minimization/GfgNcwMinimization.java @@ -0,0 +1,915 @@ +/* + * Copyright (C) 2016 - 2022 (See AUTHORS) + * + * This file is part of Owl. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 . + */ + +package owl.automaton.minimization; + +import static com.google.common.base.Preconditions.checkArgument; + +import com.google.common.base.Preconditions; +import com.google.common.collect.Iterables; +import java.util.ArrayList; +import java.util.BitSet; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Objects; +import java.util.Set; +import java.util.function.Consumer; +import java.util.stream.Collectors; +import javax.annotation.Nullable; +import owl.automaton.AbstractMemoizingAutomaton; +import owl.automaton.AbstractMemoizingAutomaton.PrecomputedAutomaton; +import owl.automaton.Automaton; +import owl.automaton.Automaton.Property; +import owl.automaton.EdgeRelation; +import owl.automaton.Views; +import owl.automaton.acceptance.AllAcceptance; +import owl.automaton.acceptance.BuchiAcceptance; +import owl.automaton.acceptance.CoBuchiAcceptance; +import owl.automaton.acceptance.OmegaAcceptanceCast; +import owl.automaton.acceptance.RabinAcceptance; +import owl.automaton.algorithm.LanguageContainment; +import owl.automaton.algorithm.SccDecomposition; +import owl.automaton.determinization.Determinization; +import owl.automaton.edge.Edge; +import owl.automaton.edge.Edges; +import owl.bdd.BddSet; +import owl.bdd.BddSetFactory; +import owl.bdd.MtBdd; +import owl.bdd.MtBddOperations; +import owl.collections.Collections3; +import owl.collections.ImmutableBitSet; +import owl.collections.Numbering; + +/** + * This class implements [ICALP'19] minimization of GFG automata. + * + * @see owl.Bibliography#ICALP_19_2 + */ +public final class GfgNcwMinimization { + + private GfgNcwMinimization() { + } + + public static CanonicalGfgNcw minimize( + Automaton ncw) { + + if (ncw.is(Automaton.Property.DETERMINISTIC)) { + return minimizeCompleteDcw(ncw.is(Property.COMPLETE) + ? OmegaAcceptanceCast.castExact(ncw, CoBuchiAcceptance.class) + : Views.completeCoBuchi(ncw)); + } + + return minimizeCompleteDcw(Determinization.determinizeCoBuchiAcceptance(ncw)); + } + + private static CanonicalGfgNcw minimizeCompleteDcw( + Automaton dcw) { + + return minimizeCompleteIntDcw(Views.dropStateLabels(dcw).automaton()); + } + + private static CanonicalGfgNcw minimizeCompleteIntDcw( + AbstractMemoizingAutomaton dcw) { + + assert dcw.is(Automaton.Property.COMPLETE); + assert dcw.is(Automaton.Property.DETERMINISTIC); + + // Safe components. + var safeComponents = SccDecomposition.of( + dcw.states(), + EdgeRelation.filter(dcw::edges, edge -> edge.colours().isEmpty())) + .sccs() + .stream() + .map(ImmutableBitSet::copyOf) + .toList(); + + // Normalize. + var normalized = new NormalizedAutomaton(dcw, safeComponents); + var languageChecks = new LanguageChecks(normalized); + // Centralize. + var safeCentralized = safeCentralize(normalized, safeComponents, languageChecks); + // Minimize. + var safeMinimized = safeMinimize(safeCentralized, languageChecks); + // Package. + var canonicalGfgNcw = new CanonicalGfgNcw(dcw, safeMinimized, languageChecks); + + assert LanguageContainment.equalsCoBuchi(dcw, canonicalGfgNcw.alphaMaximalUpToHomogenityGfgNcw); + assert canonicalGfgNcw.alphaMaximalUpToHomogenityGfgNcw.is(Automaton.Property.COMPLETE); + + return canonicalGfgNcw; + } + + public final static class CanonicalGfgNcw { + + public final AbstractMemoizingAutomaton alphaMaximalUpToHomogenityGfgNcw; + public final AbstractMemoizingAutomaton alphaMaximalGfgNcw; + + public final AbstractMemoizingAutomaton dcw; + + public final List sccs; + public final List safeComponents; + public final List languageEquivalenceClasses; + public final List subsafeEquivalentRelation; + + private CanonicalGfgNcw( + AbstractMemoizingAutomaton dcw, + SafeMinimizedAutomaton safeMinimizedAutomaton, + LanguageChecks languageChecks) { + + this.dcw = dcw; + + int states = safeMinimizedAutomaton.states().size(); + + Numbering numbering = new Numbering<>(states); + numbering.lookup(safeMinimizedAutomaton.initialState()); + + @SuppressWarnings("unchecked") + MtBdd>[] edgeTrees = new MtBdd[states]; + + for (int state = 0; state < states; state++) { + edgeTrees[state] = safeMinimizedAutomaton.edgeTree(numbering.lookup(state)).map( + edges -> Edges.mapSuccessors(edges, numbering::lookup)); + } + + this.alphaMaximalUpToHomogenityGfgNcw = new PrecomputedAutomaton<>( + safeMinimizedAutomaton.atomicPropositions(), + safeMinimizedAutomaton.factory(), + Set.of(0), + CoBuchiAcceptance.INSTANCE, + List.of(edgeTrees)); + + assert ImmutableBitSet.range(0, states) + .equals(this.alphaMaximalUpToHomogenityGfgNcw.states()); + + for (int state = 0; state < states; state++) { + edgeTrees[state] = edgeTrees[state].map(edges -> switch (edges.size()) { + case 0 -> throw new AssertionError(); + + case 1 -> { + var edge = edges.iterator().next(); + yield edge.colours().isEmpty() ? edges : Set.of(); + } + + default -> { + assert edges.stream().noneMatch(edge -> edge.colours().isEmpty()); + yield Set.of(); + } + }); + } + + var safeView = new PrecomputedAutomaton<>( + this.alphaMaximalUpToHomogenityGfgNcw.atomicPropositions(), + this.alphaMaximalUpToHomogenityGfgNcw.factory(), + this.alphaMaximalUpToHomogenityGfgNcw.states(), + AllAcceptance.INSTANCE, + List.of(edgeTrees) + ); + + this.sccs = SccDecomposition.of(this.alphaMaximalUpToHomogenityGfgNcw).sccs() + .stream() + .map(ImmutableBitSet::copyOf) + .toList(); + + this.safeComponents = SccDecomposition.of(safeView).sccs() + .stream() + .map(ImmutableBitSet::copyOf) + .toList(); + + this.languageEquivalenceClasses = this.sccs.stream().flatMap(scc -> { + List languageEquivalenceClassesBuilder = new ArrayList<>(scc.size()); + + // Compute language equivalence classes. + outer: + for (int sccState : scc) { + for (BitSet equivalenceClass : languageEquivalenceClassesBuilder) { + int representative = equivalenceClass.nextSetBit(0); + + if (languageChecks.languageEquivalent( + numbering.lookup(sccState).iterator().next(), + numbering.lookup(representative).iterator().next())) { + + equivalenceClass.set(sccState); + continue outer; + } + } + + var newClass = new BitSet(); + newClass.set(sccState); + languageEquivalenceClassesBuilder.add(newClass); + } + + return languageEquivalenceClassesBuilder.stream().map(ImmutableBitSet::copyOf); + }) + .toList(); + + ImmutableBitSet[] relationBuilder = new ImmutableBitSet[states]; + + for (ImmutableBitSet languageEquivalenceClass : languageEquivalenceClasses) { + for (int q1 : languageEquivalenceClass) { + assert relationBuilder[q1] == null; + + var q1SafeView = new LocalSafeView(safeView, find(safeComponents, q1), q1); + BitSet larger = new BitSet(); + + for (int q2 : languageEquivalenceClass) { + if (q2 == q1) { + continue; + } + + var q2SafeView = new LocalSafeView(safeView, find(safeComponents, q2), q2); + + if (LanguageContainment.containsAll(q1SafeView, q2SafeView)) { + assert !LanguageContainment.containsAll(q2SafeView, q1SafeView) + : "there cannot be strongly equivalent states."; + larger.set(q2); + } + } + + relationBuilder[q1] = ImmutableBitSet.copyOf(larger); + } + } + + this.subsafeEquivalentRelation = List.of(relationBuilder); + + { + int initialState = alphaMaximalUpToHomogenityGfgNcw.initialState(); + ImmutableBitSet initialClass = null; + + for (var equivalenceClass : languageEquivalenceClasses) { + if (equivalenceClass.contains(initialState)) { + initialClass = equivalenceClass; + break; + } + } + + this.alphaMaximalGfgNcw = new AbstractMemoizingAutomaton.EdgeTreeImplementation<>( + this.alphaMaximalUpToHomogenityGfgNcw.atomicPropositions(), + this.alphaMaximalUpToHomogenityGfgNcw.factory(), + Objects.requireNonNull(initialClass), + CoBuchiAcceptance.INSTANCE) { + + @Override + protected MtBdd> edgeTreeImpl(Integer state) { + return alphaMaximalUpToHomogenityGfgNcw.edgeTree(state).map(edges -> + switch (edges.size()) { + case 0 -> throw new AssertionError(); + + case 1 -> { + int successor = edges.iterator().next().successor(); + ImmutableBitSet successorClass = null; + + for (var equivalenceClass : languageEquivalenceClasses) { + if (equivalenceClass.contains(successor)) { + successorClass = equivalenceClass; + break; + } + } + + assert !successorClass.isEmpty(); + Set> alphaMaximalEdges = new HashSet<>(successorClass.size() + 1); + alphaMaximalEdges.add(edges.iterator().next()); + successorClass.forEach((int s) -> alphaMaximalEdges.add(Edge.of(s, 0))); + yield alphaMaximalEdges; + } + + default -> { + assert languageEquivalenceClasses.contains( + ImmutableBitSet.copyOf(Edges.successors(edges))); + yield edges; + } + }); + } + }; + } + } + + public ImmutableBitSet equivalenceClass(int state) { + return find(languageEquivalenceClasses, state); + } + + public ImmutableBitSet successorEquivalenceClass( + ImmutableBitSet equivalenceClass, ImmutableBitSet sigma) { + + return successorEquivalenceClass(equivalenceClass.first().orElseThrow(), sigma); + } + + public ImmutableBitSet successorEquivalenceClass( + int state, ImmutableBitSet sigma) { + + return lookup(alphaMaximalGfgNcw.successors(state, sigma)); + } + + public int nonAlphaSuccessor(int state, ImmutableBitSet sigma) { + Set> edges = alphaMaximalUpToHomogenityGfgNcw.edges(state, sigma); + + if (edges.size() == 1) { + var edge = edges.iterator().next(); + + if (edge.colours().isEmpty()) { + int successor = edge.successor(); + assert successor >= 0; + return successor; + } + } + + assert !edges.isEmpty() && edges.stream().allMatch(x -> x.colours().contains(0)); + return -1; + } + + public ImmutableBitSet initialEquivalenceClass() { + return lookup(alphaMaximalGfgNcw.initialStates()); + } + + public boolean languageEquivalent(int q1, int q2) { + return q1 == q2 + || find(languageEquivalenceClasses, q1) == find(languageEquivalenceClasses, q2); + } + + public boolean subsafeEquivalent(int q1, int q2) { + return q1 == q2 + || (languageEquivalent(q1, q2) && subsafeEquivalentRelation.get(q1).contains(q2)); + } + + private static ImmutableBitSet find(List sets, int state) { + for (ImmutableBitSet set : sets) { + if (set.contains(state)) { + return set; + } + } + + throw new IllegalArgumentException( + String.format("state (%d) not present in states()", state)); + } + + private ImmutableBitSet lookup(Set set) { + for (ImmutableBitSet equivalenceClass : languageEquivalenceClasses) { + if (equivalenceClass.equals(set)) { + return equivalenceClass; + } + } + + throw new NoSuchElementException(); + } + + private static class LocalSafeView implements Automaton { + + private final Automaton globalSafeView; + private final ImmutableBitSet initialStates; + private final ImmutableBitSet localSafeComponent; + + private LocalSafeView(Automaton globalSafeView, + ImmutableBitSet localSafeComponent, int initialState) { + Preconditions.checkArgument(localSafeComponent.contains(initialState)); + this.globalSafeView = globalSafeView; + this.initialStates = ImmutableBitSet.of(initialState); + this.localSafeComponent = localSafeComponent; + } + + @Override + public AllAcceptance acceptance() { + return AllAcceptance.INSTANCE; + } + + @Override + public List atomicPropositions() { + return globalSafeView.atomicPropositions(); + } + + @Override + public BddSetFactory factory() { + return globalSafeView.factory(); + } + + @Override + public Set initialStates() { + return initialStates; + } + + @Override + public Set states() { + return localSafeComponent; + } + + @Override + public Set> edges(Integer state, BitSet valuation) { + Preconditions.checkArgument(localSafeComponent.contains(state)); + return globalSafeView.edges(state, valuation); + } + + @Override + public Map, BddSet> edgeMap(Integer state) { + Preconditions.checkArgument(localSafeComponent.contains(state)); + return globalSafeView.edgeMap(state); + } + + @Override + public MtBdd> edgeTree(Integer state) { + Preconditions.checkArgument(localSafeComponent.contains(state)); + return globalSafeView.edgeTree(state); + } + + @Override + public boolean is(Automaton.Property property) { + return property == Automaton.Property.SEMI_DETERMINISTIC + || property == Automaton.Property.DETERMINISTIC + || property == Automaton.Property.LIMIT_DETERMINISTIC + || Automaton.super.is(property); + } + } + + } + + private static SafeCentralizedAutomaton safeCentralize( + NormalizedAutomaton dcw, + List safeComponents, + LanguageChecks languageChecks) { + + var frontier = Collections3.maximalElements(safeComponents, (component1, component2) -> { + int representative1 = component1.iterator().next(); + + for (int representative2 : component2) { + if (languageChecks.subsafeEquivalent(representative1, representative2)) { + return true; + } + } + + return false; + }); + + Integer initialState = null; + + for (Set safeComponent : frontier) { + if (safeComponent.contains(dcw.initialState())) { + initialState = dcw.initialState(); + break; + } + } + + if (initialState == null) { + outer: + for (Set safeComponent : frontier) { + for (int state : safeComponent) { + if (languageChecks.subsafeEquivalent(dcw.initialState(), state)) { + initialState = state; + break outer; + } + } + } + } + + var safeCentralized = new SafeCentralizedAutomaton( + dcw, Objects.requireNonNull(initialState), frontier, languageChecks); + safeCentralized.states(); + return safeCentralized; + } + + private static SafeMinimizedAutomaton safeMinimize( + SafeCentralizedAutomaton ncw, LanguageChecks languageChecks) { + + List equivalenceClasses = Collections3.equivalenceClasses( + ncw.states(), languageChecks::stronglyEquivalent, true).stream() + .map(ImmutableBitSet::copyOf).toList(); + + int ncwInitialState = ncw.initialState(); + ImmutableBitSet initialState = null; + + for (ImmutableBitSet state : equivalenceClasses) { + if (state.contains(ncwInitialState)) { + initialState = state; + break; + } + } + + var safeMinimized = new SafeMinimizedAutomaton( + ncw, Objects.requireNonNull(initialState), equivalenceClasses); + safeMinimized.states(); + return safeMinimized; + } + + private static class NormalizedAutomaton + extends AbstractMemoizingAutomaton.EdgeTreeImplementation { + + @Nullable + private AbstractMemoizingAutomaton dcw; + @Nullable + private List> safeComponents; + + private NormalizedAutomaton( + AbstractMemoizingAutomaton dcw, + List safeComponents) { + + super(dcw.atomicPropositions(), dcw.factory(), dcw.initialStates(), dcw.acceptance()); + this.dcw = dcw; + this.safeComponents = List.copyOf(safeComponents); + } + + @Override + protected MtBdd> edgeTreeImpl(Integer state) { + assert dcw != null; + + return dcw.edgeTree(state).map(edges -> Collections3.transformSet(edges, + edge -> component(state) == component(edge.successor()) ? edge : edge.withAcceptance(0))); + } + + private Set component(Integer state) { + assert safeComponents != null; + + for (Set component : safeComponents) { + if (component.contains(state)) { + return component; + } + } + + throw new IllegalStateException("Internal error."); + } + + @Override + protected void explorationCompleted() { + dcw = null; + safeComponents = null; + } + } + + private static class SafeCentralizedAutomaton + extends AbstractMemoizingAutomaton.EdgeTreeImplementation { + + @Nullable + private NormalizedAutomaton dcw; + @Nullable + private List frontier; + @Nullable + private LanguageChecks languageChecks; + + private SafeCentralizedAutomaton( + NormalizedAutomaton dcw, + int initialState, + List frontier, + LanguageChecks languageChecks) { + + super( + dcw.atomicPropositions(), dcw.factory(), Set.of(initialState), + CoBuchiAcceptance.INSTANCE); + this.dcw = dcw; + this.frontier = frontier; + this.languageChecks = languageChecks; + } + + @Override + protected MtBdd> edgeTreeImpl(Integer state) { + assert dcw != null; + return dcw.edgeTree(state).map(x -> transformEdge(Iterables.getOnlyElement(x))); + } + + private Set> transformEdge(Edge edge) { + assert frontier != null; + assert languageChecks != null; + + if (edge.colours().isEmpty()) { + return Set.of(edge); + } + + assert edge.colours().contains(0); + + int rejectingSuccessor = edge.successor(); + List> rejectingEdges = new ArrayList<>(); + + for (Set safeComponent : frontier) { + for (int state : safeComponent) { + if (languageChecks.languageEquivalent(rejectingSuccessor, state)) { + rejectingEdges.add(Edge.of(state, 0)); + } + } + } + + @SuppressWarnings("unchecked") + Set> edges = Set.of(rejectingEdges.toArray(Edge[]::new)); + return edges; + } + + @Override + protected void explorationCompleted() { + dcw = null; + frontier = null; + languageChecks = null; + } + } + + private static class SafeMinimizedAutomaton + extends AbstractMemoizingAutomaton.EdgesImplementation { + + private final SafeCentralizedAutomaton ncw; + private final List immutableEquivalenceClass; + + private SafeMinimizedAutomaton( + SafeCentralizedAutomaton ncw, + ImmutableBitSet initialState, + List immutableEquivalenceClass) { + super(ncw.atomicPropositions(), ncw.factory(), Set.of(initialState), + CoBuchiAcceptance.INSTANCE); + this.ncw = ncw; + this.immutableEquivalenceClass = immutableEquivalenceClass; + } + + @Override + protected Set> edgesImpl(ImmutableBitSet state, BitSet valuation) { + var edges = new HashSet>(); + + // TODO: review this! + for (int representative : state) { + var type = EdgeType.UNKNOWN; + + for (Edge edge : ncw.edges(representative, valuation)) { + var successorRepresentative = edge.successor(); + + if (edge.colours().contains(0)) { + assert type == EdgeType.UNKNOWN || type == EdgeType.REJECTING; + type = EdgeType.REJECTING; + } else { + assert type == EdgeType.UNKNOWN || type == EdgeType.ACCEPTING; + type = EdgeType.ACCEPTING; + } + + var successor + = findEquivalenceClass(immutableEquivalenceClass, successorRepresentative); + edges.add(type == EdgeType.REJECTING + ? Edge.of(successor, 0) + : Edge.of(successor)); + } + } + + return edges; + } + + private enum EdgeType { + ACCEPTING, REJECTING, UNKNOWN + } + + private static ImmutableBitSet findEquivalenceClass( + List equivalenceClasses, int representative) { + + for (ImmutableBitSet equivalenceClass : equivalenceClasses) { + if (equivalenceClass.contains(representative)) { + return equivalenceClass; + } + } + + throw new IllegalStateException("Internal error."); + } + } + + static final class LanguageChecks { + + private final int states; + + private final ImmutableBitSet[] equivalenceClassMap; + private final Boolean[][] safeContained; + + LanguageChecks(AbstractMemoizingAutomaton dcw) { + this.states = dcw.states().size(); + + // Check that states are assigned consecutively. + checkArgument(ImmutableBitSet.copyOf(dcw.states()).equals(ImmutableBitSet.range(0, states))); + + // Computation of language equivalence classes. + List equivalenceClasses; + { + // Fin(0) xor Fin(1) + // --> (Fin(0) /\ Inf(1)) \/ (Inf(0) /\ Fin(1)) + // --> (Fin(0) /\ Inf(1)) \/ (Fin(2) /\ Inf(3)) + + var symmetricDifference = new AbstractMemoizingAutomaton.EdgeTreeImplementation<>( + dcw.atomicPropositions(), + dcw.factory(), + ImmutableBitSet.range(0, states * states), + RabinAcceptance.of(2)) { + + @Override + protected MtBdd> edgeTreeImpl(Integer state) { + return MtBddOperations.cartesianProduct( + dcw.edgeTree(fst(state, states)), + dcw.edgeTree(snd(state, states)), + (edge1, edge2) -> { + BitSet acceptance = new BitSet(); + if (edge1.colours().contains(0)) { + acceptance.set(0); + acceptance.set(3); + } else { + assert edge1.colours().isEmpty(); + } + + if (edge2.colours().contains(0)) { + acceptance.set(1); + acceptance.set(2); + } else { + assert edge2.colours().isEmpty(); + } + + return Edge.of(pair(edge1.successor(), edge2.successor(), states), acceptance); + }); + } + }; + + var sccDecomposition = SccDecomposition.of(symmetricDifference); + var rejectingSccs = sccDecomposition.rejectingSccs(); + Map indexMap = sccDecomposition.indexMap(); + var condensationGraph = sccDecomposition.condensation(); + BitSet allReachableSccsAreRejecting = new BitSet(); + + for (int i = sccDecomposition.sccs().size() - 1; i >= 0; i--) { + boolean rejectingScc = true; + + for (int j : condensationGraph.successors(i)) { + if (i == j) { + rejectingScc &= rejectingSccs.contains(i); + } else { + assert i < j; + rejectingScc &= allReachableSccsAreRejecting.get(j); + } + } + + allReachableSccsAreRejecting.set(i, rejectingScc); + } + + equivalenceClasses = Collections3.equivalenceClasses(dcw.states(), + (x, y) -> x.equals(y) || allReachableSccsAreRejecting.get( + indexMap.get(pair(x, y, states))), + true) + .stream() + .map(ImmutableBitSet::copyOf) + .toList(); + + equivalenceClassMap = new ImmutableBitSet[states]; + + for (int q = 0; q < states; q++) { + ImmutableBitSet result = null; + + for (ImmutableBitSet equivalenceClass1 : equivalenceClasses) { + if (equivalenceClass1.contains(q)) { + result = equivalenceClass1; + break; + } + } + + equivalenceClassMap[q] = Objects.requireNonNull(result); + } + } + + // Computation of safe containment. + + { + Set initialStates = equivalenceClasses.stream() + .mapMulti((ImmutableBitSet equivalenceClass, Consumer consumer) -> { + for (int q : equivalenceClass) { + for (int p : equivalenceClass) { + if (q != p) { + consumer.accept(pair(q, p, states + 1)); + } + } + } + }) + .collect(Collectors.toUnmodifiableSet()); + + // States of the following automaton has a non-empty language if 'fst' has a safe run that + // is not present in 'snd'. + Automaton notSubsafe = new AbstractMemoizingAutomaton.EdgeTreeImplementation<>( + dcw.atomicPropositions(), + dcw.factory(), + initialStates, + BuchiAcceptance.INSTANCE) { + + @Override + protected MtBdd> edgeTreeImpl(Integer state) { + final int fst = fst(state, states + 1); + final int snd = snd(state, states + 1); + + assert 0 <= fst && fst < states; + assert 0 <= snd && snd <= states; + + if (fst == snd || snd == states) { + return dcw.edgeTree(fst).map(edges -> { + var edge = Iterables.getOnlyElement(edges); + + if (edge.colours().isEmpty()) { + return Set.of(fst == snd + ? Edge.of(pair(edge.successor(), edge.successor(), states + 1)) + : Edge.of(pair(edge.successor(), states, states + 1), 0)); + } + + return Set.of(); + }); + } + + return MtBddOperations.cartesianProduct( + dcw.edgeTree(fst), + dcw.edgeTree(snd), + (edge1, edge2) -> { + // Safe run ended for 'fst'. + if (edge1.colours().contains(0)) { + return null; + } else { + assert edge1.colours().isEmpty(); + } + + // Safe run ended for 'snd'. + if (edge2.colours().contains(0)) { + return Edge.of(pair(edge1.successor(), states, states + 1), 0); + } else { + assert edge2.colours().isEmpty(); + } + + return Edge.of(pair(edge1.successor(), edge2.successor(), states + 1)); + }); + } + }; + + var sccDecomposition = SccDecomposition.of(notSubsafe); + var rejectingSccs = sccDecomposition.rejectingSccs(); + Map indexMap = sccDecomposition.indexMap(); + var condensationGraph = sccDecomposition.condensation(); + BitSet allReachableSccsAreRejecting = new BitSet(); + + for (int i = sccDecomposition.sccs().size() - 1; i >= 0; i--) { + boolean rejectingScc = true; + + for (int j : condensationGraph.successors(i)) { + if (i == j) { + rejectingScc &= rejectingSccs.contains(i); + } else { + assert i < j; + rejectingScc &= allReachableSccsAreRejecting.get(j); + } + } + + allReachableSccsAreRejecting.set(i, rejectingScc); + } + + safeContained = new Boolean[states][states]; + + for (int q = 0; q < states; q++) { + for (int p = 0; p < states; p++) { + // We only initialise the value if the states belong to the same equivalence class. + if (equivalenceClassMap[q] == equivalenceClassMap[p]) { + if (q == p) { + safeContained[q][p] = Boolean.TRUE; + } else { + var pair = pair(q, p, states + 1); + assert initialStates.contains(pair); + safeContained[q][p] = allReachableSccsAreRejecting.get( + indexMap.get(pair(q, p, states + 1))); + } + } + } + } + } + } + + public boolean languageEquivalent(int q, int p) { + return Objects.requireNonNull(equivalenceClassMap[q]) == equivalenceClassMap[p]; + } + + boolean subsafeEquivalent(int q, int p) { + return languageEquivalent(q, p) + && Objects.requireNonNull(safeContained[q][p]); + } + + boolean stronglyEquivalent(int q, int p) { + return languageEquivalent(q, p) + && Objects.requireNonNull(safeContained[q][p]) + && Objects.requireNonNull(safeContained[p][q]); + } + + private int pair(int fst, int snd, int states) { + assert 0 <= fst && fst < states; + assert 0 <= snd && snd < states; + return fst * states + snd; + } + + private int fst(int pair, int states) { + assert 0 <= pair && pair < states * states; + return pair / states; + } + + private int snd(int pair, int states) { + assert 0 <= pair && pair < states * states; + return pair % states; + } + } +} diff --git a/src/main/java/owl/automaton/symbolic/SymbolicSccDecomposition.java b/src/main/java/owl/automaton/symbolic/SymbolicSccDecomposition.java index fcb97fef..14626538 100644 --- a/src/main/java/owl/automaton/symbolic/SymbolicSccDecomposition.java +++ b/src/main/java/owl/automaton/symbolic/SymbolicSccDecomposition.java @@ -67,7 +67,7 @@ public List sccs(BddSet restrictedTo) { // Get some arbitrary state from consideredStates BddSet node = transitionRelation .factory() - .of(consideredStates.element().orElseThrow(), states); + .of(consideredStates.element(), states); BddSet forwardSet = node; BddSet backwardSet = node; BddSet successors = node; diff --git a/src/main/java/owl/bdd/BddSet.java b/src/main/java/owl/bdd/BddSet.java index 340be25b..b0eb6f63 100644 --- a/src/main/java/owl/bdd/BddSet.java +++ b/src/main/java/owl/bdd/BddSet.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 - 2021 (See AUTHORS) + * Copyright (C) 2016 - 2022 (See AUTHORS) * * This file is part of Owl. * @@ -21,7 +21,6 @@ import java.util.BitSet; import java.util.Iterator; -import java.util.Optional; import java.util.function.IntUnaryOperator; import owl.collections.ImmutableBitSet; import owl.logic.propositional.PropositionalFormula; @@ -32,7 +31,7 @@ *

This interface does not extend {@code Set} in order to make it explicit whenever a * slow-path through the explicit representation is taken.

*/ -public interface BddSet { +public sealed interface BddSet permits JBddSetFactory.JBddSet { BddSetFactory factory(); @@ -44,7 +43,7 @@ public interface BddSet { boolean containsAll(BddSet valuationSet); - Optional element(); + BitSet element(); BddSet complement(); @@ -93,12 +92,9 @@ default BddSet project(BitSet quantifiedAtomicPropositions) { * returned BitSets are a subset of this support.

* * @param support the upper-bound for all elements of the returned view. - * * @return {@code Iterator}-view of this BddSet - * - * @throws IllegalArgumentException - * This method throws an exception if the {@param support} - * is smaller than the largest element of {@link BddSet#support()}. + * @throws IllegalArgumentException This method throws an exception if the {@param support} is + * smaller than the largest element of {@link BddSet#support()}. */ Iterator iterator(int support); @@ -109,12 +105,9 @@ default BddSet project(BitSet quantifiedAtomicPropositions) { * returned BitSets are a subset of this support.

* * @param support the upper-bound for all elements of the returned view. - * * @return {@code Iterator}-view of this BddSet - * - * @throws IllegalArgumentException - * This method throws an exception if the {@param support} does not contain all elements - * of {@link BddSet#support()}. + * @throws IllegalArgumentException This method throws an exception if the {@param support} does + * not contain all elements of {@link BddSet#support()}. */ default Iterator iterator(BitSet support) { return iterator(ImmutableBitSet.copyOf(support)); @@ -127,12 +120,9 @@ default Iterator iterator(BitSet support) { * returned BitSets are a subset of this support.

* * @param support the upper-bound for all elements of the returned view. - * * @return {@code Iterator}-view of this BddSet - * - * @throws IllegalArgumentException - * This method throws an exception if the {@param support} does not contain all elements - * of {@link BddSet#support()}. + * @throws IllegalArgumentException This method throws an exception if the {@param support} does + * not contain all elements of {@link BddSet#support()}. */ Iterator iterator(ImmutableBitSet support); } diff --git a/src/main/java/owl/bdd/BddSetFactory.java b/src/main/java/owl/bdd/BddSetFactory.java index 19401342..452ae671 100644 --- a/src/main/java/owl/bdd/BddSetFactory.java +++ b/src/main/java/owl/bdd/BddSetFactory.java @@ -21,7 +21,6 @@ import java.util.BitSet; import java.util.Map; -import owl.collections.BitSet2; import owl.collections.ImmutableBitSet; import owl.logic.propositional.PropositionalFormula; @@ -35,18 +34,20 @@ public interface BddSetFactory { BddSet of(BitSet valuation, BitSet support); - BddSet union(BddSet... bddSets); - - BddSet intersection(BddSet... bddSets); - default BddSet of(BitSet valuation, ImmutableBitSet support) { - return of(valuation, BitSet2.copyOf(support)); + return of(valuation, support.copyInto(new BitSet())); } + BddSet of(ImmutableBitSet valuation, int upTo); + default BddSet of(ImmutableBitSet valuation, ImmutableBitSet support) { - return of(BitSet2.copyOf(valuation), BitSet2.copyOf(support)); + return of(valuation.copyInto(new BitSet()), support.copyInto(new BitSet())); } + BddSet union(BddSet... bddSets); + + BddSet intersection(BddSet... bddSets); + BddSet of(PropositionalFormula expression); MtBdd toMtBdd(Map sets); diff --git a/src/main/java/owl/bdd/FactorySupplier.java b/src/main/java/owl/bdd/FactorySupplier.java index 75b80fed..c54359df 100644 --- a/src/main/java/owl/bdd/FactorySupplier.java +++ b/src/main/java/owl/bdd/FactorySupplier.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 - 2021 (See AUTHORS) + * Copyright (C) 2016 - 2022 (See AUTHORS) * * This file is part of Owl. * @@ -20,7 +20,6 @@ package owl.bdd; import java.util.List; -import owl.bdd.jbdd.JBddSupplier; public interface FactorySupplier { @@ -33,22 +32,22 @@ static FactorySupplier defaultSupplier() { default EquivalenceClassFactory getEquivalenceClassFactory(List atomicPropositions) { return getEquivalenceClassFactory( - atomicPropositions, - EquivalenceClassFactory.Encoding.AP_COMBINED); + atomicPropositions, + EquivalenceClassFactory.Encoding.AP_COMBINED); } EquivalenceClassFactory getEquivalenceClassFactory( - List atomicPropositions, EquivalenceClassFactory.Encoding defaultEncoding); + List atomicPropositions, EquivalenceClassFactory.Encoding defaultEncoding); default Factories getFactories(List atomicPropositions) { return getFactories(atomicPropositions, EquivalenceClassFactory.Encoding.AP_COMBINED); } default Factories getFactories( - List atomicPropositions, EquivalenceClassFactory.Encoding defaultEncoding) { + List atomicPropositions, EquivalenceClassFactory.Encoding defaultEncoding) { return new Factories( - getEquivalenceClassFactory(atomicPropositions, defaultEncoding), - getBddSetFactory()); + getEquivalenceClassFactory(atomicPropositions, defaultEncoding), + getBddSetFactory()); } } diff --git a/src/main/java/owl/bdd/jbdd/JBddEquivalenceClassFactory.java b/src/main/java/owl/bdd/JBddEquivalenceClassFactory.java similarity index 99% rename from src/main/java/owl/bdd/jbdd/JBddEquivalenceClassFactory.java rename to src/main/java/owl/bdd/JBddEquivalenceClassFactory.java index 0695a541..e8e2d792 100644 --- a/src/main/java/owl/bdd/jbdd/JBddEquivalenceClassFactory.java +++ b/src/main/java/owl/bdd/JBddEquivalenceClassFactory.java @@ -17,9 +17,9 @@ * along with this program. If not, see . */ -package owl.bdd.jbdd; +package owl.bdd; -import static owl.bdd.jbdd.JBddEquivalenceClassFactory.JBddEquivalenceClass; +import static owl.bdd.JBddEquivalenceClassFactory.JBddEquivalenceClass; import com.google.common.base.Preconditions; import de.tum.in.jbdd.Bdd; @@ -48,8 +48,6 @@ import java.util.function.Function; import java.util.function.IntFunction; import javax.annotation.Nullable; -import owl.bdd.EquivalenceClassFactory; -import owl.bdd.MtBdd; import owl.ltl.BooleanConstant; import owl.ltl.Conjunction; import owl.ltl.Disjunction; diff --git a/src/main/java/owl/bdd/jbdd/JBddGcManagedFactory.java b/src/main/java/owl/bdd/JBddGcManagedFactory.java similarity index 99% rename from src/main/java/owl/bdd/jbdd/JBddGcManagedFactory.java rename to src/main/java/owl/bdd/JBddGcManagedFactory.java index 34813f9a..ba3c269e 100644 --- a/src/main/java/owl/bdd/jbdd/JBddGcManagedFactory.java +++ b/src/main/java/owl/bdd/JBddGcManagedFactory.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package owl.bdd.jbdd; +package owl.bdd; import de.tum.in.jbdd.Bdd; import java.lang.ref.Reference; diff --git a/src/main/java/owl/bdd/jbdd/JBddSetFactory.java b/src/main/java/owl/bdd/JBddSetFactory.java similarity index 92% rename from src/main/java/owl/bdd/jbdd/JBddSetFactory.java rename to src/main/java/owl/bdd/JBddSetFactory.java index c27d8e54..dd8ffd87 100644 --- a/src/main/java/owl/bdd/jbdd/JBddSetFactory.java +++ b/src/main/java/owl/bdd/JBddSetFactory.java @@ -17,9 +17,9 @@ * along with this program. If not, see . */ -package owl.bdd.jbdd; +package owl.bdd; -import static owl.bdd.jbdd.JBddSetFactory.JBddSet; +import static owl.bdd.JBddSetFactory.JBddSet; import static owl.logic.propositional.PropositionalFormula.Conjunction; import static owl.logic.propositional.PropositionalFormula.Disjunction; import static owl.logic.propositional.PropositionalFormula.Negation; @@ -38,15 +38,11 @@ import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.NoSuchElementException; import java.util.Objects; -import java.util.Optional; import java.util.OptionalInt; import java.util.function.IntUnaryOperator; import javax.annotation.Nullable; -import owl.bdd.BddSet; -import owl.bdd.BddSetFactory; -import owl.bdd.MtBdd; -import owl.bdd.MtBddOperations; import owl.collections.BitSet2; import owl.collections.ImmutableBitSet; import owl.logic.propositional.PropositionalFormula; @@ -94,7 +90,18 @@ public BddSet of(BitSet valuation, int upTo) { int node = bdd.trueNode(); for (int i = 0; i < upTo; i++) { - node = createBddUpdateHelper(valuation, i, node); + node = createBddUpdateHelper(valuation.get(i), i, node); + } + + return create(node); + } + + @Override + public BddSet of(ImmutableBitSet valuation, int upTo) { + int node = bdd.trueNode(); + + for (int i = 0; i < upTo; i++) { + node = createBddUpdateHelper(valuation.contains(i), i, node); } return create(node); @@ -105,7 +112,7 @@ public BddSet of(BitSet valuation, BitSet support) { int node = bdd.trueNode(); for (int i = support.nextSetBit(0); i != -1; i = support.nextSetBit(i + 1)) { - node = createBddUpdateHelper(valuation, i, node); + node = createBddUpdateHelper(valuation.get(i), i, node); } return create(node); @@ -136,14 +143,16 @@ public BddSet of(PropositionalFormula expression) { @Override public MtBdd toMtBdd(Map sets) { - MtBdd union = MtBdd.of(); + MtBdd union = null; for (Map.Entry entry : sets.entrySet()) { - union = MtBddOperations.union(union, - toTree(entry.getKey(), getNode(entry.getValue()), new HashMap<>())); + union = union == null + ? toTree(entry.getKey(), getNode(entry.getValue()), new HashMap<>()) + : MtBddOperations.union(union, + toTree(entry.getKey(), getNode(entry.getValue()), new HashMap<>())); } - return union; + return union == null ? MtBdd.of() : union; } private PropositionalFormula toExpression(int node) { @@ -175,10 +184,10 @@ private JBddSet create(int node) { return canonicalize(new JBddSet(this, node)); } - private int createBddUpdateHelper(BitSet set, int var, int node) { + private int createBddUpdateHelper(boolean set, int var, int node) { int variableNode = variableNode(var); assert bdd.isVariable(variableNode); - return bdd.and(node, set.get(var) ? variableNode : bdd.not(variableNode)); + return bdd.and(node, set ? variableNode : bdd.not(variableNode)); } private int getNode(BddSet vs) { @@ -248,7 +257,7 @@ private MtBdd filter(MtBdd tree, int bddNode) { * uniqueness. */ @SuppressWarnings("PMD.OverrideBothEqualsAndHashcode") // We only have a "bogus" assert equals - static final class JBddSet implements JBddNode, BddSet { + public static final class JBddSet implements JBddNode, BddSet { private final JBddSetFactory factory; private final int node; @@ -498,12 +507,12 @@ public BitSet next() { } @Override - public Optional element() { + public BitSet element() { if (this.isEmpty()) { - return Optional.empty(); + throw new NoSuchElementException(); } - return Optional.of(factory.bdd.getSatisfyingAssignment(node)); + return Objects.requireNonNull(factory.bdd.getSatisfyingAssignment(node)); } @Override diff --git a/src/main/java/owl/bdd/jbdd/JBddSupplier.java b/src/main/java/owl/bdd/JBddSupplier.java similarity index 90% rename from src/main/java/owl/bdd/jbdd/JBddSupplier.java rename to src/main/java/owl/bdd/JBddSupplier.java index 1915dae1..98b52ba9 100644 --- a/src/main/java/owl/bdd/jbdd/JBddSupplier.java +++ b/src/main/java/owl/bdd/JBddSupplier.java @@ -17,12 +17,9 @@ * along with this program. If not, see . */ -package owl.bdd.jbdd; +package owl.bdd; import java.util.List; -import owl.bdd.BddSetFactory; -import owl.bdd.EquivalenceClassFactory; -import owl.bdd.FactorySupplier; public enum JBddSupplier implements FactorySupplier { INSTANCE; diff --git a/src/main/java/owl/bdd/MtBddOperations.java b/src/main/java/owl/bdd/MtBddOperations.java index b323441d..437fc4ee 100644 --- a/src/main/java/owl/bdd/MtBddOperations.java +++ b/src/main/java/owl/bdd/MtBddOperations.java @@ -22,8 +22,10 @@ import static java.util.stream.Collectors.toUnmodifiableSet; import com.google.common.base.Preconditions; +import com.google.common.collect.HashBasedTable; import com.google.common.collect.Iterables; import com.google.common.collect.Sets; +import com.google.common.collect.Table; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -36,7 +38,6 @@ import java.util.function.Function; import org.checkerframework.checker.nullness.qual.Nullable; import owl.collections.Collections3; -import owl.collections.Pair; /** * This class provides operations for MTBDDs. @@ -48,7 +49,7 @@ private MtBddOperations() { public static MtBdd cartesianProduct( MtBdd factor1, MtBdd factor2, BiFunction combinator) { - return cartesianProduct(factor1, factor2, combinator, new HashMap<>()); + return cartesianProduct(factor1, factor2, combinator, HashBasedTable.create()); } /** @@ -149,10 +150,8 @@ public static MtBdd union(Collection> trees) { private static MtBdd cartesianProduct( MtBdd leftTree, MtBdd rightTree, BiFunction merger, - Map, MtBdd>, MtBdd> memoizedCalls) { - var key = Pair.of(leftTree, rightTree); - - MtBdd cartesianProduct = memoizedCalls.get(key); + Table, MtBdd, MtBdd> memoizedCalls) { + MtBdd cartesianProduct = memoizedCalls.get(leftTree, rightTree); if (cartesianProduct != null) { return cartesianProduct; @@ -190,7 +189,7 @@ private static MtBdd cartesianProduct( cartesianProduct = MtBdd.of(variable, trueCartesianProduct, falseCartesianProduct); } - memoizedCalls.put(key, cartesianProduct); + memoizedCalls.put(leftTree, rightTree, cartesianProduct); return cartesianProduct; } diff --git a/src/main/java/owl/cinterface/StateFeatures.java b/src/main/java/owl/cinterface/StateFeatures.java index 6b11831a..d6bdbe90 100644 --- a/src/main/java/owl/cinterface/StateFeatures.java +++ b/src/main/java/owl/cinterface/StateFeatures.java @@ -410,7 +410,8 @@ static Map extractFeaturesFromEquivalenceClass( return y.anyMatch(x::equals); }; - temporalOperators = Collections3.maximalElements(temporalOperators, isLessThan); + temporalOperators = new ArrayList<>( + Collections3.maximalElements(temporalOperators, isLessThan)); } } diff --git a/src/main/java/owl/collections/Collections3.java b/src/main/java/owl/collections/Collections3.java index 5271b68e..842e289a 100644 --- a/src/main/java/owl/collections/Collections3.java +++ b/src/main/java/owl/collections/Collections3.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 - 2021 (See AUTHORS) + * Copyright (C) 2016 - 2022 (See AUTHORS) * * This file is part of Owl. * @@ -27,6 +27,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -44,7 +45,9 @@ @SuppressWarnings("PMD.ClassNamingConventions") public final class Collections3 { - private Collections3() {} + + private Collections3() { + } public static List add(List list, E element) { if (list.isEmpty()) { @@ -177,7 +180,7 @@ public int size() { } public static void forEachPair(Iterable iterable1, Iterable iterable2, - BiConsumer action) { + BiConsumer action) { Iterator iterator1 = iterable1.iterator(); Iterator iterator2 = iterable2.iterator(); @@ -220,18 +223,23 @@ public static Set ofNullable(@Nullable E element) { * Computes a sub-list of elements which are maximal. The iteration order is preserved. Does not * support null elements. * - * @param elements the elements + * @param elements the elements * @param isLessThan returns true is the first argument is less than the second argument. It is - * only required that the order is transitive. The reflexive hull is added automatically. - * @param the type + * only required that the order is transitive. The reflexive hull is added + * automatically. + * @param the type * @return a sublist only containing maximal elements. */ @SuppressWarnings("unchecked") public static List maximalElements( - Collection elements, BiPredicate isLessThan) { + Collection elements, BiPredicate isLessThan) { Object[] maximalElements = elements.toArray(); + for (var element : maximalElements) { + Objects.requireNonNull(element); + } + int removedElements = 0; for (int i = 0; i < maximalElements.length; i++) { @@ -259,7 +267,11 @@ public static List maximalElements( } } - List prunedMaximalElements = new ArrayList<>(elements.size() - removedElements); + if (removedElements == 0) { + return Arrays.asList((E[]) maximalElements); + } + + List prunedMaximalElements = new ArrayList<>(maximalElements.length - removedElements); for (Object maximalElement : maximalElements) { if (maximalElement != null) { @@ -273,59 +285,102 @@ public static List maximalElements( /** * Partition the elements using the given relation. * - * @param elements the collection containing the elements that are group into partitions. - * @param relation the relation used to construct the partition. It is only required this relation - * is symmetric. The transitive and reflexive hull are computed automatically. - * @param the element type. + * @param universe the collection containing the elements that are group into + * partitions. + * @param symmetricRelation the relation used to construct the partition. It is only required this + * relation is symmetric. The transitive and reflexive hull are computed + * automatically. + * @param the element type. * @return the partition. + *

+ * TODO: update documenation */ - public static List> partition( - Collection elements, BiPredicate relation) { + public static List> equivalenceClasses( + Collection universe, + BiPredicate symmetricRelation, + boolean symmetricRelationIsTransitive) { + + int universeSize = universe.size(); + List> equivalenceClasses = new ArrayList<>(universeSize); + + nextElement: + for (E element : universe) { + for (HashSet equivalenceClass : equivalenceClasses) { + if (equivalenceClass.contains(element)) { + continue nextElement; + } - List> partitions = new ArrayList<>(elements.size()); - elements.forEach(x -> partitions.add(new HashSet<>(Set.of(x)))); + E representative = equivalenceClass.iterator().next(); + if (symmetricRelation.test(element, representative)) { + equivalenceClass.add(element); + continue nextElement; + } + } + + var newEquivalenceClass = new HashSet(Math.min(64, universeSize)); + newEquivalenceClass.add(element); + equivalenceClasses.add(newEquivalenceClass); + } + + if (symmetricRelationIsTransitive) { + return makeUnmodifiable(equivalenceClasses); + } + + // We need to compute the transitive hull. boolean continueMerging = true; while (continueMerging) { continueMerging = false; - for (int i = 0; i < partitions.size() - 1; i++) { - var partition = partitions.get(i); - var otherPartitions = partitions.subList(i + 1, partitions.size()); - - continueMerging |= otherPartitions.removeIf(otherPartition -> { - boolean related = partition.stream().anyMatch( - x -> otherPartition.stream().anyMatch(y -> x.equals(y) || relation.test(x, y))); - - if (related) { - partition.addAll(otherPartition); + for (int i = 0; i < equivalenceClasses.size() - 1; i++) { + var equivalenceClass = equivalenceClasses.get(i); + var otherEquivalenceClasses + = equivalenceClasses.subList(i + 1, equivalenceClasses.size()); + + continueMerging |= otherEquivalenceClasses.removeIf(otherEquivalenceClass -> { + for (E representative : equivalenceClass) { + for (E otherRepresentative : otherEquivalenceClass) { + if (symmetricRelation.test(representative, otherRepresentative)) { + equivalenceClass.addAll(otherEquivalenceClass); + return true; + } + } } - return related; + return false; }); } } - return partitions; + return makeUnmodifiable(equivalenceClasses); + } + + private static Set makeUnmodifiable(Set set) { + return switch (set.size()) { + case 0 -> Set.of(); + case 1 -> Set.of(set.iterator().next()); + default -> Collections.unmodifiableSet(set); + }; + } + + private static List> makeUnmodifiable(List> list) { + return list.stream().map(Collections3::makeUnmodifiable).toList(); } /** - * Creates a new {@link List} by applying the {@code transformer} on each element of {@code list}. + * Creates a new {@link List} by applying the {@code transformer} on each element of {@code + * list}. * *

The implementation does not access {@link Collection#isEmpty()} or - * {@link Collection#size()}), since computing these values on live views might be expensive - * and cause a full traversal.

- * - * @param list - * the input list. - * @param transformer - * the translator function. It is not allowed to return {@code null}, since the used - * data-structures might be null-hostile. - * - * @param the element type of the input - * @param the element type of the return value + * {@link Collection#size()}), since computing these values on live views might be expensive and + * cause a full traversal.

* + * @param list the input list. + * @param transformer the translator function. It is not allowed to return {@code null}, since the + * used data-structures might be null-hostile. + * @param the element type of the input + * @param the element type of the return value * @return a new list containing all transformed objects */ public static List transformList(List list, Function transformer) { @@ -344,12 +399,12 @@ public static List transformList(List list, Function tr } public static Map transformMap(Map map, - Function transformer) { + Function transformer) { return transformMap(map, transformer, BddSet::union); } public static Map transformMap(Map map, Function transformer, - BiFunction valueMerger) { + BiFunction valueMerger) { Map transformedMap = new HashMap<>(); map.forEach((key, set) -> transformedMap.merge(transformer.apply(key), set, valueMerger)); @@ -368,26 +423,20 @@ public static Map transformMap(Map map, FunctionThe implementation does not access {@link Collection#isEmpty()} or - * {@link Collection#size()}), since computing these values on live views might be expensive - * and cause a full traversal.

- * - * @param set - * the input set. - * @param transformer - * the translator function. It is not allowed to return {@code null}, since the used - * data-structures might be null-hostile. - * - * @param the element type of the input - * @param the element type of the return value - * + * @param set the input set. + * @param transformer the translator function. It is not allowed to return {@code null}, since the + * used data-structures might be null-hostile. + * @param the element type of the input + * @param the element type of the return value * @return a new set containing all transformed objects */ - public static Set transformSet(Set set, Function transformer) { + public static Set transformSet( + Set set, Function transformer) { + // This function is usually called with either the empty set or a singleton. Thus the following // code is optimised for exactly these cases. - Iterator iterator = set.iterator(); + Iterator iterator = set.iterator(); if (!iterator.hasNext()) { return Set.of(); @@ -399,19 +448,18 @@ public static Set transformSet(Set set, Function transf return Set.of(element); } - Set transformedSet = new HashSet<>(); - + Set transformedSet = new HashSet<>(set.size()); transformedSet.add(element); while (iterator.hasNext()) { - transformedSet.add(transformer.apply(iterator.next())); + transformedSet.add(Objects.requireNonNull(transformer.apply(iterator.next()))); } return transformedSet; } public static > int compare( - Set s1, Set s2) { + Set s1, Set s2) { var a1 = s1.toArray(Comparable[]::new); var a2 = s2.toArray(Comparable[]::new); Arrays.sort(a1); diff --git a/src/main/java/owl/collections/Numbering.java b/src/main/java/owl/collections/Numbering.java index 568d0dcd..f00b72e6 100644 --- a/src/main/java/owl/collections/Numbering.java +++ b/src/main/java/owl/collections/Numbering.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 - 2021 (See AUTHORS) + * Copyright (C) 2016 - 2022 (See AUTHORS) * * This file is part of Owl. * @@ -36,7 +36,7 @@ public Numbering() { } public Numbering(int initialCapacity) { - mapping = new HashMap<>(initialCapacity); + mapping = new HashMap<>(4 * initialCapacity); reverseMapping = new ArrayList<>(initialCapacity); } @@ -63,4 +63,8 @@ public E lookup(int index) { public Map asMap() { return Collections.unmodifiableMap(mapping); } + + public List asList() { + return Collections.unmodifiableList(reverseMapping); + } } diff --git a/src/main/java/owl/collections/Pair.java b/src/main/java/owl/collections/Pair.java index 4d198bbf..3f36ced9 100644 --- a/src/main/java/owl/collections/Pair.java +++ b/src/main/java/owl/collections/Pair.java @@ -20,7 +20,7 @@ package owl.collections; import com.google.auto.value.AutoValue; -import java.util.HashSet; +import com.google.auto.value.extension.memoized.Memoized; import java.util.Objects; import java.util.Set; import java.util.function.Function; @@ -39,15 +39,19 @@ public static Pair of(A fst, B snd) { } public static Set> allPairs(Set fstSet, Set sndSet) { - Set> pairs = new HashSet<>(); + @SuppressWarnings("unchecked") + Pair[] pairs = new Pair[fstSet.size() * sndSet.size()]; + + int i = 0; for (A fst : fstSet) { for (B snd : sndSet) { - pairs.add(Pair.of(fst, snd)); + pairs[i] = Pair.of(fst, snd); + i++; } } - return pairs; + return Set.of(pairs); } public Pair swap() { @@ -62,6 +66,13 @@ public Pair mapSnd(Function mapper) { return Pair.of(fst(), mapper.apply(snd())); } + @Override + public abstract boolean equals(Object obj); + + @Memoized + @Override + public abstract int hashCode(); + @Override public final String toString() { return String.format("(%s, %s)", fst(), snd()); diff --git a/src/main/java/owl/command/AutomatonConversionCommands.java b/src/main/java/owl/command/AutomatonConversionCommands.java index e513068f..676bf5ab 100644 --- a/src/main/java/owl/command/AutomatonConversionCommands.java +++ b/src/main/java/owl/command/AutomatonConversionCommands.java @@ -48,7 +48,7 @@ import owl.automaton.acceptance.optimization.AcceptanceOptimizations; import owl.automaton.acceptance.transformer.ZielonkaTreeTransformations; import owl.automaton.algorithm.simulations.BuchiSimulation; -import owl.automaton.minimization.GfgCoBuchiMinimization; +import owl.automaton.minimization.GfgNcwMinimization; import owl.command.Mixins.AutomatonWriter; import owl.thirdparty.jhoafparser.consumer.HOAConsumerException; import owl.thirdparty.picocli.CommandLine; @@ -62,7 +62,8 @@ public class AutomatonConversionCommands { private abstract static class AbstractAutomaton2AutomatonCommand - extends AbstractOwlSubcommand { + extends + AbstractOwlSubcommand { @Mixin private AutomatonReader automatonReader = null; @@ -84,7 +85,7 @@ protected int run() throws IOException, HOAConsumerException { int counter = 0; try (var source = automatonReader.source(acceptanceClass()); - var sink = automatonWriter.sink(subcommand, rawArgs())) { + var sink = automatonWriter.sink(subcommand, rawArgs())) { var automatonIterator = source.iterator(); @@ -113,8 +114,7 @@ protected int run() throws IOException, HOAConsumerException { protected abstract Class acceptanceClass(); - protected abstract - Function, ? extends Automaton> conversion(); + protected abstract Function, ? extends Automaton> conversion(); protected boolean allowSimplifierOnOutput() { return true; @@ -122,21 +122,22 @@ protected boolean allowSimplifierOnOutput() { } @Command( - name = "aut2parity", - description = { - "Convert any type of automaton into a parity automaton. The branching mode of the automaton " - + "is preserved, e.g., if the input automaton is deterministic then the output automaton " - + "is also deterministic.", - "Usage Examples: ", - " owl aut2parity -i input-file -o output-file", - " owl ltl2dela -f 'F (a & G b) & G F c' | owl aut2parity", - "The construction is described in [" + Bibliography.UNDER_SUBMISSION_22_CITEKEY + "] and is " - + "based on [" + Bibliography.ICALP_21_CITEKEY + "]. " - + MiscCommands.BibliographyCommand.HOW_TO_USE - } + name = "aut2parity", + description = { + "Convert any type of automaton into a parity automaton. The branching mode of the automaton " + + "is preserved, e.g., if the input automaton is deterministic then the output automaton " + + "is also deterministic.", + "Usage Examples: ", + " owl aut2parity -i input-file -o output-file", + " owl ltl2dela -f 'F (a & G b) & G F c' | owl aut2parity", + "The construction is described in [" + Bibliography.UNDER_SUBMISSION_22_CITEKEY + + "] and is " + + "based on [" + Bibliography.ICALP_21_CITEKEY + "]. " + + MiscCommands.BibliographyCommand.HOW_TO_USE + } ) static final class Aut2ParityCommand - extends AbstractAutomaton2AutomatonCommand { + extends AbstractAutomaton2AutomatonCommand { @Override protected Class acceptanceClass() { @@ -158,13 +159,13 @@ protected Class acceptanceClass() { } @Command( - name = "gfg-minimisation", - description = "Compute the minimal, equivalent, transition-based Good-for-Games Co-Büchi " - + "automaton for the given deterministic Co-Büchi automaton. The polynomial construction is " - + "described in [" + Bibliography.ICALP_19_2_CITEKEY + "]." + name = "gfg-minimisation", + description = "Compute the minimal, equivalent, transition-based Good-for-Games Co-Büchi " + + "automaton for the given deterministic Co-Büchi automaton. The polynomial construction is " + + "described in [" + Bibliography.ICALP_19_2_CITEKEY + "]." ) static final class GfgMinimisation - extends AbstractAutomaton2AutomatonCommand { + extends AbstractAutomaton2AutomatonCommand { @Override protected Class acceptanceClass() { @@ -173,20 +174,50 @@ protected Class acceptanceClass() { @Override protected Function, - Automaton> conversion() { + Automaton> conversion() { - return GfgCoBuchiMinimization::minimize; + return x -> GfgNcwMinimization.minimize( + Views.completeCoBuchi(x)).alphaMaximalUpToHomogenityGfgNcw; } } @Command( - name = "aut-utilities", - description = { - "A collection of various automata related utilities.", + name = "minimisation", + description = + "Compute a minimal, equivalent, transition-based deterministic Büchi or Co-Büchi " + + "automaton for the given deterministic Büchi or Co-Büchi automaton. The polynomial construction is " + + "described in [" + Bibliography.ICALP_19_2_CITEKEY + "]." + ) + static final class Minimisation + extends AbstractAutomaton2AutomatonCommand { + + @Option( + names = {"--lenient"}, + description = "Ignore unsupported automata and pass them to next stage. " + ) + boolean lenient = false; + + @Override + protected Class acceptanceClass() { + return EmersonLeiAcceptance.class; + } + + @Override + protected Function, + Automaton> conversion() { + + return null; } + } + + @Command( + name = "aut-utilities", + description = { + "A collection of various automata related utilities.", + } ) static final class AutUtilities - extends AbstractAutomaton2AutomatonCommand { + extends AbstractAutomaton2AutomatonCommand { @CommandLine.ArgGroup private Action action = null; @@ -194,28 +225,27 @@ static final class AutUtilities private static class Action { @Option( - names = "--degeneralize", - description = { - "Degeneralize a generalized Büchi or Rabin automata into Büchi or Rabin automaton, " - + "respectively. If the input automaton is deterministic, so is the output." - } + names = "--degeneralize", + description = { + "Degeneralize a generalized Büchi or Rabin automata into Büchi or Rabin automaton, " + + "respectively. If the input automaton is deterministic, so is the output." + } ) private boolean degeneralise = false; @Option( - names = "--deterministic-complement", - description = "Complement a deterministic automaton by negating the acceptance condition." + names = "--deterministic-complement", + description = "Complement a deterministic automaton by negating the acceptance condition." ) private boolean deterministicComplement = false; @Option( - names = "--convert-parity-condition", - description = "Convert the parity condition of an automaton to another type of parity " - + "condition. Possible values are: ${COMPLETION-CANDIDATES}.", - hidden = true + names = "--convert-parity-condition", + description = "Convert the parity condition of an automaton to another type of parity " + + "condition. Possible values are: ${COMPLETION-CANDIDATES}.", + hidden = true ) private ParityAcceptance.Parity parity = null; - } @Override @@ -225,7 +255,7 @@ protected Class acceptanceClass() { @Override protected Function, Automaton> conversion() { + extends EmersonLeiAcceptance>> conversion() { return this::convert; } @@ -239,23 +269,23 @@ extends EmersonLeiAcceptance>> conversion() { if (action.degeneralise) { if (acceptance instanceof GeneralizedBuchiAcceptance - && !(acceptance instanceof BuchiAcceptance)) { + && !(acceptance instanceof BuchiAcceptance)) { return owl.automaton.acceptance.degeneralization.BuchiDegeneralization - .degeneralize(cast(automaton, GeneralizedBuchiAcceptance.class)); + .degeneralize(cast(automaton, GeneralizedBuchiAcceptance.class)); } if (acceptance instanceof GeneralizedRabinAcceptance - && !(acceptance instanceof RabinAcceptance)) { + && !(acceptance instanceof RabinAcceptance)) { return owl.automaton.acceptance.degeneralization.RabinDegeneralization - .degeneralize(cast(automaton, GeneralizedRabinAcceptance.class)); + .degeneralize(cast(automaton, GeneralizedRabinAcceptance.class)); } } else if (action.deterministicComplement) { return BooleanOperations.deterministicComplement(automaton); } else if (action.parity != null) { return ParityUtil.convert( - cast(Views.complete(automaton), ParityAcceptance.class), action.parity); + cast(Views.complete(automaton), ParityAcceptance.class), action.parity); } return automaton; @@ -263,16 +293,16 @@ extends EmersonLeiAcceptance>> conversion() { } @Command( - name = "ngba2ldba", - description = { - "Convert a non-deterministic (generalised) Büchi automaton to a limit-deterministic Büchi " - + "automaton.", - "The construction is a generalisation of the construction described in [" - + Bibliography.JACM_95_CITEKEY + "]. " + MiscCommands.BibliographyCommand.HOW_TO_USE - } + name = "ngba2ldba", + description = { + "Convert a non-deterministic (generalised) Büchi automaton to a limit-deterministic Büchi " + + "automaton.", + "The construction is a generalisation of the construction described in [" + + Bibliography.JACM_95_CITEKEY + "]. " + MiscCommands.BibliographyCommand.HOW_TO_USE + } ) static final class Ngba2LdbaCommand - extends AbstractAutomaton2AutomatonCommand { + extends AbstractAutomaton2AutomatonCommand { @Override protected Class acceptanceClass() { @@ -281,47 +311,48 @@ protected Class acceptanceClass() { @Override public Function, - Automaton> conversion() { + Automaton> conversion() { return automaton -> NBA2LDBA.applyLDBA(automaton).automaton(); } } @Command( - name = "nbasim", - description = "Computes the quotient automaton based on a computed set of similar state pairs." + name = "nbasim", + description = "Computes the quotient automaton based on a computed set of similar state pairs." ) @SuppressWarnings("PMD.DataClass") public static final class NbaSimCommand extends - AutomatonConversionCommands - .AbstractAutomaton2AutomatonCommand { + AutomatonConversionCommands + .AbstractAutomaton2AutomatonCommand { @Option( - names = {"-s", "--simulation"}, - description = {"By default ${DEFAULT-VALUE} is selected. The following simulation relations " - + "are available: ${COMPLETION-CANDIDATES}.", - "DIRECT_SIMULATION: direct simulation relation", - "DIRECT_SIMULATION_COLOUR_REFINEMENT: " - + "direct simulation relation using color refinement (fast)", - "DELAYED_SIMULATION: delayed simulation relation", - "FAIR_SIMULATION: fair simulation relation", - "BACKWARD_SIMULATION: backwards simulation relation", - "LOOKAHEAD_DIRECT_SIMULATION: direct simulation with lookahead" - }, - defaultValue = "DIRECT_SIMULATION" + names = {"-s", "--simulation"}, + description = { + "By default ${DEFAULT-VALUE} is selected. The following simulation relations " + + "are available: ${COMPLETION-CANDIDATES}.", + "DIRECT_SIMULATION: direct simulation relation", + "DIRECT_SIMULATION_COLOUR_REFINEMENT: " + + "direct simulation relation using color refinement (fast)", + "DELAYED_SIMULATION: delayed simulation relation", + "FAIR_SIMULATION: fair simulation relation", + "BACKWARD_SIMULATION: backwards simulation relation", + "LOOKAHEAD_DIRECT_SIMULATION: direct simulation with lookahead" + }, + defaultValue = "DIRECT_SIMULATION" ) private BuchiSimulation.SimulationType simulationType - = BuchiSimulation.SimulationType.DIRECT_SIMULATION; + = BuchiSimulation.SimulationType.DIRECT_SIMULATION; @Option( - names = {"-c", "--pebbles"}, - description = "Allow duplicator to have the set amount of pebbles" + names = {"-c", "--pebbles"}, + description = "Allow duplicator to have the set amount of pebbles" ) private int pebbleCount = 1; @Option( - names = {"-l", "--lookahead"}, - description = "Make this many moves of Spoiler available to Duplicator." + names = {"-l", "--lookahead"}, + description = "Make this many moves of Spoiler available to Duplicator." ) private int lookahead = 1; @@ -329,8 +360,8 @@ public static final class NbaSimCommand extends private Verifier verifier = null; @Option( - names = {"--verbose"}, - description = "Use logging level FINE for more output" + names = {"--verbose"}, + description = "Use logging level FINE for more output" ) private boolean verboseFine = false; @@ -361,7 +392,7 @@ protected Class acceptanceClass() { @Override protected Function, - Automaton> conversion() { + Automaton> conversion() { return aut -> BuchiSimulation.compute((Automaton) aut, this); } @@ -374,131 +405,138 @@ protected boolean allowSimplifierOnOutput() { @Override public String toString() { return String.format( - "NbaSimCommand{simulationType=%s, pebbleCount=%d, lookahead=%d, sanity=%s, verboseFine=%s}", - simulationType, pebbleCount, lookahead, sanity(), verboseFine); + "NbaSimCommand{simulationType=%s, pebbleCount=%d, lookahead=%d, sanity=%s, verboseFine=%s}", + simulationType, pebbleCount, lookahead, sanity(), verboseFine); } } @Command( - name = "nba2dpa", - aliases = "nbadet", - description = { - "Convert a non-deterministic Büchi automaton to a deterministic parity automaton.", - "Usage Examples: ", - " owl nba2dpa -i input-file -o output-file", - " owl ltl2nba -f 'F (a & G b)' | owl nba2dpa -m MUELLER_SCHUPP", - "The construction and the optimisations are described in [" + Bibliography.ICALP_19_1_CITEKEY - + "] and [" + Bibliography.ATVA_19_CITEKEY + "], respectively. " - + MiscCommands.BibliographyCommand.HOW_TO_USE - }, - showDefaultValues = true + name = "nba2dpa", + aliases = "nbadet", + description = { + "Convert a non-deterministic Büchi automaton to a deterministic parity automaton.", + "Usage Examples: ", + " owl nba2dpa -i input-file -o output-file", + " owl ltl2nba -f 'F (a & G b)' | owl nba2dpa -m MUELLER_SCHUPP", + "The construction and the optimisations are described in [" + + Bibliography.ICALP_19_1_CITEKEY + + "] and [" + Bibliography.ATVA_19_CITEKEY + "], respectively. " + + MiscCommands.BibliographyCommand.HOW_TO_USE + }, + showDefaultValues = true ) @SuppressWarnings("PMD.DataClass") public static final class Nba2DpaCommand extends - AbstractAutomaton2AutomatonCommand { + AbstractAutomaton2AutomatonCommand { private static final String DEFAULT_TRUE = "By default this option is enabled."; private static final String DEFAULT_FALSE = "By default this option is disabled."; @Option( - names = {"-m", "--merge-mode"}, - description = "Which merge method to use in construction (${COMPLETION-CANDIDATES}).", - defaultValue = "SAFRA" + names = {"-m", "--merge-mode"}, + description = "Which merge method to use in construction (${COMPLETION-CANDIDATES}).", + defaultValue = "SAFRA" ) private NbaDetConf.UpdateMode mergeMode = NbaDetConf.UpdateMode.SAFRA; @Option( - names = {"--verbosity"}, - description = "Set verbosity level (e.g. INFO, WARNING, FINE, FINER, FINEST)." + names = {"--verbosity"}, + description = "Set verbosity level (e.g. INFO, WARNING, FINE, FINER, FINEST)." ) private String verbosity = Level.WARNING.toString(); @Option( - names = {"-l", "--compute-lang-inclusions"}, - description = - "List of algorithms to use on NBA to obtain language inclusions. Possible values: " - + "${COMPLETION-CANDIDATES}.", - defaultValue = "DIRECT_REFINEMENT_SIM" + names = {"-l", "--compute-lang-inclusions"}, + description = + "List of algorithms to use on NBA to obtain language inclusions. Possible values: " + + "${COMPLETION-CANDIDATES}.", + defaultValue = "DIRECT_REFINEMENT_SIM" ) private NbaLangInclusions.SimType[] computeSims = null; @Option( - names = {"-e", "--use-sim-external"}, - description = "Use results of simulation calculation for preprocessing and optimization. " - + "This optimisation is broken and might produce wrong results. " - + DEFAULT_FALSE, - negatable = true, - defaultValue = "false", - hidden = true + names = {"-e", "--use-sim-external"}, + description = "Use results of simulation calculation for preprocessing and optimization. " + + "This optimisation is broken and might produce wrong results. " + + DEFAULT_FALSE, + negatable = true, + defaultValue = "false", + hidden = true ) + // TODO: is this maybe because the Game Solver is broken? private boolean simExt = false; // Deactivate. @Option( - names = {"-j", "--use-sim-internal"}, - description = "Use results of simulation calculation to prune the deterministic states. " - + DEFAULT_TRUE, - negatable = true + names = {"-j", "--use-sim-internal"}, + description = "Use results of simulation calculation to prune the deterministic states. " + + DEFAULT_TRUE, + negatable = true ) private boolean simInt = true; @Option( - names = {"-t", "--use-powersets"}, - description = "Use powerset structure of NBA to guide determinization. " - + DEFAULT_TRUE, - negatable = true + names = {"-t", "--use-powersets"}, + description = "Use powerset structure of NBA to guide determinization. " + + DEFAULT_TRUE, + negatable = true ) private boolean usePowersets = true; @Option( - names = {"-s", "--use-smart-succ"}, - description = "Try to redirect edges to suitable already existing states on-the-fly. " - + DEFAULT_TRUE, - negatable = true + names = {"-s", "--use-smart-succ"}, + description = "Try to redirect edges to suitable already existing states on-the-fly. " + + DEFAULT_TRUE, + negatable = true ) private boolean useSmartSucc = true; @Option( - names = {"-r", "--sep-rej"}, - description = "Separate simplified handling for states in rejecting SCCs. " - + DEFAULT_TRUE, - negatable = true + names = {"-r", "--sep-rej"}, + description = "Separate simplified handling for states in rejecting SCCs. " + + DEFAULT_TRUE, + negatable = true ) private boolean sepRej = true; @Option( - names = {"-A", "--sep-acc"}, - description = "Separate simplified handling for states in accepting SCCs. " - + DEFAULT_FALSE, - negatable = true + names = {"-A", "--sep-acc"}, + description = "Separate simplified handling for states in accepting SCCs. " + + DEFAULT_FALSE, + negatable = true ) private boolean sepAcc = false; // <- good-ish on rnd. NBA, but much worse on rnd. LTL @Option( - names = {"-b", "--sep-acc-cycle"}, - description = "Cycle breakpoint construction for accepting SCCs. " - + DEFAULT_FALSE, - negatable = true + names = {"-b", "--sep-acc-cycle"}, + description = "Cycle breakpoint construction for accepting SCCs. " + + DEFAULT_FALSE, + negatable = true ) private boolean sepAccCyc = false; // <- usually better variant of previous option @Option( - names = {"-d", "--sep-det"}, - description = "Separate simplified handling for deterministic SCCs. " - + DEFAULT_TRUE, - negatable = true + names = {"-d", "--sep-det"}, + description = "Separate simplified handling for deterministic SCCs. " + + DEFAULT_TRUE, + negatable = true ) private boolean sepDet = true; @Option( - names = {"-c", "--sep-sccs"}, - description = "Separate handling of all SCCs (that are not already specially handled). " - + DEFAULT_TRUE, - negatable = true + names = {"-c", "--sep-sccs"}, + description = "Separate handling of all SCCs (that are not already specially handled). " + + DEFAULT_TRUE, + negatable = true ) private boolean sepMix = true; public Nba2DpaCommand() { - // default constructor for picocli. + this.computeSims = new NbaLangInclusions.SimType[0]; + } + + public Nba2DpaCommand(Void noOptimisations) { + this.computeSims = new NbaLangInclusions.SimType[0]; + this.sepDet = false; } public Nba2DpaCommand(Nba2DpaCommand that, NbaDetConf.UpdateMode mergeMode) { @@ -523,7 +561,7 @@ protected Class acceptanceClass() { @Override protected Function, - Automaton> conversion() { + Automaton> conversion() { return automaton -> NbaDet.determinize(automaton, this); } @@ -579,11 +617,11 @@ public boolean sepMix() { @Override public String toString() { return String.format( - "Nba2DpaCommand{mergeMode=%s, verbosity='%s', computeSims=%s, simExt=%s, simInt=%s, " - + "usePowersets=%s, useSmartSucc=%s, sepRej=%s, sepAcc=%s, sepAccCyc=%s, sepDet=%s, " - + "sepMix=%s}", - mergeMode, verbosity, Arrays.toString(computeSims), simExt, simInt, usePowersets, - useSmartSucc, sepRej, sepAcc, sepAccCyc, sepDet, sepMix); + "Nba2DpaCommand{mergeMode=%s, verbosity='%s', computeSims=%s, simExt=%s, simInt=%s, " + + "usePowersets=%s, useSmartSucc=%s, sepRej=%s, sepAcc=%s, sepAccCyc=%s, sepDet=%s, " + + "sepMix=%s}", + mergeMode, verbosity, Arrays.toString(computeSims), simExt, simInt, usePowersets, + useSmartSucc, sepRej, sepAcc, sepAccCyc, sepDet, sepMix); } } } diff --git a/src/main/java/owl/command/LtlTranslationCommands.java b/src/main/java/owl/command/LtlTranslationCommands.java index 6ded2550..8ff8b19a 100644 --- a/src/main/java/owl/command/LtlTranslationCommands.java +++ b/src/main/java/owl/command/LtlTranslationCommands.java @@ -29,6 +29,7 @@ import static owl.translations.LtlTranslationRepository.Option.SIMPLIFY_AUTOMATON; import static owl.translations.LtlTranslationRepository.Option.SIMPLIFY_FORMULA; import static owl.translations.LtlTranslationRepository.Option.USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS; +import static owl.translations.LtlTranslationRepository.Option.USE_SAT_BASED_DBW_DCW_MINIMIZATION; import static owl.translations.LtlTranslationRepository.Option.X_DPA_USE_COMPLEMENT; import static owl.translations.LtlTranslationRepository.Option.X_DRA_NORMAL_FORM_USE_DUAL; @@ -84,6 +85,14 @@ private abstract static class AbstractLtl2AutomatonCommand ) private boolean skipPortfolio = false; + @Option( + names = "--use-sat-based-tdbw-and-tdcw-minimisation", + description = "Bypass the portfolio of constructions from [S19, SE20] that directly " + + "translates 'simple' fragments of LTL to automata." + ) + private boolean satBasedMinimisation = false; + + @Override protected int run() throws Exception { var translation = translation(); @@ -102,11 +111,15 @@ protected int run() throws Exception { if (automatonWriter.complete) { basicOptions.add(COMPLETE); } - + if (!skipPortfolio) { basicOptions.add(USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS); } + if (satBasedMinimisation) { + basicOptions.add(USE_SAT_BASED_DBW_DCW_MINIMIZATION); + } + basicOptions.addAll(extraOptions()); var subcommand = getClass().getAnnotation(Command.class).name(); diff --git a/src/main/java/owl/command/MiscCommands.java b/src/main/java/owl/command/MiscCommands.java index 19751ef7..b9308dff 100644 --- a/src/main/java/owl/command/MiscCommands.java +++ b/src/main/java/owl/command/MiscCommands.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 - 2021 (See AUTHORS) + * Copyright (C) 2016 - 2022 (See AUTHORS) * * This file is part of Owl. * @@ -57,21 +57,22 @@ @SuppressWarnings({"PMD.ImmutableField", "PMD.SystemPrintln"}) final class MiscCommands { - private MiscCommands() {} + private MiscCommands() { + } @Command( - name = "bibliography", - description = "Print the bibliography of all implemented algorithms and constructions. " - + "Single references can be looked up by listing them, e.g. 'owl bibliography SE20'. " - + "If you want to cite Owl as a whole, it is recommended to use reference [KMS18]." + name = "bibliography", + description = "Print the bibliography of all implemented algorithms and constructions. " + + "Single references can be looked up by listing them, e.g. 'owl bibliography SE20'. " + + "If you want to cite Owl as a whole, it is recommended to use reference [KMS18]." ) static final class BibliographyCommand extends AbstractOwlSubcommand { static final String HOW_TO_USE = "To look up a reference, e.g. [SE20], used in this help " - + "message please use 'owl bibliography'."; + + "message please use 'owl bibliography'."; @Parameters( - description = "Print the bibliography only for the specified references." + description = "Print the bibliography only for the specified references." ) @Nullable private String[] references; @@ -101,1445 +102,1445 @@ private static void printEntry(String citeKey, Bibliography.Publication publicat } @Command( - name = "license", - description = "Print the license of Owl and the licenses of all linked (non-system) libraries." + name = "license", + description = "Print the license of Owl and the licenses of all linked (non-system) libraries." ) static final class LicenseCommand extends AbstractOwlSubcommand { private static final String ANTLR_4_LIBRARY = - "antlr4(-runtime)-4.8-1.jar (Copyright (C) 2012 Terence Parr and Sam Harwell)"; + "antlr4(-runtime)-4.8-1.jar (Copyright (C) 2012 Terence Parr and Sam Harwell)"; private static final String ANTLR_4_LICENSE = """ - [The BSD License] - Copyright (c) 2012 Terence Parr and Sam Harwell - All rights reserved. + [The BSD License] + Copyright (c) 2012 Terence Parr and Sam Harwell + All rights reserved. - Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\s + Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\s - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."""; + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."""; private static final String GRAAL_LIBRARY = - "graal-sdk-21.0.0.2.jar (Copyright 2021 (C) Oracle and/or its affiliates)"; + "graal-sdk-21.0.0.2.jar (Copyright 2021 (C) Oracle and/or its affiliates)"; private static final String GUAVA_LIBRARY = - "guava-30.1-jre.jar (Copyright 2021 (C) The Guava Authors)"; + "guava-30.1-jre.jar (Copyright 2021 (C) The Guava Authors)"; private static final String JBDD_LIBRARY = - "jbdd-0.5.2.jar (Copyright 2017 (C) Tobias Meggendorfer and contributors)"; + "jbdd-0.5.2.jar (Copyright 2017 (C) Tobias Meggendorfer and contributors)"; private static final String JHOAFPARSER_LIBRARY = - "jhoafparser-1.1.1 (Copyright 2014-2015 (C) Joachim Klein, David Müller)"; + "jhoafparser-1.1.1 (Copyright 2014-2015 (C) Joachim Klein, David Müller)"; private static final String PICOCLI_LIBRARY = - "picocli-4.6.1.jar (Copyright 2017-2021 (C) Remko Popma)"; + "picocli-4.6.1.jar (Copyright 2017-2021 (C) Remko Popma)"; // Standard Licenses. private static final String APACHE_2_LICENSE = """ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License.""".indent(3); + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License.""".indent(3); private static final String GPL_3_LICENSE = """ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for - software and other kinds of works. - - The licenses for most software and other practical works are designed - to take away your freedom to share and change the works. By contrast, - the GNU General Public License is intended to guarantee your freedom to - share and change all versions of a program--to make sure it remains free - software for all its users. We, the Free Software Foundation, use the - GNU General Public License for most of our software; it applies also to - any other work released this way by its authors. You can apply it to - your programs, too. - - When we speak of free software, we are referring to freedom, not - price. Our General Public Licenses are designed to make sure that you - have the freedom to distribute copies of free software (and charge for - them if you wish), that you receive source code or can get it if you - want it, that you can change the software or use pieces of it in new - free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you - these rights or asking you to surrender the rights. Therefore, you have - certain responsibilities if you distribute copies of the software, or if - you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether - gratis or for a fee, you must pass on to the recipients the same - freedoms that you received. You must make sure that they, too, receive - or can get the source code. And you must show them these terms so they - know their rights. - - Developers that use the GNU GPL protect your rights with two steps: - (1) assert copyright on the software, and (2) offer you this License - giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains - that there is no warranty for this free software. For both users' and - authors' sake, the GPL requires that modified versions be marked as - changed, so that their problems will not be attributed erroneously to - authors of previous versions. - - Some devices are designed to deny users access to install or run - modified versions of the software inside them, although the manufacturer - can do so. This is fundamentally incompatible with the aim of - protecting users' freedom to change the software. The systematic - pattern of such abuse occurs in the area of products for individuals to - use, which is precisely where it is most unacceptable. Therefore, we - have designed this version of the GPL to prohibit the practice for those - products. If such problems arise substantially in other domains, we - stand ready to extend this provision to those domains in future versions - of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. - States should not allow patents to restrict development and use of - software on general-purpose computers, but in those that do, we wish to - avoid the special danger that patents applied to a free program could - make it effectively proprietary. To prevent this, the GPL assures that - patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and - modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of - works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this - License. Each licensee is addressed as "you". "Licensees" and - "recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work - in a fashion requiring copyright permission, other than the making of an - exact copy. The resulting work is called a "modified version" of the - earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based - on the Program. - - To "propagate" a work means to do anything with it that, without - permission, would make you directly or secondarily liable for - infringement under applicable copyright law, except executing it on a - computer or modifying a private copy. Propagation includes copying, - distribution (with or without modification), making available to the - public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other - parties to make or receive copies. Mere interaction with a user through - a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" - to the extent that it includes a convenient and prominently visible - feature that (1) displays an appropriate copyright notice, and (2) - tells the user that there is no warranty for the work (except to the - extent that warranties are provided), that licensees may convey the - work under this License, and how to view a copy of this License. If - the interface presents a list of user commands or options, such as a - menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work - for making modifications to it. "Object code" means any non-source - form of a work. - - A "Standard Interface" means an interface that either is an official - standard defined by a recognized standards body, or, in the case of - interfaces specified for a particular programming language, one that - is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other - than the work as a whole, that (a) is included in the normal form of - packaging a Major Component, but which is not part of that Major - Component, and (b) serves only to enable use of the work with that - Major Component, or to implement a Standard Interface for which an - implementation is available to the public in source code form. A - "Major Component", in this context, means a major essential component - (kernel, window system, and so on) of the specific operating system - (if any) on which the executable work runs, or a compiler used to - produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all - the source code needed to generate, install, and (for an executable - work) run the object code and to modify the work, including scripts to - control those activities. However, it does not include the work's - System Libraries, or general-purpose tools or generally available free - programs which are used unmodified in performing those activities but - which are not part of the work. For example, Corresponding Source - includes interface definition files associated with source files for - the work, and the source code for shared libraries and dynamically - linked subprograms that the work is specifically designed to require, - such as by intimate data communication or control flow between those - subprograms and other parts of the work. - - The Corresponding Source need not include anything that users - can regenerate automatically from other parts of the Corresponding - Source. - - The Corresponding Source for a work in source code form is that - same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of - copyright on the Program, and are irrevocable provided the stated - conditions are met. This License explicitly affirms your unlimited - permission to run the unmodified Program. The output from running a - covered work is covered by this License only if the output, given its - content, constitutes a covered work. This License acknowledges your - rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not - convey, without conditions so long as your license otherwise remains - in force. You may convey covered works to others for the sole purpose - of having them make modifications exclusively for you, or provide you - with facilities for running those works, provided that you comply with - the terms of this License in conveying all material for which you do - not control copyright. Those thus making or running the covered works - for you must do so exclusively on your behalf, under your direction - and control, on terms that prohibit them from making any copies of - your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under - the conditions stated below. Sublicensing is not allowed; section 10 - makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological - measure under any applicable law fulfilling obligations under article - 11 of the WIPO copyright treaty adopted on 20 December 1996, or - similar laws prohibiting or restricting circumvention of such - measures. - - When you convey a covered work, you waive any legal power to forbid - circumvention of technological measures to the extent such circumvention - is effected by exercising rights under this License with respect to - the covered work, and you disclaim any intention to limit operation or - modification of the work as a means of enforcing, against the work's - users, your or third parties' legal rights to forbid circumvention of - technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you - receive it, in any medium, provided that you conspicuously and - appropriately publish on each copy an appropriate copyright notice; - keep intact all notices stating that this License and any - non-permissive terms added in accord with section 7 apply to the code; - keep intact all notices of the absence of any warranty; and give all - recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, - and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to - produce it from the Program, in the form of source code under the - terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent - works, which are not by their nature extensions of the covered work, - and which are not combined with it such as to form a larger program, - in or on a volume of a storage or distribution medium, is called an - "aggregate" if the compilation and its resulting copyright are not - used to limit the access or legal rights of the compilation's users - beyond what the individual works permit. Inclusion of a covered work - in an aggregate does not cause this License to apply to the other - parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms - of sections 4 and 5, provided that you also convey the - machine-readable Corresponding Source under the terms of this License, - in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded - from the Corresponding Source as a System Library, need not be - included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any - tangible personal property which is normally used for personal, family, - or household purposes, or (2) anything designed or sold for incorporation - into a dwelling. In determining whether a product is a consumer product, - doubtful cases shall be resolved in favor of coverage. For a particular - product received by a particular user, "normally used" refers to a - typical or common use of that class of product, regardless of the status - of the particular user or of the way in which the particular user - actually uses, or expects or is expected to use, the product. A product - is a consumer product regardless of whether the product has substantial - commercial, industrial or non-consumer uses, unless such uses represent - the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, - procedures, authorization keys, or other information required to install - and execute modified versions of a covered work in that User Product from - a modified version of its Corresponding Source. The information must - suffice to ensure that the continued functioning of the modified object - code is in no case prevented or interfered with solely because - modification has been made. - - If you convey an object code work under this section in, or with, or - specifically for use in, a User Product, and the conveying occurs as - part of a transaction in which the right of possession and use of the - User Product is transferred to the recipient in perpetuity or for a - fixed term (regardless of how the transaction is characterized), the - Corresponding Source conveyed under this section must be accompanied - by the Installation Information. But this requirement does not apply - if neither you nor any third party retains the ability to install - modified object code on the User Product (for example, the work has - been installed in ROM). - - The requirement to provide Installation Information does not include a - requirement to continue to provide support service, warranty, or updates - for a work that has been modified or installed by the recipient, or for - the User Product in which it has been modified or installed. Access to a - network may be denied when the modification itself materially and - adversely affects the operation of the network or violates the rules and - protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, - in accord with this section must be in a format that is publicly - documented (and with an implementation available to the public in - source code form), and must require no special password or key for - unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this - License by making exceptions from one or more of its conditions. - Additional permissions that are applicable to the entire Program shall - be treated as though they were included in this License, to the extent - that they are valid under applicable law. If additional permissions - apply only to part of the Program, that part may be used separately - under those permissions, but the entire Program remains governed by - this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option - remove any additional permissions from that copy, or from any part of - it. (Additional permissions may be written to require their own - removal in certain cases when you modify the work.) You may place - additional permissions on material, added by you to a covered work, - for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you - add to a covered work, you may (if authorized by the copyright holders of - that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further - restrictions" within the meaning of section 10. If the Program as you - received it, or any part of it, contains a notice stating that it is - governed by this License along with a term that is a further - restriction, you may remove that term. If a license document contains - a further restriction but permits relicensing or conveying under this - License, you may add to a covered work material governed by the terms - of that license document, provided that the further restriction does - not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you - must place, in the relevant source files, a statement of the - additional terms that apply to those files, or a notice indicating - where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the - form of a separately written license, or stated as exceptions; - the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly - provided under this License. Any attempt otherwise to propagate or - modify it is void, and will automatically terminate your rights under - this License (including any patent licenses granted under the third - paragraph of section 11). - - However, if you cease all violation of this License, then your - license from a particular copyright holder is reinstated (a) - provisionally, unless and until the copyright holder explicitly and - finally terminates your license, and (b) permanently, if the copyright - holder fails to notify you of the violation by some reasonable means - prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is - reinstated permanently if the copyright holder notifies you of the - violation by some reasonable means, this is the first time you have - received notice of violation of this License (for any work) from that - copyright holder, and you cure the violation prior to 30 days after - your receipt of the notice. - - Termination of your rights under this section does not terminate the - licenses of parties who have received copies or rights from you under - this License. If your rights have been terminated and not permanently - reinstated, you do not qualify to receive new licenses for the same - material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or - run a copy of the Program. Ancillary propagation of a covered work - occurring solely as a consequence of using peer-to-peer transmission - to receive a copy likewise does not require acceptance. However, - nothing other than this License grants you permission to propagate or - modify any covered work. These actions infringe copyright if you do - not accept this License. Therefore, by modifying or propagating a - covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically - receives a license from the original licensors, to run, modify and - propagate that work, subject to this License. You are not responsible - for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an - organization, or substantially all assets of one, or subdividing an - organization, or merging organizations. If propagation of a covered - work results from an entity transaction, each party to that - transaction who receives a copy of the work also receives whatever - licenses to the work the party's predecessor in interest had or could - give under the previous paragraph, plus a right to possession of the - Corresponding Source of the work from the predecessor in interest, if - the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the - rights granted or affirmed under this License. For example, you may - not impose a license fee, royalty, or other charge for exercise of - rights granted under this License, and you may not initiate litigation - (including a cross-claim or counterclaim in a lawsuit) alleging that - any patent claim is infringed by making, using, selling, offering for - sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this - License of the Program or a work on which the Program is based. The - work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims - owned or controlled by the contributor, whether already acquired or - hereafter acquired, that would be infringed by some manner, permitted - by this License, of making, using, or selling its contributor version, - but do not include claims that would be infringed only as a - consequence of further modification of the contributor version. For - purposes of this definition, "control" includes the right to grant - patent sublicenses in a manner consistent with the requirements of - this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free - patent license under the contributor's essential patent claims, to - make, use, sell, offer for sale, import and otherwise run, modify and - propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express - agreement or commitment, however denominated, not to enforce a patent - (such as an express permission to practice a patent or covenant not to - sue for patent infringement). To "grant" such a patent license to a - party means to make such an agreement or commitment not to enforce a - patent against the party. - - If you convey a covered work, knowingly relying on a patent license, - and the Corresponding Source of the work is not available for anyone - to copy, free of charge and under the terms of this License, through a - publicly available network server or other readily accessible means, - then you must either (1) cause the Corresponding Source to be so - available, or (2) arrange to deprive yourself of the benefit of the - patent license for this particular work, or (3) arrange, in a manner - consistent with the requirements of this License, to extend the patent - license to downstream recipients. "Knowingly relying" means you have - actual knowledge that, but for the patent license, your conveying the - covered work in a country, or your recipient's use of the covered work - in a country, would infringe one or more identifiable patents in that - country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or - arrangement, you convey, or propagate by procuring conveyance of, a - covered work, and grant a patent license to some of the parties - receiving the covered work authorizing them to use, propagate, modify - or convey a specific copy of the covered work, then the patent license - you grant is automatically extended to all recipients of the covered - work and works based on it. - - A patent license is "discriminatory" if it does not include within - the scope of its coverage, prohibits the exercise of, or is - conditioned on the non-exercise of one or more of the rights that are - specifically granted under this License. You may not convey a covered - work if you are a party to an arrangement with a third party that is - in the business of distributing software, under which you make payment - to the third party based on the extent of your activity of conveying - the work, and under which the third party grants, to any of the - parties who would receive the covered work from you, a discriminatory - patent license (a) in connection with copies of the covered work - conveyed by you (or copies made from those copies), or (b) primarily - for and in connection with specific products or compilations that - contain the covered work, unless you entered into that arrangement, - or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting - any implied license or other defenses to infringement that may - otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or - otherwise) that contradict the conditions of this License, they do not - excuse you from the conditions of this License. If you cannot convey a - covered work so as to satisfy simultaneously your obligations under this - License and any other pertinent obligations, then as a consequence you may - not convey it at all. For example, if you agree to terms that obligate you - to collect a royalty for further conveying from those to whom you convey - the Program, the only way you could satisfy both those terms and this - License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have - permission to link or combine any covered work with a work licensed - under version 3 of the GNU Affero General Public License into a single - combined work, and to convey the resulting work. The terms of this - License will continue to apply to the part which is the covered work, - but the special requirements of the GNU Affero General Public License, - section 13, concerning interaction through a network will apply to the - combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of - the GNU General Public License from time to time. Such new versions will - be similar in spirit to the present version, but may differ in detail to - address new problems or concerns. - - Each version is given a distinguishing version number. If the - Program specifies that a certain numbered version of the GNU General - Public License "or any later version" applies to it, you have the - option of following the terms and conditions either of that numbered - version or of any later version published by the Free Software - Foundation. If the Program does not specify a version number of the - GNU General Public License, you may choose any version ever published - by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future - versions of the GNU General Public License can be used, that proxy's - public statement of acceptance of a version permanently authorizes you - to choose that version for the Program. - - Later license versions may give you additional or different - permissions. However, no additional obligations are imposed on any - author or copyright holder as a result of your choosing to follow a - later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY - APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT - HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY - OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM - IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF - ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING - WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS - THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY - GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE - USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF - DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD - PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), - EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF - SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided - above cannot be given local legal effect according to their terms, - reviewing courts shall apply local law that most closely approximates - an absolute waiver of all civil liability in connection with the - Program, unless a warranty or assumption of liability accompanies a - copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest - possible use to the public, the best way to achieve this is to make it - free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest - to attach them to the start of each source file to most effectively - state the exclusion of warranty; and each file should have at least - the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program 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 . - - Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short - notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - - The hypothetical commands `show w' and `show c' should show the appropriate - parts of the General Public License. Of course, your program's commands - might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, - if any, to sign a "copyright disclaimer" for the program, if necessary. - For more information on this, and how to apply and follow the GNU GPL, see - . - - The GNU General Public License does not permit incorporating your program - into proprietary programs. If your program is a subroutine library, you - may consider it more useful to permit linking proprietary applications with - the library. If this is what you want to do, use the GNU Lesser General - Public License instead of this License. But first, please read - ."""; + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for + software and other kinds of works. + + The licenses for most software and other practical works are designed + to take away your freedom to share and change the works. By contrast, + the GNU General Public License is intended to guarantee your freedom to + share and change all versions of a program--to make sure it remains free + software for all its users. We, the Free Software Foundation, use the + GNU General Public License for most of our software; it applies also to + any other work released this way by its authors. You can apply it to + your programs, too. + + When we speak of free software, we are referring to freedom, not + price. Our General Public Licenses are designed to make sure that you + have the freedom to distribute copies of free software (and charge for + them if you wish), that you receive source code or can get it if you + want it, that you can change the software or use pieces of it in new + free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you + these rights or asking you to surrender the rights. Therefore, you have + certain responsibilities if you distribute copies of the software, or if + you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether + gratis or for a fee, you must pass on to the recipients the same + freedoms that you received. You must make sure that they, too, receive + or can get the source code. And you must show them these terms so they + know their rights. + + Developers that use the GNU GPL protect your rights with two steps: + (1) assert copyright on the software, and (2) offer you this License + giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains + that there is no warranty for this free software. For both users' and + authors' sake, the GPL requires that modified versions be marked as + changed, so that their problems will not be attributed erroneously to + authors of previous versions. + + Some devices are designed to deny users access to install or run + modified versions of the software inside them, although the manufacturer + can do so. This is fundamentally incompatible with the aim of + protecting users' freedom to change the software. The systematic + pattern of such abuse occurs in the area of products for individuals to + use, which is precisely where it is most unacceptable. Therefore, we + have designed this version of the GPL to prohibit the practice for those + products. If such problems arise substantially in other domains, we + stand ready to extend this provision to those domains in future versions + of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. + States should not allow patents to restrict development and use of + software on general-purpose computers, but in those that do, we wish to + avoid the special danger that patents applied to a free program could + make it effectively proprietary. To prevent this, the GPL assures that + patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and + modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of + works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this + License. Each licensee is addressed as "you". "Licensees" and + "recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work + in a fashion requiring copyright permission, other than the making of an + exact copy. The resulting work is called a "modified version" of the + earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based + on the Program. + + To "propagate" a work means to do anything with it that, without + permission, would make you directly or secondarily liable for + infringement under applicable copyright law, except executing it on a + computer or modifying a private copy. Propagation includes copying, + distribution (with or without modification), making available to the + public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other + parties to make or receive copies. Mere interaction with a user through + a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" + to the extent that it includes a convenient and prominently visible + feature that (1) displays an appropriate copyright notice, and (2) + tells the user that there is no warranty for the work (except to the + extent that warranties are provided), that licensees may convey the + work under this License, and how to view a copy of this License. If + the interface presents a list of user commands or options, such as a + menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work + for making modifications to it. "Object code" means any non-source + form of a work. + + A "Standard Interface" means an interface that either is an official + standard defined by a recognized standards body, or, in the case of + interfaces specified for a particular programming language, one that + is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other + than the work as a whole, that (a) is included in the normal form of + packaging a Major Component, but which is not part of that Major + Component, and (b) serves only to enable use of the work with that + Major Component, or to implement a Standard Interface for which an + implementation is available to the public in source code form. A + "Major Component", in this context, means a major essential component + (kernel, window system, and so on) of the specific operating system + (if any) on which the executable work runs, or a compiler used to + produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all + the source code needed to generate, install, and (for an executable + work) run the object code and to modify the work, including scripts to + control those activities. However, it does not include the work's + System Libraries, or general-purpose tools or generally available free + programs which are used unmodified in performing those activities but + which are not part of the work. For example, Corresponding Source + includes interface definition files associated with source files for + the work, and the source code for shared libraries and dynamically + linked subprograms that the work is specifically designed to require, + such as by intimate data communication or control flow between those + subprograms and other parts of the work. + + The Corresponding Source need not include anything that users + can regenerate automatically from other parts of the Corresponding + Source. + + The Corresponding Source for a work in source code form is that + same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of + copyright on the Program, and are irrevocable provided the stated + conditions are met. This License explicitly affirms your unlimited + permission to run the unmodified Program. The output from running a + covered work is covered by this License only if the output, given its + content, constitutes a covered work. This License acknowledges your + rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not + convey, without conditions so long as your license otherwise remains + in force. You may convey covered works to others for the sole purpose + of having them make modifications exclusively for you, or provide you + with facilities for running those works, provided that you comply with + the terms of this License in conveying all material for which you do + not control copyright. Those thus making or running the covered works + for you must do so exclusively on your behalf, under your direction + and control, on terms that prohibit them from making any copies of + your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under + the conditions stated below. Sublicensing is not allowed; section 10 + makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological + measure under any applicable law fulfilling obligations under article + 11 of the WIPO copyright treaty adopted on 20 December 1996, or + similar laws prohibiting or restricting circumvention of such + measures. + + When you convey a covered work, you waive any legal power to forbid + circumvention of technological measures to the extent such circumvention + is effected by exercising rights under this License with respect to + the covered work, and you disclaim any intention to limit operation or + modification of the work as a means of enforcing, against the work's + users, your or third parties' legal rights to forbid circumvention of + technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you + receive it, in any medium, provided that you conspicuously and + appropriately publish on each copy an appropriate copyright notice; + keep intact all notices stating that this License and any + non-permissive terms added in accord with section 7 apply to the code; + keep intact all notices of the absence of any warranty; and give all + recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, + and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to + produce it from the Program, in the form of source code under the + terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent + works, which are not by their nature extensions of the covered work, + and which are not combined with it such as to form a larger program, + in or on a volume of a storage or distribution medium, is called an + "aggregate" if the compilation and its resulting copyright are not + used to limit the access or legal rights of the compilation's users + beyond what the individual works permit. Inclusion of a covered work + in an aggregate does not cause this License to apply to the other + parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms + of sections 4 and 5, provided that you also convey the + machine-readable Corresponding Source under the terms of this License, + in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded + from the Corresponding Source as a System Library, need not be + included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any + tangible personal property which is normally used for personal, family, + or household purposes, or (2) anything designed or sold for incorporation + into a dwelling. In determining whether a product is a consumer product, + doubtful cases shall be resolved in favor of coverage. For a particular + product received by a particular user, "normally used" refers to a + typical or common use of that class of product, regardless of the status + of the particular user or of the way in which the particular user + actually uses, or expects or is expected to use, the product. A product + is a consumer product regardless of whether the product has substantial + commercial, industrial or non-consumer uses, unless such uses represent + the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, + procedures, authorization keys, or other information required to install + and execute modified versions of a covered work in that User Product from + a modified version of its Corresponding Source. The information must + suffice to ensure that the continued functioning of the modified object + code is in no case prevented or interfered with solely because + modification has been made. + + If you convey an object code work under this section in, or with, or + specifically for use in, a User Product, and the conveying occurs as + part of a transaction in which the right of possession and use of the + User Product is transferred to the recipient in perpetuity or for a + fixed term (regardless of how the transaction is characterized), the + Corresponding Source conveyed under this section must be accompanied + by the Installation Information. But this requirement does not apply + if neither you nor any third party retains the ability to install + modified object code on the User Product (for example, the work has + been installed in ROM). + + The requirement to provide Installation Information does not include a + requirement to continue to provide support service, warranty, or updates + for a work that has been modified or installed by the recipient, or for + the User Product in which it has been modified or installed. Access to a + network may be denied when the modification itself materially and + adversely affects the operation of the network or violates the rules and + protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, + in accord with this section must be in a format that is publicly + documented (and with an implementation available to the public in + source code form), and must require no special password or key for + unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this + License by making exceptions from one or more of its conditions. + Additional permissions that are applicable to the entire Program shall + be treated as though they were included in this License, to the extent + that they are valid under applicable law. If additional permissions + apply only to part of the Program, that part may be used separately + under those permissions, but the entire Program remains governed by + this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option + remove any additional permissions from that copy, or from any part of + it. (Additional permissions may be written to require their own + removal in certain cases when you modify the work.) You may place + additional permissions on material, added by you to a covered work, + for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you + add to a covered work, you may (if authorized by the copyright holders of + that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further + restrictions" within the meaning of section 10. If the Program as you + received it, or any part of it, contains a notice stating that it is + governed by this License along with a term that is a further + restriction, you may remove that term. If a license document contains + a further restriction but permits relicensing or conveying under this + License, you may add to a covered work material governed by the terms + of that license document, provided that the further restriction does + not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you + must place, in the relevant source files, a statement of the + additional terms that apply to those files, or a notice indicating + where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the + form of a separately written license, or stated as exceptions; + the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly + provided under this License. Any attempt otherwise to propagate or + modify it is void, and will automatically terminate your rights under + this License (including any patent licenses granted under the third + paragraph of section 11). + + However, if you cease all violation of this License, then your + license from a particular copyright holder is reinstated (a) + provisionally, unless and until the copyright holder explicitly and + finally terminates your license, and (b) permanently, if the copyright + holder fails to notify you of the violation by some reasonable means + prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is + reinstated permanently if the copyright holder notifies you of the + violation by some reasonable means, this is the first time you have + received notice of violation of this License (for any work) from that + copyright holder, and you cure the violation prior to 30 days after + your receipt of the notice. + + Termination of your rights under this section does not terminate the + licenses of parties who have received copies or rights from you under + this License. If your rights have been terminated and not permanently + reinstated, you do not qualify to receive new licenses for the same + material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or + run a copy of the Program. Ancillary propagation of a covered work + occurring solely as a consequence of using peer-to-peer transmission + to receive a copy likewise does not require acceptance. However, + nothing other than this License grants you permission to propagate or + modify any covered work. These actions infringe copyright if you do + not accept this License. Therefore, by modifying or propagating a + covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically + receives a license from the original licensors, to run, modify and + propagate that work, subject to this License. You are not responsible + for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an + organization, or substantially all assets of one, or subdividing an + organization, or merging organizations. If propagation of a covered + work results from an entity transaction, each party to that + transaction who receives a copy of the work also receives whatever + licenses to the work the party's predecessor in interest had or could + give under the previous paragraph, plus a right to possession of the + Corresponding Source of the work from the predecessor in interest, if + the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the + rights granted or affirmed under this License. For example, you may + not impose a license fee, royalty, or other charge for exercise of + rights granted under this License, and you may not initiate litigation + (including a cross-claim or counterclaim in a lawsuit) alleging that + any patent claim is infringed by making, using, selling, offering for + sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this + License of the Program or a work on which the Program is based. The + work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims + owned or controlled by the contributor, whether already acquired or + hereafter acquired, that would be infringed by some manner, permitted + by this License, of making, using, or selling its contributor version, + but do not include claims that would be infringed only as a + consequence of further modification of the contributor version. For + purposes of this definition, "control" includes the right to grant + patent sublicenses in a manner consistent with the requirements of + this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free + patent license under the contributor's essential patent claims, to + make, use, sell, offer for sale, import and otherwise run, modify and + propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express + agreement or commitment, however denominated, not to enforce a patent + (such as an express permission to practice a patent or covenant not to + sue for patent infringement). To "grant" such a patent license to a + party means to make such an agreement or commitment not to enforce a + patent against the party. + + If you convey a covered work, knowingly relying on a patent license, + and the Corresponding Source of the work is not available for anyone + to copy, free of charge and under the terms of this License, through a + publicly available network server or other readily accessible means, + then you must either (1) cause the Corresponding Source to be so + available, or (2) arrange to deprive yourself of the benefit of the + patent license for this particular work, or (3) arrange, in a manner + consistent with the requirements of this License, to extend the patent + license to downstream recipients. "Knowingly relying" means you have + actual knowledge that, but for the patent license, your conveying the + covered work in a country, or your recipient's use of the covered work + in a country, would infringe one or more identifiable patents in that + country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or + arrangement, you convey, or propagate by procuring conveyance of, a + covered work, and grant a patent license to some of the parties + receiving the covered work authorizing them to use, propagate, modify + or convey a specific copy of the covered work, then the patent license + you grant is automatically extended to all recipients of the covered + work and works based on it. + + A patent license is "discriminatory" if it does not include within + the scope of its coverage, prohibits the exercise of, or is + conditioned on the non-exercise of one or more of the rights that are + specifically granted under this License. You may not convey a covered + work if you are a party to an arrangement with a third party that is + in the business of distributing software, under which you make payment + to the third party based on the extent of your activity of conveying + the work, and under which the third party grants, to any of the + parties who would receive the covered work from you, a discriminatory + patent license (a) in connection with copies of the covered work + conveyed by you (or copies made from those copies), or (b) primarily + for and in connection with specific products or compilations that + contain the covered work, unless you entered into that arrangement, + or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting + any implied license or other defenses to infringement that may + otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or + otherwise) that contradict the conditions of this License, they do not + excuse you from the conditions of this License. If you cannot convey a + covered work so as to satisfy simultaneously your obligations under this + License and any other pertinent obligations, then as a consequence you may + not convey it at all. For example, if you agree to terms that obligate you + to collect a royalty for further conveying from those to whom you convey + the Program, the only way you could satisfy both those terms and this + License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have + permission to link or combine any covered work with a work licensed + under version 3 of the GNU Affero General Public License into a single + combined work, and to convey the resulting work. The terms of this + License will continue to apply to the part which is the covered work, + but the special requirements of the GNU Affero General Public License, + section 13, concerning interaction through a network will apply to the + combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of + the GNU General Public License from time to time. Such new versions will + be similar in spirit to the present version, but may differ in detail to + address new problems or concerns. + + Each version is given a distinguishing version number. If the + Program specifies that a certain numbered version of the GNU General + Public License "or any later version" applies to it, you have the + option of following the terms and conditions either of that numbered + version or of any later version published by the Free Software + Foundation. If the Program does not specify a version number of the + GNU General Public License, you may choose any version ever published + by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future + versions of the GNU General Public License can be used, that proxy's + public statement of acceptance of a version permanently authorizes you + to choose that version for the Program. + + Later license versions may give you additional or different + permissions. However, no additional obligations are imposed on any + author or copyright holder as a result of your choosing to follow a + later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY + APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT + HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY + OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM + IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF + ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING + WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS + THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY + GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE + USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF + DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD + PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), + EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF + SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided + above cannot be given local legal effect according to their terms, + reviewing courts shall apply local law that most closely approximates + an absolute waiver of all civil liability in connection with the + Program, unless a warranty or assumption of liability accompanies a + copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest + possible use to the public, the best way to achieve this is to make it + free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest + to attach them to the start of each source file to most effectively + state the exclusion of warranty; and each file should have at least + the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program 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 . + + Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short + notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + + The hypothetical commands `show w' and `show c' should show the appropriate + parts of the General Public License. Of course, your program's commands + might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, + if any, to sign a "copyright disclaimer" for the program, if necessary. + For more information on this, and how to apply and follow the GNU GPL, see + . + + The GNU General Public License does not permit incorporating your program + into proprietary programs. If your program is a subroutine library, you + may consider it more useful to permit linking proprietary applications with + the library. If this is what you want to do, use the GNU Lesser General + Public License instead of this License. But first, please read + ."""; private static final String LGPL_2_1_LICENSE = """ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + [This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your + freedom to share and change it. By contrast, the GNU General Public + Licenses are intended to guarantee your freedom to share and change + free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some + specially designated software packages--typically libraries--of the + Free Software Foundation and other authors who decide to use it. You + can use it too, but we suggest you first think carefully about whether + this license or the ordinary General Public License is the better + strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, + not price. Our General Public Licenses are designed to make sure that + you have the freedom to distribute copies of free software (and charge + for this service if you wish); that you receive source code or can get + it if you want it; that you can change the software and use pieces of + it in new free programs; and that you are informed that you can do + these things. + + To protect your rights, we need to make restrictions that forbid + distributors to deny you these rights or to ask you to surrender these + rights. These restrictions translate to certain responsibilities for + you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis + or for a fee, you must give the recipients all the rights that we gave + you. You must make sure that they, too, receive or can get the source + code. If you link other code with the library, you must provide + complete object files to the recipients, so that they can relink them + with the library after making changes to the library and recompiling + it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the + library, and (2) we offer you this license, which gives you legal + permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that + there is no warranty for the free library. Also, if the library is + modified by someone else and passed on, the recipients should know + that what they have is not the original version, so that the original + author's reputation will not be affected by problems that might be + introduced by others. + \f + Finally, software patents pose a constant threat to the existence of + any free program. We wish to make sure that a company cannot + effectively restrict the users of a free program by obtaining a + restrictive license from a patent holder. Therefore, we insist that + any patent license obtained for a version of the library must be + consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the + ordinary GNU General Public License. This license, the GNU Lesser + General Public License, applies to certain designated libraries, and + is quite different from the ordinary General Public License. We use + this license for certain libraries in order to permit linking those + libraries into non-free programs. + + When a program is linked with a library, whether statically or using + a shared library, the combination of the two is legally speaking a + combined work, a derivative of the original library. The ordinary + General Public License therefore permits such linking only if the + entire combination fits its criteria of freedom. The Lesser General + Public License permits more lax criteria for linking other code with + the library. + + We call this license the "Lesser" General Public License because it + does Less to protect the user's freedom than the ordinary General + Public License. It also provides other free software developers Less + of an advantage over competing non-free programs. These disadvantages + are the reason we use the ordinary General Public License for many + libraries. However, the Lesser license provides advantages in certain + special circumstances. + + For example, on rare occasions, there may be a special need to + encourage the widest possible use of a certain library, so that it becomes + a de-facto standard. To achieve this, non-free programs must be + allowed to use the library. A more frequent case is that a free + library does the same job as widely used non-free libraries. In this + case, there is little to gain by limiting the free library to free + software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free + programs enables a greater number of people to use a large body of + free software. For example, permission to use the GNU C Library in + non-free programs enables many more people to use the whole GNU + operating system, as well as its variant, the GNU/Linux operating + system. + + Although the Lesser General Public License is Less protective of the + users' freedom, it does ensure that the user of a program that is + linked with the Library has the freedom and the wherewithal to run + that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and + modification follow. Pay close attention to the difference between a + "work based on the library" and a "work that uses the library". The + former contains code derived from the library, whereas the latter must + be combined with the library in order to run. + \f GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - [This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your - freedom to share and change it. By contrast, the GNU General Public - Licenses are intended to guarantee your freedom to share and change - free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some - specially designated software packages--typically libraries--of the - Free Software Foundation and other authors who decide to use it. You - can use it too, but we suggest you first think carefully about whether - this license or the ordinary General Public License is the better - strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, - not price. Our General Public Licenses are designed to make sure that - you have the freedom to distribute copies of free software (and charge - for this service if you wish); that you receive source code or can get - it if you want it; that you can change the software and use pieces of - it in new free programs; and that you are informed that you can do - these things. - - To protect your rights, we need to make restrictions that forbid - distributors to deny you these rights or to ask you to surrender these - rights. These restrictions translate to certain responsibilities for - you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis - or for a fee, you must give the recipients all the rights that we gave - you. You must make sure that they, too, receive or can get the source - code. If you link other code with the library, you must provide - complete object files to the recipients, so that they can relink them - with the library after making changes to the library and recompiling - it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the - library, and (2) we offer you this license, which gives you legal - permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that - there is no warranty for the free library. Also, if the library is - modified by someone else and passed on, the recipients should know - that what they have is not the original version, so that the original - author's reputation will not be affected by problems that might be - introduced by others. - \f - Finally, software patents pose a constant threat to the existence of - any free program. We wish to make sure that a company cannot - effectively restrict the users of a free program by obtaining a - restrictive license from a patent holder. Therefore, we insist that - any patent license obtained for a version of the library must be - consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the - ordinary GNU General Public License. This license, the GNU Lesser - General Public License, applies to certain designated libraries, and - is quite different from the ordinary General Public License. We use - this license for certain libraries in order to permit linking those - libraries into non-free programs. - - When a program is linked with a library, whether statically or using - a shared library, the combination of the two is legally speaking a - combined work, a derivative of the original library. The ordinary - General Public License therefore permits such linking only if the - entire combination fits its criteria of freedom. The Lesser General - Public License permits more lax criteria for linking other code with - the library. - - We call this license the "Lesser" General Public License because it - does Less to protect the user's freedom than the ordinary General - Public License. It also provides other free software developers Less - of an advantage over competing non-free programs. These disadvantages - are the reason we use the ordinary General Public License for many - libraries. However, the Lesser license provides advantages in certain - special circumstances. - - For example, on rare occasions, there may be a special need to - encourage the widest possible use of a certain library, so that it becomes - a de-facto standard. To achieve this, non-free programs must be - allowed to use the library. A more frequent case is that a free - library does the same job as widely used non-free libraries. In this - case, there is little to gain by limiting the free library to free - software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free - programs enables a greater number of people to use a large body of - free software. For example, permission to use the GNU C Library in - non-free programs enables many more people to use the whole GNU - operating system, as well as its variant, the GNU/Linux operating - system. - - Although the Lesser General Public License is Less protective of the - users' freedom, it does ensure that the user of a program that is - linked with the Library has the freedom and the wherewithal to run - that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and - modification follow. Pay close attention to the difference between a - "work based on the library" and a "work that uses the library". The - former contains code derived from the library, whereas the latter must - be combined with the library in order to run. - \f - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other - program which contains a notice placed by the copyright holder or - other authorized party saying it may be distributed under the terms of - this Lesser General Public License (also called "this License"). - Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data - prepared so as to be conveniently linked with application programs - (which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work - which has been distributed under these terms. A "work based on the - Library" means either the Library or any derivative work under - copyright law: that is to say, a work containing the Library or a - portion of it, either verbatim or with modifications and/or translated - straightforwardly into another language. (Hereinafter, translation is - included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for - making modifications to it. For a library, complete source code means - all the source code for all modules it contains, plus any associated - interface definition files, plus the scripts used to control compilation - and installation of the library. - - Activities other than copying, distribution and modification are not - covered by this License; they are outside its scope. The act of - running a program using the Library is not restricted, and output from - such a program is covered only if its contents constitute a work based - on the Library (independent of the use of the Library in a tool for - writing it). Whether that is true depends on what the Library does - and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's - complete source code as you receive it, in any medium, provided that - you conspicuously and appropriately publish on each copy an - appropriate copyright notice and disclaimer of warranty; keep intact - all the notices that refer to this License and to the absence of any - warranty; and distribute a copy of this License along with the - Library. - - You may charge a fee for the physical act of transferring a copy, - and you may at your option offer warranty protection in exchange for a - fee. - \f - 2. You may modify your copy or copies of the Library or any portion - of it, thus forming a work based on the Library, and copy and - distribute such modifications or work under the terms of Section 1 - above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - - These requirements apply to the modified work as a whole. If - identifiable sections of that work are not derived from the Library, - and can be reasonably considered independent and separate works in - themselves, then this License, and its terms, do not apply to those - sections when you distribute them as separate works. But when you - distribute the same sections as part of a whole which is a work based - on the Library, the distribution of the whole must be on the terms of - this License, whose permissions for other licensees extend to the - entire whole, and thus to each and every part regardless of who wrote - it. - - Thus, it is not the intent of this section to claim rights or contest - your rights to work written entirely by you; rather, the intent is to - exercise the right to control the distribution of derivative or - collective works based on the Library. - - In addition, mere aggregation of another work not based on the Library - with the Library (or with a work based on the Library) on a volume of - a storage or distribution medium does not bring the other work under - the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public - License instead of this License to a given copy of the Library. To do - this, you must alter all the notices that refer to this License, so - that they refer to the ordinary GNU General Public License, version 2, - instead of to this License. (If a newer version than version 2 of the - ordinary GNU General Public License has appeared, then you can specify - that version instead if you wish.) Do not make any other change in - these notices. - \f - Once this change is made in a given copy, it is irreversible for - that copy, so the ordinary GNU General Public License applies to all - subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of - the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or - derivative of it, under Section 2) in object code or executable form - under the terms of Sections 1 and 2 above provided that you accompany - it with the complete corresponding machine-readable source code, which - must be distributed under the terms of Sections 1 and 2 above on a - medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy - from a designated place, then offering equivalent access to copy the - source code from the same place satisfies the requirement to - distribute the source code, even though third parties are not - compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the - Library, but is designed to work with the Library by being compiled or - linked with it, is called a "work that uses the Library". Such a - work, in isolation, is not a derivative work of the Library, and - therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library - creates an executable that is a derivative of the Library (because it - contains portions of the Library), rather than a "work that uses the - library". The executable is therefore covered by this License. - Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file - that is part of the Library, the object code for the work may be a - derivative work of the Library even though the source code is not. - Whether this is true is especially significant if the work can be - linked without the Library, or if the work is itself a library. The - threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data - structure layouts and accessors, and small macros and small inline - functions (ten lines or less in length), then the use of the object - file is unrestricted, regardless of whether it is legally a derivative - work. (Executables containing this object code plus portions of the - Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may - distribute the object code for the work under the terms of Section 6. - Any executables containing that work also fall under Section 6, - whether or not they are linked directly with the Library itself. - \f - 6. As an exception to the Sections above, you may also combine or - link a "work that uses the Library" with the Library to produce a - work containing portions of the Library, and distribute that work - under terms of your choice, provided that the terms permit - modification of the work for the customer's own use and reverse - engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the - Library is used in it and that the Library and its use are covered by - this License. You must supply a copy of this License. If the work - during execution displays copyright notices, you must include the - copyright notice for the Library among them, as well as a reference - directing the user to the copy of this License. Also, you must do one - of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the - Library" must include any data and utility programs needed for - reproducing the executable from it. However, as a special exception, - the materials to be distributed need not include anything that is - normally distributed (in either source or binary form) with the major - components (compiler, kernel, and so on) of the operating system on - which the executable runs, unless that component itself accompanies - the executable. - - It may happen that this requirement contradicts the license - restrictions of other proprietary libraries that do not normally - accompany the operating system. Such a contradiction means you cannot - use both them and the Library together in an executable that you - distribute. - \f - 7. You may place library facilities that are a work based on the - Library side-by-side in a single library together with other library - facilities not covered by this License, and distribute such a combined - library, provided that the separate distribution of the work based on - the Library and of the other library facilities is otherwise - permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute - the Library except as expressly provided under this License. Any - attempt otherwise to copy, modify, sublicense, link with, or - distribute the Library is void, and will automatically terminate your - rights under this License. However, parties who have received copies, - or rights, from you under this License will not have their licenses - terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not - signed it. However, nothing else grants you permission to modify or - distribute the Library or its derivative works. These actions are - prohibited by law if you do not accept this License. Therefore, by - modifying or distributing the Library (or any work based on the - Library), you indicate your acceptance of this License to do so, and - all its terms and conditions for copying, distributing or modifying - the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the - Library), the recipient automatically receives a license from the - original licensor to copy, distribute, link with or modify the Library - subject to these terms and conditions. You may not impose any further - restrictions on the recipients' exercise of the rights granted herein. - You are not responsible for enforcing compliance by third parties with - this License. - \f - 11. If, as a consequence of a court judgment or allegation of patent - infringement or for any other reason (not limited to patent issues), - conditions are imposed on you (whether by court order, agreement or - otherwise) that contradict the conditions of this License, they do not - excuse you from the conditions of this License. If you cannot - distribute so as to satisfy simultaneously your obligations under this - License and any other pertinent obligations, then as a consequence you - may not distribute the Library at all. For example, if a patent - license would not permit royalty-free redistribution of the Library by - all those who receive copies directly or indirectly through you, then - the only way you could satisfy both it and this License would be to - refrain entirely from distribution of the Library. - - If any portion of this section is held invalid or unenforceable under any - particular circumstance, the balance of the section is intended to apply, - and the section as a whole is intended to apply in other circumstances. - - It is not the purpose of this section to induce you to infringe any - patents or other property right claims or to contest validity of any - such claims; this section has the sole purpose of protecting the - integrity of the free software distribution system which is - implemented by public license practices. Many people have made - generous contributions to the wide range of software distributed - through that system in reliance on consistent application of that - system; it is up to the author/donor to decide if he or she is willing - to distribute software through any other system and a licensee cannot - impose that choice. - - This section is intended to make thoroughly clear what is believed to - be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in - certain countries either by patents or by copyrighted interfaces, the - original copyright holder who places the Library under this License may add - an explicit geographical distribution limitation excluding those countries, - so that distribution is permitted only in or among countries not thus - excluded. In such case, this License incorporates the limitation as if - written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new - versions of the Lesser General Public License from time to time. - Such new versions will be similar in spirit to the present version, - but may differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the Library - specifies a version number of this License which applies to it and - "any later version", you have the option of following the terms and - conditions either of that version or of any later version published by - the Free Software Foundation. If the Library does not specify a - license version number, you may choose any version ever published by - the Free Software Foundation. - \f - 14. If you wish to incorporate parts of the Library into other free - programs whose distribution conditions are incompatible with these, - write to the author to ask for permission. For software which is - copyrighted by the Free Software Foundation, write to the Free - Software Foundation; we sometimes make exceptions for this. Our - decision will be guided by the two goals of preserving the free status - of all derivatives of our free software and of promoting the sharing - and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO - WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. - EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR - OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY - KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE - LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME - THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN - WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY - AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU - FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR - CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE - LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING - RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A - FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF - SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - DAMAGES. - - END OF TERMS AND CONDITIONS - \f - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest - possible use to the public, we recommend making it free software that - everyone can redistribute and change. You can do so by permitting - redistribution under these terms (or, alternatively, under the terms of the - ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is - safest to attach them to the start of each source file to most effectively - convey the exclusion of warranty; and each file should have at least the - "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - Also add information on how to contact you by electronic and paper mail. - - You should also get your employer (if you work as a programmer) or your - school, if any, to sign a "copyright disclaimer" for the library, if - necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - - That's all there is to it! - """; + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other + program which contains a notice placed by the copyright holder or + other authorized party saying it may be distributed under the terms of + this Lesser General Public License (also called "this License"). + Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data + prepared so as to be conveniently linked with application programs + (which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work + which has been distributed under these terms. A "work based on the + Library" means either the Library or any derivative work under + copyright law: that is to say, a work containing the Library or a + portion of it, either verbatim or with modifications and/or translated + straightforwardly into another language. (Hereinafter, translation is + included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for + making modifications to it. For a library, complete source code means + all the source code for all modules it contains, plus any associated + interface definition files, plus the scripts used to control compilation + and installation of the library. + + Activities other than copying, distribution and modification are not + covered by this License; they are outside its scope. The act of + running a program using the Library is not restricted, and output from + such a program is covered only if its contents constitute a work based + on the Library (independent of the use of the Library in a tool for + writing it). Whether that is true depends on what the Library does + and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's + complete source code as you receive it, in any medium, provided that + you conspicuously and appropriately publish on each copy an + appropriate copyright notice and disclaimer of warranty; keep intact + all the notices that refer to this License and to the absence of any + warranty; and distribute a copy of this License along with the + Library. + + You may charge a fee for the physical act of transferring a copy, + and you may at your option offer warranty protection in exchange for a + fee. + \f + 2. You may modify your copy or copies of the Library or any portion + of it, thus forming a work based on the Library, and copy and + distribute such modifications or work under the terms of Section 1 + above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + + These requirements apply to the modified work as a whole. If + identifiable sections of that work are not derived from the Library, + and can be reasonably considered independent and separate works in + themselves, then this License, and its terms, do not apply to those + sections when you distribute them as separate works. But when you + distribute the same sections as part of a whole which is a work based + on the Library, the distribution of the whole must be on the terms of + this License, whose permissions for other licensees extend to the + entire whole, and thus to each and every part regardless of who wrote + it. + + Thus, it is not the intent of this section to claim rights or contest + your rights to work written entirely by you; rather, the intent is to + exercise the right to control the distribution of derivative or + collective works based on the Library. + + In addition, mere aggregation of another work not based on the Library + with the Library (or with a work based on the Library) on a volume of + a storage or distribution medium does not bring the other work under + the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public + License instead of this License to a given copy of the Library. To do + this, you must alter all the notices that refer to this License, so + that they refer to the ordinary GNU General Public License, version 2, + instead of to this License. (If a newer version than version 2 of the + ordinary GNU General Public License has appeared, then you can specify + that version instead if you wish.) Do not make any other change in + these notices. + \f + Once this change is made in a given copy, it is irreversible for + that copy, so the ordinary GNU General Public License applies to all + subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of + the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or + derivative of it, under Section 2) in object code or executable form + under the terms of Sections 1 and 2 above provided that you accompany + it with the complete corresponding machine-readable source code, which + must be distributed under the terms of Sections 1 and 2 above on a + medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy + from a designated place, then offering equivalent access to copy the + source code from the same place satisfies the requirement to + distribute the source code, even though third parties are not + compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the + Library, but is designed to work with the Library by being compiled or + linked with it, is called a "work that uses the Library". Such a + work, in isolation, is not a derivative work of the Library, and + therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library + creates an executable that is a derivative of the Library (because it + contains portions of the Library), rather than a "work that uses the + library". The executable is therefore covered by this License. + Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file + that is part of the Library, the object code for the work may be a + derivative work of the Library even though the source code is not. + Whether this is true is especially significant if the work can be + linked without the Library, or if the work is itself a library. The + threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data + structure layouts and accessors, and small macros and small inline + functions (ten lines or less in length), then the use of the object + file is unrestricted, regardless of whether it is legally a derivative + work. (Executables containing this object code plus portions of the + Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may + distribute the object code for the work under the terms of Section 6. + Any executables containing that work also fall under Section 6, + whether or not they are linked directly with the Library itself. + \f + 6. As an exception to the Sections above, you may also combine or + link a "work that uses the Library" with the Library to produce a + work containing portions of the Library, and distribute that work + under terms of your choice, provided that the terms permit + modification of the work for the customer's own use and reverse + engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the + Library is used in it and that the Library and its use are covered by + this License. You must supply a copy of this License. If the work + during execution displays copyright notices, you must include the + copyright notice for the Library among them, as well as a reference + directing the user to the copy of this License. Also, you must do one + of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the + Library" must include any data and utility programs needed for + reproducing the executable from it. However, as a special exception, + the materials to be distributed need not include anything that is + normally distributed (in either source or binary form) with the major + components (compiler, kernel, and so on) of the operating system on + which the executable runs, unless that component itself accompanies + the executable. + + It may happen that this requirement contradicts the license + restrictions of other proprietary libraries that do not normally + accompany the operating system. Such a contradiction means you cannot + use both them and the Library together in an executable that you + distribute. + \f + 7. You may place library facilities that are a work based on the + Library side-by-side in a single library together with other library + facilities not covered by this License, and distribute such a combined + library, provided that the separate distribution of the work based on + the Library and of the other library facilities is otherwise + permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute + the Library except as expressly provided under this License. Any + attempt otherwise to copy, modify, sublicense, link with, or + distribute the Library is void, and will automatically terminate your + rights under this License. However, parties who have received copies, + or rights, from you under this License will not have their licenses + terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not + signed it. However, nothing else grants you permission to modify or + distribute the Library or its derivative works. These actions are + prohibited by law if you do not accept this License. Therefore, by + modifying or distributing the Library (or any work based on the + Library), you indicate your acceptance of this License to do so, and + all its terms and conditions for copying, distributing or modifying + the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the + Library), the recipient automatically receives a license from the + original licensor to copy, distribute, link with or modify the Library + subject to these terms and conditions. You may not impose any further + restrictions on the recipients' exercise of the rights granted herein. + You are not responsible for enforcing compliance by third parties with + this License. + \f + 11. If, as a consequence of a court judgment or allegation of patent + infringement or for any other reason (not limited to patent issues), + conditions are imposed on you (whether by court order, agreement or + otherwise) that contradict the conditions of this License, they do not + excuse you from the conditions of this License. If you cannot + distribute so as to satisfy simultaneously your obligations under this + License and any other pertinent obligations, then as a consequence you + may not distribute the Library at all. For example, if a patent + license would not permit royalty-free redistribution of the Library by + all those who receive copies directly or indirectly through you, then + the only way you could satisfy both it and this License would be to + refrain entirely from distribution of the Library. + + If any portion of this section is held invalid or unenforceable under any + particular circumstance, the balance of the section is intended to apply, + and the section as a whole is intended to apply in other circumstances. + + It is not the purpose of this section to induce you to infringe any + patents or other property right claims or to contest validity of any + such claims; this section has the sole purpose of protecting the + integrity of the free software distribution system which is + implemented by public license practices. Many people have made + generous contributions to the wide range of software distributed + through that system in reliance on consistent application of that + system; it is up to the author/donor to decide if he or she is willing + to distribute software through any other system and a licensee cannot + impose that choice. + + This section is intended to make thoroughly clear what is believed to + be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in + certain countries either by patents or by copyrighted interfaces, the + original copyright holder who places the Library under this License may add + an explicit geographical distribution limitation excluding those countries, + so that distribution is permitted only in or among countries not thus + excluded. In such case, this License incorporates the limitation as if + written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new + versions of the Lesser General Public License from time to time. + Such new versions will be similar in spirit to the present version, + but may differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the Library + specifies a version number of this License which applies to it and + "any later version", you have the option of following the terms and + conditions either of that version or of any later version published by + the Free Software Foundation. If the Library does not specify a + license version number, you may choose any version ever published by + the Free Software Foundation. + \f + 14. If you wish to incorporate parts of the Library into other free + programs whose distribution conditions are incompatible with these, + write to the author to ask for permission. For software which is + copyrighted by the Free Software Foundation, write to the Free + Software Foundation; we sometimes make exceptions for this. Our + decision will be guided by the two goals of preserving the free status + of all derivatives of our free software and of promoting the sharing + and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO + WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. + EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR + OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY + KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE + LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME + THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN + WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY + AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU + FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR + CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE + LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING + RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A + FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF + SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + END OF TERMS AND CONDITIONS + \f + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest + possible use to the public, we recommend making it free software that + everyone can redistribute and change. You can do so by permitting + redistribution under these terms (or, alternatively, under the terms of the + ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is + safest to attach them to the start of each source file to most effectively + convey the exclusion of warranty; and each file should have at least the + "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + Also add information on how to contact you by electronic and paper mail. + + You should also get your employer (if you work as a programmer) or your + school, if any, to sign a "copyright disclaimer" for the library, if + necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + + That's all there is to it! + """; private static final String UPL_1_LICENSE = """ - The Universal Permissive License (UPL), Version 1.0 + The Universal Permissive License (UPL), Version 1.0 - Subject to the condition set forth below, permission is hereby granted to any person obtaining a copy of this software, associated documentation and/or data (collectively the "Software"), free of charge and under any and all copyright rights in the Software, and any and all patent rights owned or freely licensable by each licensor hereunder covering either (i) the unmodified Software as contributed to or provided by such licensor, or (ii) the Larger Works (as defined below), to deal in both + Subject to the condition set forth below, permission is hereby granted to any person obtaining a copy of this software, associated documentation and/or data (collectively the "Software"), free of charge and under any and all copyright rights in the Software, and any and all patent rights owned or freely licensable by each licensor hereunder covering either (i) the unmodified Software as contributed to or provided by such licensor, or (ii) the Larger Works (as defined below), to deal in both - (a) the Software, and + (a) the Software, and - (b) any piece of software and/or hardware listed in the lrgrwrks.txt file if one is included with the Software each a "Larger Work" to which the Software is contributed by such licensors), + (b) any piece of software and/or hardware listed in the lrgrwrks.txt file if one is included with the Software each a "Larger Work" to which the Software is contributed by such licensors), - without restriction, including without limitation the rights to copy, create derivative works of, display, perform, and distribute the Software and make, use, sell, offer for sale, import, export, have made, and have sold the Software and the Larger Work(s), and to sublicense the foregoing rights on either these or other terms. + without restriction, including without limitation the rights to copy, create derivative works of, display, perform, and distribute the Software and make, use, sell, offer for sale, import, export, have made, and have sold the Software and the Larger Work(s), and to sublicense the foregoing rights on either these or other terms. - This license is subject to the following condition: + This license is subject to the following condition: - The above copyright notice and either this complete permission notice or at a minimum a reference to the UPL must be included in all copies or substantial portions of the Software. + The above copyright notice and either this complete permission notice or at a minimum a reference to the UPL must be included in all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - """; + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + """; @Override protected int run() throws Exception { @@ -1555,7 +1556,7 @@ protected int run() throws Exception { private static void printOwlLicense() { System.out.printf("Owl (Copyright (C) 2016-2021 Salomon Sickert-Zehnter and contributors)%n" - + "License:%n%s%n%n%n", GPL_3_LICENSE); + + "License:%n%s%n%n%n", GPL_3_LICENSE); } private static void printLibraryLicense(String library, String license) { @@ -1564,13 +1565,13 @@ private static void printLibraryLicense(String library, String license) { } @Command( - name = "ltl-inspect", - hidden = true // Command is hidden, since it is not finished yet. + name = "ltl-inspect", + hidden = true // Command is hidden, since it is not finished yet. ) static final class LtlInspectionCommand extends AbstractOwlSubcommand { @Mixin - private Mixins.FormulaReader formulaReader = null; + private final Mixins.FormulaReader formulaReader = null; @Override protected int run() throws IOException { @@ -1582,7 +1583,7 @@ protected int run() throws IOException { var formula = formulaIterator.next(); System.out.printf("Formula: %s,%nSyntactic class: %s%n", - formula, SyntacticFragments.FormulaClass.classify(formula.formula())); + formula, SyntacticFragments.FormulaClass.classify(formula.formula())); } } @@ -1591,64 +1592,64 @@ protected int run() throws IOException { } @Command( - name = "aut-inspect", - hidden = true // Command is hidden, since it is not finished yet. + name = "aut-inspect", + hidden = true // Command is hidden, since it is not finished yet. ) static final class AutInspectionCommand extends AbstractOwlSubcommand { @Nullable @Option( - names = { "-f", "--format"}, - required = true, - description = { - """ - The format string. Uses a reduced set of the spot syntax - %A, %a Number of acceptance sets - %C, %c Number of SCCs - %D, %d 1 if the automaton is deterministic, 0 otherwise - %G, %g acceptance condition (in HOA syntax) - %S, %s Number of states - %H, %h The automaton in HOA format on a single line - %M, %m Name of the automaton - %n Newline - %X, %x Number of atomic propositions"""} + names = {"-f", "--format"}, + required = true, + description = { + """ + The format string. Uses a reduced set of the spot syntax + %A, %a Number of acceptance sets + %C, %c Number of SCCs + %D, %d 1 if the automaton is deterministic, 0 otherwise + %G, %g acceptance condition (in HOA syntax) + %S, %s Number of states + %H, %h The automaton in HOA format on a single line + %M, %m Name of the automaton + %n Newline + %X, %x Number of atomic propositions"""} ) private String format; private static final Map, String>> PATTERNS = Map.of( - // Acceptance condition - Pattern.compile("%G", Pattern.CASE_INSENSITIVE | Pattern.LITERAL), - automaton -> automaton.acceptance().booleanExpression().toString(), + // Acceptance condition + Pattern.compile("%G", Pattern.CASE_INSENSITIVE | Pattern.LITERAL), + automaton -> automaton.acceptance().booleanExpression().toString(), - // Acceptance set count - Pattern.compile("%A", Pattern.CASE_INSENSITIVE | Pattern.LITERAL), - automaton -> String.valueOf(automaton.acceptance().acceptanceSets()), + // Acceptance set count + Pattern.compile("%A", Pattern.CASE_INSENSITIVE | Pattern.LITERAL), + automaton -> String.valueOf(automaton.acceptance().acceptanceSets()), - // Is deterministic - Pattern.compile("%D", Pattern.CASE_INSENSITIVE | Pattern.LITERAL), - automaton -> automaton.is(Automaton.Property.DETERMINISTIC) ? "1" : "0", + // Is deterministic + Pattern.compile("%D", Pattern.CASE_INSENSITIVE | Pattern.LITERAL), + automaton -> automaton.is(Automaton.Property.DETERMINISTIC) ? "1" : "0", - // Single line HOA - Pattern.compile("%H", Pattern.CASE_INSENSITIVE | Pattern.LITERAL), - automaton -> HoaWriter.toString(automaton).replace('\n', ' '), + // Single line HOA + Pattern.compile("%H", Pattern.CASE_INSENSITIVE | Pattern.LITERAL), + automaton -> HoaWriter.toString(automaton).replace('\n', ' '), - // State count - Pattern.compile("%S", Pattern.CASE_INSENSITIVE | Pattern.LITERAL), - automaton -> String.valueOf(automaton.states().size()), + // State count + Pattern.compile("%S", Pattern.CASE_INSENSITIVE | Pattern.LITERAL), + automaton -> String.valueOf(automaton.states().size()), - // Number of propositions - Pattern.compile("%X", Pattern.CASE_INSENSITIVE | Pattern.LITERAL), - automaton -> String.valueOf(automaton.atomicPropositions().size()), + // Number of propositions + Pattern.compile("%X", Pattern.CASE_INSENSITIVE | Pattern.LITERAL), + automaton -> String.valueOf(automaton.atomicPropositions().size()), - // Number of SCCs - Pattern.compile("%C", Pattern.CASE_INSENSITIVE | Pattern.LITERAL), - automaton -> String.valueOf(SccDecomposition.of(automaton).sccs().size()), + // Number of SCCs + Pattern.compile("%C", Pattern.CASE_INSENSITIVE | Pattern.LITERAL), + automaton -> String.valueOf(SccDecomposition.of(automaton).sccs().size()), - Pattern.compile("%n", Pattern.LITERAL), - automaton -> "\n"); + Pattern.compile("%n", Pattern.LITERAL), + automaton -> "\n"); @Mixin - private Mixins.AutomatonReader automatonReader = null; + private final Mixins.AutomatonReader automatonReader = null; @Override protected int run() { @@ -1664,7 +1665,7 @@ protected int run() { if (matcher.find()) { String replacement = Matcher.quoteReplacement(pattern.getValue().apply( - automatonIterator.next())); + automatonIterator.next())); result = matcher.replaceAll(replacement); } } @@ -1678,14 +1679,14 @@ protected int run() { } @Command( - name = "delag", - description = DelagMigrationCommand.DELAG_DESCRIPTION + name = "delag", + description = DelagMigrationCommand.DELAG_DESCRIPTION ) static final class DelagMigrationCommand extends AbstractOwlSubcommand { private static final String DELAG_DESCRIPTION = "The functionality of the 'delag' subcommand " - + "has been moved to the 'ltl2dela' subcommand. You can use 'owl ltl2dela -t=MS17' to access " - + "the original 'delag' construction."; + + "has been moved to the 'ltl2dela' subcommand. You can use 'owl ltl2dela -t=MS17' to access " + + "the original 'delag' construction."; @Override protected int run() throws Exception { @@ -1694,50 +1695,51 @@ protected int run() throws Exception { } @Command( - name = "dpa2pg", - description = - "Converts a deterministic parity automaton into a parity game by splitting the transitions. " - + "This subcommand outputs the game in the PG-solver format and this command is only " - + "expected to be used for prototyping, since in practice the resulting files are too " - + "large.", - hidden = true + name = "dpa2pg", + description = + "Converts a deterministic parity automaton into a parity game by splitting the transitions. " + + "This subcommand outputs the game in the PG-solver format and this command is only " + + "expected to be used for prototyping, since in practice the resulting files are too " + + "large.", + hidden = true ) static final class Automaton2GameCommand extends AbstractOwlSubcommand { @Mixin - private Mixins.AutomatonReader automatonReader = null; + private final Mixins.AutomatonReader automatonReader = null; @Option( - names = { "-o", "--output-file" }, - description = "Output file (default: write to stdout)." + names = {"-o", "--output-file"}, + description = "Output file (default: write to stdout)." ) - private Path gameFile = null; + private final Path gameFile = null; @ArgGroup(multiplicity = "1") - private InputsOutputs inputsOutputs = null; + private final InputsOutputs inputsOutputs = null; private static class InputsOutputs { + @Option( - names = {"-e", "--environment"}, - description = "List of atomic propositions controlled by the environment." + names = {"-e", "--environment"}, + description = "List of atomic propositions controlled by the environment." ) private String[] environment; @Option( - names = {"-s", "--system"}, - description = "List of atomic propositions controlled by the system." + names = {"-s", "--system"}, + description = "List of atomic propositions controlled by the system." ) private String[] system; @Option( - names = {"--environment-prefix"}, - description = "Prefix of atomic propositions controlled by the environment." + names = {"--environment-prefix"}, + description = "Prefix of atomic propositions controlled by the environment." ) private String environmentPrefix; @Option( - names = {"--system-prefix"}, - description = "Prefix of atomic propositions controlled by the system." + names = {"--system-prefix"}, + description = "Prefix of atomic propositions controlled by the system." ) private String systemPrefix; } @@ -1749,39 +1751,39 @@ protected int run() throws IOException { if (inputsOutputs.environment != null) { environmentAtomicProposition - = Arrays.asList(inputsOutputs.environment)::contains; + = Arrays.asList(inputsOutputs.environment)::contains; } else if (inputsOutputs.system != null) { environmentAtomicProposition - = Predicate.not(Arrays.asList(inputsOutputs.system)::contains); + = Predicate.not(Arrays.asList(inputsOutputs.system)::contains); } else if (inputsOutputs.systemPrefix != null) { environmentAtomicProposition - = Predicate.not(inputsOutputs.systemPrefix::startsWith); + = Predicate.not(inputsOutputs.systemPrefix::startsWith); } else { environmentAtomicProposition - = inputsOutputs.environmentPrefix::startsWith; + = inputsOutputs.environmentPrefix::startsWith; } try (var source = automatonReader.source(ParityAcceptance.class); - var sink = new PrintWriter(gameFile == null - ? new BufferedWriter(new OutputStreamWriter(System.out)) - : Files.newBufferedWriter(gameFile))) { + var sink = new PrintWriter(gameFile == null + ? new BufferedWriter(new OutputStreamWriter(System.out)) + : Files.newBufferedWriter(gameFile))) { var automatonIterator = source.iterator(); while (automatonIterator.hasNext()) { var automaton = ParityUtil.convert( - OmegaAcceptanceCast.cast( - Views.complete(automatonIterator.next()), ParityAcceptance.class), - ParityAcceptance.Parity.MAX_EVEN); + OmegaAcceptanceCast.cast( + Views.complete(automatonIterator.next()), ParityAcceptance.class), + ParityAcceptance.Parity.MAX_EVEN); checkArgument(automaton.initialStates().size() <= 1, - "Multiple initial states are not supported"); + "Multiple initial states are not supported"); checkArgument(automaton.is(Automaton.Property.DETERMINISTIC), - "Input automaton needs to be deterministic"); + "Input automaton needs to be deterministic"); PgSolverFormat.write( - GameViews.split(automaton, environmentAtomicProposition), sink, false); + GameViews.split(automaton, environmentAtomicProposition), sink, false); } } diff --git a/src/main/java/owl/command/Mixins.java b/src/main/java/owl/command/Mixins.java index bcf08096..79799691 100644 --- a/src/main/java/owl/command/Mixins.java +++ b/src/main/java/owl/command/Mixins.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 - 2020 (See AUTHORS) + * Copyright (C) 2016 - 2022 (See AUTHORS) * * This file is part of Owl. * @@ -30,15 +30,22 @@ import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; +import java.io.Reader; import java.io.UncheckedIOException; import java.nio.file.Files; import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +import java.util.Spliterator; +import java.util.Spliterators; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingQueue; import java.util.concurrent.TimeUnit; +import java.util.function.Consumer; import java.util.function.Function; import java.util.function.Predicate; import java.util.stream.Stream; +import java.util.stream.StreamSupport; import org.antlr.v4.runtime.RecognitionException; import org.antlr.v4.runtime.misc.ParseCancellationException; import owl.automaton.Automaton; @@ -60,46 +67,100 @@ @SuppressWarnings("PMD.ImmutableField") final class Mixins { - private Mixins() {} + private Mixins() { + } + + sealed interface StreamElements { + + } + + record Element(Automaton automaton) implements StreamElements { + + } + + record EndOfStream(Exception exception) implements StreamElements { + + } static final class AutomatonReader { @Option( - names = { "-i", "--input-file" }, - description = "Input file (default: read from stdin). If '-' is specified, then the tool " - + "reads from stdin. This option is repeatable." + names = {"-i", "--input-file"}, + description = "Input file (default: read from stdin). If '-' is specified, then the tool " + + "reads from stdin. This option is repeatable." ) - private String[] automatonFile = { "-" }; + private final String[] automatonFile = {"-"}; Stream> - source(Class acceptanceClass) { + source(Class acceptanceClass) { return Stream.of(automatonFile).flatMap(file -> { - try (var reader = "-".equals(file) - ? new BufferedReader(new InputStreamReader(System.in)) - : Files.newBufferedReader(Path.of(file))) { - - List> automata = new ArrayList<>(); - - // Warning: the 'readStream'-method reads until the reader is exhausted and thus this - // method blocks in while reading from stdin. - HoaReader.readStream(reader, - FactorySupplier.defaultSupplier()::getBddSetFactory, - null, - automaton -> { - Preconditions.checkArgument( - OmegaAcceptanceCast.isInstanceOf(automaton.acceptance().getClass(), - acceptanceClass), - String.format("Expected %s, but got %s.", acceptanceClass, automaton.acceptance())); - automata.add(OmegaAcceptanceCast.cast(automaton, acceptanceClass)); - }); - - return automata.stream(); - } catch (IOException e) { - throw new UncheckedIOException(e); - } catch (ParseException e) { - throw new UncheckedExecutionException(e); - } + BlockingQueue queue = new ArrayBlockingQueue<>(256); + + Thread readerThread = new Thread(() -> { + try (Reader reader = "-".equals(file) + ? new InputStreamReader(System.in) + : Files.newBufferedReader(Path.of(file))) { + + // TODO: read input line by line and buffer until --END-- / --ABORT-- in order to avoid + // the broken parser to read everything into memory. :( + HoaReader.readStream(reader, FactorySupplier.defaultSupplier()::getBddSetFactory, null, + automaton -> { + try { + queue.put(new Element(automaton)); + } catch (InterruptedException exception) { + queue.clear(); + queue.add(new EndOfStream(exception)); + } + }); + + queue.put(new EndOfStream(null)); + } catch (IOException | InterruptedException | ParseException exception) { + queue.clear(); + queue.add(new EndOfStream(exception)); + } + }); + + Spliterator> queueSpliterator = new Spliterators.AbstractSpliterator<>( + Long.MAX_VALUE, Spliterator.NONNULL | Spliterator.IMMUTABLE) { + + @Override + public boolean tryAdvance(Consumer> action) { + try { + var nextElement = queue.take(); + + if (nextElement instanceof Element element) { + Preconditions.checkArgument( + OmegaAcceptanceCast.isInstanceOf(element.automaton.acceptance().getClass(), + acceptanceClass), + String.format("Expected %s, but got %s.", acceptanceClass, + element.automaton.acceptance())); + + action.accept(OmegaAcceptanceCast.cast(element.automaton, acceptanceClass)); + return true; + } else { + EndOfStream endOfStream = (EndOfStream) nextElement; + + if (endOfStream.exception == null) { + return false; + } + + if (endOfStream.exception instanceof IOException ioException) { + throw new UncheckedIOException(ioException); + } else { + throw new UncheckedExecutionException(endOfStream.exception); + } + } + } catch (InterruptedException interruptedException) { + throw new UncheckedExecutionException(interruptedException); + } + } + }; + + // Ensure that readerThread does not block the JVM exiting. + readerThread.setDaemon(true); + readerThread.start(); + return StreamSupport.stream(queueSpliterator, false); }); } } @@ -107,36 +168,36 @@ static final class AutomatonReader { static final class AutomatonWriter { @Option( - names = { "-o", "--output-file" }, - description = "Output file (default: write to stdout). If '-' is specified, then the tool " - + "writes to stdout." + names = {"-o", "--output-file"}, + description = "Output file (default: write to stdout). If '-' is specified, then the tool " + + "writes to stdout." ) private String automatonFile = null; @Option( - names = {"--complete"}, - description = "Output an automaton with a complete transition relation." + names = {"--complete"}, + description = "Output an automaton with a complete transition relation." ) boolean complete = false; @Option( - names = {"--dry-run"}, - description = "Do not output resulting automaton." + names = {"--dry-run"}, + description = "Do not output resulting automaton." ) private boolean dryRun = false; @Option( - names = {"--state-acceptance"}, - description = "Output an automaton with a state-based acceptance condition instead of one " - + "with a transition-based acceptance condition. For this the acceptance marks of edges " - + "are pushed onto the successor states. However, this simple procedure might yield " - + "suboptimal results." + names = {"--state-acceptance"}, + description = "Output an automaton with a state-based acceptance condition instead of one " + + "with a transition-based acceptance condition. For this the acceptance marks of edges " + + "are pushed onto the successor states. However, this simple procedure might yield " + + "suboptimal results." ) private boolean stateAcceptance = false; @Option( - names = {"--state-labels"}, - description = "Annotate each state of the automaton with the 'toString()' method." + names = {"--state-labels"}, + description = "Annotate each state of the automaton with the 'toString()' method." ) private boolean stateLabels = false; @@ -164,7 +225,7 @@ private Sink(String subcommand, List subcommandArgs) throws IOException @SuppressWarnings("PMD.AvoidReassigningParameters") void accept(Automaton automaton, String automatonName) - throws HOAConsumerException, IOException { + throws HOAConsumerException, IOException { if (dryRun) { return; @@ -179,16 +240,16 @@ void accept(Automaton automaton, String automatonName) // Replace this by a fixed version to preserve owl header extension in case of state // acceptance. var wrappedPrinter = stateAcceptance - ? new HOAIntermediateStoreAndManipulate(printer, new ToStateAcceptanceFixed()) - : printer; + ? new HOAIntermediateStoreAndManipulate(printer, new ToStateAcceptanceFixed()) + : printer; HoaWriter.write( - automaton, - wrappedPrinter, - stateLabels, - subcommand, - subcommandArgs, - automatonName); + automaton, + wrappedPrinter, + stateLabels, + subcommand, + subcommandArgs, + automatonName); writer.flush(); } @@ -212,18 +273,18 @@ static final class FormulaReader { private static final class Source { @Option( - names = {"-f", "--formula"}, - description = "Use the argument of the option as the input formula. This option is " - + "repeatable, but cannot be combined with '-i'." + names = {"-f", "--formula"}, + description = "Use the argument of the option as the input formula. This option is " + + "repeatable, but cannot be combined with '-i'." ) String[] formula = null; @Option( - names = {"-i", "--input-file"}, - description = "Input file (default: read from stdin). The file is read line-by-line and " - + "it is assumed that each line contains a formula. Empty lines are skipped. If '-' is " - + "specified, then the tool reads from stdin. This option is repeatable, but cannot be " - + "combined with '-f'." + names = {"-i", "--input-file"}, + description = "Input file (default: read from stdin). The file is read line-by-line and " + + "it is assumed that each line contains a formula. Empty lines are skipped. If '-' is " + + "specified, then the tool reads from stdin. This option is repeatable, but cannot be " + + "combined with '-f'." ) String[] formulaFile = null; @@ -233,7 +294,7 @@ Stream stringSource() throws IOException { // Default to stdin. if (source == null) { source = new Source(); - source.formulaFile = new String[]{ "-" }; + source.formulaFile = new String[]{"-"}; } Stream stringStream; @@ -246,8 +307,8 @@ Stream stringSource() throws IOException { for (String file : source.formulaFile) { BufferedReader reader = "-".equals(file) - ? new BufferedReader(new InputStreamReader(System.in)) - : Files.newBufferedReader(Path.of(file)); + ? new BufferedReader(new InputStreamReader(System.in)) + : Files.newBufferedReader(Path.of(file)); readerStreams.add(reader.lines().onClose(() -> { try { @@ -260,8 +321,8 @@ Stream stringSource() throws IOException { // This workaround helps against getting stuck while reading from stdin. stringStream = readerStreams.size() == 1 - ? readerStreams.get(0) - : readerStreams.stream().flatMap(Function.identity()); + ? readerStreams.get(0) + : readerStreams.stream().flatMap(Function.identity()); } return stringStream.filter(Predicate.not(String::isBlank)); @@ -281,9 +342,9 @@ Stream source() throws IOException { static final class FormulaWriter { @Option( - names = { "-o", "--output-file" }, - description = "Output file (default: write to stdout). If '-' is specified, then the tool " - + "writes to stdout." + names = {"-o", "--output-file"}, + description = "Output file (default: write to stdout). If '-' is specified, then the tool " + + "writes to stdout." ) private String formulaFile = null; @@ -324,8 +385,8 @@ FormulaWriter.Sink sink() throws IOException { static final class AcceptanceSimplifier { @Option( - names = {"--skip-acceptance-simplifier"}, - description = "Bypass the automatic simplification of automata acceptance conditions." + names = {"--skip-acceptance-simplifier"}, + description = "Bypass the automatic simplification of automata acceptance conditions." ) boolean skipAcceptanceSimplifier = false; @@ -334,8 +395,8 @@ static final class AcceptanceSimplifier { static final class FormulaSimplifier { @Option( - names = {"--skip-formula-simplifier"}, - description = "Bypass the automatic simplification of formulas." + names = {"--skip-formula-simplifier"}, + description = "Bypass the automatic simplification of formulas." ) boolean skipSimplifier = false; @@ -344,10 +405,11 @@ static final class FormulaSimplifier { static final class Verifier { @Option( - names = "--verify", - description = "Verify the computed result. If the verification fails the tool aborts with an " - + "error. This flag is intended only for testing.", - hidden = true + names = "--verify", + description = + "Verify the computed result. If the verification fails the tool aborts with an " + + "error. This flag is intended only for testing.", + hidden = true ) boolean verify = false; @@ -359,33 +421,33 @@ static final class Diagnostics { private final Stopwatch stopwatch = Stopwatch.createUnstarted(); @Option( - names = "--diagnostics", - description = "Print diagnostic information to stderr." + names = "--diagnostics", + description = "Print diagnostic information to stderr." ) private boolean printDiagnostics = false; @Option( - names = "--diagnostics-time-unit", - description = "Select the time unit (${COMPLETION-CANDIDATES}) for reporting runtimes. The " - + "default value is ${DEFAULT-VALUE}. Be aware that for NANOSECONDS the reporting might " - + "not be accurate.", - defaultValue = "MILLISECONDS" + names = "--diagnostics-time-unit", + description = "Select the time unit (${COMPLETION-CANDIDATES}) for reporting runtimes. The " + + "default value is ${DEFAULT-VALUE}. Be aware that for NANOSECONDS the reporting might " + + "not be accurate.", + defaultValue = "MILLISECONDS" ) private TimeUnit timeUnit = TimeUnit.MILLISECONDS; void start(String subcommand, Automaton automaton) { if (printDiagnostics) { System.err.printf(""" - %s: - Input Automaton (after preprocessing): - States: %d - Acceptance Name: %s - Acceptance Sets: %d - """, - subcommand, - automaton.states().size(), - automaton.acceptance().name(), - automaton.acceptance().acceptanceSets()); + %s: + Input Automaton (after preprocessing): + States: %d + Acceptance Name: %s + Acceptance Sets: %d + """, + subcommand, + automaton.states().size(), + automaton.acceptance().name(), + automaton.acceptance().acceptanceSets()); stopwatch.start(); } } @@ -394,17 +456,17 @@ void finish(Automaton automaton) { if (printDiagnostics) { stopwatch.stop(); System.err.printf(""" - Output Automaton (before postprocessing): - States: %d - Acceptance Name: %s - Acceptance Sets: %d - Runtime (without pre- and postprocessing): %d %s - """, - automaton.states().size(), - automaton.acceptance().name(), - automaton.acceptance().acceptanceSets(), - stopwatch.elapsed(timeUnit), - timeUnit); + Output Automaton (before postprocessing): + States: %d + Acceptance Name: %s + Acceptance Sets: %d + Runtime (without pre- and postprocessing): %d %s + """, + automaton.states().size(), + automaton.acceptance().name(), + automaton.acceptance().acceptanceSets(), + stopwatch.elapsed(timeUnit), + timeUnit); } } } diff --git a/src/main/java/owl/command/OwlCommand.java b/src/main/java/owl/command/OwlCommand.java index a13af23a..d378630a 100644 --- a/src/main/java/owl/command/OwlCommand.java +++ b/src/main/java/owl/command/OwlCommand.java @@ -39,44 +39,44 @@ import owl.thirdparty.picocli.CommandLine.Model.CommandSpec; @Command(name = "owl", - description = - "A tool collection and library for ω-words, ω-automata and linear temporal logic.", - synopsisSubcommandLabel = "COMMAND", - usageHelpAutoWidth = true, - subcommands = { - // LTL Translation Commands - LtlTranslationCommands.Ltl2NbaCommand.class, - LtlTranslationCommands.Ltl2NgbaCommand.class, - LtlTranslationCommands.Ltl2LdbaCommand.class, - LtlTranslationCommands.Ltl2LdgbaCommand.class, - LtlTranslationCommands.Ltl2DpaCommand.class, - LtlTranslationCommands.Ltl2DraCommand.class, - LtlTranslationCommands.Ltl2DgraCommand.class, - LtlTranslationCommands.Ltl2DelaCommand.class, - - // LTL Conversion Commands - LtlConversionCommands.Delta2Normalisation.class, - - // Automaton Conversion Commands - AutomatonConversionCommands.Ngba2LdbaCommand.class, - AutomatonConversionCommands.Nba2DpaCommand.class, - AutomatonConversionCommands.NbaSimCommand.class, - AutomatonConversionCommands.Aut2ParityCommand.class, - AutomatonConversionCommands.GfgMinimisation.class, - - // Miscellaneous commands - MiscCommands.BibliographyCommand.class, - MiscCommands.LicenseCommand.class, - MiscCommands.DelagMigrationCommand.class, - - MiscCommands.LtlInspectionCommand.class, - LtlConversionCommands.LtlUtilities.class, - LtlConversionCommands.RLtlReader.class, - - MiscCommands.AutInspectionCommand.class, - AutomatonConversionCommands.AutUtilities.class, - MiscCommands.Automaton2GameCommand.class, - }) + description = + "A tool collection and library for ω-words, ω-automata and linear temporal logic.", + synopsisSubcommandLabel = "COMMAND", + usageHelpAutoWidth = true, + subcommands = { + // LTL Translation Commands + LtlTranslationCommands.Ltl2NbaCommand.class, + LtlTranslationCommands.Ltl2NgbaCommand.class, + LtlTranslationCommands.Ltl2LdbaCommand.class, + LtlTranslationCommands.Ltl2LdgbaCommand.class, + LtlTranslationCommands.Ltl2DpaCommand.class, + LtlTranslationCommands.Ltl2DraCommand.class, + LtlTranslationCommands.Ltl2DgraCommand.class, + LtlTranslationCommands.Ltl2DelaCommand.class, + + // LTL Conversion Commands + LtlConversionCommands.Delta2Normalisation.class, + + // Automaton Conversion Commands + AutomatonConversionCommands.Ngba2LdbaCommand.class, + AutomatonConversionCommands.Nba2DpaCommand.class, + AutomatonConversionCommands.NbaSimCommand.class, + AutomatonConversionCommands.Aut2ParityCommand.class, + AutomatonConversionCommands.GfgMinimisation.class, + + // Miscellaneous commands + MiscCommands.BibliographyCommand.class, + MiscCommands.LicenseCommand.class, + MiscCommands.DelagMigrationCommand.class, + + MiscCommands.LtlInspectionCommand.class, + LtlConversionCommands.LtlUtilities.class, + LtlConversionCommands.RLtlReader.class, + + MiscCommands.AutInspectionCommand.class, + AutomatonConversionCommands.AutUtilities.class, + MiscCommands.Automaton2GameCommand.class, + }) @SuppressWarnings("PMD.SystemPrintln") public final class OwlCommand extends AbstractOwlCommand { @@ -95,8 +95,8 @@ public OwlCommand(String[] args) { public static void main(String[] args) { System.exit(new CommandLine(new OwlCommand(args)) - .setExecutionExceptionHandler(new ExecutionExceptionHandler()) - .execute(args)); + .setExecutionExceptionHandler(new ExecutionExceptionHandler()) + .execute(args)); } @Override @@ -113,13 +113,13 @@ private static class ExecutionExceptionHandler implements IExecutionExceptionHan @Override public int handleExecutionException( - Exception ex, CommandLine commandLine, ParseResult parseResult) { + Exception ex, CommandLine commandLine, ParseResult parseResult) { return handleExecutionException((Throwable) ex, commandLine, parseResult); } public int handleExecutionException( - Throwable ex, CommandLine commandLine, ParseResult parseResult) { + Throwable ex, CommandLine commandLine, ParseResult parseResult) { // Unpack unchecked exceptions. if (ex instanceof UncheckedIOException || ex instanceof UncheckedExecutionException) { @@ -135,19 +135,19 @@ public int handleExecutionException( System.err.printf("Could not access file \"%s\".", file); } else { System.err.printf( - "Could not access file \"%s\", because of the following reason: %s", file, reason); + "Could not access file \"%s\", because of the following reason: %s", file, reason); } } else if (ex instanceof IllegalArgumentException) { if (ex.getCause() instanceof RecognitionException - || ex.getCause() instanceof ParseCancellationException) { + || ex.getCause() instanceof ParseCancellationException) { System.err.printf("Could not parse linear temporal logic formula: %s", ex.getMessage()); } else { ex.printStackTrace(System.err); } } else if (ex instanceof ParseException) { System.err.printf( - "Could not parse HOA automaton due to the following problem:%n%s", - ex.getMessage()); + "Could not parse HOA automaton due to the following problem:%n%s", + ex.getMessage()); } else { ex.printStackTrace(System.err); } diff --git a/src/main/java/owl/game/Game.java b/src/main/java/owl/game/Game.java index dbce5250..b07783b7 100644 --- a/src/main/java/owl/game/Game.java +++ b/src/main/java/owl/game/Game.java @@ -19,33 +19,26 @@ package owl.game; -import com.google.common.collect.Iterables; -import com.google.common.collect.Sets; -import java.util.ArrayList; -import java.util.BitSet; import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; import java.util.HashSet; -import java.util.List; -import java.util.Map; import java.util.Set; import owl.automaton.Automaton; import owl.automaton.acceptance.EmersonLeiAcceptance; -import owl.collections.Collections3; -import owl.game.output.AigConsumer; -import owl.game.output.AigFactory; -import owl.game.output.AigPrintable; -import owl.game.output.LabelledAig; -public interface Game extends Automaton, AigPrintable { +public interface Game extends Automaton { default Set getAttractor(Collection states, Owner owner) { // Does not contain the states itself. Set attractor = new HashSet<>(); // Add states that owner controls; - for (S predecessor : predecessors(states)) { + Set predecessors = new HashSet<>(states.size()); + + for (S x : states) { + predecessors.addAll(predecessors(x)); + } + + for (S predecessor : predecessors) { if (owner == owner(predecessor) || states.containsAll(successors(predecessor))) { attractor.add(predecessor); } @@ -54,7 +47,7 @@ default Set getAttractor(Collection states, Owner owner) { return attractor; } - default Set getAttractorFixpoint(Collection states, Owner owner) { + default Set getAttractorFixpoint(Set states, Owner owner) { Set attractor = new HashSet<>(states); boolean continueIteration = true; @@ -67,110 +60,12 @@ default Set getAttractorFixpoint(Collection states, Owner owner) { Owner owner(S state); - default Set states(Owner owner) { - return Sets.filter(states(), x -> owner(x) == owner); - } - - BitSet choice(S state, Owner owner); - - @Override - default void feedTo(AigConsumer consumer) { - List inputNames = variables(Owner.PLAYER_1); - List outputNames = variables(Owner.PLAYER_2); - - AigFactory factory = new AigFactory(); - inputNames.forEach(consumer::addInput); - - // how many latches will we need? - int nStates = states(Owner.PLAYER_2).size(); - int nLatches = (int) Math.ceil(Math.log(nStates) / Math.log(2)); - - // create mapping from states to bitsets of latches + inputs - // where the input bits are always set to 0 - Map encoding = new HashMap<>(); - int iState = inputNames.size() + 1; - - for (S state : states(Owner.PLAYER_2)) { - int value = iState; - int index = inputNames.size(); - BitSet b = new BitSet(inputNames.size() + nLatches); - while (value != 0) { - if (value % 2 != 0) { - b.set(index); - } - index++; - value >>>= 1; - } - encoding.put(state, b); - iState += 1; - } - - // create a list of LabelledAig for the latches and outputs - List latches = new ArrayList<>( - Collections.nCopies(nLatches, factory.getFalse())); - List outputs = new ArrayList<>( - Collections.nCopies(outputNames.size(), factory.getFalse())); - - // iterate through labelled edges to create latch and output formulas - for (S player2State : states(Owner.PLAYER_2)) { - BitSet stateAndInput = owl.collections.BitSet2.copyOf(encoding.get(player2State)); - stateAndInput.or(choice(player2State, Owner.PLAYER_1)); - LabelledAig stateAndInputAig = factory.cube(stateAndInput); - - // for all set indices in the output valuation - // we update their transition function - choice(player2State, Owner.PLAYER_2).stream().forEach( - i -> outputs.set(i, factory.disjunction(outputs.get(i), stateAndInputAig))); - - // we do the same for all set indices in the representation - // of the successor state - encoding.get(Iterables.getOnlyElement(successors(player2State))).stream().forEach( - i -> latches.set(i, factory.disjunction(latches.get(i), stateAndInputAig))); - } - - // we finish adding the information to the consumer - for (LabelledAig a : latches) { - consumer.addLatch("", a); - } - - Collections3.forEachPair(outputNames, outputs, consumer::addOutput); - } - - default Set predecessors(S state, Owner owner) { - return predecessors(Set.of(state), owner); - } - - default Set predecessors(Iterable states) { - Set predecessors = new HashSet<>(); - states.forEach(x -> predecessors.addAll(predecessors(x))); - return predecessors; - } - - default Set predecessors(Iterable state, Owner owner) { - return Sets.filter(predecessors(state), x -> owner == owner(x)); - } - - default Set successors(S state, Owner owner) { - return successors(Set.of(state), owner); - } - - default Set successors(Iterable states) { - Set successors = new HashSet<>(); - states.forEach(x -> successors.addAll(successors(x))); - return successors; - } - - default Set successors(Iterable states, Owner owner) { - return Sets.filter(successors(states), x -> owner == owner(x)); - } - - List variables(Owner owner); - enum Owner { /** * This player wants to dissatisfy the acceptance condition. */ PLAYER_1, + /** * This player wants to satisfy the acceptance condition. */ diff --git a/src/main/java/owl/game/GameFactory.java b/src/main/java/owl/game/GameFactory.java index 4f08bd9c..aac8e004 100644 --- a/src/main/java/owl/game/GameFactory.java +++ b/src/main/java/owl/game/GameFactory.java @@ -50,9 +50,6 @@ static final class ImmutableGame private final ImmutableValueGraph graph; private final Set player1Nodes; - private final List variablesPlayer1; - private final List variablesPlayer2; - private final BiFunction choice; ImmutableGame(Game game) { super(game.atomicPropositions(), game.factory(), game.initialStates(), game.acceptance()); @@ -74,14 +71,6 @@ static final class ImmutableGame this.graph = ImmutableValueGraph.copyOf(graph); this.player1Nodes = Set.copyOf(player1NodesBuilder); - this.variablesPlayer1 = List.copyOf(game.variables(Owner.PLAYER_1)); - this.variablesPlayer2 = List.copyOf(game.variables(Owner.PLAYER_2)); - this.choice = game::choice; - } - - @Override - public BitSet choice(S state, Owner owner) { - return choice.apply(state, owner); } @Override @@ -109,11 +98,6 @@ public Set predecessors(S successor) { return graph.predecessors(successor); } - @Override - public List variables(Owner owner) { - return owner == Owner.PLAYER_1 ? variablesPlayer1 : variablesPlayer2; - } - @AutoValue abstract static class ValueEdge { abstract int colour(); diff --git a/src/main/java/owl/game/GameViews.java b/src/main/java/owl/game/GameViews.java index fff0da70..e41acfda 100644 --- a/src/main/java/owl/game/GameViews.java +++ b/src/main/java/owl/game/GameViews.java @@ -26,16 +26,17 @@ import com.google.auto.value.extension.memoized.Memoized; import com.google.common.collect.Iterables; import com.google.common.collect.Maps; +import com.google.common.collect.Sets; import java.util.ArrayList; import java.util.BitSet; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.ListIterator; import java.util.Map; import java.util.Set; -import java.util.function.BiFunction; import java.util.function.Function; import java.util.function.Predicate; import javax.annotation.Nullable; @@ -50,6 +51,9 @@ import owl.bdd.MtBdd; import owl.collections.BitSet2; import owl.collections.Collections3; +import owl.game.output.AigConsumer; +import owl.game.output.AigFactory; +import owl.game.output.LabelledAig; public final class GameViews { @@ -79,22 +83,13 @@ private static final class FilteredGame imple private final Automaton filteredAutomaton; private final Function ownership; - private final Function> variableOwnership; - private final BiFunction choice; - @SuppressWarnings({"unchecked", "raw"}) private FilteredGame(Game game, Predicate states, Predicate> edgeFilter) { this.filteredAutomaton = Views - .filtered(game, Views.Filter.of(states, (s, e) -> edgeFilter.test(e))); - this.ownership = game instanceof FilteredGame - ? ((FilteredGame) game).ownership - : game::owner; - this.variableOwnership = game instanceof FilteredGame - ? ((FilteredGame) game).variableOwnership - : game::variables; - this.choice = game instanceof FilteredGame - ? ((FilteredGame) game).choice - : game::choice; + .filtered(game, Views.Filter.builder() + .initialStates(Sets.filter(game.initialStates(), states::test)) + .edgeFilter((s, e) -> states.test(e.successor()) && edgeFilter.test(e)).build()); + this.ownership = game::owner; } @Override @@ -102,11 +97,6 @@ public List atomicPropositions() { return filteredAutomaton.atomicPropositions(); } - @Override - public BitSet choice(S state, Owner owner) { - return choice.apply(state, owner); - } - @Override public A acceptance() { return filteredAutomaton.acceptance(); @@ -127,11 +117,6 @@ public Owner owner(S state) { return ownership.apply(state); } - @Override - public List variables(Owner owner) { - return variableOwnership.apply(owner); - } - @Override public BddSetFactory factory() { return filteredAutomaton.factory(); @@ -166,8 +151,8 @@ public MtBdd> edgeTree(S state) { public static Game replaceInitialStates( Game game, Set initialStates) { Set immutableInitialStates = Set.copyOf(initialStates); - return new Game<>() { + return new Game<>() { @Override public List atomicPropositions() { return game.atomicPropositions(); @@ -198,11 +183,6 @@ public Set> edges(S state, BitSet valuation) { return game.edges(state, valuation); } - @Override - public Set> edges(S state) { - return game.edges(state); - } - @Override public Map, BddSet> edgeMap(S state) { return game.edgeMap(state); @@ -217,16 +197,6 @@ public MtBdd> edgeTree(S state) { public Owner owner(S state) { return game.owner(state); } - - @Override - public BitSet choice(S state, Owner owner) { - return game.choice(state, owner); - } - - @Override - public List variables(Owner owner) { - return game.variables(owner); - } }; } @@ -237,7 +207,7 @@ public List variables(Owner owner) { * finally updating the state based on the combined valuation, emitting the * corresponding acceptance. */ - static final class ForwardingGame + public static final class ForwardingGame extends AbstractMemoizingAutomaton.EdgeMapImplementation, A> implements Game, A> { private final Automaton automaton; @@ -265,6 +235,69 @@ static final class ForwardingGame secondPlayer.flip(0, automaton.atomicPropositions().size()); } + public void feedTo(AigConsumer consumer) { + List inputNames = variables(Owner.PLAYER_1); + List outputNames = variables(Owner.PLAYER_2); + + AigFactory factory = new AigFactory(); + inputNames.forEach(consumer::addInput); + + // how many latches will we need? + var player2States = states().stream().filter(x -> owner(x) == Owner.PLAYER_2).toList(); + int nStates = player2States.size(); + int nLatches = (int) Math.ceil(Math.log(nStates) / Math.log(2)); + + // create mapping from states to bitsets of latches + inputs + // where the input bits are always set to 0 + Map, BitSet> encoding = new HashMap<>(); + int iState = inputNames.size() + 1; + + for (Node state : player2States) { + int value = iState; + int index = inputNames.size(); + BitSet b = new BitSet(inputNames.size() + nLatches); + while (value != 0) { + if (value % 2 != 0) { + b.set(index); + } + index++; + value >>>= 1; + } + encoding.put(state, b); + iState += 1; + } + + // create a list of LabelledAig for the latches and outputs + List latches = new ArrayList<>( + Collections.nCopies(nLatches, factory.getFalse())); + List outputs = new ArrayList<>( + Collections.nCopies(outputNames.size(), factory.getFalse())); + + // iterate through labelled edges to create latch and output formulas + for (Node player2State : player2States) { + BitSet stateAndInput = owl.collections.BitSet2.copyOf(encoding.get(player2State)); + stateAndInput.or(choice(player2State, Owner.PLAYER_1)); + LabelledAig stateAndInputAig = factory.cube(stateAndInput); + + // for all set indices in the output valuation + // we update their transition function + choice(player2State, Owner.PLAYER_2).stream().forEach( + i -> outputs.set(i, factory.disjunction(outputs.get(i), stateAndInputAig))); + + // we do the same for all set indices in the representation + // of the successor state + encoding.get(Iterables.getOnlyElement(successors(player2State))).stream().forEach( + i -> latches.set(i, factory.disjunction(latches.get(i), stateAndInputAig))); + } + + // we finish adding the information to the consumer + for (LabelledAig a : latches) { + consumer.addLatch("", a); + } + + Collections3.forEachPair(outputNames, outputs, consumer::addOutput); + } + @Override public Map>, BddSet> edgeMapImpl(Node node) { /* @@ -331,13 +364,11 @@ public Set> predecessors(Node successor) { return predecessors; } - @Override public Set> predecessors(Node state, Owner owner) { // Alternation return owner == owner(state) ? Set.of() : predecessors(state); } - @Override public List variables(Owner owner) { List variables = new ArrayList<>(); List elements = atomicPropositions(); @@ -356,7 +387,6 @@ public String toString() { return "Arena: " + firstPlayer + '/' + secondPlayer + '\n' + automaton; } - @Override public BitSet choice(Node state, Owner owner) { checkArgument(state.firstPlayerChoice() != null, "The state has no encoded choice."); diff --git a/src/main/java/owl/logic/propositional/sat/Solver.java b/src/main/java/owl/logic/propositional/sat/Solver.java index 39150031..e56b965f 100644 --- a/src/main/java/owl/logic/propositional/sat/Solver.java +++ b/src/main/java/owl/logic/propositional/sat/Solver.java @@ -278,7 +278,8 @@ protected List> computeMaximalModelsImpl( assert normalisedFormula.evaluate(mappedModel); maximalModels.add(mappedModel); - maximalModels = Collections3.maximalElements(maximalModels, (x, y) -> y.containsAll(x)); + maximalModels = new ArrayList<>( + Collections3.maximalElements(maximalModels, (x, y) -> y.containsAll(x))); // Block and continue. blockModelAndAllSubsets(solver, conjunctiveNormalForm, mappedModel); @@ -358,7 +359,7 @@ protected BitSet modelImpl(int[][] clauses) { } try (var reader = new BufferedReader(new InputStreamReader(kissat.getInputStream()))) { - + // Restrict lifetime of writer. try (var writer = new BufferedOutputStream(kissat.getOutputStream())) { Solver.writeCnf(largestVariable, clauses, writer); @@ -780,7 +781,8 @@ private List> maximalModelsNnfFormula( return List.copyOf(computeMaximalModelsImpl( normalisedFormula, - Collections3.maximalElements(maximalModelsCandidates, (x, y) -> y.containsAll(x)))); + new ArrayList<>( + Collections3.maximalElements(maximalModelsCandidates, (x, y) -> y.containsAll(x))))); } protected abstract List> computeMaximalModelsImpl( diff --git a/src/main/java/owl/ltl/EquivalenceClass.java b/src/main/java/owl/ltl/EquivalenceClass.java index a9178ee9..dfeb86ea 100644 --- a/src/main/java/owl/ltl/EquivalenceClass.java +++ b/src/main/java/owl/ltl/EquivalenceClass.java @@ -29,6 +29,10 @@ /** * A propositional equivalence class of an LTL formula. * + * This interface does not refine the general contracts of the equals and hashCode methods. + * The result of testing two objects that implement CharSequence for equality is therefore, + * in general, undefined. Each object may be implemented by a different class, and there is no guarantee that each class will be capable of testing its instances for equality with those of the other. It is therefore inappropriate to use arbitrary CharSequence instances as elements in a set or as keys in a map. + * * @implSpec If two implementing objects were created by different factories, methods combining or * comparing these objects are allowed to throw exceptions. */ diff --git a/src/main/java/owl/ltl/Formula.java b/src/main/java/owl/ltl/Formula.java index a1dc6c47..0194a584 100644 --- a/src/main/java/owl/ltl/Formula.java +++ b/src/main/java/owl/ltl/Formula.java @@ -198,6 +198,10 @@ public final boolean isSuspendable() { */ public abstract Formula not(); + public final Set subformulas() { + return subformulas(Formula.class); + } + public final Set subformulas(Class clazz) { return subformulas(clazz::isInstance, clazz::cast); } diff --git a/src/main/java/owl/thirdparty/jhoafparser/owl/extensions/HOAFParserCCFixed.java b/src/main/java/owl/thirdparty/jhoafparser/owl/extensions/HOAFParserCCFixed.java index 4da43b7b..91258fe6 100644 --- a/src/main/java/owl/thirdparty/jhoafparser/owl/extensions/HOAFParserCCFixed.java +++ b/src/main/java/owl/thirdparty/jhoafparser/owl/extensions/HOAFParserCCFixed.java @@ -99,62 +99,6 @@ private static void initializeParser(Reader str) } } - - //----------------------------------------------------------------------------------- - // Methods for invokation of the parser - //----------------------------------------------------------------------------------- - - /** - * Entry point for parsing a single automaton in HOA format (with default settings). - *
Note: this parser is non-reentrant, i.e., it is - * not possible to parse two streams at the same time! - * - * @param str The input stream with the automaton description - * @param userConsumer The consumer that receives the notifications about the parsed elements from the parser - */ - public static void parseHOA(Reader str, HOAConsumer userConsumer) throws ParseException { - parseHOA(str, userConsumer, null); - } - - /** - * Entry point for parsing a single automaton in HOA format. - *
Note: this parser is non-reentrant, i.e., it is - * not possible to parse two streams at the same time! - * - * @param str The input stream with the automaton description - * @param userConsumer The consumer that receives the notifications about the parsed elements from the parser - * @param settings Settings for the parser (may be {@code null}) - */ - public static void parseHOA(Reader str, final HOAConsumer userConsumer, HOAFParserSettings settings) throws ParseException - { - // (Re)start parser - initializeParser(str); - - if (settings == null) { - // default settings - settings = new HOAFParserSettings(); - } - HOAFParserCCFixed.settings = settings; - - consumerFactory = factoryFromSettings(new HOAConsumerFactory() { - @Override - public HOAConsumer getNewHOAConsumer() { - return userConsumer; - } - }); - - consumer = consumerFactory.getNewHOAConsumer(); - newAutomaton(); - - // Parse - try { - SingleAutomaton(); - } - finally { - consumer = null; - } - } - /** * Entry point for parsing a stream of automata in HOA format. *
Note: this parser is non-reentrant, i.e., it is @@ -248,8 +192,8 @@ static public void Automata() throws ParseException { } case HOA: - consumer=consumerFactory.getNewHOAConsumer(); - newAutomaton(); + consumer=consumerFactory.getNewHOAConsumer(); + newAutomaton(); Automaton(); break; default: @@ -1147,4 +1091,4 @@ static public ParseException generateParseException() { } return new ParseException(token, exptokseq, tokenImage); } -} \ No newline at end of file +} diff --git a/src/main/java/owl/thirdparty/jhoafparser/owl/extensions/HOAFParserFixed.java b/src/main/java/owl/thirdparty/jhoafparser/owl/extensions/HOAFParserFixed.java index 7f895898..e0f3b826 100644 --- a/src/main/java/owl/thirdparty/jhoafparser/owl/extensions/HOAFParserFixed.java +++ b/src/main/java/owl/thirdparty/jhoafparser/owl/extensions/HOAFParserFixed.java @@ -46,9 +46,10 @@ * Note that the parser is non-reentrant, i.e., it is * not possible to parse two streams at the same time! */ -@SuppressWarnings("PMD") -public class HOAFParserFixed -{ +public class HOAFParserFixed { + + private static final Object LOCK = new Object(); + /** * Entry point for parsing a stream of automata in HOA format. *
Note: this parser is non-reentrant, i.e., it is @@ -59,6 +60,8 @@ public class HOAFParserFixed * that receive the notifications about the parsed elements from the parser */ public static void parseHOA(Reader str, HOAConsumerFactory userFactory) throws ParseException { - HOAFParserCCFixed.parseHOA(str, userFactory, null); + synchronized (LOCK) { + HOAFParserCCFixed.parseHOA(str, userFactory, null); + } } } diff --git a/src/main/java/owl/translations/LtlTranslationRepository.java b/src/main/java/owl/translations/LtlTranslationRepository.java index d46f50f9..72496b26 100644 --- a/src/main/java/owl/translations/LtlTranslationRepository.java +++ b/src/main/java/owl/translations/LtlTranslationRepository.java @@ -54,6 +54,7 @@ import owl.ltl.LabelledFormula; import owl.ltl.rewriter.SimplifierRepository; import owl.translations.canonical.DeterministicConstructionsPortfolio; +import owl.translations.canonical.DeterministicConstructionsPortfolio.MinimalDeterministicConstructionsPortfolio; import owl.translations.canonical.NonDeterministicConstructionsPortfolio; import owl.translations.delag.DelagBuilder; import owl.translations.ltl2dela.NormalformDELAConstruction; @@ -299,6 +300,12 @@ public enum Option { @CEnumConstant("OWL_USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS") USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS, + /** + * Use SAT-based minimisation of tDBW and tDCW. + */ + @CEnumConstant("OWL_USE_SAT_BASED_DBW_DCW_MINIMIZATION") + USE_SAT_BASED_DBW_DCW_MINIMIZATION, + /** * Ensures that the transition relation of the automaton is complete. */ @@ -320,6 +327,7 @@ public enum Option { public static Set
- implements Function>> { + implements Function>> { final Class acceptanceBound; diff --git a/src/main/java/owl/translations/canonical/DeterministicConstructions.java b/src/main/java/owl/translations/canonical/DeterministicConstructions.java index f7669949..c76135ad 100644 --- a/src/main/java/owl/translations/canonical/DeterministicConstructions.java +++ b/src/main/java/owl/translations/canonical/DeterministicConstructions.java @@ -501,6 +501,12 @@ public static CoSafetySafety of(Factories factories, Formula formula, boolean co return new CoSafetySafety(factories, initialState, suspensionCheck, complete); } + public static CoSafetySafety of(LabelledFormula formula) { + return of( + FactorySupplier.defaultSupplier().getFactories(formula.atomicPropositions()), + formula.formula()); + } + @Override public MtBdd> edgeTreeImpl(BreakpointStateAccepting state) { diff --git a/src/main/java/owl/translations/canonical/DeterministicConstructionsPortfolio.java b/src/main/java/owl/translations/canonical/DeterministicConstructionsPortfolio.java index cd2115cb..d32bdd39 100644 --- a/src/main/java/owl/translations/canonical/DeterministicConstructionsPortfolio.java +++ b/src/main/java/owl/translations/canonical/DeterministicConstructionsPortfolio.java @@ -19,13 +19,10 @@ package owl.translations.canonical; -import static owl.translations.canonical.DeterministicConstructions.BreakpointStateAcceptingRoundRobin; -import static owl.translations.canonical.DeterministicConstructions.BreakpointStateRejectingRoundRobin; import static owl.translations.canonical.DeterministicConstructions.CoSafety; -import static owl.translations.canonical.DeterministicConstructions.CoSafetySafetyRoundRobin; import static owl.translations.canonical.DeterministicConstructions.GfCoSafety; import static owl.translations.canonical.DeterministicConstructions.Safety; -import static owl.translations.canonical.DeterministicConstructions.SafetyCoSafetyRoundRobin; +import static owl.translations.canonical.DeterministicConstructions.SafetyCoSafety; import java.util.Optional; import java.util.Set; @@ -37,6 +34,8 @@ import owl.automaton.acceptance.EmersonLeiAcceptance; import owl.automaton.acceptance.GeneralizedBuchiAcceptance; import owl.automaton.acceptance.GeneralizedCoBuchiAcceptance; +import owl.automaton.minimization.DbwMinimization; +import owl.automaton.minimization.DcwMinimization; import owl.bdd.FactorySupplier; import owl.ltl.Conjunction; import owl.ltl.Disjunction; @@ -45,51 +44,75 @@ import owl.ltl.LabelledFormula; import owl.ltl.SyntacticFragments; import owl.ltl.XOperator; +import owl.translations.canonical.DeterministicConstructions.BreakpointStateAccepting; +import owl.translations.canonical.DeterministicConstructions.BreakpointStateRejecting; +import owl.translations.canonical.DeterministicConstructions.CoSafetySafety; public final class DeterministicConstructionsPortfolio - extends AbstractPortfolio { + extends AbstractPortfolio { public DeterministicConstructionsPortfolio(Class acceptanceBound) { super(acceptanceBound); } + public static final class MinimalDeterministicConstructionsPortfolio + extends AbstractPortfolio { + + public MinimalDeterministicConstructionsPortfolio(Class acceptanceBound) { + super(acceptanceBound); + } + + @Override + public Optional> apply(LabelledFormula formula) { + if (isAllowed(CoBuchiAcceptance.class) && SyntacticFragments.SIGMA_2.contains(formula)) { + return box(DcwMinimization.minimize(CoSafetySafety.of(formula))); + } + + if (isAllowed(BuchiAcceptance.class) && SyntacticFragments.PI_2.contains(formula)) { + return box(DbwMinimization.minimize(SafetyCoSafety.of(formula))); + } + + return Optional.empty(); + } + } + @Override public Optional> apply(LabelledFormula formula) { if (isAllowed(AllAcceptance.class) - && SyntacticFragments.isSafety(formula.formula())) { + && SyntacticFragments.isSafety(formula.formula())) { return box(safety(formula)); } if (isAllowed(BuchiAcceptance.class) - && SyntacticFragments.isCoSafety(formula.formula())) { + && SyntacticFragments.isCoSafety(formula.formula())) { return box(coSafety(formula)); } var formulas = formula.formula() instanceof Conjunction - ? formula.formula().operands - : Set.of(formula.formula()); + ? formula.formula().operands + : Set.of(formula.formula()); if (isAllowed(GeneralizedBuchiAcceptance.class) - && formulas.stream().allMatch(SyntacticFragments::isGfCoSafety)) { + && formulas.stream().allMatch(SyntacticFragments::isGfCoSafety)) { return box(gfCoSafety(formula, true)); } if (isAllowed(BuchiAcceptance.class) - && formulas.stream().allMatch(SyntacticFragments::isGfCoSafety)) { + && formulas.stream().allMatch(SyntacticFragments::isGfCoSafety)) { return box(gfCoSafety(formula, false)); } formulas = formula.formula() instanceof Disjunction - ? formula.formula().operands - : Set.of(formula.formula()); + ? formula.formula().operands + : Set.of(formula.formula()); if (isAllowed(GeneralizedCoBuchiAcceptance.class) - && formulas.stream().allMatch(SyntacticFragments::isFgSafety)) { + && formulas.stream().allMatch(SyntacticFragments::isFgSafety)) { return box(fgSafety(formula, true)); } if (isAllowed(CoBuchiAcceptance.class) - && formulas.stream().allMatch(SyntacticFragments::isFgSafety)) { + && formulas.stream().allMatch(SyntacticFragments::isFgSafety)) { return box(fgSafety(formula, false)); } @@ -104,18 +127,18 @@ public DeterministicConstructionsPortfolio(Class acceptanceBound) { var xCountFinal = xCount; return apply(formula.wrap(unwrappedFormula)) - .map(x -> GenericConstructions.delay(x, xCountFinal)); + .map(x -> GenericConstructions.delay(x, xCountFinal)); } if (isAllowed(CoBuchiAcceptance.class) - && formula.formula() instanceof Formula.TemporalOperator - && SyntacticFragments.isCoSafetySafety(formula.formula())) { + && formula.formula() instanceof Formula.TemporalOperator + && SyntacticFragments.isCoSafetySafety(formula.formula())) { return box(coSafetySafety(formula)); } if (isAllowed(BuchiAcceptance.class) - && formula.formula() instanceof Formula.TemporalOperator - && SyntacticFragments.isSafetyCoSafety(formula.formula())) { + && formula.formula() instanceof Formula.TemporalOperator + && SyntacticFragments.isSafetyCoSafety(formula.formula())) { return box(safetyCoSafety(formula)); } @@ -133,28 +156,28 @@ public static Automaton coSafety(LabelledForm } public static Automaton, GeneralizedBuchiAcceptance> - gfCoSafety(LabelledFormula formula, boolean generalized) { + gfCoSafety(LabelledFormula formula, boolean generalized) { var factories = FactorySupplier.defaultSupplier().getFactories(formula.atomicPropositions()); var formulas = formula.formula() instanceof Conjunction - ? Set.copyOf(formula.formula().operands) - : Set.of(formula.formula()); + ? Set.copyOf(formula.formula().operands) + : Set.of(formula.formula()); return GfCoSafety.of(factories, formulas, generalized); } public static Automaton, ? extends GeneralizedCoBuchiAcceptance> - fgSafety(LabelledFormula formula, boolean generalized) { + fgSafety(LabelledFormula formula, boolean generalized) { var automaton = gfCoSafety(formula.not(), generalized); return BooleanOperations - .deterministicComplementOfCompleteAutomaton(automaton, GeneralizedCoBuchiAcceptance.class); + .deterministicComplementOfCompleteAutomaton(automaton, GeneralizedCoBuchiAcceptance.class); } - public static Automaton - coSafetySafety(LabelledFormula formula) { - return CoSafetySafetyRoundRobin.of(formula); + public static Automaton + coSafetySafety(LabelledFormula formula) { + return CoSafetySafety.of(formula); } - public static Automaton - safetyCoSafety(LabelledFormula formula) { - return SafetyCoSafetyRoundRobin.of(formula); + public static Automaton + safetyCoSafety(LabelledFormula formula) { + return SafetyCoSafety.of(formula); } } diff --git a/src/main/java/owl/translations/delag/DelagBuilder.java b/src/main/java/owl/translations/delag/DelagBuilder.java index a8377abc..ce6dfc6d 100644 --- a/src/main/java/owl/translations/delag/DelagBuilder.java +++ b/src/main/java/owl/translations/delag/DelagBuilder.java @@ -68,7 +68,7 @@ public Automaton, EmersonLeiAcceptance> apply(LabelledFormula inp DependencyTreeFactory treeConverter = new DependencyTreeFactory<>( FactorySupplier.defaultSupplier().getEquivalenceClassFactory(atomicPropositions), - x -> Views.dropStateLabels(fallback.apply(x))); + x -> Views.dropStateLabels(fallback.apply(x)).automaton()); DependencyTree tree = formula.formula().accept(treeConverter); var expression = tree.getAcceptanceExpression(); diff --git a/src/main/java/owl/translations/ltl2dra/NormalformDRAConstruction.java b/src/main/java/owl/translations/ltl2dra/NormalformDRAConstruction.java index 7f55f5ef..957a2cdd 100644 --- a/src/main/java/owl/translations/ltl2dra/NormalformDRAConstruction.java +++ b/src/main/java/owl/translations/ltl2dra/NormalformDRAConstruction.java @@ -21,158 +21,95 @@ import java.util.ArrayList; import java.util.List; -import java.util.Map; import java.util.function.Function; -import java.util.function.Predicate; import owl.automaton.Automaton; import owl.automaton.BooleanOperations; import owl.automaton.EmptyAutomaton; import owl.automaton.HashMapAutomaton; +import owl.automaton.Views; import owl.automaton.acceptance.AllAcceptance; import owl.automaton.acceptance.BuchiAcceptance; import owl.automaton.acceptance.CoBuchiAcceptance; -import owl.automaton.acceptance.GeneralizedBuchiAcceptance; -import owl.automaton.acceptance.GeneralizedCoBuchiAcceptance; -import owl.automaton.acceptance.GeneralizedRabinAcceptance; import owl.automaton.acceptance.OmegaAcceptanceCast; +import owl.automaton.acceptance.RabinAcceptance; import owl.automaton.acceptance.optimization.AcceptanceOptimizations; +import owl.automaton.minimization.DbwMinimization; +import owl.automaton.minimization.DcwMinimization; import owl.collections.Pair; -import owl.ltl.BooleanConstant; -import owl.ltl.EquivalenceClass; import owl.ltl.LabelledFormula; -import owl.translations.canonical.DeterministicConstructions; import owl.translations.canonical.DeterministicConstructionsPortfolio; -public final class NormalformDRAConstruction - extends AbstractNormalformDRAConstruction - implements Function> { +public final class NormalformDRAConstruction + extends AbstractNormalformDRAConstruction + implements Function> { - private final Class acceptanceClass; - - private final DeterministicConstructionsPortfolio - pi2Portfolio; + private final DeterministicConstructionsPortfolio + pi2Portfolio; private final DeterministicConstructionsPortfolio - sigma2Portfolio; - private final DeterministicConstructionsPortfolio - sigma2GeneralizedPortfolio; + sigma2Portfolio; + private final boolean minimize; - private NormalformDRAConstruction(Class acceptanceClass, boolean useDualConstruction) { + private NormalformDRAConstruction(boolean useDualConstruction, boolean minimize) { super(useDualConstruction); - this.acceptanceClass = acceptanceClass; - - var buchiAcceptance = acceptanceClass.equals(GeneralizedRabinAcceptance.class) - ? GeneralizedBuchiAcceptance.class - : BuchiAcceptance.class; - this.pi2Portfolio - = new DeterministicConstructionsPortfolio<>(buchiAcceptance); + = new DeterministicConstructionsPortfolio<>(BuchiAcceptance.class); this.sigma2Portfolio - = new DeterministicConstructionsPortfolio<>(CoBuchiAcceptance.class); - this.sigma2GeneralizedPortfolio - = new DeterministicConstructionsPortfolio<>(GeneralizedCoBuchiAcceptance.class); + = new DeterministicConstructionsPortfolio<>(CoBuchiAcceptance.class); + this.minimize = minimize; } - public static NormalformDRAConstruction - of(Class acceptanceClass, boolean dualConstruction) { - return new NormalformDRAConstruction<>(acceptanceClass, dualConstruction); + public static NormalformDRAConstruction of(boolean dualConstruction, boolean minimize) { + return new NormalformDRAConstruction(dualConstruction, minimize); } @Override - public Automaton apply(LabelledFormula formula) { + public Automaton apply(LabelledFormula formula) { // Ensure that the input formula is in negation normal form. var nnfFormula = formula.nnf(); - List> automata = new ArrayList<>(); + List, ? extends RabinAcceptance>> automata = new ArrayList<>(); for (Sigma2Pi2Pair disjunct : group(nnfFormula)) { - if (disjunct.pi2().formula().equals(BooleanConstant.TRUE)) { - Automaton sigma2Automaton - = sigma2GeneralizedPortfolio.apply(disjunct.sigma2()).orElse(null); - - if (sigma2Automaton == null) { - sigma2Automaton = DeterministicConstructionsPortfolio.coSafetySafety(disjunct.sigma2()); - } - - automata.add(OmegaAcceptanceCast.cast((Automaton) sigma2Automaton, acceptanceClass)); - } else { - Automaton sigma2Automaton - = sigma2Portfolio.apply(disjunct.sigma2()).orElse(null); - - if (sigma2Automaton == null) { - sigma2Automaton = DeterministicConstructionsPortfolio.coSafetySafety(disjunct.sigma2()); - } - - Automaton pi2Automaton - = pi2Portfolio.apply(disjunct.pi2()).orElse(null); - - if (pi2Automaton == null) { - pi2Automaton = DeterministicConstructionsPortfolio.safetyCoSafety(disjunct.pi2()); - } - - automata.add(OmegaAcceptanceCast.cast( - (Automaton) BooleanOperations.intersection(sigma2Automaton, pi2Automaton), - acceptanceClass)); - } + var sigma2Automaton = OmegaAcceptanceCast.castExact( + sigma2Portfolio.apply(disjunct.sigma2()).orElseGet( + () -> DeterministicConstructionsPortfolio.coSafetySafety(disjunct.sigma2())), + CoBuchiAcceptance.class); + + var normalisedSigma2Automaton = HashMapAutomaton.copyOf(minimize + ? DcwMinimization.minimize(sigma2Automaton) + : Views.dropStateLabels(sigma2Automaton).automaton()); + + var pi2Automaton = OmegaAcceptanceCast.castExact( + pi2Portfolio.apply(disjunct.pi2()) + .orElseGet(() -> DeterministicConstructionsPortfolio.safetyCoSafety(disjunct.pi2())), + BuchiAcceptance.class); + + var normalisedPi2Automaton = HashMapAutomaton.copyOf(minimize + ? DbwMinimization.minimize(pi2Automaton) + : Views.dropStateLabels(pi2Automaton).automaton()); + + // AcceptanceOptimizations.removeDeadStates(normalisedSigma2Automaton); + // AcceptanceOptimizations.removeDeadStates(normalisedPi2Automaton); + + automata.add(OmegaAcceptanceCast.cast( + BooleanOperations.intersection(normalisedSigma2Automaton, normalisedPi2Automaton), + RabinAcceptance.class)); } if (automata.isEmpty()) { - return OmegaAcceptanceCast.cast( - EmptyAutomaton.of(nnfFormula.atomicPropositions(), AllAcceptance.INSTANCE), - acceptanceClass); + return OmegaAcceptanceCast.castExact( + EmptyAutomaton.of(nnfFormula.atomicPropositions(), AllAcceptance.INSTANCE), + RabinAcceptance.class); } var automaton = HashMapAutomaton.copyOf( - OmegaAcceptanceCast.cast(BooleanOperations.deterministicUnion(automata), acceptanceClass)); - - // Collapse accepting sinks. - Predicate> isAcceptingSink = state -> - state.values().stream().anyMatch(NormalformDRAConstruction::isUniverse); - - var acceptingSink = automaton.states().stream().filter(isAcceptingSink).findAny(); - - if (acceptingSink.isPresent()) { - automaton.updateEdges((state, oldEdge) -> { - if (isAcceptingSink.test(oldEdge.successor())) { - return oldEdge.withSuccessor(acceptingSink.get()); - } - - return oldEdge; - }); - - automaton.trim(); - } + OmegaAcceptanceCast.castExact( + BooleanOperations.deterministicUnion(automata), + RabinAcceptance.class)); AcceptanceOptimizations.removeDeadStates(automaton); AcceptanceOptimizations.transform(automaton); - return OmegaAcceptanceCast.cast(automaton, acceptanceClass); - } - - private static boolean isUniverse(Object state) { - if (state instanceof Pair pair) { - return isUniverse(pair.fst()) && isUniverse(pair.snd()); - } - - if (state instanceof EquivalenceClass) { - return ((EquivalenceClass) state).isTrue(); - } - - if (state instanceof DeterministicConstructions.BreakpointStateAccepting) { - return ((DeterministicConstructions.BreakpointStateAccepting) state).all().isTrue(); - } - - if (state instanceof DeterministicConstructions.BreakpointStateRejecting) { - return ((DeterministicConstructions.BreakpointStateRejecting) state).all().isTrue(); - } - - if (state instanceof DeterministicConstructions.BreakpointStateAcceptingRoundRobin) { - return ((DeterministicConstructions.BreakpointStateAcceptingRoundRobin) state).all().isTrue(); - } - - if (state instanceof DeterministicConstructions.BreakpointStateRejectingRoundRobin) { - return ((DeterministicConstructions.BreakpointStateRejectingRoundRobin) state).all().isTrue(); - } - - return false; + return automaton; } } diff --git a/src/main/java/owl/translations/ltl2ldba/SymmetricLDBAConstruction.java b/src/main/java/owl/translations/ltl2ldba/SymmetricLDBAConstruction.java index 0ebcd5eb..5128ad78 100644 --- a/src/main/java/owl/translations/ltl2ldba/SymmetricLDBAConstruction.java +++ b/src/main/java/owl/translations/ltl2ldba/SymmetricLDBAConstruction.java @@ -119,7 +119,7 @@ Set>> apply(LabelledFormula input) { var dnf = Collections3.transformSet(NormalForms .toDnf(formula.formula(), NormalForms.SYNTHETIC_CO_SAFETY_LITERAL), Conjunction::of); - var groupedDnf = Collections3.partition(dnf, SymmetricLDBAConstruction::groupInDnf); + var groupedDnf = Collections3.equivalenceClasses(dnf, SymmetricLDBAConstruction::groupInDnf, false); groupedDnf.forEach(x -> initialFormulas.add(Disjunction.of(x))); initialFormulas.sort(null); diff --git a/src/main/java/owl/translations/mastertheorem/Normalisation.java b/src/main/java/owl/translations/mastertheorem/Normalisation.java index c1ace374..5e4fb7ba 100644 --- a/src/main/java/owl/translations/mastertheorem/Normalisation.java +++ b/src/main/java/owl/translations/mastertheorem/Normalisation.java @@ -145,7 +145,6 @@ public Formula visit(Formula.TemporalOperator temporalOperator) { return temporalOperator; } - var disjuncts = new ArrayList(); AbstractSelector selector = method == SE20_PI_2_AND_FG_PI_1 diff --git a/src/main/java/owl/translations/nbadet/NbaDetConf.java b/src/main/java/owl/translations/nbadet/NbaDetConf.java index 347fc9bc..5e075572 100644 --- a/src/main/java/owl/translations/nbadet/NbaDetConf.java +++ b/src/main/java/owl/translations/nbadet/NbaDetConf.java @@ -31,18 +31,20 @@ import owl.automaton.Automaton; import owl.automaton.acceptance.BuchiAcceptance; import owl.automaton.algorithm.SccDecomposition; +import owl.automaton.edge.Edge; import owl.collections.BitSet2; import owl.collections.Numbering; import owl.collections.Pair; import owl.command.AutomatonConversionCommands; /** - * This is the structure containing all required information that is used in the - * determinization process and is obtained based on an NbaDetArgs instance. + * This is the structure containing all required information that is used in the determinization + * process and is obtained based on an NbaDetArgs instance. */ @AutoValue public abstract class NbaDetConf { - public enum UpdateMode { MUELLER_SCHUPP, SAFRA, MAX_MERGE } + + public enum UpdateMode {MUELLER_SCHUPP, SAFRA, MAX_MERGE} private static final Logger logger = Logger.getLogger(NbaDet.class.getName()); @@ -64,18 +66,18 @@ public enum UpdateMode { MUELLER_SCHUPP, SAFRA, MAX_MERGE } //modded version with different update mode public NbaDetConf withUpdateMode(UpdateMode mode) { return new AutoValue_NbaDetConf<>( - new AutomatonConversionCommands.Nba2DpaCommand(args(), mode), + new AutomatonConversionCommands.Nba2DpaCommand(args(), mode), aut(), accSinks(), extMask(), intMask(), sets()); } - public static Set> filterInternalIncl( - Set> incl, SccDecomposition scci) { + public static Set> filterInternalIncl( + Set> incl, SccDecomposition scci) { return incl.stream() - .filter(p -> !p.fst().equals(p.snd()) // not equal, but in same SCC + .filter(p -> !p.fst().equals(p.snd()) // not equal, but in same SCC && scci.index(p.fst()) == scci.index(p.snd())) - .collect(Collectors.toUnmodifiableSet()); + .collect(Collectors.toUnmodifiableSet()); //NOTE: in principle, this can be made slightly more general, by keeping pairs p <= q if //both same SCC || (different SCCs in same comp. && every path from q to p stays in that comp.) @@ -86,27 +88,28 @@ public static Set> filterInternalIncl( } public static Set> filterExternalIncl( - Set> incl, - SccDecomposition scci, - Numbering stm) { + Set> incl, + SccDecomposition scci, + Numbering stm) { //can only use a < b if b -/> a var inclFilt = incl.stream() - .filter(p -> !scci.pathExists(p.snd(), p.fst())) - .collect(Collectors.toSet()); + .filter(p -> !scci.pathExists(p.snd(), p.fst())) + .collect(Collectors.toSet()); //need to collapse remaining usable incl. to strict partial order and break symmetry inside //eq. classes for this, compute SCCs in graph induced by relation, each SCC is an eq. class - var leq = new HashMap>(); + var leq = new HashMap>>(); for (var p : inclFilt) { if (!leq.containsKey(p.fst())) { leq.put(p.fst(), new HashSet<>()); } - leq.get(p.fst()).add(p.snd()); + leq.get(p.fst()).add(Edge.of(p.snd())); } var eqClass = new HashMap(); int i = 0; - for (var eqcl : SccDecomposition.of(leq.keySet(), x -> leq.getOrDefault(x, Set.of())).sccs()) { + for (var eqcl : SccDecomposition.of(leq.keySet(), x -> leq.getOrDefault(x, Set.of())) + .sccs()) { for (var st : eqcl) { eqClass.put(st, i); } @@ -115,22 +118,23 @@ public static Set> filterExternalIncl( //exclude equivalences (keep one-sided relation, and without reflexive pairs) return inclFilt.stream() - .filter(p -> !eqClass.get(p.fst()).equals(eqClass.get(p.snd())) - || stm.lookup(p.fst()) < stm.lookup(p.snd())) - .collect(Collectors.toUnmodifiableSet()); + .filter(p -> !eqClass.get(p.fst()).equals(eqClass.get(p.snd())) + || stm.lookup(p.fst()) < stm.lookup(p.snd())) + .collect(Collectors.toUnmodifiableSet()); } /** - * construct the structure containing all required information and that will be - * passed around as information store a lot. - * @param automaton state type - * @param aut input NBA + * construct the structure containing all required information and that will be passed around as + * information store a lot. + * + * @param automaton state type + * @param aut input NBA * @param incl known language inclusions in input NBA * @param args the configuration */ public static NbaDetConf prepare( Automaton aut, - Set> incl, + Set> incl, AutomatonConversionCommands.Nba2DpaCommand args) { //compute SCCs @@ -161,14 +165,14 @@ public static NbaDetConf prepare( NbaAdjMat adjMat = new NbaAdjMat<>(aut, stateMap, aSinks, extMask); NbaDetConf ret = new AutoValue_NbaDetConf<>( - args, adjMat, aSinksBS, extMask, intMask, sccSets); + args, adjMat, aSinksBS, extMask, intMask, sccSets); if (logger.getLevel() != null) { if (logger.getLevel().equals(Level.FINER)) { logger.log(Level.FINER, ret.toString()); } else if (logger.getLevel().equals(Level.FINEST)) { logger.log(Level.FINEST, "NBA adj. mat. - state -> (accSucc, rejSucc)\n" - + adjMat); + + adjMat); } } @@ -180,14 +184,14 @@ public String toString() { IntFunction inv = aut().stateMap()::lookup; var sb = new StringBuilder(200); sb.append("assembled NBA determinization configuration:") - .append("\nstate to bit mapping: ") - .append(aut().stateMap().asMap()) - .append("\ndetected accepting pseudo-sinks: ") - .append(BitSet2.asSet(accSinks(), inv)) - .append("\nused external language inclusions:\n").append(extMask().toString(inv)) - .append("used internal language inclusions:\n").append(intMask().toString(inv)) - .append("determinization components:") - .append("\nrScc(s): ").append(BitSet2.asSet(sets().rsccStates(), inv)); + .append("\nstate to bit mapping: ") + .append(aut().stateMap().asMap()) + .append("\ndetected accepting pseudo-sinks: ") + .append(BitSet2.asSet(accSinks(), inv)) + .append("\nused external language inclusions:\n").append(extMask().toString(inv)) + .append("used internal language inclusions:\n").append(intMask().toString(inv)) + .append("determinization components:") + .append("\nrScc(s): ").append(BitSet2.asSet(sets().rsccStates(), inv)); sets().asccsStates().forEach(s -> sb.append("\naScc: ").append(BitSet2.asSet(s, inv))); sets().dsccsStates().forEach(s -> sb.append("\ndScc: ").append(BitSet2.asSet(s, inv))); sets().msccsStates().forEach(s -> sb.append("\nmScc: ").append(BitSet2.asSet(s, inv))); diff --git a/src/main/java/owl/util/Verify.java b/src/main/java/owl/util/Verify.java new file mode 100644 index 00000000..425c0cc0 --- /dev/null +++ b/src/main/java/owl/util/Verify.java @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2016 - 2021 (See AUTHORS) + * + * This file is part of Owl. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 . + */ + +package owl.util; + +public final class Verify { + + private Verify() {} + + public static Error shouldNotReach() { + return new AssertionError("should not reach."); + } +} diff --git a/src/test/java/owl/automaton/acceptance/AcdTest.java b/src/test/java/owl/automaton/acceptance/AcdTest.java index 2d0bda2d..d0f87125 100644 --- a/src/test/java/owl/automaton/acceptance/AcdTest.java +++ b/src/test/java/owl/automaton/acceptance/AcdTest.java @@ -62,7 +62,7 @@ public class AcdTest { void testLtl() { // DBW-recognisable. var drw1 - = Views.dropStateLabels(LTL_TO_DRW.apply(LtlParser.parse("G F a | G F b | X X c"))); + = Views.dropStateLabels(LTL_TO_DRW.apply(LtlParser.parse("G F a | G F b | X X c"))).automaton(); var drw1Acd = AlternatingCycleDecomposition.of(drw1); var dpw1 = ZielonkaTreeTransformations.transform(drw1); @@ -72,7 +72,7 @@ void testLtl() { // DBW-recognisable. var drw2 = Views.dropStateLabels(LTL_TO_DRW.apply( - LtlParser.parse("!(F G a | F b | X X c & F G (b | X X d))"))); + LtlParser.parse("!(F G a | F b | X X c & F G (b | X X d))"))).automaton(); var drw2Acd = AlternatingCycleDecomposition.of(drw2); var dpw2 @@ -99,7 +99,7 @@ void testLtl2() { // DBW-recognisable. var dela1 = Views.dropStateLabels(LTL_TO_DELW.apply(LtlParser.parse( - "F G c & G F a | G F b | X X c & F G (a U b) & a M (a W b) | G (X X a)"))); + "F G c & G F a | G F b | X X c & F G (a U b) & a M (a W b) | G (X X a)"))).automaton(); var dpw1 = ZielonkaTreeTransformations.transform(dela1); assertTrue(LanguageContainment.contains(dela1, dpw1)); diff --git a/src/test/java/owl/automaton/algorithm/SccDecompositionTest.java b/src/test/java/owl/automaton/algorithm/SccDecompositionTest.java index 1dedc028..a6ad8809 100644 --- a/src/test/java/owl/automaton/algorithm/SccDecompositionTest.java +++ b/src/test/java/owl/automaton/algorithm/SccDecompositionTest.java @@ -31,7 +31,8 @@ import java.util.function.Predicate; import javax.annotation.Nullable; import org.junit.jupiter.api.Test; -import owl.automaton.SuccessorFunction; +import owl.automaton.EdgeRelation; +import owl.automaton.edge.Edge; class SccDecompositionTest { @@ -43,7 +44,7 @@ class SccDecompositionTest { throw new IllegalArgumentException(); }; - private static final SuccessorFunction FUNCTION_ASSERT_NOT_CALLED = x -> { + private static final EdgeRelation FUNCTION_ASSERT_NOT_CALLED = x -> { throw new IllegalArgumentException(); }; @@ -53,9 +54,9 @@ void testEmptyGraph() { assertFalse(decomposition.anyMatch(PREDICATE_ASSERT_NOT_CALLED)); checkConsistency(decomposition, - Set.of(), - INT_PREDICATE_ASSERT_NOT_CALLED, - INT_PREDICATE_ASSERT_NOT_CALLED); + Set.of(), + INT_PREDICATE_ASSERT_NOT_CALLED, + INT_PREDICATE_ASSERT_NOT_CALLED); } @Test @@ -68,33 +69,33 @@ void testSingletonGraph() { @Test void testSingletonGraphTwo() { - var decomposition = SccDecomposition.of(Set.of(0), x -> Set.of(0)); + var decomposition = SccDecomposition.of(Set.of(0), x -> Set.of(Edge.of(0))); checkConsistency(decomposition, Set.of(0), x -> true, x -> false); } @Test void testGraph() { var decomposition = SccDecomposition.of(Set.of(3, 6), x -> switch (x) { - case 6 -> Set.of(4, 5); - case 5 -> Set.of(5); - case 4 -> Set.of(3, 4); - case 3 -> Set.of(0, 1, 2); - case 2 -> Set.of(0, 1, 3); - case 1 -> Set.of(1, 2, 3); + case 6 -> Set.of(Edge.of(4), Edge.of(5)); + case 5 -> Set.of(Edge.of(5)); + case 4 -> Set.of(Edge.of(3), Edge.of(4)); + case 3 -> Set.of(Edge.of(0), Edge.of(1), Edge.of(2)); + case 2 -> Set.of(Edge.of(0), Edge.of(1), Edge.of(3)); + case 1 -> Set.of(Edge.of(1), Edge.of(2), Edge.of(3)); default -> Set.of(); }); checkConsistency(decomposition, - Set.of(0, 1, 2, 3, 4, 5, 6), - x -> decomposition.sccs().get(x).contains(0) || decomposition.sccs().get(x).contains(5), - x -> decomposition.sccs().get(x).contains(0) || decomposition.sccs().get(x).contains(6)); + Set.of(0, 1, 2, 3, 4, 5, 6), + x -> decomposition.sccs().get(x).contains(0) || decomposition.sccs().get(x).contains(5), + x -> decomposition.sccs().get(x).contains(0) || decomposition.sccs().get(x).contains(6)); } private static void checkConsistency( - SccDecomposition decomposition, - @Nullable Set expectedStates, - @Nullable IntPredicate expectedBottomSccs, - @Nullable IntPredicate expectedTransientSccs) { + SccDecomposition decomposition, + @Nullable Set expectedStates, + @Nullable IntPredicate expectedBottomSccs, + @Nullable IntPredicate expectedTransientSccs) { testSccs(decomposition, expectedStates); testIndex(decomposition); @@ -104,8 +105,8 @@ private static void checkConsistency( } private static void testSccs( - SccDecomposition decomposition, - @Nullable Set expectedStates) { + SccDecomposition decomposition, + @Nullable Set expectedStates) { var states = new HashSet(); var sccs = decomposition.sccs(); @@ -153,9 +154,9 @@ private static void testCondensation(SccDecomposition decomposition) { boolean finished = false; for (S from : decomposition.sccs().get(i)) { - var succesors = decomposition.successorFunction().apply(from); + var successors = decomposition.successorFunction().successors(from); - if (!Collections.disjoint(decomposition.sccs().get(j), succesors)) { + if (!Collections.disjoint(decomposition.sccs().get(j), successors)) { finished = true; break; } @@ -167,10 +168,10 @@ private static void testCondensation(SccDecomposition decomposition) { } else { for (S from : decomposition.sccs().get(i)) { assertTrue( - Collections.disjoint( - decomposition.sccs().get(j), - decomposition.successorFunction().apply(from)), - "Edge found."); + Collections.disjoint( + decomposition.sccs().get(j), + decomposition.successorFunction().successors(from)), + "Edge found."); } } } @@ -178,7 +179,7 @@ private static void testCondensation(SccDecomposition decomposition) { } private static void testBottomSccs( - SccDecomposition decomposition, @Nullable IntPredicate expectedBottomSccs) { + SccDecomposition decomposition, @Nullable IntPredicate expectedBottomSccs) { int n = decomposition.sccs().size(); var bottomSccs = decomposition.bottomSccs(); @@ -198,7 +199,7 @@ private static void testBottomSccs( } private static void testTransientSccs( - SccDecomposition decomposition, @Nullable IntPredicate expectedTransientSccs) { + SccDecomposition decomposition, @Nullable IntPredicate expectedTransientSccs) { int n = decomposition.sccs().size(); var transientSccs = decomposition.transientSccs(); diff --git a/src/test/java/owl/automaton/minimization/DcwMinimizationOld.java b/src/test/java/owl/automaton/minimization/DcwMinimizationOld.java new file mode 100644 index 00000000..3c3fa9bb --- /dev/null +++ b/src/test/java/owl/automaton/minimization/DcwMinimizationOld.java @@ -0,0 +1,498 @@ +/* + * Copyright (C) 2016 - 2021 (See AUTHORS) + * + * This file is part of Owl. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 . + */ + +package owl.automaton.minimization; + +import com.google.common.base.Preconditions; +import com.google.common.graph.GraphBuilder; +import com.google.common.graph.Graphs; +import com.google.common.graph.MutableGraph; +import java.util.ArrayList; +import java.util.BitSet; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import javax.annotation.Nullable; +import owl.automaton.AbstractMemoizingAutomaton; +import owl.automaton.Automaton; +import owl.automaton.Views; +import owl.automaton.acceptance.CoBuchiAcceptance; +import owl.automaton.algorithm.LanguageContainment; +import owl.automaton.determinization.Determinization; +import owl.automaton.edge.Edge; +import owl.automaton.minimization.GfgNcwMinimization.CanonicalGfgNcw; +import owl.bdd.BddSet; +import owl.bdd.BddSetFactory; +import owl.bdd.MtBdd; +import owl.bdd.MtBddOperations; +import owl.collections.BitSet2; +import owl.collections.Collections3; +import owl.collections.ImmutableBitSet; +import owl.logic.propositional.sat.Solver; + +public final class DcwMinimizationOld { + + private DcwMinimizationOld() {} + + public static Optional> minimalDcwForLanguage( + Automaton ncw) { + + if (ncw.is(Automaton.Property.DETERMINISTIC)) { + return minimizeDcw(ncw); + } + + return minimizeDcw(Determinization.determinizeCoBuchiAcceptance(ncw)); + } + + public static Optional> minimizeDcw( + Automaton dcw) { + + var completeDcw = Views.completeCoBuchi(dcw); + return minimizeCompleteDcw(Views.dropStateLabels(completeDcw).automaton()).minimalDcw; + } + + public static class Result { + + public final Optional> minimalDcw; + public final AbstractMemoizingAutomaton minimalGfgNcw; + + private Result( + AbstractMemoizingAutomaton minimalGfgNcw, + @Nullable AbstractMemoizingAutomaton minimalDcw) { + + Preconditions.checkArgument(minimalDcw == null || minimalDcw.is(Automaton.Property.COMPLETE)); + Preconditions.checkArgument(minimalDcw == null || minimalDcw.is(Automaton.Property.DETERMINISTIC)); + Preconditions.checkArgument(minimalGfgNcw.is(Automaton.Property.COMPLETE)); + + this.minimalDcw = Optional.ofNullable(minimalDcw); + this.minimalGfgNcw = Objects.requireNonNull(minimalGfgNcw); + } + + public boolean isGfgHelpful() { + return minimalDcw.isEmpty() + || minimalGfgNcw.states().size() < minimalDcw.get().states().size(); + } + + } + + public static Result minimizeCompleteDcw( + Automaton completeDcw) { + + return minimizeCompleteDcw(completeDcw, false, true); + } + + public static Result minimizeCompleteDcw( + Automaton completeDcw, boolean useEnterOptimisation, boolean useSubsafeEquivalentMaximal) { + + CanonicalGfgNcw minimalGfgNcwWithLanguageEquivalence + = GfgNcwMinimization.minimize(completeDcw); + + AbstractMemoizingAutomaton minimalGfgNcw + = minimalGfgNcwWithLanguageEquivalence.alphaMaximalUpToHomogenityGfgNcw; + + if (minimalGfgNcw.is(Automaton.Property.DETERMINISTIC)) { + return new Result(minimalGfgNcw, minimalGfgNcw); + } + + int states = minimalGfgNcw.states().size(); + + if (states == completeDcw.states().size()) { +// return new Result(minimalGfgNcw, Views.dropStateLabels(completeDcw).automaton()); + } + + // var safeView = new SafeView<>(minimalGfgNcw); + + assert minimalGfgNcw.is(Automaton.Property.COMPLETE); + assert ImmutableBitSet.range(0, states).equals(minimalGfgNcw.states()); + + Map availableStates; + + if (useEnterOptimisation) { + availableStates = new HashMap<>(); + + for (BitSet valuation : BitSet2.powerSet(minimalGfgNcw.atomicPropositions().size())) { + var immutableValuation = ImmutableBitSet.copyOf(valuation); + var reachableStates = new BitSet(); + + for (int ncwState = 0; ncwState < states; ncwState++) { + Set> edges = minimalGfgNcw.edges(ncwState, valuation); + + for (var edge : edges) { + if (edge.colours().isEmpty()) { + assert edges.size() == 1; + reachableStates.set(edge.successor()); + } else { + assert edges.size() >= 1; + } + } + } + + availableStates.put(immutableValuation, ImmutableBitSet.copyOf(reachableStates)); + } + } else { + availableStates = Map.of(); + } + + + // assert safeView.is(Automaton.Property.SEMI_DETERMINISTIC); + // assert ImmutableBitSet.range(0, allRuns).equals(safeView.allRuns()); + + // var sccs = SccDecomposition.of(minimalGfgNcw); + // Stopwatch stopwatch = Stopwatch.createStarted(); + // System.err.printf("Automaton has %d SCCs with profile %s...", sccs.sccs().size(), + // Arrays.toString(sccs.sccs().stream().mapToInt(Set::size).toArray())); + // System.err.flush(); + + MutableGraph nonAlphaReachabilityUpperBound = GraphBuilder.directed().allowsSelfLoops(true).build(); + MutableGraph nonAlphaReachabilityLowerBound = GraphBuilder.directed().allowsSelfLoops(true).build(); + + List>> deterministicEdgeTrees = new ArrayList<>(states); + + for (int state = 0; state < states; state++) { + deterministicEdgeTrees.add(minimalGfgNcw.edgeTree(state).map(x -> x.size() > 1 ? Set.of() : x)); + } + + for (int ncwState = 0; ncwState < states; ncwState++) { + for (int dcwState = 0; dcwState < states; dcwState++) { + + if (!minimalGfgNcwWithLanguageEquivalence.languageEquivalent(ncwState, dcwState)) { + continue; + } + + var pair = new StatePair(ncwState, dcwState); + nonAlphaReachabilityUpperBound.addNode(pair); + nonAlphaReachabilityLowerBound.addNode(pair); + + var successors = MtBddOperations.cartesianProduct( + minimalGfgNcw.edgeTree(pair.ncwState), + minimalGfgNcw.edgeTree(pair.dcwState), + (x, y) -> x.withSuccessor(new StatePair(x.successor(), y.successor()))); + + for (Set> edges : successors.values()) { + assert !edges.isEmpty(); + + // Exclude edges that immediately close loops... + if (edges.size() == 1) { + var edge = edges.iterator().next(); + + if (edge.colours().isEmpty()) { + nonAlphaReachabilityUpperBound.putEdge(pair, edge.successor()); + nonAlphaReachabilityLowerBound.putEdge(pair, edge.successor()); + } + } else { + for (var edge : edges) { + if (edge.colours().isEmpty()) { + nonAlphaReachabilityUpperBound.putEdge(pair, edge.successor()); + } + } + } + } + } + } + + nonAlphaReachabilityUpperBound = (MutableGraph) Graphs.transitiveClosure(nonAlphaReachabilityUpperBound); + nonAlphaReachabilityLowerBound = (MutableGraph) Graphs.transitiveClosure(nonAlphaReachabilityLowerBound); + + // Check if DBP. + List> constraints = new ArrayList<>(); + + for (var start : nonAlphaReachabilityUpperBound.nodes()) { + for (var target : nonAlphaReachabilityUpperBound.nodes()) { + if (nonAlphaReachabilityLowerBound.hasEdgeConnecting(start, target)) { + constraints.add(new Solver.Clause<>( + List.of(new NonAlphaReachable(start, target)), + List.of())); + } + + if (!nonAlphaReachabilityUpperBound.hasEdgeConnecting(start, target)) { + constraints.add(new Solver.Clause<>( + List.of(), + List.of(new NonAlphaReachable(start, target)))); + } + } + } + + Map> safeViewMap = new HashMap<>(); + + // Check if this decision closes a loop? If yes, exclude option. + + // At most one alpha transition for each state: + for (BitSet valuation : BitSet2.powerSet(minimalGfgNcw.atomicPropositions().size())) { + var immutableValuation = ImmutableBitSet.copyOf(valuation); + + // Encode that there is exactly one alpha transition, if there are multiple options. + for (int dcwState : minimalGfgNcw.states()) { + Set> edges = minimalGfgNcw.edges(dcwState, valuation); + + int size = edges.size(); + assert size >= 1; + + if (size > 1) { + List alphaTransitions = new ArrayList<>(size); + + for (Edge edge : edges) { + assert edge.colours().equals(ImmutableBitSet.of(0)); + alphaTransitions.add( + new AlphaTransition(dcwState, immutableValuation, edge.successor())); + } + + // There must be at least one alpha transition. + constraints.add(new Solver.Clause<>(List.copyOf(alphaTransitions), List.of())); + + for (AlphaTransition transition1 : alphaTransitions) { + for (AlphaTransition transition2 : alphaTransitions) { + if (transition1 == transition2) { + continue; + } + + // At most one of t1 and t2 is allowed to be present. + constraints.add(new Solver.Clause<>(List.of(), List.of(transition1, transition2))); + } + } + + if (useEnterOptimisation) { + var reachableStates = availableStates.get(immutableValuation); + + BitSet successors = new BitSet(); + + for (Edge edge : edges) { + if (reachableStates.contains(edge.successor())) { + successors.set(edge.successor()); + } + } + + // If there is an option, we now inject a clause that the selection must be made from + // this subset. + if (!successors.isEmpty()) { + List restrictedAlphaTransitions = successors.stream().mapToObj(successor -> new AlphaTransition(dcwState, immutableValuation, successor)).toList(); + constraints.add(new Solver.Clause<>(List.copyOf(restrictedAlphaTransitions), List.of())); + } + } + + if (useSubsafeEquivalentMaximal) { + List successors = edges.stream().map(Edge::successor).toList(); + + for (Integer successor : successors) { + safeViewMap.putIfAbsent(successor, + new SafeView<>(Views.replaceInitialStates(minimalGfgNcw, Set.of(successor)))); + } + + List maximalSuccessors = Collections3.maximalElements(successors, (q, p) -> LanguageContainment.containsAll(safeViewMap.get(q), safeViewMap.get(p))); + assert !maximalSuccessors.isEmpty(); + constraints.add(new Solver.Clause<>(maximalSuccessors.stream().map(successor -> (Encoding) new AlphaTransition(dcwState, immutableValuation, successor)).toList(), List.of())); + } + } + } + } + + // Encode reachabilty graph + for (var start : nonAlphaReachabilityUpperBound.nodes()) { + for (var target : nonAlphaReachabilityUpperBound.nodes()) { + // We are self reachable. + if (start.equals(target)) { + constraints.add( + new Solver.Clause<>(List.of(new NonAlphaReachable(start, target)), List.of())); + } else { + // Get non-deterministic edges. + + for (BitSet valuation : BitSet2.powerSet(minimalGfgNcw.atomicPropositions().size())) { + var edgesGfgNcw = minimalGfgNcw.edges(start.ncwState, valuation); + var edgesDcw = minimalGfgNcw.edges(start.dcwState, valuation); + + var nonAlphaReachable = new NonAlphaReachable(start, target); + + for (var edgeGfgNcw : edgesGfgNcw) { + if (!edgeGfgNcw.colours().isEmpty()) { + assert edgesGfgNcw.stream().noneMatch(x -> x.colours().isEmpty()); + break; + } + + if (edgesDcw.size() == 1) { + var edgeDcw = edgesDcw.iterator().next(); + var successorNonAlphaReachable = new NonAlphaReachable( + new StatePair(edgeGfgNcw.successor(), edgeDcw.successor()), target); + + constraints.add(new Solver.Clause<>( + List.of(nonAlphaReachable), + List.of(successorNonAlphaReachable))); + } else { + assert edgesDcw.size() > 1; + + for (var edgeDcw : edgesDcw) { + assert edgeDcw.colours().contains(0); + var alphaTransition = new AlphaTransition(start.dcwState, + ImmutableBitSet.copyOf(valuation), edgeDcw.successor()); + var successorNonAlphaReachable = new NonAlphaReachable( + new StatePair(edgeGfgNcw.successor(), edgeDcw.successor()), target); + constraints.add(new Solver.Clause<>( + List.of(nonAlphaReachable), + List.of(alphaTransition, successorNonAlphaReachable))); + } + } + } + } + } + } + } + + // A counter example to a correct selection is a */*-path from (s0, s0) to (s1, s2) with a + // non-alpha/alpha-edge to (t1, t2) that reaches (s1, s2) with a non-alpha/*-path. + + for (var pair : nonAlphaReachabilityUpperBound.nodes()) { + // Skip pairs that are identical. + if (pair.ncwState == pair.dcwState) { + continue; + } + + for (BitSet valuation : BitSet2.powerSet(minimalGfgNcw.atomicPropositions().size())) { + var edgesGfgNcw = minimalGfgNcw.edges(pair.ncwState, valuation); + var edgesDcw = minimalGfgNcw.edges(pair.dcwState, valuation); + + // Alpha-edge. + if (edgesGfgNcw.size() > 1 || edgesGfgNcw.iterator().next().colours().contains(0)) { + assert edgesGfgNcw.stream().allMatch(x -> x.colours().contains(0)); + continue; + } + + var edgeGfgNcw = edgesGfgNcw.iterator().next(); + + // Non-Alpha edge. + if (edgesDcw.size() == 1) { + var edgeDcw = edgesDcw.iterator().next(); + + if (edgeDcw.colours().isEmpty()) { + // There is already a deterministic edge. + continue; + } + + assert edgeDcw.colours().contains(0); + constraints.add(new Solver.Clause<>( + List.of(), + List.of(new NonAlphaReachable( + new StatePair(edgeGfgNcw.successor(), edgeDcw.successor()), pair)))); + } else { + assert edgesDcw.size() > 1; + + for (var edgeDcw : edgesDcw) { + assert edgeDcw.colours().contains(0); + + // ...or there is no alpha transition... + // ...or we cannot close the loop. + constraints.add(new Solver.Clause<>( + List.of(), + List.of( + new AlphaTransition(pair.dcwState, valuation, edgeDcw.successor()), + new NonAlphaReachable( + new StatePair(edgeGfgNcw.successor(), edgeDcw.successor()), pair)))); + } + } + } + } + + // Find a satisfying assignment. + var model = Solver.DEFAULT_MODELS.model(constraints); + + if (model.isEmpty()) { + if (minimalGfgNcw.states().size() + 1 == completeDcw.states().size()) { + return new Result(minimalGfgNcw, Views.dropStateLabels(completeDcw).automaton()); + } + + return new Result(minimalGfgNcw, null); + } + + var alphaEdgeTrees = convertAlphaEdges(model.get(), minimalGfgNcw.factory(), minimalGfgNcw.atomicPropositions().size(), states); + + List>> edgeTrees = new ArrayList<>(states); + + for (int state = 0; state < states; state++) { + edgeTrees.add(MtBddOperations.union( + alphaEdgeTrees.get(state), + deterministicEdgeTrees.get(state))); + } + + var minimalDcw = new AbstractMemoizingAutomaton.PrecomputedAutomaton<>( + minimalGfgNcw.atomicPropositions(), + minimalGfgNcw.factory(), + Set.of(minimalGfgNcw.initialState()), + CoBuchiAcceptance.INSTANCE, + edgeTrees); + + assert minimalDcw.is(Automaton.Property.COMPLETE); + assert minimalDcw.is(Automaton.Property.DETERMINISTIC); + assert LanguageContainment.equalsCoBuchi(minimalGfgNcw, minimalDcw); + + // Timing information. + // stopwatch.stop(); + // System.err.printf(" ... %d seconds.%n", stopwatch.elapsed().getSeconds()); + // System.err.flush(); + + return new Result(minimalGfgNcw, minimalDcw); + } + + private static List>> + convertAlphaEdges(Set model, BddSetFactory factory, int atomicPropositions, int numberOfStates) { + + // Extract automaton from assignment. + List, BddSet>> alphaEdgeMaps = new ArrayList<>(numberOfStates); + + for (int i = 0; i < numberOfStates; i++) { + alphaEdgeMaps.add(new HashMap<>(numberOfStates)); + } + + for (var encoding : model) { + if (encoding instanceof AlphaTransition transition) { + Map, BddSet> alphaEdgeMap = alphaEdgeMaps.get(transition.s); + Edge alphaEdge = Edge.of(transition.t, 0); + + alphaEdgeMap.compute(alphaEdge, (key, oldValuationSet) -> { + var newValuationSet = factory.of(transition.valuation, atomicPropositions); + + return oldValuationSet == null + ? newValuationSet + : oldValuationSet.union(newValuationSet); + }); + } + } + + // Convert to MtBdd. + List>> alphaEdgeTrees = new ArrayList<>(numberOfStates); + + for (Map, BddSet> alphaEdgeMap : alphaEdgeMaps) { + alphaEdgeTrees.add(factory.toMtBdd(alphaEdgeMap)); + } + + return alphaEdgeTrees; + } + + record StatePair(int ncwState, int dcwState) {} + + sealed interface Encoding {} + + record AlphaTransition(int s, ImmutableBitSet valuation, int t) implements Encoding { + + public AlphaTransition(int s, BitSet valuation, int t) { + this(s, ImmutableBitSet.copyOf(valuation), t); + } + } + + record NonAlphaReachable(StatePair start, StatePair target) implements Encoding {} +} diff --git a/src/test/java/owl/automaton/minimization/DcwMinimizationReferenceImplementation.java b/src/test/java/owl/automaton/minimization/DcwMinimizationReferenceImplementation.java new file mode 100644 index 00000000..f5f0d3d3 --- /dev/null +++ b/src/test/java/owl/automaton/minimization/DcwMinimizationReferenceImplementation.java @@ -0,0 +1,869 @@ +/* + * Copyright (C) 2016 - 2022 (See AUTHORS) + * + * This file is part of Owl. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 . + */ + +package owl.automaton.minimization; + +import com.google.common.base.Preconditions; +import com.google.common.collect.Iterables; +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.BitSet; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import java.util.stream.IntStream; +import java.util.stream.Stream; +import owl.automaton.AbstractMemoizingAutomaton; +import owl.automaton.Automaton; +import owl.automaton.Views; +import owl.automaton.acceptance.CoBuchiAcceptance; +import owl.automaton.algorithm.LanguageContainment; +import owl.automaton.determinization.Determinization; +import owl.automaton.edge.Edge; +import owl.automaton.minimization.GfgNcwMinimization.CanonicalGfgNcw; +import owl.bdd.BddSet; +import owl.collections.BitSet2; +import owl.collections.ImmutableBitSet; +import owl.logic.propositional.sat.Solver; +import owl.logic.propositional.sat.Solver.Clause; + +public final class DcwMinimizationReferenceImplementation { + + private static final boolean EXTRA_CONSTRAINTS = true; + + private DcwMinimizationReferenceImplementation() { + } + + public static Optional> minimalDcwForLanguage( + Automaton ncw, int dcwSize) { + + if (ncw.is(Automaton.Property.DETERMINISTIC)) { + return minimizeDcw(ncw, dcwSize); + } + + return minimizeDcw(Determinization.determinizeCoBuchiAcceptance(ncw), dcwSize); + } + + public static Optional> minimizeDcw( + Automaton dcw, int dcwSize) { + + var completeDcw = Views.completeCoBuchi(dcw); + return + minimizeCompleteDcw(Views.dropStateLabels(completeDcw).automaton(), dcwSize); + } + + public static Optional> minimizeCompleteDcw( + Automaton completeDcw, int dcwSize) { + + CanonicalGfgNcw canonicalGfgNcw = GfgNcwMinimization.minimize(completeDcw); + + if (canonicalGfgNcw.alphaMaximalUpToHomogenityGfgNcw.is(Automaton.Property.DETERMINISTIC)) { + return Optional.of(canonicalGfgNcw.alphaMaximalUpToHomogenityGfgNcw); + } + + if (canonicalGfgNcw.alphaMaximalGfgNcw.states().size() == completeDcw.states().size()) { + return Optional.of(Views.dropStateLabels(completeDcw).automaton()); + } + + return minimizeCompleteDcw(canonicalGfgNcw, dcwSize, false); + } + + // GfgNcwSafeComponent Embedding. + + public static Optional> minimizeCompleteDcw( + CanonicalGfgNcw canonicalGfgNcw, int dcwSize, boolean ENFORCE_SAME_NUMBER_SAFE_COMPONENTS) { + + if (canonicalGfgNcw.alphaMaximalGfgNcw.states().size() > dcwSize) { + return Optional.empty(); + } + + assert ImmutableBitSet.range(0, canonicalGfgNcw.alphaMaximalGfgNcw.states().size()) + .equals(canonicalGfgNcw.alphaMaximalGfgNcw.states()); + + int gfgNcwSize = canonicalGfgNcw.alphaMaximalGfgNcw.states().size(); + + List> clauses = new ArrayList<>(dcwSize * dcwSize * dcwSize); + + EncodingFactory factory = new EncodingFactory(canonicalGfgNcw, dcwSize); + + // Deterministic Transition Relation + for (int i = 0; i < dcwSize; i++) { + for (List sigmaTransitions : factory.allTransitions(i)) { + clauses.addAll(Clause.exactlyOne(sigmaTransitions)); + } + } + + // Language Equivalence Classes + // + // EquivalenceClass(L0, qB0) + assert canonicalGfgNcw.initialEquivalenceClass().contains(0); + Encoding variable1 = factory.equivalenceClass(canonicalGfgNcw.initialEquivalenceClass(), 0); + clauses.add(Clause.assertTrue(variable1)); + + // ((Reachable(L,qB) ∧〈qB,σ,sB〉) → Reachable(Lσ,sB) + for (var equivalenceClass : factory.allEquivalenceClasses()) { + for (var sigmaTransitions : factory.allTransitions(equivalenceClass.q)) { + var gfgNcwSuccessors = ImmutableBitSet.copyOf( + canonicalGfgNcw.successorEquivalenceClass(equivalenceClass.gfgNcwStates, + sigmaTransitions.get(0).sigma)); + + for (var transition : sigmaTransitions) { + clauses.add(Clause.implication( + List.of(equivalenceClass, transition), + factory.equivalenceClass(gfgNcwSuccessors, transition.s))); + } + } + } + + // L(A) < L(B) + + // SafeGfgNcw(qA, qB, qA, qB) + for (StatePair statePair : factory.allStatePairs()) { + Encoding variable = new GfgNcwSafePath(statePair, statePair); + clauses.add(Clause.assertTrue(variable)); + } + + // (〈qB, σ, sB〉→ SafeGfgNcw(qA, qB, sA, sB)) + for (Transition transition : factory.allTransitions()) { + for (int qA = 0; qA < gfgNcwSize; qA++) { + int sA = canonicalGfgNcw.nonAlphaSuccessor(qA, transition.sigma); + + if (sA < 0) { + continue; + } + + clauses.add(Clause.implication( + transition, + factory.gfgNcwSafePath(qA, transition.q, sA, transition.s))); + } + } + + // (SafeGfgNcw(qA, qB, qA′, qB′) ∧ SafeGfgNcw(qA′, qB′, qA′′, qB′′)) → SafeGfgNcw(qA, qB, qA′′, qB′′) + for (StatePair q1 : factory.allStatePairs()) { + for (StatePair q2 : factory.allStatePairs()) { + for (StatePair q3 : factory.allStatePairs()) { + clauses.add(Clause.implication( + List.of(factory.gfgNcwSafePath(q1, q2), factory.gfgNcwSafePath(q2, q3)), + factory.gfgNcwSafePath(q1, q3))); + } + } + } + + // (Reachable(qA, qB) ∧〈qB, σ, sB〉∧ SafeGfgNcw(sA, sB, qA, qB)) → ¬(qB,σ)_α + for (LanguageEquivalenceClass equivalenceClass : factory.allEquivalenceClasses()) { + for (List sigmaTransitions : factory.allTransitions(equivalenceClass.q)) { + ImmutableBitSet sigma = sigmaTransitions.get(0).sigma; + + for (int qA : equivalenceClass.gfgNcwStates) { + int sA = canonicalGfgNcw.nonAlphaSuccessor(qA, sigma); + + if (sA < 0) { + continue; + } + + for (Transition transition : sigmaTransitions) { + assert transition.sigma == sigma; + var gfgNcwSafePath = factory.gfgNcwSafePath(sA, transition.s, qA, transition.q); + var alphaTransition = factory.alphaTransition(transition); + clauses.add(Clause.atLeastOneIs( + List.of(equivalenceClass, transition, gfgNcwSafePath, alphaTransition), false)); + } + } + } + } + + // L(A) > L(B) + + // (SubSafe(qA,qB) ∧ (qB,σ,sB)) → (!(qB,σ)_α ∧ SubSafe(sA,sB)) + for (var subSafe : factory.allSafeCovers()) { + for (var sigmaTransitions : factory.allTransitions(subSafe.pair().dcwState)) { + + int sA = canonicalGfgNcw.nonAlphaSuccessor( + subSafe.pair().gfgNcwState, sigmaTransitions.get(0).sigma); + + if (sA < 0) { + clauses.add(Clause.implication( + subSafe, + factory.alphaTransition(subSafe.pair.dcwState, sigmaTransitions.get(0).sigma))); + } else { + for (var transition : sigmaTransitions) { + assert transition.sigma == sigmaTransitions.get(0).sigma; + + clauses.add(new Clause<>( + List.of(factory.saveCovers(sA, transition.s), + factory.alphaTransition(subSafe.pair.dcwState, transition.sigma)), + List.of(subSafe, transition))); + } + } + } + } + + // (Reachable(qA,qB)) → at least one {SubSafe(sA,sB) : qA′ ∼ qA} + for (var equivalenceClass : factory.allEquivalenceClasses()) { + // Restrict to maximal elements of relation. + clauses.add( + new Clause<>(factory.allSafeCovers(equivalenceClass.q), List.of(equivalenceClass))); + } + + if (EXTRA_CONSTRAINTS) { + // Exactly one language equivalance class. + + for (int qB = 0; qB < dcwSize; qB++) { + if (qB < gfgNcwSize) { + for (LanguageEquivalenceClass equivalenceClass : factory.allEquivalenceClasses(qB)) { + clauses.add(equivalenceClass.gfgNcwStates.contains(qB) + ? Clause.assertTrue(equivalenceClass) + : Clause.assertFalse(equivalenceClass)); + } + } else { + clauses.addAll(Clause.exactlyOne(factory.allEquivalenceClasses(qB))); + } + } + + // Pair of subsafe states. + for (int qB = 0; qB < gfgNcwSize; qB++) { + Encoding variable = factory.saveCovers(qB, qB); + clauses.add(Clause.assertTrue(variable)); + } + + // SafeComponents + for (int qB = 0; qB < dcwSize; qB++) { + if (qB < gfgNcwSize) { + for (SafeComponent safeComponent : factory.allSafeComponents(qB)) { + assert safeComponent.dcwState == qB; + clauses.add(safeComponent.safeComponent.contains(qB) + ? Clause.assertTrue(safeComponent) + : Clause.assertFalse(safeComponent)); + } + } else { + clauses.addAll(Clause.exactlyOne(factory.allSafeComponents(qB))); + } + } + + for (SafeComponent safeComponent : factory.allSafeComponents()) { + if (!safeComponent.safeComponent.isEmpty()) { + int qB = safeComponent.dcwState; + var subSafe = safeComponent.safeComponent.intStream() + .mapToObj(qA -> factory.saveCovers(qA, qB)) + .toList(); + clauses.add(new Clause<>(subSafe, List.of(safeComponent))); + } + + for (List sigmaTransitions : factory.allTransitions(safeComponent.dcwState)) { + var alphaTransition = factory.alphaTransition(sigmaTransitions.get(0)); + var positiveLiterals = List.of(alphaTransition, safeComponent); + + for (Transition transition : sigmaTransitions) { + assert transition.q == alphaTransition.q; + assert transition.sigma == alphaTransition.sigma; + + var successorSafeComponent = factory.safeComponent(safeComponent.safeComponent, + transition.s); + + clauses.add(new Clause<>( + positiveLiterals, + List.of(successorSafeComponent, transition))); + } + } + + // Is safeComponent Extended? + + } + + for (ImmutableBitSet safeComponent : canonicalGfgNcw.safeComponents) { + List safeComponentExtended = List.copyOf(IntStream + .range(gfgNcwSize, dcwSize) + .mapToObj(x -> factory.safeComponent(safeComponent, x)) + .toList()); + + for (int qB : safeComponent) { + for (List sigmaTransitions : factory.allTransitions(qB)) { + int sB = canonicalGfgNcw.nonAlphaSuccessor(qB, sigmaTransitions.get(0).sigma); + + if (sB < 0) { + continue; + } + + var alphaTransition = factory.alphaTransition(sigmaTransitions.get(0)); + + clauses.add(new Clause<>(safeComponentExtended, List.of(alphaTransition))); + + for (Transition transition : sigmaTransitions) { + if (sB == transition.s) { + Encoding[] positiveLiterals = safeComponentExtended.toArray( + new Encoding[safeComponentExtended.size() + 1]); + positiveLiterals[safeComponentExtended.size()] = transition; + clauses.add(new Clause<>(List.of(positiveLiterals), List.of())); + } + } + } + } + } + + // Add symmetry breaking clause. + for (int qB = gfgNcwSize; qB < dcwSize - 1; qB++) { + for (SafeComponent safeComponent : factory.allSafeComponents(qB + 1)) { + for (SafeComponent previousSafeComponent : factory.allSafeComponents(qB)) { + if (previousSafeComponent.safeComponent.compareTo(safeComponent.safeComponent) > 0) { + clauses.add(new Clause<>(List.of(), List.of(previousSafeComponent, safeComponent))); + } + } + } + } + + // Add safe equivalency constraint here. + } + + // Find a satisfying assignment. + + if (ENFORCE_SAME_NUMBER_SAFE_COMPONENTS) { + + for (Transition transition : factory.allTransitions()) { + var safeTransition = new SafeTransition(transition); + + clauses.add(new Clause<>( + List.of(factory.alphaTransition(transition), safeTransition), + List.of(transition))); + + clauses.add(new Clause<>( + List.of(transition), + List.of(safeTransition) + )); + + clauses.add(new Clause<>( + List.of(), + List.of(safeTransition, factory.alphaTransition(transition)) + )); + } + + for (int q = 0; q < dcwSize; q++) { + for (int s = 0; s < dcwSize; s++) { + int finalS = s; + var safeTransitionWithoutSigma = new SafeTransitionWithoutSigma(q, s); + + var safeTransitions = Arrays.stream(factory.allTransitions(q)) + .flatMap(Collection::stream) + .filter(x -> x.s == finalS) + .map(SafeTransition::new) + .toList(); + + clauses.add(new Clause<>(safeTransitions, List.of(safeTransitionWithoutSigma))); + + for (SafeTransition safeTransition : safeTransitions) { + clauses.add(new Clause<>(List.of(safeTransitionWithoutSigma), List.of(safeTransition))); + } + + clauses.add(Clause.implication(new SafeReachable(q, s, 1), safeTransitionWithoutSigma)); + clauses.add(Clause.implication(safeTransitionWithoutSigma, new SafeReachable(q, s, 1))); + } + } + + for (int q1 = 0; q1 < dcwSize; q1++) { + for (int q2 = 0; q2 < dcwSize; q2++) { + for (int distance = 2; distance < dcwSize; distance++) { + var reachable = new SafeReachable(q1, q2, distance); + + var safeReachableVia = new ArrayList(dcwSize); + + for (int q3 = 0; q3 < dcwSize; q3++) { + var safeReachable = new SafeReachable(q1, q3, distance - 1); + var safeTransitionsWithoutSigma = new SafeTransitionWithoutSigma(q3, q2); + var safeReacableVia = new SafeReachableVia(q1, q2, distance, q3); + + safeReachableVia.add(safeReacableVia); + + clauses.add(Clause.implication( + List.of(safeReachable, safeTransitionsWithoutSigma), + safeReacableVia)); + clauses.add(Clause.implication(safeReacableVia, safeReachable)); + clauses.add(Clause.implication(safeReacableVia, safeTransitionsWithoutSigma)); + } + + clauses.add(new Clause<>(safeReachableVia, List.of(reachable))); + + for (SafeReachableVia viaReach : safeReachableVia) { + clauses.add(new Clause<>(List.of(reachable), List.of(viaReach))); + } + } + } + + + } + + for (SafeComponent safeComponent : factory.allSafeComponents()) { + if (safeComponent.safeComponent.isEmpty()) { + clauses.add(Clause.assertFalse(safeComponent)); + continue; + } + + int first = safeComponent.safeComponent.first().orElseThrow(); + + if (safeComponent.dcwState == first) { + continue; + } + + clauses.add(new Clause<>( + IntStream + .range(1, dcwSize) + .mapToObj(len -> new SafeReachable(first, safeComponent.dcwState, len)) + .toList(), + List.of(safeComponent))); + + clauses.add(new Clause<>( + IntStream + .range(1, dcwSize) + .mapToObj(len -> new SafeReachable(safeComponent.dcwState, first, len)) + .toList(), + List.of(safeComponent))); + } + } + + // + // Clause store with unit information. + // + + var model = Solver.DEFAULT_MODELS.model(clauses); + + if (model.isEmpty()) { + return Optional.empty(); + } + + // Extract alpha-edges from assignment. + @SuppressWarnings("unchecked") + Map, BddSet>[] edgeMaps = new Map[dcwSize]; + + for (int i = 0; i < dcwSize; i++) { + edgeMaps[i] = new HashMap<>(dcwSize); + } + + var theModel = model.get(); + var bddFactory = canonicalGfgNcw.alphaMaximalGfgNcw.factory(); + var apSize = canonicalGfgNcw.alphaMaximalGfgNcw.atomicPropositions().size(); + + for (var encoding : theModel) { + if (encoding instanceof Transition transition) { + + Edge edge = theModel.contains(factory.alphaTransition(transition)) + ? Edge.of(transition.s, 0) + : Edge.of(transition.s); + BddSet bddSet = bddFactory.of(transition.sigma, apSize); + + edgeMaps[transition.q] + .compute(edge, (key, oldSet) -> oldSet == null ? bddSet : oldSet.union(bddSet)); + } + } + + var minimalDcw = new AbstractMemoizingAutomaton.PrecomputedAutomaton<>( + canonicalGfgNcw.alphaMaximalGfgNcw.atomicPropositions(), + canonicalGfgNcw.alphaMaximalGfgNcw.factory(), + Set.of(0), + CoBuchiAcceptance.INSTANCE, + Arrays.stream(edgeMaps).map(bddFactory::toMtBdd).toList()); + + assert minimalDcw.is(Automaton.Property.COMPLETE); + assert minimalDcw.is(Automaton.Property.DETERMINISTIC); + assert LanguageContainment.equalsCoBuchi(canonicalGfgNcw.alphaMaximalGfgNcw, minimalDcw); + + return Optional.of(minimalDcw); + } + +// private static List> iff(V variable, V var1, V var2) { +// return List.of( +// Clause.implication(List.of(var1, var2), variable), +// Clause.implication(variable), +// ); +// } + + sealed interface Encoding { + + } + + record StatePair(int gfgNcwState, int dcwState) { + + StatePair { + Preconditions.checkArgument(gfgNcwState >= 0); + Preconditions.checkArgument(dcwState >= 0); + } + + @Override + public boolean equals(Object o) { + return o instanceof StatePair statePair + && gfgNcwState == statePair.gfgNcwState && dcwState == statePair.dcwState; + } + + @Override + public int hashCode() { + return 31 * (31 + gfgNcwState) + dcwState; + } + } + + record Transition(int q, ImmutableBitSet sigma, int s) implements Encoding { + + Transition { + Preconditions.checkArgument(q >= 0); + Objects.requireNonNull(sigma); + Preconditions.checkArgument(s >= 0); + } + + @Override + public boolean equals(Object o) { + return o instanceof Transition that && q == that.q && s == that.s && sigma.equals(that.sigma); + } + + @Override + public int hashCode() { + return 31 * (31 * (32 + q) + sigma.hashCode()) + s; + } + } + + record AlphaTransition(int q, ImmutableBitSet sigma) implements Encoding { + + AlphaTransition { + Preconditions.checkArgument(q >= 0); + Objects.requireNonNull(sigma); + } + + @Override + public boolean equals(Object o) { + return o instanceof AlphaTransition that && q == that.q && sigma.equals(that.sigma); + } + + @Override + public int hashCode() { + return 31 * (31 + q) + sigma.hashCode(); + } + } + + record LanguageEquivalenceClass(ImmutableBitSet gfgNcwStates, int q) implements Encoding { + + LanguageEquivalenceClass { + Preconditions.checkArgument(!gfgNcwStates.isEmpty()); + Preconditions.checkArgument(q >= 0); + } + + @Override + public boolean equals(Object o) { + return o instanceof LanguageEquivalenceClass that + && q == that.q && gfgNcwStates.equals(that.gfgNcwStates); + } + + @Override + public int hashCode() { + return Objects.hash(gfgNcwStates, q); + } + } + + record GfgNcwSafePath(StatePair start, StatePair target) implements Encoding { + + GfgNcwSafePath { + Objects.requireNonNull(start); + Objects.requireNonNull(target); + } + + @Override + public boolean equals(Object o) { + return o instanceof GfgNcwSafePath that + && start.equals(that.start) && target.equals(that.target); + } + + @Override + public int hashCode() { + return 31 * (33 + start.hashCode()) + target.hashCode(); + } + } + + record SafeCovers(StatePair pair) implements Encoding { + + SafeCovers { + Objects.requireNonNull(pair); + } + + @Override + public boolean equals(Object o) { + return o instanceof SafeCovers safeCovers && pair.equals(safeCovers.pair); + } + + @Override + public int hashCode() { + return 34 + pair.hashCode(); + } + } + + record SafeEquivalent(StatePair pair) implements Encoding { + + } + + // The safeComponent field is empty if is not present in the canonicalGfgNcw. + record SafeComponent(ImmutableBitSet safeComponent, int dcwState) implements Encoding { + + SafeComponent { + Objects.requireNonNull(safeComponent); + Preconditions.checkArgument(dcwState >= 0); + } + } + + record SafeReachable(int q, int s, int distance) implements Encoding { + + SafeReachable { + Preconditions.checkArgument(q >= 0); + Preconditions.checkArgument(s >= 0); + Preconditions.checkArgument(distance > 0); + } + + } + + record SafeReachableVia(int q, int s, int distance, int via) implements Encoding { + + SafeReachableVia { + Preconditions.checkArgument(q >= 0); + Preconditions.checkArgument(s >= 0); + Preconditions.checkArgument(distance > 0); + Preconditions.checkArgument(distance > 0); + } + + } + + record SafeTransition(Transition transition) implements Encoding { + + } + + record SafeTransitionWithoutSigma(int q, int s) implements Encoding { + + } + + private static class ClauseStore { + + private final CanonicalGfgNcw canonicalGfgNcw; + + private ClauseStore(CanonicalGfgNcw canonicalGfgNcw) { + this.canonicalGfgNcw = canonicalGfgNcw; + } + } + + private static class EncodingFactory { + + // LanguageEquivalenceClass + private final List sortedGfgNcwStates; + private final LanguageEquivalenceClass[][] equivalenceClasses; + + // Transition and AlphaTransition + private final List[][] transitions; + private final AlphaTransition[][] alphaTransitions; + + // StatePair + private final StatePair[][] statePairs; + + // GfgNcwSafePath + private final GfgNcwSafePath[][][][] gfgNcwSafePaths; + + // SubSafe + private final SafeCovers[][] safeCovers; + + // SafeComponent + private final List sortedSafeComponents; + private final SafeComponent[][] safeComponents; + + private EncodingFactory(CanonicalGfgNcw canonicalGfgNcw, int dcwSize) { + int apSize = canonicalGfgNcw.alphaMaximalGfgNcw.atomicPropositions().size(); + int alphabetSize = BigInteger.TWO.pow(apSize).intValueExact(); + int canonicalGfgNcwSize = canonicalGfgNcw.alphaMaximalGfgNcw.states().size(); + + { // LanguageEquivalenceClass + sortedGfgNcwStates = canonicalGfgNcw.languageEquivalenceClasses.stream().sorted().toList(); + equivalenceClasses = new LanguageEquivalenceClass[dcwSize][sortedGfgNcwStates.size()]; + + for (int i = 0; i < sortedGfgNcwStates.size(); i++) { + var gfgNcwStates = sortedGfgNcwStates.get(i); + for (int dcwState = 0; dcwState < dcwSize; dcwState++) { + equivalenceClasses[dcwState][i] = new LanguageEquivalenceClass(gfgNcwStates, dcwState); + } + } + } + + { // Transition and AlphaTransition + transitions = new List[dcwSize][alphabetSize]; + alphaTransitions = new AlphaTransition[dcwSize][alphabetSize]; + + int sigmaIndex = -1; + + for (BitSet sigmaMutable : BitSet2.powerSet(apSize)) { + sigmaIndex++; + var sigma = ImmutableBitSet.copyOf(sigmaMutable); + + for (int i = 0; i < dcwSize; i++) { + alphaTransitions[i][sigmaIndex] = new AlphaTransition(i, sigma); + Transition[] localTransitions = new Transition[dcwSize]; + + for (int j = 0; j < dcwSize; j++) { + localTransitions[j] = new Transition(i, sigma, j); + } + + transitions[i][sigmaIndex] = List.of(localTransitions); + } + } + } + + { // StatePair + statePairs = new StatePair[canonicalGfgNcwSize][dcwSize]; + + for (int i = 0; i < canonicalGfgNcwSize; i++) { + var iStatesPairs = statePairs[i]; + + for (int j = 0; j < dcwSize; j++) { + iStatesPairs[j] = new StatePair(i, j); + } + } + } + + { // GfgNcwSafePath + gfgNcwSafePaths = new GfgNcwSafePath[canonicalGfgNcwSize][dcwSize][canonicalGfgNcwSize][dcwSize]; + + for (var source : allStatePairs()) { + for (var target : allStatePairs()) { + gfgNcwSafePaths[source.gfgNcwState][source.dcwState][target.gfgNcwState][target.dcwState] + = new GfgNcwSafePath(source, target); + } + } + } + + { + // SubSafe + safeCovers = new SafeCovers[canonicalGfgNcwSize][dcwSize]; + + for (var pair : allStatePairs()) { + safeCovers[pair.gfgNcwState][pair.dcwState] = new SafeCovers(pair); + } + } + + { + // SafeComponent + sortedSafeComponents = Stream.concat( + Stream.of(ImmutableBitSet.of()), + canonicalGfgNcw.safeComponents.stream()) + .sorted() + .toList(); + safeComponents = new SafeComponent[dcwSize][sortedSafeComponents.size()]; + + for (int i = 0; i < sortedSafeComponents.size(); i++) { + var safeComponent = sortedSafeComponents.get(i); + for (int dcwState = 0; dcwState < dcwSize; dcwState++) { + safeComponents[dcwState][i] = new SafeComponent(safeComponent, dcwState); + } + } + + } + } + + // LanguageEquivalenceClass + Iterable allEquivalenceClasses() { + return () -> Arrays.stream(equivalenceClasses).flatMap(Arrays::stream).iterator(); + } + + List allEquivalenceClasses(int dcwState) { + return Arrays.asList(equivalenceClasses[dcwState]); + } + + LanguageEquivalenceClass equivalenceClass(ImmutableBitSet gfgNcwStates, int dcwState) { + return equivalenceClasses + [dcwState][Collections.binarySearch(sortedGfgNcwStates, gfgNcwStates)]; + } + + // Transition + Iterable allTransitions() { + return () -> Arrays.stream(transitions) + .flatMap(Arrays::stream) + .flatMap(List::stream) + .iterator(); + } + + List[] allTransitions(int dcwState) { + return transitions[dcwState]; + } + + // AlphaTransition + AlphaTransition[] allAlphaTransitions(int dcwState) { + return alphaTransitions[dcwState]; + } + + AlphaTransition alphaTransition(Transition transition) { + return alphaTransition(transition.q, transition.sigma); + } + + AlphaTransition alphaTransition(int dcwState, ImmutableBitSet sigma) { + return Iterables.getOnlyElement(Arrays.stream(allAlphaTransitions(dcwState)) + .filter(x -> x.sigma.equals(sigma)) + .toList()); + } + + // StatePair + Iterable allStatePairs() { + return () -> Arrays.stream(statePairs) + .flatMap(Arrays::stream) + .iterator(); + } + + // GfgNcwSafePath + GfgNcwSafePath gfgNcwSafePath(StatePair q, StatePair s) { + return gfgNcwSafePath(q.gfgNcwState, q.dcwState, s.gfgNcwState, s.dcwState); + } + + GfgNcwSafePath gfgNcwSafePath(int qA, int qB, int sA, int sB) { + return gfgNcwSafePaths[qA][qB][sA][sB]; + } + + // SubSafe + List allSafeCovers() { + return Arrays.stream(safeCovers).flatMap(Arrays::stream).toList(); + } + + List allSafeCovers(int dcwState) { + return Arrays.stream(safeCovers).map(x -> x[dcwState]).toList(); + } + + SafeCovers saveCovers(StatePair statePair) { + return saveCovers(statePair.gfgNcwState, statePair.dcwState); + } + + SafeCovers saveCovers(int qA, int qB) { + return safeCovers[qA][qB]; + } + + // SafeComponent + + Iterable allSafeComponents() { + return () -> Arrays.stream(safeComponents).flatMap(Arrays::stream).iterator(); + } + + List allSafeComponents(int dcwState) { + return Arrays.asList(safeComponents[dcwState]); + } + + SafeComponent safeComponent(ImmutableBitSet safeComponent, int dcwState) { + return safeComponents + [dcwState][Collections.binarySearch(sortedSafeComponents, safeComponent)]; + } + } + +} diff --git a/src/test/java/owl/automaton/minimization/DcwMinimizationTest.java b/src/test/java/owl/automaton/minimization/DcwMinimizationTest.java new file mode 100644 index 00000000..9d804626 --- /dev/null +++ b/src/test/java/owl/automaton/minimization/DcwMinimizationTest.java @@ -0,0 +1,1921 @@ +/* + * Copyright (C) 2016 - 2022 (See AUTHORS) + * + * This file is part of Owl. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 . + */ + +package owl.automaton.minimization; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.StandardOpenOption; +import java.util.List; +import java.util.Optional; +import java.util.Set; +import java.util.SplittableRandom; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingQueue; +import java.util.function.Consumer; +import java.util.stream.Collectors; +import java.util.stream.IntStream; +import java.util.stream.Stream; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; +import owl.automaton.AbstractMemoizingAutomaton; +import owl.automaton.Automaton; +import owl.automaton.Views; +import owl.automaton.acceptance.BuchiAcceptance; +import owl.automaton.acceptance.CoBuchiAcceptance; +import owl.automaton.acceptance.OmegaAcceptanceCast; +import owl.automaton.algorithm.LanguageContainment; +import owl.automaton.determinization.Determinization; +import owl.automaton.edge.Edge; +import owl.automaton.hoa.HoaReader; +import owl.automaton.hoa.HoaWriter; +import owl.automaton.minimization.DcwRepository.DcwMinimisationTestCase; +import owl.automaton.minimization.GfgNcwMinimization.CanonicalGfgNcw; +import owl.bdd.FactorySupplier; +import owl.bdd.MtBdd; +import owl.collections.Pair; +import owl.command.AutomatonConversionCommands; +import owl.ltl.LabelledFormula; +import owl.ltl.parser.LtlParser; +import owl.thirdparty.jhoafparser.parser.generated.ParseException; +import owl.translations.canonical.DeterministicConstructions; +import owl.translations.nbadet.NbaDet; + +class DcwMinimizationTest { + + private static final String EXAMPLE_1 = """ + HOA: v1 + States: 2 + Start: 0 + AP: 1 "a" + acc-name: coBuchi + Acceptance: 1 Fin(0) + --BODY-- + State: 0 + [0] 0 + [!0] 0 {0} + [!0] 1 {0} + State: 1 + [!0] 1 + [0] 0 {0} + [0] 1 {0} + --END-- + """; + + private static final String EXAMPLE_2 = """ + HOA: v1 + States: 3 + Start: 0 + AP: 2 "a" "b" + acc-name: coBuchi + Acceptance: 1 Fin(0) + --BODY-- + State: 0 + [ 0] 0 + [!0] 0 {0} + [!0] 1 {0} + [!0] 2 {0} + State: 1 + [!0 & 1] 1 + [!0 & !1] 2 + [0] 0 {0} + [0] 1 {0} + [0] 2 {0} + State: 2 + [!0 & 1] 1 + [!0 & !1] 2 + [0] 0 {0} + [0] 1 {0} + [0] 2 {0} + --END-- + """; + + private static final String HOA_GFG_CO_BUCHI = """ + HOA: v1 + States: 4 + Start: 0 + AP: 1 "a" + acc-name: co-Buchi + Acceptance: 1 Fin(0) + --BODY-- + State: 0 + [ 0] 0 + [!0] 1 + State: 1 + [ 0] 0 {0} + [ 0] 1 {0} + [ 0] 2 {0} + [ 0] 3 {0} + [!0] 2 + State: 2 + [ t] 3 + State: 3 + [ 0] 0 + [!0] 0 {0} + [!0] 1 {0} + [!0] 2 {0} + [!0] 3 {0} + --END--"""; + + private static final String NEXT_EXAMPLE = """ + HOA: v1 + States: 5 + Start: 0 + AP: 1 "a" + acc-name: co-Buchi + Acceptance: 1 Fin(0) + --BODY-- + State: 0 + [!0] 1 + [ 0] 2 + State: 1 + [ t] 3 + State: 2 + [ t] 4 + State: 3 + [!0] 0 + [ 0] 0 {0} + [ 0] 1 {0} + [ 0] 2 {0} + [ 0] 3 {0} + [ 0] 4 {0} + State: 4 + [ 0] 0 + [!0] 0 {0} + [!0] 1 {0} + [!0] 2 {0} + [!0] 3 {0} + [!0] 4 {0} + --END--"""; + + private static final String NEXT_EXAMPLE_2 = """ + HOA: v1 + States: 5 + Start: 0 + AP: 1 "a" + acc-name: co-Buchi + Acceptance: 1 Fin(0) + --BODY-- + State: 0 + [!0] 1 + [ 0] 2 + State: 1 + [ t] 3 + State: 2 + [ t] 4 + State: 3 + [!0] 0 + [ 0] 3 {0} + [ 0] 4 {0} + State: 4 + [ 0] 0 + [!0] 3 {0} + [!0] 4 {0} + --END--"""; + + private static final String THREE_COMPONENTS = """ + HOA: v1 + States: 9 + Start: 0 + Start: 2 + Start: 1 + Start: 4 + Start: 3 + Start: 5 + Start: 6 + Start: 7 + Start: 8 + AP: 2 "a" "b" + Alias: @a !0 & !1 + Alias: @b !0 & 1 + Alias: @c 0 + acc-name: co-Buchi + Acceptance: 1 Fin(0) + --BODY-- + State: 0 + [@a] 1 + [@b] 2 + State: 1 + [@a] 0 + State: 2 + [@b] 0 + State: 3 + [@a] 4 + [@c] 5 + State: 4 + [@a] 3 + State: 5 + [@c] 3 + State: 6 + [@b] 7 + [@c] 8 + State: 7 + [@b] 6 + State: 8 + [@c] 6 + --END--"""; + + private static final String THREE_COMPONENTS_2 = """ + HOA: v1 + States: 9 + Start: 0 + Start: 2 + Start: 1 + Start: 4 + Start: 3 + Start: 5 + Start: 6 + Start: 7 + Start: 8 + AP: 2 "a" "b" + Alias: @a !0 & !1 + Alias: @b !0 & 1 + Alias: @c 0 + acc-name: co-Buchi + Acceptance: 1 Fin(0) + --BODY-- + State: 0 + [@a] 1 + [@b] 2 + State: 1 + [@b] 0 + State: 2 + [@a] 0 + State: 3 + [@a] 4 + [@c] 5 + State: 4 + [@c] 3 + State: 5 + [@a] 3 + State: 6 + [@b] 7 + [@c] 8 + State: 7 + [@c] 6 + State: 8 + [@b] 6 + --END--"""; + + private static final String FOSSACS_EXAMPLE = """ + HOA: v1 + States: 9 + Start: 0 + AP: 2 "x" "y" + Alias: @a !0 & !1 + Alias: @b !0 & 1 + Alias: @c 0 + acc-name: co-Buchi + Acceptance: 1 Fin(0) + --BODY-- + State: 0 + [@a] 2 + [@b] 1 {0} + [@c] 0 + State: 1 + [@a] 0 {0} + [@b] 1 {0} + [@c] 1 {0} + State: 2 + [@a] 2 + [@b] 3 + [@c] 2 + State: 3 + [@a] 2 + [@b] 1 {0} + [@c] 3 + --END--"""; + + private static final String FOSSACS_EXAMPLE_SIMPLE = """ + HOA: v1 + States: 9 + Start: 0 + AP: 1 "a" + Alias: @a 0 + Alias: @b !0 + acc-name: co-Buchi + Acceptance: 1 Fin(0) + --BODY-- + State: 0 + [@a] 2 + [@b] 1 {0} + State: 1 + [@a] 0 {0} + [@b] 1 {0} + State: 2 + [@a] 2 + [@b] 3 + State: 3 + [@a] 2 + [@b] 1 {0} + --END--"""; + + private static final String ELEVATOR = """ + HOA: v1 + States: 6 + Start: 0 + AP: 1 "a" + acc-name: co-Buchi + Acceptance: 1 Fin(0) + --BODY-- + State: 0 + [ 0] 0 + [ t] 0 {0} + [ t] 1 {0} + [ t] 2 {0} + [ t] 3 {0} + [ t] 4 {0} + [ t] 5 {0} + State: 1 + [!0] 2 + [ t] 0 {0} + [ t] 1 {0} + [ t] 2 {0} + [ t] 3 {0} + [ t] 4 {0} + [ t] 5 {0} + State: 2 + [ 0] 1 + [ t] 0 {0} + [ t] 1 {0} + [ t] 2 {0} + [ t] 3 {0} + [ t] 4 {0} + [ t] 5 {0} + State: 3 + [!0] 4 + [ t] 0 {0} + [ t] 1 {0} + [ t] 2 {0} + [ t] 3 {0} + [ t] 4 {0} + [ t] 5 {0} + State: 4 + [!0] 5 + [ t] 0 {0} + [ t] 1 {0} + [ t] 2 {0} + [ t] 3 {0} + [ t] 4 {0} + [ t] 5 {0} + State: 5 + [ 0] 3 + [ t] 0 {0} + [ t] 1 {0} + [ t] 2 {0} + [ t] 3 {0} + [ t] 4 {0} + [ t] 5 {0} + --END--"""; + + private static final String FOO = """ + HOA: v1 + tool: "owl" "21.1-development" + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch\s + properties: deterministic unambiguous\s + properties: complete\s + AP: 2 "a" "b" + --BODY-- + State: 0 "0" + [0] 1 {0} + [!0] 0 {} + State: 1 "2" + [0] 2 {} + [!0] 3 {0} + State: 2 "3" + [0 & 1] 2 {} + [!0] 3 {} + [0 & !1] 0 {} + State: 3 "1" + [0] 1 {} + [!0 & !1] 2 {} + [!0 & 1] 0 {} + --END-- + """; + + private static final String RR_Q4_AP1 = """ + HOA: v1 + tool: "owl" "21.1-development" + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch\s + properties: deterministic unambiguous\s + properties: complete\s + AP: 1 "a" + --BODY-- + State: 0 + [!0] 1 {} + [0] 0 {0} + State: 1 + [t] 2 {} + State: 2 + [!0] 3 {0} + [0] 0 {} + State: 3 + [!0] 3 {} + [0] 0 {} + --END--"""; + + private static final String GFG_NBW_EXAMPLE = """ + HOA: v1 + Start: 0 + Acceptance: 1 Inf(0) + AP: 1 "a" + --BODY-- + State: 0 + [0] 0 {0} + State: 1 + [t] 2 {} + State: 2 + [!0] 3 {0} + [0] 0 {} + State: 3 + [!0] 3 {} + [0] 0 {} + --END--"""; + + // This example shows that a minimal GFG tNCW cannot drop alpha-edges to states that cannot be + // entered with the same letter _and_ stay DBP. + private static final String ONE_LETTER_TEST = """ + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch + properties: deterministic unambiguous + properties: complete + AP: 1 "a" + --BODY-- + State: 0 "0" + [!0] 1 {0} + [0] 2 {} + State: 1 "2" + [t] 0 {} + State: 2 "1" + [0] 3 {} + [!0] 4 {0} + State: 3 "3" + [0] 3 {} + [!0] 4 {} + State: 4 "4" + [0] 1 {} + [!0] 2 {} + --END-- + """; + + private static final String MAXIM_TEST = """ + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch\s + properties: deterministic unambiguous\s + properties: complete\s + AP: 1 "a" + --BODY-- + State: 0 "0" + [!0] 1 {} + [0] 2 {0} + State: 1 "2" + [!0] 1 {0} + [0] 0 {} + State: 2 "1" + [!0] 1 {0} + [0] 2 {} + --END-- + """; + + private static final String ATTEMPT2_GADGET_MINIMAL_GFG_TNCW = """ + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch complete + AP: 1 "a" + Alias: @a !0 + Alias: @b 0 + --BODY-- + State: 0 "bb-self-loop" + [@a] 3 {} + [@b] 6 {} + State: 1 "ba-self-loop" + [@a] 4 {} + [@b] 3 {} + State: 2 "{ab,ba}-self-loop" + [@a] 5 {} + [@b] 4 {} + State: 3 "between 0 and 1" + [@a] 1 {} + [@b] 0 {0} + [@b] 1 {0} + [@b] 2 {0} + State: 4 "between 1 and 2" + [@a] 2 {} + [@b] 0 {0} + [@b] 1 {0} + [@b] 2 {0} + State: 5 "between 2 and 0" + [@a] 0 {} + [@b] 2 {} + State: 6 "companion of 0" + [@a] 0 {0} + [@a] 1 {0} + [@a] 2 {0} + [@b] 0 + --END-- + """; + + private static final String GADGET_MINIMAL_GFG_TNCW = """ + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch complete + AP: 2 "p0" "p1" + Alias: @a !0 & !1 + Alias: @b 0 & !1 + Alias: @c 1 + --BODY-- + State: 0 "cc-loop" + [@a] 4 + [@b] 6 + [@c] 3 + State: 1 "ac/ca-loop" + [@a] 5 + [@b] 3 {0} + [@b] 4 {0} + [@b] 5 {0} + [@b] 6 {0} + [@b] 7 {0} + [@c] 4 + State: 2 "bc/cb-loop" + [@a] 3 {0} + [@a] 4 {0} + [@a] 5 {0} + [@a] 6 {0} + [@a] 7 {0} + [@b] 7 + [@c] 6 + State: 3 "cc-companion" + [@a] 0 {0} + [@a] 1 {0} + [@a] 2 {0} + [@b] 0 {0} + [@b] 1 {0} + [@b] 2 {0} + [@c] 0 + State: 4 "0 -> 1" + [@a] 1 + [@b] 0 {0} + [@b] 1 {0} + [@b] 2 {0} + [@c] 0 {0} + [@c] 1 {0} + [@c] 2 {0} + State: 5 "1 -> 0" + [@a] 0 + [@b] 0 {0} + [@b] 1 {0} + [@b] 2 {0} + [@c] 1 + State: 6 "0 -> 2" + [@a] 0 {0} + [@a] 1 {0} + [@a] 2 {0} + [@b] 2 + [@c] 0 {0} + [@c] 1 {0} + [@c] 2 {0} + State: 7 "2 -> 0" + [@a] 0 {0} + [@a] 1 {0} + [@a] 2 {0} + [@b] 0 + [@c] 2 + --END-- + """; + + private static final String GADGET_MINIMAL_GFG_TNCW_PRUNED = """ + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch complete + AP: 2 "p0" "p1" + Alias: @a !0 & !1 + Alias: @b 0 & !1 + Alias: @c 1 + --BODY-- + State: 0 "cc-loop" + [@a] 4 + [@b] 6 + [@c] 3 + State: 1 "ac/ca-loop" + [@a] 5 + [@b] 3 {0} + [@c] 4 + State: 2 "bc/cb-loop" + [@a] 3 {0} + [@b] 7 + [@c] 6 + State: 3 "cc-companion" + [@a] 1 {0} + [@b] 2 {0} + [@c] 0 + State: 4 "0 -> 1" + [@a] 1 + [@b] 2 {0} + [@c] 0 {0} + [@c] 1 {0} + State: 5 "1 -> 0" + [@a] 0 + [@b] 2 {0} + [@c] 1 + State: 6 "0 -> 2" + [@a] 1 {0} + [@b] 2 + [@c] 0 {0} + [@c] 2 {0} + State: 7 "2 -> 0" + [@a] 0 {0} + [@b] 0 + [@c] 2 + --END-- + """; + + private static final String GADGET_TDCW_ONE_SAFE = """ + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch complete + AP: 2 "p0" "p1" + Alias: @a !0 & !1 + Alias: @b 0 & !1 + Alias: @c 1 + --BODY-- + State: 0 "cc-loop" + [@a] 4 + [@b] 6 + [@c] 3 + State: 1 "ac/ca-loop" + [@a] 5 + [@b] 3 {0} + [@c] 8 + State: 2 "bc/cb-loop" + [@a] 3 {0} + [@b] 7 + [@c] 9 + State: 3 "cc-companion" + [@a] 1 {0} + [@b] 2 {0} + [@c] 0 + State: 4 "0 -> 1 (from 0)" + [@a] 1 + [@b] 2 {0} + [@c] 1 {0} + State: 8 "0 -> 1 (from 1)" + [@a] 1 + [@b] 2 {0} + [@c] 0 {0} + State: 5 "1 -> 0" + [@a] 0 + [@b] 0 {0} + [@c] 1 + State: 6 "0 -> 2 (from 0)" + [@a] 1 {0} + [@b] 2 + [@c] 2 {0} + State: 9 "0 -> 2 (from 2)" + [@a] 1 {0} + [@b] 2 + [@c] 0 {0} + State: 7 "2 -> 0" + [@a] 0 {0} + [@b] 0 + [@c] 2 + --END-- + """; + + private static final String GADGET_TDCW_TWO_SAFE = """ + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch complete + AP: 2 "p0" "p1" + Alias: @a !0 & !1 + Alias: @b 0 & !1 + Alias: @c 1 + --BODY-- + State: 0 "cc-loop" + [@a] 4 + [@b] 6 + [@c] 3 + State: 1 "ac/ca-loop" + [@a] 5 + [@b] 9 {0} + [@c] 8 + State: 2 "bc/cb-loop" + [@a] 3 {0} + [@b] 7 + [@c] 6 + State: 3 "cc-companion" + [@a] 1 {0} + [@b] 2 {0} + [@c] 0 + State: 4 "0 -> 1 (from 0)" + [@a] 1 + [@b] 2 {0} + [@c] 1 {0} + State: 8 "0 -> 1 (from 1)" + [@a] 1 + [@b] 2 {0} + [@c] 0 {0} + State: 5 "1 -> 0" + [@a] 0 + [@b] 0 {0} + [@c] 1 + State: 6 "0 -> 2" + [@a] 1 {0} + [@b] 2 + [@c] 1 {0} + State: 7 "2 -> 0" + [@a] 0 {0} + [@b] 0 + [@c] 2 + State: 9 "outsider" + [@a] 1 {0} + [@b] 2 {0} + [@c] 2 {0} + --END-- + """; + + private static final String GADGET_MINIMAL_TDCW_1 = """ + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch complete + AP: 2 "p0" "p1" + Alias: @a !0 & !1 + Alias: @b 0 & !1 + Alias: @c 1 + --BODY-- + State: 0 "cc-loop" + [@a] 4 + [@b] 6 + [@c] 3 + State: 1 "ac/ca-loop" + [@a] 5 + [@b] 3 {0} + [@c] 8 + State: 2 "bc/cb-loop" + [@a] 3 {0} + [@b] 7 + [@c] 6 + State: 3 "cc-companion" + [@a] 1 {0} + [@b] 2 {0} + [@c] 0 + State: 4 "0 -> 1 (from 0)" + [@a] 1 + [@b] 2 {0} + [@c] 1 {0} + State: 8 "0 -> 1 (from 1)" + [@a] 1 + [@b] 2 {0} + [@c] 0 {0} + State: 5 "1 -> 0" + [@a] 0 + [@b] 0 {0} + [@c] 1 + State: 6 "0 -> 2" + [@a] 1 {0} + [@b] 2 + [@c] 1 {0} + State: 7 "2 -> 0" + [@a] 0 {0} + [@b] 0 + [@c] 2 + --END-- + """; + + private static final String GADGET_MINIMAL_TDCW_1_2 = """ + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch complete + AP: 1 "a" + Alias: @a !0 + Alias: @b 0 + --BODY-- + State: 0 "bb-self-loop" + [@a] 3 {} + [@b] 6 {} + State: 1 "ba-self-loop" + [@a] 4 {} + [@b] 7 {} + State: 2 "{ab,ba}-self-loop" + [@a] 5 {} + [@b] 4 {} + State: 3 "between 0 and 1 (from 0)" + [@a] 1 {} + [@b] 0 {0} + [@b] 1 {0} + [@b] 2 {0} + State: 4 "between 1 and 2" + [@a] 2 {} + [@b] 0 {0} + [@b] 1 {0} + [@b] 2 {0} + State: 5 "between 2 and 0" + [@a] 0 {} + [@b] 2 {} + State: 6 "companion of 0" + [@a] 0 {0} + [@a] 1 {0} + [@a] 2 {0} + [@b] 0 + State: 7 "between 0 and 1 (from 1)" + [@a] 0 {0} + [@a] 1 {0} + [@a] 2 {0} + [@b] 0 + --END-- + """; + + private static final String NEW_GADGET_MINIMAL_GFG_TNCW = """ + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch complete + AP: 1 "a" + Alias: @a !0 + Alias: @b 0 + --BODY-- + State: 0 "bb-loop" + [@a] 3 + [@b] 7 + State: 1 "ab/ba-loop 1" + [@a] 4 + [@b] 3 + State: 2 "ab/ba-loop 2" + [@a] 5 + [@b] 6 + State: 3 "0 -> 1" + [@a] 1 + [@b] 0 {0} + [@b] 1 {0} + [@b] 2 {0} + State: 4 "1 -> 2" + [@a] 2 + [@b] 1 + State: 5 "2 -> 0 via a" + [@a] 0 + [@b] 2 + State: 6 "2 -> 0 via b" + [@a] 2 + [@b] 0 {0} + [@b] 1 {0} + [@b] 2 {0} + State: 7 "bb-companion" + [@a] 0 {0} + [@a] 1 {0} + [@a] 2 {0} + [@b] 0 + --END-- + """; + + // the outgoing transitions of 3 and 7 need to match. + private static final String NEW_GADGET_MINIMAL_TDCW = """ + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch complete + AP: 1 "a" + Alias: @a !0 + Alias: @b 0 + --BODY-- + State: 0 "bb-loop" + [@a] 3 + [@b] 7 + State: 1 "ab/ba-loop 1" + [@a] 4 + [@b] 8 + State: 2 "ab/ba-loop 2" + [@a] 5 + [@b] 6 + State: 3 "0 -> 1 (from 0)" + [@a] 1 + [@b] 1 {0} + State: 8 "0 -> 1 (from 1)" + [@a] 1 + [@b] 0 {0} + State: 4 "1 -> 2" + [@a] 2 + [@b] 1 + State: 5 "2 -> 0 via a" + [@a] 0 + [@b] 2 + State: 6 "2 -> 0 via b" + [@a] 2 + [@b] 0 {0} + State: 7 "bb-companion" + [@a] 1 {0} + [@b] 0 + --END-- + """; + + // the outgoing transitions of 3 and 7 need to match. + private static final String NEW_GADGET_MINIMAL_TDCW_2 = """ + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch complete + AP: 1 "a" + Alias: @a !0 + Alias: @b 0 + --BODY-- + State: 0 "bb-loop" + [@a] 3 + [@b] 7 + State: 1 "ab/ba-loop 1" + [@a] 4 + [@b] 8 + State: 2 "ab/ba-loop 2" + [@a] 5 + [@b] 6 + State: 3 "0 -> 1 (from 0)" + [@a] 1 + [@b] 2 {0} + State: 8 "0 -> 1 (from 1)" + [@a] 1 + [@b] 0 {0} + State: 4 "1 -> 2" + [@a] 2 + [@b] 1 + State: 5 "2 -> 0 via a" + [@a] 0 + [@b] 2 + State: 6 "2 -> 0 via b" + [@a] 2 + [@b] 0 {0} + State: 7 "bb-companion" + [@a] 2 {0} + [@b] 0 + --END-- + """; + + + private static final String TNCW_STRONGLY_EQUIVALENT_DUPLICATE = """ + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch complete + AP: 1 "a" + Alias: @a !0 + Alias: @b 0 + --BODY-- + State: 0 + [@a] 1 + [@b] 2 + State: 1 + [@a] 0 + [@b] 3 {0} + State: 2 + [t] 1 + State: 3 + [@a] 0 {0} + [@a] 1 {0} + [@a] 2 {0} + [@a] 3 {0} + [@b] 3 + --END-- + """; + + private static final String TDCW_STRONGLY_EQUIVALENT_DUPLICATE = """ + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch complete + AP: 1 "a" + Alias: @a !0 + Alias: @b 0 + --BODY-- + State: 0 + [@a] 1 + [@b] 2 + State: 1 + [@a] 0 + [@b] 3 {0} + State: 2 + [t] 1 + State: 3 + [@a] 4 {0} + [@b] 3 + State: 4 + [@a] 2 {0} + [@b] 4 + --END-- + """; + + + private static final String IS_THERE_A_GAP = """ + HOA: v1 + tool: "owl" "21.1-development" + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch\s + properties: complete\s + AP: 1 "a" + --BODY-- + State: 0 + [0] 3 + [!0] 0 {0} + [!0] 1 {0} + [!0] 2 {0} + [!0] 3 {0} + [!0] 4 {0} + State: 1 + [0] 1 + [!0] 0 {0} + [!0] 1 {0} + [!0] 2 {0} + [!0] 3 {0} + [!0] 4 {0} + State: 2 + [!0] 3 + [0] 0 {0} + [0] 1 {0} + [0] 2 {0} + [0] 3 {0} + [0] 4 {0} + State: 3 + [0] 4 + [!0] 0 + State: 4 + [0] 2 + [!0] 0 {0} + [!0] 1 {0} + [!0] 2 {0} + [!0] 3 {0} + [!0] 4 {0} + --END-- + """; + + private static final String IS_THIS_DBP = """ + HOA: v1 + tool: "owl" "21.1-development" + Start: 0 + acc-name: Buchi + Acceptance: 1 Inf(0) + properties: trans-acc no-univ-branch + properties: deterministic unambiguous + properties: complete + AP: 1 "a" + --BODY-- + State: 0 + [!0] 1 {0} + [0] 2 + State: 1 + [0] 1 + [!0] 2 + State: 2 + [0] 3 + [!0] 0 + State: 3 + [!0] 4 {0} + [0] 4 + State: 4 + [!0] 2 + [0] 5 + State: 5 + [!0] 6 + [0] 1 {0} + State: 6 + [!0] 0 {0} + [0] 5 + --END-- + """; + + private static final String IS_THIS_GFG_NBW = """ + HOA: v1 + tool: "owl" "21.1-development" + Start: 0 + acc-name: Buchi + Acceptance: 1 Inf(0) + properties: trans-acc no-univ-branch + properties: deterministic unambiguous + properties: complete + AP: 1 "a" + --BODY-- + State: 0 + [!0] 1 {0} + [0] 2 + State: 1 + [0] 1 + [!0] 2 + State: 2 + [0] 3 + [!0] 0 + State: 3 + [!0] 4 {0} + [0] 4 + State: 4 + [!0] 2 + [0] 5 + State: 5 + [!0] 6 + [0] 1 {0} + State: 6 + [!0] 0 {0} + [0] 5 + --END-- + """; + + + private static final String ELEVATOR_2 = """ + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch complete + AP: 1 "a" + Alias: @a !0 + Alias: @b 0 + --BODY-- + State: 0 "ground left" + [@a] 2 + [@b] 0 + State: 1 "ground right" + [@b] 0 + State: 2 "level 1" + [@a] 3 + [@b] 1 + State: 3 "level 2" + [@b] 2 + --END-- + """; + + private static final String ELEVATOR_3 = """ + HOA: v1 + Start: 1 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch complete + AP: 1 "a" + Alias: @a !0 + Alias: @b 0 + --BODY-- + State: 1 "ground right" + [@a] 2 + State: 2 "level 1" + [@a] 3 + [@b] 1 + State: 3 "level 2" + [@a] 4 + [@b] 2 + State: 4 "level 3" + [@a] 5 + [@b] 3 + State: 5 "level 4" + [@b] 4 + --END-- + """; + + private static final String ELEVATOR_4 = """ + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch complete + AP: 1 "a" + Alias: @a !0 + Alias: @b 0 + --BODY-- + State: 0 "ground left" + [@a] 2 + [@b] 0 + State: 1 "ground right" + [@b] 0 + State: 2 "level 1" + [@a] 3 + [@b] 1 + State: 3 "level 2" + [@a] 4 + [@b] 2 + State: 4 "level 3" + [@a] 5 + [@b] 3 + State: 5 "level 4" + [@b] 4 + --END-- + """; + + private static final String MINIMAL_TDCW_NO_SINGLE_LETTER_PRUNING = """ + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch complete + AP: 1 "a" + Alias: @a !0 + Alias: @b 0 + --BODY-- + State: 0 + [@a] 1 + [@b] 2 {0} + State: 1 + [@a] 3 + [@b] 4 {0} + State: 2 + [t] 0 + State: 3 + [@a] 3 + [@b] 4 + State: 4 + [@a] 2 + [@b] 1 + --END-- + """; + + private static final String MINIMAL_TDCW_NO_SINGLE_LETTER_PRUNING_2 = """ + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch complete + AP: 1 "a" + Alias: @a !0 + Alias: @b 0 + --BODY-- + State: 0 + [@a] 1 + [@b] 0 {0} + State: 1 + [@a] 3 + [@b] 4 {0} + State: 2 + [t] 0 + State: 3 + [@a] 3 + [@b] 4 + State: 4 + [@a] 2 + [@b] 1 + --END-- + """; + + private final String LONG_STRING = """ + (b & + (X(a & X a & G (a | Xa)) | + ((b | Xb) U (Xb & XXa & XXG(a|Xa))) + ) + ) + """; + + private final String LONG_STRING_1 = """ + (b & + (X(a & X a & G (a | Xa)) | + ((b | Xb) U (Xb & XXa & XXG(a|Xa))) + ) + ) | ( + (a | F (a & Xa)) & + (F (b & X b & XX( + (a & Xa & G(a|Xa)) | + (b|Xb) U (Xb & XXa & XXXa & XXG(a|Xa)) + ))) + ) + """; + + // @Test + void testMinimalNoPruning() throws ParseException { + Automaton dcw1 = OmegaAcceptanceCast.castExact( + HoaReader.read(MINIMAL_TDCW_NO_SINGLE_LETTER_PRUNING), + CoBuchiAcceptance.class); + + Automaton dcw2 = OmegaAcceptanceCast.castExact( + HoaReader.read(MINIMAL_TDCW_NO_SINGLE_LETTER_PRUNING_2), + CoBuchiAcceptance.class); + + Assertions.assertTrue(LanguageContainment.containsCoBuchi(dcw1, dcw2)); + Assertions.assertTrue(LanguageContainment.containsCoBuchi(dcw2, dcw1)); + } + + // @Test +// void testElevator2() { +// for (int level = 2; level < 25; level++) { +// var elevator = new SearchForGfgExample.GfgNcwElevator(level); +// var deterministicElevator = new SearchForGfgExample.LinearDcwElevator(level); +// +// System.out.println("States: " + deterministicElevator.states().size()); +// System.out.println(HoaWriter.toString(deterministicElevator)); +// +// Assertions.assertEquals( +// GfgNcwMinimization.minimize( +// deterministicElevator).alphaMaximalUpToHomogenityGfgNcw.states().size(), +// elevator.states().size()); +// +// Assertions.assertTrue( +// LanguageContainment.equalsCoBuchi(elevator, deterministicElevator)); +// +// //Assertions.assertEquals( +// // Optional.empty(), +// // DcwMinimization.minimizeDcw(deterministicElevator)); +// +// } +// } + + // @Test +// void testElevator() { +// for (int level = 2; level < 20; level++) { +// var elevator = new SearchForGfgExample.GfgNcwElevator(level); +// var deterministicElevator = Determinization.determinizeCoBuchiAcceptance(elevator); +// +// Assertions.assertEquals( +// GfgNcwMinimization.minimize( +// deterministicElevator).alphaMaximalUpToHomogenityGfgNcw.states().size(), +// elevator.states().size()); +// +// //Assertions.assertEquals( +// // Optional.empty(), +// // DcwMinimization.minimizeDcw(deterministicElevator)); +// +// System.out.println(HoaWriter.toString(deterministicElevator)); +// } +// } + + private static final String FORMULA = + "(a & XG(a|Xa)) | ((!a & (a -> X !a) U (!a & X t)) | ((a | F(a & Xa)) & F (!a & X!a & XX(t | (a -> X!a) U (!a & Xt)))))"; + + @Test + void testFossacs() throws ParseException { + Automaton fossacsDcw = OmegaAcceptanceCast.castExact( + HoaReader.read(FOSSACS_EXAMPLE_SIMPLE), + CoBuchiAcceptance.class); + + Assertions.assertEquals( + 3, + GfgNcwMinimization.minimize(fossacsDcw).alphaMaximalUpToHomogenityGfgNcw.states() + .size()); + + LabelledFormula fossacsSigma2Formula = LtlParser.parse( + FORMULA.replace("t", "(a & Xa & XG(a|Xa))")); + + //Automaton fossacsFormulaDcw = Views.dropStateLabels( + // DeterministicConstructions.CoSafetySafety.of( + // fossacsSigma2Formula, true)).automaton(); + + // System.err.println(HoaWriter.toString(fossacsFormulaDcw)); + +// Assertions.assertEquals( +// 3, +// GfgNcwMinimization.minimize(fossacsFormulaDcw).alphaMaximalUpToHomogenityGfgNcw.states() +// .size()); +// +// var minimalDcw1 = DcwMinimizationPruning.minimizeCompleteDcw( +// fossacsDcw).minimalDcw.orElseThrow(); +// var minimalDcw2 = DcwMinimizationPruning.minimizeCompleteDcw( +// fossacsFormulaDcw).minimalDcw.orElseThrow(); +// +// Assertions.assertTrue(LanguageContainment.languageEquivalent(minimalDcw1, minimalDcw2)); + } + + @Test + void testNow() throws ParseException { + Automaton minimalGfgTNcw = OmegaAcceptanceCast.cast( + HoaReader.read(TNCW_STRONGLY_EQUIVALENT_DUPLICATE), + CoBuchiAcceptance.class); + + Automaton minimalTDcw = OmegaAcceptanceCast.cast( + HoaReader.read(TDCW_STRONGLY_EQUIVALENT_DUPLICATE), + CoBuchiAcceptance.class); + + // Assertions.assertTrue(LanguageContainment.equalsCoBuchi(minimalGfgTNcw, minimalTDcw)); + // Assertions.assertEquals(8, minimalGfgTNcw.allRuns().size()); + // Assertions.assertEquals(8, GfgNcwMinimization.minimize(Determinization.determinizeCoBuchiAcceptance(minimalGfgTNcw)).minimalGfgNcw.allRuns().size()); + // var tDcw = DcwMinimization.minimalDcwForLanguage(minimalGfgTNcw); + +// var tDcw = DcwMinimization.minimalDcwForLanguage(minimalGfgTNcw); + // Assertions.assertTrue(minimalGfgTNcw.allRuns().size() < tDcw.get().allRuns().size()); + //System.out.println(HoaWriter.toString(DcwMinimization.minimalDcwForLanguage(minimalGfgTNcw).orElseThrow())); + } + + + @Test + void testDbp() throws ParseException { + var minimalTDbw = OmegaAcceptanceCast.cast( + HoaReader.read(IS_THIS_DBP, FactorySupplier.defaultSupplier()::getBddSetFactory, null), + BuchiAcceptance.class); + + var minimalTGfgNbw = OmegaAcceptanceCast.cast( + HoaReader.read(IS_THIS_GFG_NBW, FactorySupplier.defaultSupplier()::getBddSetFactory, null), + BuchiAcceptance.class); + + Assertions.assertTrue(LanguageContainment.languageEquivalent(minimalTDbw, + NbaDet.determinize(minimalTGfgNbw, new AutomatonConversionCommands.Nba2DpaCommand(null)))); + } + + @Test + void testGap() throws ParseException { + var minimalGfgTNcw = OmegaAcceptanceCast.cast( + HoaReader.read(IS_THERE_A_GAP, FactorySupplier.defaultSupplier()::getBddSetFactory, null), + CoBuchiAcceptance.class); + + var tDcw = Determinization.determinizeCoBuchiAcceptance(minimalGfgTNcw); + + Assertions.assertEquals( + GfgNcwMinimization.minimize(tDcw).alphaMaximalUpToHomogenityGfgNcw.states().size(), + minimalGfgTNcw.states().size()); + var minimalTDcw = DcwMinimization.minimize(tDcw); + System.out.println(HoaWriter.toString(minimalTDcw)); + } + + @Test + void testMinimial2() throws ParseException { + Automaton minimalGfgTNcw = OmegaAcceptanceCast.cast( + HoaReader.read(NEW_GADGET_MINIMAL_GFG_TNCW, + FactorySupplier.defaultSupplier()::getBddSetFactory, null), + CoBuchiAcceptance.class); + + Automaton minimalTDcw = OmegaAcceptanceCast.cast( + HoaReader.read(NEW_GADGET_MINIMAL_TDCW, FactorySupplier.defaultSupplier()::getBddSetFactory, + null), + CoBuchiAcceptance.class); + + Automaton minimalTDcw2 = OmegaAcceptanceCast.cast( + HoaReader.read(NEW_GADGET_MINIMAL_TDCW_2, + FactorySupplier.defaultSupplier()::getBddSetFactory, null), + CoBuchiAcceptance.class); + + Assertions.assertTrue(LanguageContainment.equalsCoBuchi(minimalGfgTNcw, minimalTDcw)); + Assertions.assertTrue(LanguageContainment.equalsCoBuchi(minimalTDcw, minimalTDcw2)); + Assertions.assertEquals(8, minimalGfgTNcw.states().size()); + Assertions.assertEquals(8, GfgNcwMinimization.minimize( + Determinization.determinizeCoBuchiAcceptance( + minimalGfgTNcw)).alphaMaximalUpToHomogenityGfgNcw.states().size()); + var tDcw = DcwMinimization.minimize(minimalGfgTNcw); + +// var tDcw = DcwMinimization.minimalDcwForLanguage(minimalGfgTNcw); + // Assertions.assertTrue(minimalGfgTNcw.allRuns().size() < tDcw.get().allRuns().size()); + //System.out.println(HoaWriter.toString(DcwMinimization.minimalDcwForLanguage(minimalGfgTNcw).orElseThrow())); + } + + + @Test + void testMinimial() throws ParseException { + Automaton minimalGfgTNcw = OmegaAcceptanceCast.cast( + HoaReader.read(GADGET_MINIMAL_GFG_TNCW, FactorySupplier.defaultSupplier()::getBddSetFactory, + null), + CoBuchiAcceptance.class); + + Automaton minimalGfgTNcwPruned = OmegaAcceptanceCast.cast( + HoaReader.read(GADGET_MINIMAL_GFG_TNCW_PRUNED, + FactorySupplier.defaultSupplier()::getBddSetFactory, null), + CoBuchiAcceptance.class); + + Automaton tDcw = OmegaAcceptanceCast.cast( + HoaReader.read(GADGET_TDCW_ONE_SAFE, FactorySupplier.defaultSupplier()::getBddSetFactory, + null), + CoBuchiAcceptance.class); + + Automaton tDcw2 = OmegaAcceptanceCast.cast( + HoaReader.read(GADGET_TDCW_TWO_SAFE, FactorySupplier.defaultSupplier()::getBddSetFactory, + null), + CoBuchiAcceptance.class); + + Assertions.assertTrue(LanguageContainment.equalsCoBuchi(minimalGfgTNcw, minimalGfgTNcwPruned)); + Assertions.assertTrue(LanguageContainment.equalsCoBuchi(minimalGfgTNcw, tDcw)); + // Assertions.assertTrue(LanguageContainment.equalsCoBuchi(tDcw, tDcw2)); + Assertions.assertEquals(8, minimalGfgTNcw.states().size()); + Assertions.assertEquals(8, minimalGfgTNcwPruned.states().size()); + Assertions.assertEquals(8, GfgNcwMinimization.minimize( + Determinization.determinizeCoBuchiAcceptance( + minimalGfgTNcwPruned)).alphaMaximalUpToHomogenityGfgNcw.states().size()); + + // var tDcw = DcwMinimization.minimalDcwForLanguage(minimalGfgTNcw); + // Assertions.assertTrue(minimalGfgTNcw.allRuns().size() < tDcw.get().allRuns().size()); + //System.out.println(HoaWriter.toString(DcwMinimization.minimalDcwForLanguage(minimalGfgTNcw).orElseThrow())); + } + + private static Automaton addMissingAlphaTransitions( + Automaton ncw) { + + Set> alphaEdges + = ncw.states().stream().map(x -> Edge.of(x, 0)).collect(Collectors.toUnmodifiableSet()); + + return new AbstractMemoizingAutomaton.EdgeTreeImplementation<>( + ncw.atomicPropositions(), ncw.factory(), ncw.initialStates(), CoBuchiAcceptance.INSTANCE) { + + @Override + protected MtBdd> edgeTreeImpl(Integer state) { + return ncw.edgeTree(state).map(x -> x.isEmpty() ? alphaEdges : x); + } + }; + } + + @Test + void testThreeComponents() throws ParseException { + Automaton ncw1 = addMissingAlphaTransitions( + OmegaAcceptanceCast.cast( + HoaReader.read(THREE_COMPONENTS, FactorySupplier.defaultSupplier()::getBddSetFactory, + null), + CoBuchiAcceptance.class)); + + System.out.println(HoaWriter.toString(ncw1)); + System.out.println( + HoaWriter.toString(DcwMinimization.minimize(ncw1))); + } + + @Test + void testMaximTest() throws ParseException { + Automaton ncw1 = OmegaAcceptanceCast.cast( + HoaReader.read(MAXIM_TEST, FactorySupplier.defaultSupplier()::getBddSetFactory, null), + CoBuchiAcceptance.class); + + System.out.println( + HoaWriter.toString(DcwMinimization.minimize(ncw1))); + } + + @Test + void testRR4AP1() throws ParseException { + Automaton ncw1 = OmegaAcceptanceCast.cast( + HoaReader.read(RR_Q4_AP1, FactorySupplier.defaultSupplier()::getBddSetFactory, null), + CoBuchiAcceptance.class); + + System.out.println(HoaWriter.toString(ncw1)); + System.out.println( + HoaWriter.toString(DcwMinimization.minimize(ncw1))); + } + + // @Test + void testRandAut() throws Exception { + var automata = HoaReader.readMultiple(Path.of( + "/Users/bob/Teleporter/Fedora Workstation 35/docker/data3/minimal-tDCW_Q20_AP1.hoa"), + FactorySupplier.defaultSupplier()::getBddSetFactory, null); + + for (var automaton : automata) { + var minimalDcw + = DcwMinimization.minimize( + OmegaAcceptanceCast.cast(automaton, CoBuchiAcceptance.class)); + + // if (minimalDcw.isEmpty()) { +// System.err.println(HoaWriter.toString(automaton)); +// System.err.println(HoaWriter.toString(GfgNcwMinimization.minimize( +// OmegaAcceptanceCast.castExact(automaton, +// CoBuchiAcceptance.class)).alphaMaximalUpToHomogenityGfgNcw)); +// } + } + } + + @Test + void testThreeComponents2() throws ParseException { + Automaton ncw1 = addMissingAlphaTransitions( + OmegaAcceptanceCast.cast( + HoaReader.read(THREE_COMPONENTS_2, FactorySupplier.defaultSupplier()::getBddSetFactory, + null), + CoBuchiAcceptance.class)); + + System.out.println(HoaWriter.toString(ncw1)); + System.out.println( + HoaWriter.toString(DcwMinimization.minimize(ncw1))); + } + + @Test + void minimizeElevator() throws ParseException { + Automaton ncw1 = OmegaAcceptanceCast.cast( + HoaReader.read(ELEVATOR, FactorySupplier.defaultSupplier()::getBddSetFactory, null), + CoBuchiAcceptance.class); + + System.out.println( + HoaWriter.toString(DcwMinimization.minimize(ncw1))); + System.out.println(HoaWriter.toString(Determinization.determinizeCanonicalGfgNcw( + GfgNcwMinimization.minimize(Determinization.determinizeCoBuchiAcceptance(ncw1))))); + } + + @Test + void minimize() throws ParseException { + Automaton ncw1 = OmegaAcceptanceCast.cast( + HoaReader.read(EXAMPLE_1, FactorySupplier.defaultSupplier()::getBddSetFactory, null), + CoBuchiAcceptance.class); + + System.out.println(HoaWriter.toString( + DcwMinimization.minimize(ncw1))); + + Automaton ncw2 = OmegaAcceptanceCast.cast( + HoaReader.read(EXAMPLE_2, FactorySupplier.defaultSupplier()::getBddSetFactory, null), + CoBuchiAcceptance.class); + + System.out.println(HoaWriter.toString( + DcwMinimization.minimize( + Determinization.determinizeCoBuchiAcceptance(ncw2)))); + + Automaton ncw3 = + GfgNcwMinimization.minimize( + Determinization.determinizeCoBuchiAcceptance(ncw2)).alphaMaximalUpToHomogenityGfgNcw; + + System.out.println(HoaWriter.toString( + DcwMinimization.minimize(Determinization.determinizeCoBuchiAcceptance(ncw3)))); + } + + @Test + void minimizeOferExample() throws ParseException { + Automaton ncw1 = OmegaAcceptanceCast.cast( + HoaReader.read(HOA_GFG_CO_BUCHI, FactorySupplier.defaultSupplier()::getBddSetFactory, null), + CoBuchiAcceptance.class); + + System.out.println(HoaWriter.toString( + DcwMinimization.minimize(Determinization.determinizeCoBuchiAcceptance(ncw1)))); + + var dcw2 = Determinization.determinizeCanonicalGfgNcw( + GfgNcwMinimization.minimize(Determinization.determinizeCoBuchiAcceptance(ncw1))); + + System.out.println(HoaWriter.toString(dcw2)); + Assertions.assertTrue(LanguageContainment.equalsCoBuchi(ncw1, dcw2)); + } + + static Stream> dcwMinimisationTestCaseProvider() { + return Stream.concat( + IntStream.rangeClosed(2, 3).mapToObj(DcwRepository::permutationLanguageTestCase), + DcwRepository.GFG_NCW_HELPFUL_EXAMPLES.stream()) + .flatMap(testCase -> IntStream + .rangeClosed( + testCase.canonicalGfgNcw().alphaMaximalGfgNcw.states().size() - 2, + testCase.minimalDcwSize() + 4) + .mapToObj(i -> Pair.of(testCase, i))); + } + + static Stream> dcwMinimisationTestCaseProviderDb() + throws IOException, ParseException { + return DcwRepository.fromDb().stream() + .flatMap(testCase -> IntStream + .rangeClosed(testCase.minimalDcwSize(), testCase.minimalDcwSize() + 3) + .mapToObj(i -> Pair.of(testCase, i))); + } + + // fromDb + + @ParameterizedTest + @MethodSource("dcwMinimisationTestCaseProvider") + void verifyTestcasesUsingReferenceImplementation(Pair pair) { + DcwMinimisationTestCase testCase = pair.fst(); + int i = pair.snd(); + + var dcw = DcwMinimizationReferenceImplementation.minimizeCompleteDcw(testCase.canonicalGfgNcw(), + i, false); + + if (i < testCase.minimalDcwSize()) { + Assertions.assertEquals(Optional.empty(), dcw); + } else { + Assertions.assertTrue(dcw.isPresent()); + Assertions.assertTrue(LanguageContainment.equalsCoBuchi( + testCase.canonicalGfgNcw().alphaMaximalUpToHomogenityGfgNcw, dcw.get())); + } + } + + @ParameterizedTest + @MethodSource("dcwMinimisationTestCaseProvider") + void testDcwMinimisationThm8(Pair pair) { + DcwMinimisationTestCase testCase = pair.fst(); + int i = pair.snd(); + + var dcw = DcwMinimizationForGfgLanguages.guess(testCase.canonicalGfgNcw(), i); + + if (i < testCase.minimalDcwSize()) { + Assertions.assertEquals(Optional.empty(), dcw); + } else { + Assertions.assertTrue(dcw.isPresent()); + Assertions.assertTrue(LanguageContainment.equalsCoBuchi( + testCase.canonicalGfgNcw().alphaMaximalUpToHomogenityGfgNcw, dcw.get())); + } + } + + @ParameterizedTest + @MethodSource("dcwMinimisationTestCaseProvider") + void testDcwMinimisation(Pair pair) { + DcwMinimisationTestCase testCase = pair.fst(); + + var dcw = DcwMinimization.minimize(testCase.canonicalGfgNcw().dcw); + + Assertions.assertEquals(testCase.minimalDcwSize(), dcw.states().size()); + Assertions.assertTrue(LanguageContainment.equalsCoBuchi(testCase.canonicalGfgNcw().dcw, dcw)); + } + + // @Test + void search() throws IOException, ParseException, InterruptedException { + search(DcwRepository.fromDb().stream().map(DcwMinimisationTestCase::canonicalGfgNcw)); + } + + // @Test + void searchRandom() throws IOException, InterruptedException { + search( + DcwRepository.randomAutomataStream(new SplittableRandom(System.currentTimeMillis()), 1, 3, + 3) + .map( + x -> GfgNcwMinimization.minimize(Determinization.determinizeCoBuchiAcceptance(x)))); + } + + + void search(Stream stream) throws IOException, InterruptedException { + BlockingQueue>> blockingQueue = new ArrayBlockingQueue<>( + 100); + + int elements = 0; + + // Off-load computation to different thread. + new Thread(() -> stream.unordered().parallel().mapMulti( + (CanonicalGfgNcw canonicalGfgNcw, Consumer>> consumer) -> { + + if (DcwMinimization.minimize( + Determinization.determinizeCanonicalGfgNcw(canonicalGfgNcw)).states().size() >= 1) { + return; + } + + Automaton minimalDcw = null; + + int canonicalGfgNcwSize = canonicalGfgNcw.alphaMaximalGfgNcw.states().size(); + int minimalDcwSize = canonicalGfgNcwSize + 1; + + while (true) { + minimalDcw = DcwMinimizationForGfgLanguages.guess(canonicalGfgNcw, + minimalDcwSize) + .orElse(null); + + if (minimalDcw != null) { + break; + } + + System.out.println("Gap: " + (minimalDcwSize - canonicalGfgNcwSize)); + + if (minimalDcwSize - canonicalGfgNcwSize > 5) { + System.out.println( + HoaWriter.toString(canonicalGfgNcw.alphaMaximalUpToHomogenityGfgNcw)); + } + + minimalDcwSize++; + } + + Assertions.assertTrue(LanguageContainment.equalsCoBuchi( + canonicalGfgNcw.alphaMaximalGfgNcw, minimalDcw)); + Assertions.assertEquals(minimalDcwSize, minimalDcw.states().size()); + + if (minimalDcwSize != canonicalGfgNcwSize) { + consumer.accept(Pair.of(canonicalGfgNcw, minimalDcw)); + } + }).limit(100).forEach(blockingQueue::add)).start(); + + while (elements < 100) { + Pair> pair = blockingQueue.take(); + + CanonicalGfgNcw canonicalGfgNcw = pair.fst(); + int minimalDcwSize = pair.snd().states().size(); + + System.out.printf("Got an element with gap: %d%n", + minimalDcwSize - canonicalGfgNcw.alphaMaximalGfgNcw.states().size()); + System.out.flush(); + + Files.write(Path.of("gfg-helpful-23.hoa"), List.of(HoaWriter.toString(pair.snd()), "\n"), + StandardOpenOption.CREATE, StandardOpenOption.WRITE, StandardOpenOption.APPEND); + + Automaton fixedSafeMinimalDcw = null; + + if (true || false) { + continue; + } + + for (int i = 0; i < 10 && fixedSafeMinimalDcw == null; i++) { + fixedSafeMinimalDcw = DcwMinimizationReferenceImplementation.minimizeCompleteDcw( + canonicalGfgNcw, + minimalDcwSize + i, + true) + .orElse(null); + + if (fixedSafeMinimalDcw != null && i > 8) { + System.err.println("DCW (more safecomponents)"); + System.err.println(HoaWriter.toString(pair.snd())); + System.err.println("DCW (same safecomponents)"); + System.err.println(HoaWriter.toString(fixedSafeMinimalDcw)); + } + } + + elements++; + } + +// { +// var test = Determinization.determinizeCanonicalGfgNcw2(testCase.canonicalGfgNcw()); +// +// int safeComponents = SccDecomposition.of( +// test.states(), +// state -> test.edges(state).stream() +// .filter(x -> x.colours().isEmpty()) +// .map(Edge::successor) +// .toList()) +// .sccs() +// .size(); +// +// if (canonicalGfgNcw.safeComponents.size() < safeComponents) { +// System.err.println("DCW (more safecomponents)"); +// System.err.println(HoaWriter.toString(test)); +// System.err.println(canonicalGfgNcw.subsafeEquivalentRelation); +// } +// +// Assertions.assertEquals(canonicalGfgNcw.safeComponents.size(), safeComponents); +// } + } + + + @Test + void minimizeOferExample2Dcw() throws ParseException { + Automaton ncw1 = OmegaAcceptanceCast.cast( + HoaReader.read(HOA_GFG_CO_BUCHI, FactorySupplier.defaultSupplier()::getBddSetFactory, null), + CoBuchiAcceptance.class); + + System.out.println(HoaWriter.toString( + DcwMinimization.minimize(Determinization.determinizeCoBuchiAcceptance(ncw1)))); + + var dcw1 = DcwMinimizationReferenceImplementation.minimalDcwForLanguage(ncw1, 1); + var dcw2 = DcwMinimizationReferenceImplementation.minimalDcwForLanguage(ncw1, 2); + var dcw3 = DcwMinimizationReferenceImplementation.minimalDcwForLanguage(ncw1, 3); + var dcw4 = DcwMinimizationReferenceImplementation.minimalDcwForLanguage(ncw1, 4); + var dcw5 = DcwMinimizationReferenceImplementation.minimalDcwForLanguage(ncw1, 5); + + Assertions.assertEquals(Optional.empty(), dcw1); + Assertions.assertEquals(Optional.empty(), dcw2); + Assertions.assertEquals(Optional.empty(), dcw3); + Assertions.assertTrue(LanguageContainment.equalsCoBuchi(ncw1, dcw4.get())); + Assertions.assertTrue(LanguageContainment.equalsCoBuchi(ncw1, dcw5.get())); + } + + @Test + void minimizeDbpAlphaMaximalExample2() throws ParseException { + Automaton ncw1 = OmegaAcceptanceCast.cast( + HoaReader.read(NEXT_EXAMPLE, FactorySupplier.defaultSupplier()::getBddSetFactory, null), + CoBuchiAcceptance.class); + + Automaton ncw2 = OmegaAcceptanceCast.cast( + HoaReader.read(NEXT_EXAMPLE_2, FactorySupplier.defaultSupplier()::getBddSetFactory, null), + CoBuchiAcceptance.class); + + System.out.println(HoaWriter.toString(GfgNcwMinimization.minimize( + Determinization.determinizeCoBuchiAcceptance(ncw1)).alphaMaximalUpToHomogenityGfgNcw)); + System.out.println(HoaWriter.toString(GfgNcwMinimization.minimize( + Determinization.determinizeCoBuchiAcceptance(ncw2)).alphaMaximalUpToHomogenityGfgNcw)); + System.out.println( + HoaWriter.toString(DcwMinimization.minimize(ncw1))); + } + + // graphPermutationLanguage2 + + @Test + void minimizeGfgExampleFail() { + Automaton ncw1 = + GfgNcwMinimization.minimize( + Views.dropStateLabels(Determinization.determinizeCoBuchiAcceptance( + DcwRepository.permutationLanguage(3))) + .automaton()).alphaMaximalUpToHomogenityGfgNcw; + + Assertions.assertEquals(6, DcwMinimization.minimize(ncw1).states().size()); + } + + @Test + void testLtl() { + var formula = LtlParser.parse("(FG(a <-> XXXa)) | FGb | FG (c <-> Xc)").nnf(); + var dcw1 = DeterministicConstructions.CoSafetySafety.of(formula); + var dcw2 = Determinization.determinizeCanonicalGfgNcw(GfgNcwMinimization.minimize(dcw1)); + + System.out.println(HoaWriter.toString(dcw1)); + System.out.println(HoaWriter.toString(dcw2)); + Assertions.assertTrue(LanguageContainment.equalsCoBuchi(dcw1, dcw2)); + } +} diff --git a/src/test/java/owl/automaton/minimization/DcwRepository.java b/src/test/java/owl/automaton/minimization/DcwRepository.java new file mode 100644 index 00000000..ffd9b1b0 --- /dev/null +++ b/src/test/java/owl/automaton/minimization/DcwRepository.java @@ -0,0 +1,514 @@ +/* + * Copyright (C) 2016 - 2022 (See AUTHORS) + * + * This file is part of Owl. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 . + */ + +package owl.automaton.minimization; + +import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkState; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.BitSet; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.SplittableRandom; +import java.util.function.Function; +import java.util.random.RandomGenerator; +import java.util.stream.Collectors; +import java.util.stream.IntStream; +import java.util.stream.Stream; +import owl.automaton.AbstractMemoizingAutomaton.EdgesImplementation; +import owl.automaton.Automaton; +import owl.automaton.acceptance.CoBuchiAcceptance; +import owl.automaton.acceptance.OmegaAcceptanceCast; +import owl.automaton.determinization.Determinization; +import owl.automaton.edge.Edge; +import owl.automaton.hoa.HoaReader; +import owl.automaton.minimization.GfgNcwMinimization.CanonicalGfgNcw; +import owl.bdd.BddSet; +import owl.bdd.BddSetFactory; +import owl.bdd.FactorySupplier; +import owl.bdd.MtBdd; +import owl.collections.BitSet2; +import owl.collections.ImmutableBitSet; +import owl.thirdparty.jhoafparser.parser.generated.ParseException; + +public class DcwRepository { + + public final static List GFG_NCW_HELPFUL_EXAMPLES; + + static { + List builder = new ArrayList<>(); + + builder.add(new DcwMinimisationTestCase(""" + HOA: v1 + tool: "owl" "21.1-development" + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch\s + properties: complete\s + AP: 1 "a" + --BODY-- + State: 0 + [0] 1 {0} + [0] 2 {0} + [0] 3 {0} + [!0] 4 + [0] 4 {0} + [0] 0 {0} + State: 1 + [!0] 1 + [0] 2 + State: 2 + [!0] 3 + [0] 4 + State: 3 + [!0] 1 + [0] 1 {0} + [0] 2 {0} + [0] 3 {0} + [0] 4 {0} + [0] 0 {0} + State: 4 + [!0] 2 + [0] 0 + --END-- + """, 5, 8, 1, 1)); + + builder.add(new DcwMinimisationTestCase(""" + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch + properties: complete + AP: 2 "a" "b" + --BODY-- + State: 0 + [0] 1 + [!0] 0 + State: 1 + [t] 2 + State: 2 + [0 & !1] 2 {0} + [0 & 1] 1 + [0 & !1] 1 {0} + [!0] 0 + [0 & !1] 0 {0} + --END-- + """, 3, 4, 1, 1)); + + builder.add(new DcwMinimisationTestCase(""" + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch complete + AP: 1 "a" + Alias: @a !0 + Alias: @b 0 + --BODY-- + State: 0 + [@a] 1 + [@b] 3 + State: 1 "bb" + [@a] 4 + [@b] 2 + State: 2 + [@a] 3 {0} + [@b] 1 + State: 3 "ab+ba" + [@a] 0 + [@b] 4 + State: 4 + [@a] 3 + [@b] 1 {0} + [@b] 3 {0} + --END-- + """, 5, 6, 2, 1)); + + builder.add(new DcwMinimisationTestCase(""" + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch\s + properties: complete\s + AP: 1 "a" + --BODY-- + State: 0 + [!0] 1 + [0] 2 + State: 1 + [t] 3 + State: 2 + [!0] 1 {0} + [!0] 4 {0} + [0] 4 + [!0] 2 {0} + [!0] 3 {0} + [!0] 0 {0} + State: 3 + [t] 2 + State: 4 + [!0] 2 + [0] 0 + --END-- + """, 5, 6, 1, 1)); + + builder.add(new DcwMinimisationTestCase(""" + HOA: v1 + tool: "owl" "21.1-development" + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch + properties: complete + AP: 1 "a" + --BODY-- + State: 0 + [!0] 1 + [0] 2 + State: 1 + [0] 3 + [!0] 0 + State: 2 + [0] 4 {0} + [0] 1 {0} + [0] 3 {0} + [0] 5 {0} + [0] 2 {0} + [0] 6 {0} + [0] 0 {0} + [!0] 7 + [0] 7 {0} + [0] 8 {0} + State: 3 + [!0] 4 {0} + [0] 4 + [!0] 1 {0} + [!0] 3 {0} + [!0] 5 {0} + [!0] 2 {0} + [!0] 6 {0} + [!0] 0 {0} + [!0] 7 {0} + [!0] 8 {0} + State: 4 + [!0] 4 {0} + [!0] 1 {0} + [!0] 3 {0} + [!0] 5 {0} + [!0] 2 {0} + [!0] 6 {0} + [!0] 0 {0} + [!0] 7 {0} + [!0] 8 {0} + [0] 8 + State: 5 + [0] 5 + [!0] 6 + State: 6 + [!0] 4 {0} + [!0] 1 {0} + [!0] 3 {0} + [!0] 5 {0} + [0] 5 + [!0] 2 {0} + [!0] 6 {0} + [!0] 0 {0} + [!0] 7 {0} + [!0] 8 {0} + State: 7 + [!0] 0 + [0] 8 + State: 8 + [t] 7 + --END-- + """, 9, 10, 1, 2)); + + builder.add(new DcwMinimisationTestCase(""" + HOA: v1 + Start: 0 + acc-name: co-Buchi 1 + Acceptance: 1 Fin(0) + properties: trans-acc no-univ-branch complete + AP: 2 "p0" "p1" + Alias: @a !0 & !1 + Alias: @b 0 & !1 + Alias: @c 1 + --BODY-- + State: 0 "cc-loop" + [@a] 4 + [@b] 6 + [@c] 3 + State: 1 "ac/ca-loop" + [@a] 5 + [@b] 3 {0} + [@c] 8 + State: 2 "bc/cb-loop" + [@a] 3 {0} + [@b] 7 + [@c] 9 + State: 3 "cc-companion" + [@a] 1 {0} + [@b] 2 {0} + [@c] 0 + State: 4 "0 -> 1 (from 0)" + [@a] 1 + [@b] 2 {0} + [@c] 1 {0} + State: 8 "0 -> 1 (from 1)" + [@a] 1 + [@b] 2 {0} + [@c] 0 {0} + State: 5 "1 -> 0" + [@a] 0 + [@b] 0 {0} + [@c] 1 + State: 6 "0 -> 2 (from 0)" + [@a] 1 {0} + [@b] 2 + [@c] 2 {0} + State: 9 "0 -> 2 (from 2)" + [@a] 1 {0} + [@b] 2 + [@c] 0 {0} + State: 7 "2 -> 0" + [@a] 0 {0} + [@b] 0 + [@c] 2 + --END-- + """, 8, 10, 2, 1)); + + GFG_NCW_HELPFUL_EXAMPLES = List.copyOf(builder); + + checkState(GFG_NCW_HELPFUL_EXAMPLES.stream() + .allMatch(x -> x.canonicalGfgNcw.alphaMaximalGfgNcw.states().size() < x.minimalDcwSize)); + } + + + private static final Map PERMUTATION_LANGUAGE_DCW_SIZE = Map.ofEntries( + Map.entry(2, 2), + Map.entry(3, 6), + Map.entry(4, 14), + Map.entry(5, 30)); + + public static DcwMinimisationTestCase permutationLanguageTestCase(int i) { + var automaton = permutationLanguage(i); + int dcwSize = PERMUTATION_LANGUAGE_DCW_SIZE.get(i); + return new DcwMinimisationTestCase( + automaton, + automaton.states().size(), + dcwSize, + 1, + 1); + } + + public static List fromDb() throws IOException, ParseException { + + List testCases = new ArrayList<>(); + + try (var directory = Files.newDirectoryStream( + Path.of("/Users/bob/Teleporter/Fedora Workstation 35/docker/merge/crystal/unique"))) { + + for (Path path : directory) { + List> automata = HoaReader.readMultiple(path); + + for (var autoanton : automata) { + var canonical = GfgNcwMinimization.minimize(Determinization.determinizeCoBuchiAcceptance( + OmegaAcceptanceCast.castExact(autoanton, CoBuchiAcceptance.class))); + + testCases.add(new DcwMinimisationTestCase(canonical, + canonical.alphaMaximalGfgNcw.states().size() + 1)); + } + } + } + + testCases.sort( + Comparator.comparingInt(x -> x.canonicalGfgNcw.alphaMaximalGfgNcw.states().size())); + return testCases; + } + + public static Stream> randomAutomataStream( + SplittableRandom seed, + int apSize, + int safeComponents, + int safeComponentSize) { + + Function> automatonSupplier = random -> { + Map>> nonAlphaTransitions = new HashMap<>(); + ImmutableBitSet allStates = ImmutableBitSet.range(0, safeComponents * safeComponentSize); + + for (int i = 0; i < safeComponents; i++) { + var safeComponent + = ImmutableBitSet.range(i * safeComponentSize, (i + 1) * safeComponentSize); + nonAlphaTransitions.putAll(randomSafeComponent(apSize, safeComponent, random)); + } + + return new EdgesImplementation<>( + IntStream.range(0, apSize).mapToObj(i -> "a" + i).toList(), + Set.of(0), + CoBuchiAcceptance.INSTANCE) { + + @Override + protected Set> edgesImpl(Integer state, BitSet valuation) { + var edgeTree = nonAlphaTransitions.get(state); + var edges = edgeTree.get(valuation); + assert edges.size() <= 1; + return edges.isEmpty() ? allStates.intStream().mapToObj(i -> Edge.of(i, 0)) + .collect(Collectors.toUnmodifiableSet()) : edges; + } + }; + }; + + return seed.rngs().map(automatonSupplier); + } + + private static Map>> + randomSafeComponent(int apSize, ImmutableBitSet states, RandomGenerator random) { + + Integer[] statesArray = states.toArray(Integer[]::new); + BddSetFactory factory = FactorySupplier.defaultSupplier().getBddSetFactory(); + Map>> edgeTrees = new HashMap<>(); + + for (Integer state : statesArray) { + Map, BddSet> edgeMap = new HashMap<>(); + + for (BitSet sigma : BitSet2.powerSet(apSize)) { + boolean alphaEdge = random.nextInt(10) < 3; + + if (!alphaEdge) { + int successor = statesArray[random.nextInt(statesArray.length)]; + edgeMap.compute(Edge.of(successor), + (Edge key, BddSet oldValue) -> oldValue == null ? factory.of(sigma, apSize) + : oldValue.union(factory.of(sigma, apSize))); + } + } + + edgeTrees.put(state, factory.toMtBdd(edgeMap)); + } + + return edgeTrees; + } + + // Denis Kuperberg, Michał Skrzypczak: "On Determinisation of Good-for-Games Automata" + static Automaton permutationLanguage(int n) { + + return new EdgesImplementation<>( + List.of("a", "b"), Set.of(1), CoBuchiAcceptance.INSTANCE) { + + @Override + public Set> edgesImpl(Integer index, BitSet valuation) { + if (valuation.get(0)) { + int newIndex = index + 1; + + if (newIndex > n) { + newIndex = 1; + } + + return Set.of(Edge.of(newIndex)); + } else if (valuation.get(1)) { + if (index == 1) { + return IntStream.range(1, n + 1) + .mapToObj(x -> Edge.of(x, 0)) + .collect(Collectors.toSet()); + } + + return Set.of(Edge.of(index)); + } else { + if (index.equals(1)) { + return Set.of(Edge.of(2)); + } else if (index.equals(2)) { + return Set.of(Edge.of(1)); + } else { + return Set.of(Edge.of(index)); + } + } + } + }; + } + + public record DcwMinimisationTestCase(CanonicalGfgNcw canonicalGfgNcw, int minimalDcwSize) { + + public DcwMinimisationTestCase { + checkArgument(canonicalGfgNcw.alphaMaximalGfgNcw.states().size() <= minimalDcwSize); + } + + public DcwMinimisationTestCase( + String ncw, + int canonicalGfgNcwSize, + int minimalDcwSize, + int equivalenceClasses, + int safeComponents) { + + this(parseNcw(ncw), canonicalGfgNcwSize, minimalDcwSize, equivalenceClasses, safeComponents); + } + + public DcwMinimisationTestCase( + Automaton ncw, + int canonicalGfgNcwSize, + int minimalDcwSize, + int equivalenceClasses, + int safeComponents) { + + this(canonicalGfgNcw(ncw), minimalDcwSize); + + checkArgument(canonicalGfgNcw.alphaMaximalGfgNcw.states().size() == canonicalGfgNcwSize, + "Canonical Gfg-tNcw (expected: %s, actual: %s)".formatted( + canonicalGfgNcwSize, + canonicalGfgNcw.alphaMaximalGfgNcw.states().size())); + + checkArgument(canonicalGfgNcw.languageEquivalenceClasses.size() == equivalenceClasses, + "Language Equivalence Class (expected: %s, actual: %s)".formatted( + equivalenceClasses, + canonicalGfgNcw.languageEquivalenceClasses.size())); + + checkArgument(canonicalGfgNcw.safeComponents.size() == safeComponents); + } + + private static CanonicalGfgNcw canonicalGfgNcw(Automaton ncw) { + return GfgNcwMinimization.minimize(Determinization.determinizeCoBuchiAcceptance(ncw)); + } + + private static Automaton parseNcw(String language) { + try { + return OmegaAcceptanceCast.castExact(HoaReader.read(language), CoBuchiAcceptance.class); + } catch (ParseException e) { + throw new IllegalArgumentException(e); + } + } + + @Override + public String toString() { + return "DcwMinTestCase{gfgNcwSize=%s, minimalDcwSize=%d, equivalenceClasses=%s, subsafeEquivalentRelation=%s, safeComponents=%s}".formatted( + canonicalGfgNcw.alphaMaximalGfgNcw.states().size(), + minimalDcwSize, + canonicalGfgNcw.languageEquivalenceClasses, + canonicalGfgNcw.subsafeEquivalentRelation, + canonicalGfgNcw.safeComponents); + } + } +} diff --git a/src/test/java/owl/automaton/minimization/GfgCoBuchiMinimizationTest.java b/src/test/java/owl/automaton/minimization/GfgCoBuchiMinimizationTest.java deleted file mode 100644 index a2be7692..00000000 --- a/src/test/java/owl/automaton/minimization/GfgCoBuchiMinimizationTest.java +++ /dev/null @@ -1,176 +0,0 @@ -/* - * Copyright (C) 2016 - 2021 (See AUTHORS) - * - * This file is part of Owl. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program 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 . - */ - -package owl.automaton.minimization; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; - -import java.util.ArrayList; -import java.util.BitSet; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; -import java.util.stream.IntStream; -import org.junit.jupiter.api.Test; -import owl.automaton.AbstractMemoizingAutomaton; -import owl.automaton.Automaton; -import owl.automaton.HashMapAutomaton; -import owl.automaton.acceptance.CoBuchiAcceptance; -import owl.automaton.acceptance.optimization.AcceptanceOptimizations; -import owl.automaton.algorithm.LanguageContainment; -import owl.automaton.determinization.Determinization; -import owl.automaton.edge.Edge; -import owl.automaton.hoa.HoaWriter; -import owl.ltl.parser.LtlParser; -import owl.translations.canonical.DeterministicConstructionsPortfolio; - -class GfgCoBuchiMinimizationTest { - - private static final DeterministicConstructionsPortfolio coBuchiPortfolio - = new DeterministicConstructionsPortfolio<>(CoBuchiAcceptance.class); - - @Test - void testMinimize1() { - var minimizedAutomaton = GfgCoBuchiMinimization.minimize(coBuchiPortfolio.apply( - LtlParser.parse("F G a")).orElseThrow()); - - assertEquals(1, minimizedAutomaton.states().size()); - assertTrue(minimizedAutomaton.is(Automaton.Property.DETERMINISTIC)); - } - - @Test - void testMinimize2() { - var minimizedAutomaton = GfgCoBuchiMinimization.minimize(coBuchiPortfolio.apply( - LtlParser.parse("F G ((G a & G b & G !c) | (G a & G !b & G c))")).orElseThrow()); - - assertEquals(2, minimizedAutomaton.states().size()); - } - - @Test - void testPermutationMinimize() { - int n = 3; - - var gfgAutomaton = graphPermutationLanguage2(n); - var automaton2 = Determinization.determinizeCoBuchiAcceptance(gfgAutomaton); - - assertTrue(LanguageContainment.equalsCoBuchi( - graphPermutationLanguage(n), - graphPermutationLanguage2(n))); - - var minimizedAutomaton = HashMapAutomaton.copyOf( - GfgCoBuchiMinimization.minimize(automaton2)); - AcceptanceOptimizations.removeDeadStates(minimizedAutomaton); - assertEquals(gfgAutomaton.states().size(), minimizedAutomaton.states().size(), - HoaWriter.toString(minimizedAutomaton)); - - var minimizedAutomaton2 = HashMapAutomaton.copyOf( - GfgCoBuchiMinimization.minimize(graphPermutationLanguage(n))); - AcceptanceOptimizations.removeDeadStates(minimizedAutomaton2); - assertEquals(gfgAutomaton.states().size(), minimizedAutomaton2.states().size(), - HoaWriter.toString(minimizedAutomaton2)); - } - - private static Automaton graphPermutationLanguage(int n) { - - var initialState = IntStream.range(1, n + 1).boxed().toList(); - - return new AbstractMemoizingAutomaton.EdgeImplementation<>( - List.of("a", "b"), Set.of(initialState), CoBuchiAcceptance.INSTANCE) { - - @Override - public Edge> edgeImpl(List state, BitSet valuation) { - List successor = new ArrayList<>(); - boolean rejecting = false; - - if (valuation.get(0)) { - for (int index : state) { - int newIndex = index + 1; - - if (newIndex > n) { - newIndex = 1; - } - - successor.add(newIndex); - } - } else if (valuation.get(1)) { - rejecting = state.get(0).equals(1); - - for (int index : state) { - if (index != 1) { - successor.add(index); - } - } - - successor.add(1); - } else { - for (int index : state) { - if (index == 1) { - successor.add(2); - } else if (index == 2) { - successor.add(1); - } else { - successor.add(index); - } - } - } - - return rejecting - ? Edge.of(List.copyOf(successor), 0) - : Edge.of(List.copyOf(successor)); - } - }; - } - - private static Automaton graphPermutationLanguage2(int n) { - - return new AbstractMemoizingAutomaton.EdgesImplementation<>( - List.of("a", "b"), Set.of(1), CoBuchiAcceptance.INSTANCE) { - - @Override - public Set> edgesImpl(Integer index, BitSet valuation) { - if (valuation.get(0)) { - int newIndex = index + 1; - - if (newIndex > n) { - newIndex = 1; - } - - return Set.of(Edge.of(newIndex)); - } else if (valuation.get(1)) { - if (index == 1) { - return IntStream.range(1, n + 1) - .mapToObj(x -> Edge.of(x, 0)) - .collect(Collectors.toSet()); - } - - return Set.of(Edge.of(index)); - } else { - if (index.equals(1)) { - return Set.of(Edge.of(2)); - } else if (index.equals(2)) { - return Set.of(Edge.of(1)); - } else { - return Set.of(Edge.of(index)); - } - } - } - }; - } -} \ No newline at end of file diff --git a/src/test/java/owl/automaton/minimization/GfgNcwMinimizationTest.java b/src/test/java/owl/automaton/minimization/GfgNcwMinimizationTest.java new file mode 100644 index 00000000..f60c8636 --- /dev/null +++ b/src/test/java/owl/automaton/minimization/GfgNcwMinimizationTest.java @@ -0,0 +1,90 @@ +/* + * Copyright (C) 2016 - 2022 (See AUTHORS) + * + * This file is part of Owl. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 . + */ + +package owl.automaton.minimization; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.junit.jupiter.api.Test; +import owl.automaton.Automaton; +import owl.automaton.HashMapAutomaton; +import owl.automaton.acceptance.CoBuchiAcceptance; +import owl.automaton.acceptance.OmegaAcceptanceCast; +import owl.automaton.acceptance.optimization.AcceptanceOptimizations; +import owl.automaton.algorithm.LanguageContainment; +import owl.automaton.determinization.Determinization; +import owl.automaton.hoa.HoaWriter; +import owl.ltl.parser.LtlParser; +import owl.translations.canonical.DeterministicConstructionsPortfolio; + +class GfgNcwMinimizationTest { + + private static final DeterministicConstructionsPortfolio coBuchiPortfolio + = new DeterministicConstructionsPortfolio<>(CoBuchiAcceptance.class); + + @Test + void testMinimize1() { + var minimizedAutomaton = GfgNcwMinimization.minimize( + OmegaAcceptanceCast.castExact(coBuchiPortfolio.apply( + LtlParser.parse("F G a")).orElseThrow(), + CoBuchiAcceptance.class)).alphaMaximalUpToHomogenityGfgNcw; + + assertEquals(1, minimizedAutomaton.states().size()); + assertTrue(minimizedAutomaton.is(Automaton.Property.DETERMINISTIC)); + } + + @Test + void testMinimize2() { + var minimizedAutomaton = GfgNcwMinimization.minimize( + OmegaAcceptanceCast.castExact(coBuchiPortfolio.apply( + LtlParser.parse("F G ((G a & G b & G !c) | (G a & G !b & G c))")).orElseThrow(), + CoBuchiAcceptance.class)).alphaMaximalUpToHomogenityGfgNcw; + + assertEquals(2, minimizedAutomaton.states().size()); + } + + @Test + void testPermutationMinimize() { + int n = 3; + + var gfgAutomaton = DcwRepository.permutationLanguage(n); + var automaton2 = Determinization.determinizeCoBuchiAcceptance(gfgAutomaton); + + var minimizedAutomaton = HashMapAutomaton.copyOf( + GfgNcwMinimization.minimize(automaton2).alphaMaximalUpToHomogenityGfgNcw); + + var minimizedAutomaton24 = Determinization.determinizeCanonicalGfgNcw( + GfgNcwMinimization.minimize(automaton2)); + AcceptanceOptimizations.removeDeadStates(minimizedAutomaton); + assertEquals(gfgAutomaton.states().size(), minimizedAutomaton.states().size(), + HoaWriter.toString(minimizedAutomaton)); + + var minimizedAutomaton2 = HashMapAutomaton.copyOf( + GfgNcwMinimization.minimize( + DcwRepository.permutationLanguage(n)).alphaMaximalUpToHomogenityGfgNcw); + AcceptanceOptimizations.removeDeadStates(minimizedAutomaton2); + + assertEquals(gfgAutomaton.states().size(), minimizedAutomaton2.states().size(), + HoaWriter.toString(minimizedAutomaton2)); + + assertTrue(LanguageContainment.equalsCoBuchi(minimizedAutomaton24, minimizedAutomaton2)); + } + +} diff --git a/src/test/java/owl/automaton/minimization/SafeView.java b/src/test/java/owl/automaton/minimization/SafeView.java new file mode 100644 index 00000000..ac493959 --- /dev/null +++ b/src/test/java/owl/automaton/minimization/SafeView.java @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2016 - 2021 (See AUTHORS) + * + * This file is part of Owl. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 . + */ + +package owl.automaton.minimization; + +import java.util.Set; +import javax.annotation.Nullable; +import owl.automaton.AbstractMemoizingAutomaton; +import owl.automaton.Automaton; +import owl.automaton.acceptance.AllAcceptance; +import owl.automaton.acceptance.CoBuchiAcceptance; +import owl.automaton.edge.Edge; +import owl.bdd.MtBdd; + +class SafeView extends AbstractMemoizingAutomaton.EdgeTreeImplementation { + + @Nullable + private Automaton ncw; + + SafeView(Automaton ncw) { + super(ncw.atomicPropositions(), ncw.factory(), ncw.initialStates(), AllAcceptance.INSTANCE); + this.ncw = ncw; + } + + @Override + protected MtBdd> edgeTreeImpl(S state) { + assert ncw != null; + return ncw.edgeTree(state).map(edges -> { + switch (edges.size()) { + case 0: + return Set.of(); + + case 1: + return edges.iterator().next().colours().isEmpty() ? edges : Set.of(); + + default: + assert edges.stream().allMatch(edge -> edge.colours().contains(0)); + return Set.of(); + } + }); + } + + @Override + protected void explorationCompleted() { + assert ncw != null; + ncw = null; + } +} diff --git a/src/test/java/owl/automaton/symbolic/SymbolicDRA2DPAConstructionTest.java b/src/test/java/owl/automaton/symbolic/SymbolicDRA2DPAConstructionTest.java index 45cee400..4bb118be 100644 --- a/src/test/java/owl/automaton/symbolic/SymbolicDRA2DPAConstructionTest.java +++ b/src/test/java/owl/automaton/symbolic/SymbolicDRA2DPAConstructionTest.java @@ -25,7 +25,6 @@ import java.util.stream.Stream; import org.junit.jupiter.api.Test; import owl.automaton.Views; -import owl.automaton.acceptance.RabinAcceptance; import owl.automaton.algorithm.LanguageContainment; import owl.bdd.BddSetFactory; import owl.bdd.FactorySupplier; @@ -36,154 +35,154 @@ public class SymbolicDRA2DPAConstructionTest { private final List tests = Stream.of( - "0", - "1", - "a", - "a & b", - "a | b", - "a -> b", - "a <-> b", - "a xor b", - "F a", - "G a", - "X a", - "a M b", - "a R b", - "a U b", - "a W b", - "F a & F b", - "F a & G b", - "F a & X b", - "F a | F b", - "F a | G b", - "F a | X b", - "G a & F b", - "G a & G b", - "G a & X b", - "G a | F b", - "G a | G b", - "G a | X b", - "X a & F b", - "X a & G b", - "X a & X b", - "X a | F b", - "X a | G b", - "X a | X b", - "F a & X F !a", - "F a | X F !a", - "G a & X G !a", - "G a | X G !a", - "X F a", - "X X F a", - "X G a", - "X X G a", - "F G a", - "G F a", - "F G a & F G b", - "G F a & G F b", - "F G a & G F b", - "G F a & F G b", - "F G a | F G b", - "G F a | G F b", - "F G a | G F b", - "G F a | F G b", - "F G (a | X b)", - "F G (a & X b)", - "F G (a | X b | X X c)", - "F G (a & X b & X X c)", - "F (a & G b)", - "F (a | G b)", - "G (a & F b)", - "G (a | F b)", - "F (a M b)", - "F (a R b)", - "F (a U b)", - "F (a W b)", - "F X (a M b)", - "F X (a R b)", - "F X (a U b)", - "F X (a W b)", - "F ((X a) M b)", - "F ((X a) R b)", - "F ((X a) U b)", - "F ((X a) W b)", - "F (a M (X b))", - "F (a R (X b))", - "F (a U (X b))", - "F (a W (X b))", - "F ((a M b) & c)", - "F ((a R b) & c)", - "F ((a U b) & c)", - "F ((a W b) & c)", - "F ((a M b) | c)", - "F ((a R b) | c)", - "F ((a U b) | c)", - "F ((a W b) | c)", - "F ((a M b) & G c)", - "F ((a R b) & G c)", - "F ((a U b) & G c)", - "F ((a W b) & G c)", - "F ((a M b) | G c)", - "F ((a R b) | G c)", - "F ((a U b) | G c)", - "F ((a W b) | G c)", - "G (a M b)", - "G (a R b)", - "G (a U b)", - "G (a W b)", - "G X (a M b)", - "G X (a R b)", - "G X (a U b)", - "G X (a W b)", - "G ((X a) M b)", - "G ((X a) R b)", - "G ((X a) U b)", - "G ((X a) W b)", - "G (a M (X b))", - "G (a R (X b))", - "G (a U (X b))", - "G (a W (X b))", - "G ((a M b) & c)", - "G ((a R b) & c)", - "G ((a U b) & c)", - "G ((a W b) & c)", - "G ((a M b) | c)", - "G ((a R b) | c)", - "G ((a U b) | c)", - "G ((a W b) | c)", - "G ((a M b) & F c)", - "G ((a R b) & F c)", - "G ((a U b) & F c)", - "G ((a W b) & F c)", - "G ((a M b) | F c)", - "G ((a R b) | F c)", - "G ((a U b) | F c)", - "G ((a W b) | F c)", - "G ( a | b) & GF ( b & c)", - "G ( a | Xb) & GF ( b & c)", - "G ( a | b) & GF (Xb & c)", - "G ( a | Xb) & GF (Xb & c)", - "G ( a | b) & GF ( b & Xc)", - "G ( a | Xb) & GF ( b & Xc)", - "G (Xa | b) & GF (Xb & c)", - "G (Xa | Xb) & GF (Xb & c)" + "0", + "1", + "a", + "a & b", + "a | b", + "a -> b", + "a <-> b", + "a xor b", + "F a", + "G a", + "X a", + "a M b", + "a R b", + "a U b", + "a W b", + "F a & F b", + "F a & G b", + "F a & X b", + "F a | F b", + "F a | G b", + "F a | X b", + "G a & F b", + "G a & G b", + "G a & X b", + "G a | F b", + "G a | G b", + "G a | X b", + "X a & F b", + "X a & G b", + "X a & X b", + "X a | F b", + "X a | G b", + "X a | X b", + "F a & X F !a", + "F a | X F !a", + "G a & X G !a", + "G a | X G !a", + "X F a", + "X X F a", + "X G a", + "X X G a", + "F G a", + "G F a", + "F G a & F G b", + "G F a & G F b", + "F G a & G F b", + "G F a & F G b", + "F G a | F G b", + "G F a | G F b", + "F G a | G F b", + "G F a | F G b", + "F G (a | X b)", + "F G (a & X b)", + "F G (a | X b | X X c)", + "F G (a & X b & X X c)", + "F (a & G b)", + "F (a | G b)", + "G (a & F b)", + "G (a | F b)", + "F (a M b)", + "F (a R b)", + "F (a U b)", + "F (a W b)", + "F X (a M b)", + "F X (a R b)", + "F X (a U b)", + "F X (a W b)", + "F ((X a) M b)", + "F ((X a) R b)", + "F ((X a) U b)", + "F ((X a) W b)", + "F (a M (X b))", + "F (a R (X b))", + "F (a U (X b))", + "F (a W (X b))", + "F ((a M b) & c)", + "F ((a R b) & c)", + "F ((a U b) & c)", + "F ((a W b) & c)", + "F ((a M b) | c)", + "F ((a R b) | c)", + "F ((a U b) | c)", + "F ((a W b) | c)", + "F ((a M b) & G c)", + "F ((a R b) & G c)", + "F ((a U b) & G c)", + "F ((a W b) & G c)", + "F ((a M b) | G c)", + "F ((a R b) | G c)", + "F ((a U b) | G c)", + "F ((a W b) | G c)", + "G (a M b)", + "G (a R b)", + "G (a U b)", + "G (a W b)", + "G X (a M b)", + "G X (a R b)", + "G X (a U b)", + "G X (a W b)", + "G ((X a) M b)", + "G ((X a) R b)", + "G ((X a) U b)", + "G ((X a) W b)", + "G (a M (X b))", + "G (a R (X b))", + "G (a U (X b))", + "G (a W (X b))", + "G ((a M b) & c)", + "G ((a R b) & c)", + "G ((a U b) & c)", + "G ((a W b) & c)", + "G ((a M b) | c)", + "G ((a R b) | c)", + "G ((a U b) | c)", + "G ((a W b) | c)", + "G ((a M b) & F c)", + "G ((a R b) & F c)", + "G ((a U b) & F c)", + "G ((a W b) & F c)", + "G ((a M b) | F c)", + "G ((a R b) | F c)", + "G ((a U b) | F c)", + "G ((a W b) | F c)", + "G ( a | b) & GF ( b & c)", + "G ( a | Xb) & GF ( b & c)", + "G ( a | b) & GF (Xb & c)", + "G ( a | Xb) & GF (Xb & c)", + "G ( a | b) & GF ( b & Xc)", + "G ( a | Xb) & GF ( b & Xc)", + "G (Xa | b) & GF (Xb & c)", + "G (Xa | Xb) & GF (Xb & c)" ).map(LtlParser::parse).toList(); @Test void symbolicDRA2DPAConstructionTest() { BddSetFactory factory = FactorySupplier.defaultSupplier().getBddSetFactory(); for (var formula : tests) { - var construction = NormalformDRAConstruction.of(RabinAcceptance.class, false); + var construction = NormalformDRAConstruction.of(false, false); var rabin = Views.complete(construction.apply(formula)); var streett = Views.complete(construction.apply(formula.not())); var product = SymbolicBooleanOperations.deterministicStructureProduct( - SymbolicAutomaton.of(rabin, factory, formula.atomicPropositions()), - SymbolicAutomaton.of(streett, factory, formula.atomicPropositions()) + SymbolicAutomaton.of(rabin, factory, formula.atomicPropositions()), + SymbolicAutomaton.of(streett, factory, formula.atomicPropositions()) ); var dpw = SymbolicDRA2DPAConstruction - .of(product) - .toParity() - .toAutomaton(); + .of(product) + .toParity() + .toAutomaton(); assertTrue(LanguageContainment.contains(dpw, rabin)); assertTrue(LanguageContainment.contains(rabin, dpw)); } diff --git a/src/test/java/owl/bdd/jbdd/JBddSetTest.java b/src/test/java/owl/bdd/JBddSetTest.java similarity index 97% rename from src/test/java/owl/bdd/jbdd/JBddSetTest.java rename to src/test/java/owl/bdd/JBddSetTest.java index 9e8797c3..84af5c78 100644 --- a/src/test/java/owl/bdd/jbdd/JBddSetTest.java +++ b/src/test/java/owl/bdd/JBddSetTest.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package owl.bdd.jbdd; +package owl.bdd; import owl.bdd.BddSetFactory; import owl.collections.BddSetTest; diff --git a/src/test/java/owl/collections/BddSetTest.java b/src/test/java/owl/collections/BddSetTest.java index 89a70070..2c197e6c 100644 --- a/src/test/java/owl/collections/BddSetTest.java +++ b/src/test/java/owl/collections/BddSetTest.java @@ -192,11 +192,11 @@ void testRelabelThrows() { void testFilter() { var factory = factory(); - var tree = MtBdd.of(Set.of(true)); + var tree = MtBdd.copyOf(Set.of(true)); var filter = factory.of(0); assertEquals( - MtBdd.of(0, MtBdd.of(Set.of(true)), MtBdd.of()), + MtBdd.of(0, MtBdd.copyOf(Set.of(true)), MtBdd.of()), filter.intersection(tree)); } diff --git a/src/test/java/owl/collections/Collections3Test.java b/src/test/java/owl/collections/Collections3Test.java index 085255eb..4a510df6 100644 --- a/src/test/java/owl/collections/Collections3Test.java +++ b/src/test/java/owl/collections/Collections3Test.java @@ -21,7 +21,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static owl.collections.Collections3.maximalElements; -import static owl.collections.Collections3.partition; +import static owl.collections.Collections3.equivalenceClasses; import java.util.List; import java.util.Set; @@ -48,12 +48,15 @@ void testMaximalElements() { @Test void testPartition() { assertEquals(List.of(), - partition(Set.of(), Object::equals)); + equivalenceClasses(Set.of(), Object::equals, false)); assertEquals(List.of(Set.of(0)), - partition(Set.of(0), Object::equals)); + equivalenceClasses(Set.of(0), Object::equals, false)); assertEquals(Set.of(Set.of(1, 2, 3), Set.of(11, 12, 13), Set.of(100)), - Set.copyOf(partition(Set.of(1, 2, 3, 11, 12, 13, 100), (x, y) -> Math.abs(x - y) == 1))); + Set.copyOf(equivalenceClasses( + Set.of(1, 2, 3, 11, 12, 13, 100), + (x, y) -> Math.abs(x - y) == 1, + false))); } } \ No newline at end of file diff --git a/src/test/java/owl/collections/HashTrieMapTest.java b/src/test/java/owl/collections/HashTrieMapTest.java index d59dfa34..cf890c6a 100644 --- a/src/test/java/owl/collections/HashTrieMapTest.java +++ b/src/test/java/owl/collections/HashTrieMapTest.java @@ -136,7 +136,7 @@ void testTrieEncoding() throws ParseException { var nba = AutomatonTestUtil.autFromString( AutomatonSccDecompositionTest.HOA_NBA_SCCS, BuchiAcceptance.class); - var args = new AutomatonConversionCommands.Nba2DpaCommand(); + var args = new AutomatonConversionCommands.Nba2DpaCommand(null); var conf = NbaDetConf.prepare(nba, Set.of(), args); var state = NbaDetState.of(conf, BitSet2.copyOf(conf.aut().stateMap().asMap().values())); diff --git a/src/test/java/owl/logic/propositional/sat/SolverTest.java b/src/test/java/owl/logic/propositional/sat/SolverTest.java index 49c6fb16..4ddac05d 100644 --- a/src/test/java/owl/logic/propositional/sat/SolverTest.java +++ b/src/test/java/owl/logic/propositional/sat/SolverTest.java @@ -147,8 +147,8 @@ void testMaximalModel(Solver solver) { for (Set model : Sets.powerSet(upperBound)) { if (formula.evaluate(model)) { expectedMaximalModels.add(model); - expectedMaximalModels = Collections3 - .maximalElements(expectedMaximalModels, (x, y) -> y.containsAll(x)); + expectedMaximalModels = new ArrayList<>(Collections3 + .maximalElements(expectedMaximalModels, (x, y) -> y.containsAll(x))); } } diff --git a/src/test/java/owl/translations/TranslationAutomatonSummaryTest.java b/src/test/java/owl/translations/TranslationAutomatonSummaryTest.java index 7be6c1bc..2e10e6db 100644 --- a/src/test/java/owl/translations/TranslationAutomatonSummaryTest.java +++ b/src/test/java/owl/translations/TranslationAutomatonSummaryTest.java @@ -31,6 +31,7 @@ import static owl.translations.LtlTranslationRepository.Option; import static owl.translations.LtlTranslationRepository.Option.SIMPLIFY_AUTOMATON; import static owl.translations.LtlTranslationRepository.Option.USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS; +import static owl.translations.LtlTranslationRepository.Option.USE_SAT_BASED_DBW_DCW_MINIMIZATION; import static owl.translations.LtlTranslationRepository.Option.X_DRA_NORMAL_FORM_USE_DUAL; import static owl.translations.TranslationAutomatonSummaryTest.FormulaSet.BASE; import static owl.translations.TranslationAutomatonSummaryTest.FormulaSet.DWYER; @@ -79,7 +80,10 @@ import owl.automaton.acceptance.GeneralizedRabinAcceptance; import owl.automaton.acceptance.ParityAcceptance; import owl.automaton.acceptance.RabinAcceptance; +import owl.automaton.acceptance.optimization.AcceptanceOptimizations; import owl.automaton.hoa.HoaWriter; +import owl.automaton.minimization.DbwMinimization; +import owl.automaton.minimization.DcwMinimization; import owl.ltl.Biconditional; import owl.ltl.Formula; import owl.ltl.LabelledFormula; @@ -101,210 +105,225 @@ public class TranslationAutomatonSummaryTest { private static final String BASE_PATH = "data/formulas"; static final List COMMON_ALPHABET = List.of("a", "b", "c", "d", "e", "f", "g", - "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", - "aa", "ab", "ac", "ad", "ae", "af", "ag"); + "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", + "aa", "ab", "ac", "ad", "ae", "af", "ag"); static final List TRANSLATORS = List.of( - new Translator("safety", - DeterministicConstructionsPortfolio::safety), - new Translator("safety.nondeterministic", - NonDeterministicConstructionsPortfolio::safety), - - new Translator("coSafety", - DeterministicConstructionsPortfolio::coSafety), - new Translator("coSafety.nondeterministic", - NonDeterministicConstructionsPortfolio::coSafety), - - new Translator("fgSafety", - x -> DeterministicConstructionsPortfolio.fgSafety(x, false)), - new Translator("fgSafety.generalized", - x -> DeterministicConstructionsPortfolio.fgSafety(x, true)), - new Translator("fgSafety.nondeterministic", - NonDeterministicConstructionsPortfolio::fgSafety), - - new Translator("gfCoSafety", - y -> DeterministicConstructionsPortfolio.gfCoSafety(y, false)), - new Translator("gfCoSafety.generalized", - y -> DeterministicConstructionsPortfolio.gfCoSafety(y, true)), - new Translator("gfCoSafety.nondeterministic", - y -> NonDeterministicConstructionsPortfolio.gfCoSafety(y, false)), - new Translator("gfCoSafety.nondeterministic.generalized", - y -> NonDeterministicConstructionsPortfolio.gfCoSafety(y, true)), - - new Translator("coSafetySafety", DeterministicConstructionsPortfolio::coSafetySafety), - new Translator("safetyCoSafety", DeterministicConstructionsPortfolio::safetyCoSafety), - - new Translator("ldba.asymmetric", - LtlToLdbaTranslation.SEJK16.translation( - BuchiAcceptance.class, - EnumSet.noneOf(Option.class)), - Set.of(SYNTCOMP_SELECTION)), - new Translator("ldba.asymmetric.portfolio", - LtlToLdbaTranslation.SEJK16.translation( - BuchiAcceptance.class, - EnumSet.of(Option.USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), - Set.of(SYNTCOMP_SELECTION)), - new Translator("ldgba.asymmetric", - LtlToLdbaTranslation.SEJK16.translation( - GeneralizedBuchiAcceptance.class, - EnumSet.noneOf(Option.class)), - Set.of(SYNTCOMP_SELECTION)), - new Translator("ldgba.asymmetric.portfolio", - LtlToLdbaTranslation.SEJK16.translation( - GeneralizedBuchiAcceptance.class, - EnumSet.of(Option.USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), - Set.of(SYNTCOMP_SELECTION)), - - new Translator("ldba.symmetric", - LtlToLdbaTranslation.EKS20.translation( - BuchiAcceptance.class, - EnumSet.noneOf(Option.class)), - Set.of(SYNTCOMP_SELECTION)), - new Translator("ldba.symmetric.portfolio", - LtlToLdbaTranslation.EKS20.translation( - BuchiAcceptance.class, - EnumSet.of(Option.USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), - Set.of(SYNTCOMP_SELECTION)), - new Translator("ldgba.symmetric", - LtlToLdbaTranslation.EKS20.translation( - GeneralizedBuchiAcceptance.class, - EnumSet.noneOf(Option.class)), - Set.of(SYNTCOMP_SELECTION)), - new Translator("ldgba.symmetric.portfolio", - LtlToLdbaTranslation.EKS20.translation( - GeneralizedBuchiAcceptance.class, - EnumSet.of(Option.USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), - Set.of(SYNTCOMP_SELECTION)), - - new Translator("dpa.asymmetric", - LtlToDpaTranslation.SEJK16_EKRS17.translation( - EnumSet.noneOf(Option.class)), - Set.of(SYNTCOMP_SELECTION, LIBEROUTER, FGGF, SIZE_FGGF)), - new Translator("dpa.asymmetric.portfolio", - LtlToDpaTranslation.SEJK16_EKRS17.translation( - EnumSet.of(USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), - Set.of(SYNTCOMP_SELECTION, LIBEROUTER, FGGF, SIZE_FGGF)), - - new Translator("dpa.symmetric", - LtlToDpaTranslation.EKS20_EKRS17.translation( - EnumSet.noneOf(Option.class)), - Set.of(SYNTCOMP_SELECTION, LIBEROUTER, FGGF, SIZE_FGGF)), - new Translator("dpa.symmetric.portfolio", - LtlToDpaTranslation.EKS20_EKRS17.translation( - EnumSet.of(USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), - Set.of(SYNTCOMP_SELECTION, LIBEROUTER, FGGF, SIZE_FGGF)), - - new Translator("dpa.normalform.acd", - LtlToDpaTranslation.SLM21.translation( - ParityAcceptance.class, EnumSet.noneOf(Option.class), OptionalInt.empty()), - Set.of()), - new Translator("dpa.normalform.conditionalZielonka", - LtlToDpaTranslation.SLM21.translation( - ParityAcceptance.class, EnumSet.noneOf(Option.class), OptionalInt.of(0)), - Set.of()), - - new Translator("dpa.normalform-typeness.symbolic", - LtlToDpaTranslation.SYMBOLIC_SE20_BKS10.translation( - ParityAcceptance.class, EnumSet.noneOf(Option.class), OptionalInt.empty()), - EnumSet.complementOf(EnumSet.of(BASE, SIZE, DWYER))), - - new Translator("dra.symmetric", - LtlToDraTranslation.EKS20.translation( - RabinAcceptance.class, - EnumSet.noneOf(Option.class)), - Set.of(SYNTCOMP_SELECTION)), - new Translator("dra.symmetric.portfolio", - LtlToDraTranslation.EKS20.translation( - RabinAcceptance.class, - EnumSet.of(USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), - Set.of(SYNTCOMP_SELECTION)), - new Translator("dra.symmetric.optimizations", - LtlToDraTranslation.EKS20.translation( - RabinAcceptance.class, - EnumSet.of(SIMPLIFY_AUTOMATON)), - Set.of(SYNTCOMP_SELECTION)), - - new Translator("dgra.symmetric", - LtlToDraTranslation.EKS20.translation( - GeneralizedRabinAcceptance.class, - EnumSet.noneOf(Option.class)), - Set.of(SYNTCOMP_SELECTION)), - new Translator("dgra.symmetric.portfolio", - LtlToDraTranslation.EKS20.translation( - GeneralizedRabinAcceptance.class, - EnumSet.of(USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), - Set.of(SYNTCOMP_SELECTION)), - new Translator("dgra.symmetric.optimizations", - LtlToDraTranslation.EKS20.translation( - GeneralizedRabinAcceptance.class, - EnumSet.of(SIMPLIFY_AUTOMATON)), - Set.of(SYNTCOMP_SELECTION)), - - new Translator("dra.normalform", - LtlToDraTranslation.SE20.translation( - RabinAcceptance.class, - EnumSet.noneOf(Option.class)), - Set.of(SYNTCOMP_SELECTION), true), - new Translator("dra.normalform.portfolio", - LtlToDraTranslation.SE20.translation( - RabinAcceptance.class, - EnumSet.of(USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), - Set.of(SYNTCOMP_SELECTION), true), - - new Translator("dra.normalform.dual", - LtlToDraTranslation.SE20.translation( - RabinAcceptance.class, - EnumSet.of(X_DRA_NORMAL_FORM_USE_DUAL)), - Set.of(SYNTCOMP_SELECTION), true), - new Translator("dra.normalform.dual.portfolio", - LtlToDraTranslation.SE20.translation( - RabinAcceptance.class, - EnumSet.of(X_DRA_NORMAL_FORM_USE_DUAL, USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), - Set.of(SYNTCOMP_SELECTION), true), - new Translator("dgra.normalform", - LtlToDraTranslation.SE20.translation( - GeneralizedRabinAcceptance.class, - EnumSet.noneOf(Option.class)), - Set.of(SYNTCOMP_SELECTION), true), - new Translator("dgra.normalform.portfolio", - LtlToDraTranslation.SE20.translation( - GeneralizedRabinAcceptance.class, - EnumSet.of(USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), - Set.of(SYNTCOMP_SELECTION), true), - - new Translator("nba.symmetric", - LtlToNbaTranslation.EKS20.translation( - BuchiAcceptance.class, - EnumSet.noneOf(Option.class)), - Set.of(SYNTCOMP_SELECTION)), - new Translator("nba.symmetric.portfolio", - LtlToNbaTranslation.EKS20.translation( - BuchiAcceptance.class, - EnumSet.of(Option.USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), - Set.of(SYNTCOMP_SELECTION)), - new Translator("ngba.symmetric", - LtlToNbaTranslation.EKS20.translation( - GeneralizedBuchiAcceptance.class, - EnumSet.noneOf(Option.class)), - Set.of(SYNTCOMP_SELECTION)), - new Translator("ngba.symmetric.portfolio", - LtlToNbaTranslation.EKS20.translation( - GeneralizedBuchiAcceptance.class, - EnumSet.of(Option.USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), - Set.of(SYNTCOMP_SELECTION)), - - new Translator("dela.normalform.syntactic", - LtlToDelaTranslation.SLM21.translation( - EmersonLeiAcceptance.class, EnumSet.noneOf(Option.class), OptionalInt.of(0)), - Set.of()), - new Translator("dela.normalform.semantic", - LtlToDelaTranslation.SLM21.translation( - EmersonLeiAcceptance.class, EnumSet.noneOf(Option.class), OptionalInt.empty()), - Set.of()), - new Translator("delag", - LtlToDelaTranslation.MS17.translation(), - EnumSet.complementOf(EnumSet.of(BASE, SIZE))) - ); + new Translator("safety", + DeterministicConstructionsPortfolio::safety), + new Translator("safety.nondeterministic", + NonDeterministicConstructionsPortfolio::safety), + + new Translator("coSafety", + DeterministicConstructionsPortfolio::coSafety), + new Translator("coSafety.nondeterministic", + NonDeterministicConstructionsPortfolio::coSafety), + + new Translator("fgSafety", + x -> DeterministicConstructionsPortfolio.fgSafety(x, false)), + new Translator("fgSafety.generalized", + x -> DeterministicConstructionsPortfolio.fgSafety(x, true)), + new Translator("fgSafety.nondeterministic", + NonDeterministicConstructionsPortfolio::fgSafety), + + new Translator("gfCoSafety", + y -> DeterministicConstructionsPortfolio.gfCoSafety(y, false)), + new Translator("gfCoSafety.generalized", + y -> DeterministicConstructionsPortfolio.gfCoSafety(y, true)), + new Translator("gfCoSafety.nondeterministic", + y -> NonDeterministicConstructionsPortfolio.gfCoSafety(y, false)), + new Translator("gfCoSafety.nondeterministic.generalized", + y -> NonDeterministicConstructionsPortfolio.gfCoSafety(y, true)), + + new Translator("coSafetySafety", DeterministicConstructionsPortfolio::coSafetySafety, + Set.of(SYNTCOMP_SELECTION, LIBEROUTER, FGGF, SIZE_FGGF)), + new Translator("safetyCoSafety", DeterministicConstructionsPortfolio::safetyCoSafety, + Set.of(SYNTCOMP_SELECTION, LIBEROUTER, FGGF, SIZE_FGGF)), + + new Translator("coSafetySafety.minimal", x -> AcceptanceOptimizations.transform( + DcwMinimization.minimize(DeterministicConstructionsPortfolio.coSafetySafety(x))), + Set.of(SYNTCOMP_SELECTION, LIBEROUTER, FGGF, SIZE_FGGF)), + new Translator("safetyCoSafety.minimal", x -> AcceptanceOptimizations.transform( + DbwMinimization.minimize(DeterministicConstructionsPortfolio.safetyCoSafety(x))), + Set.of(SYNTCOMP_SELECTION, LIBEROUTER, FGGF, SIZE_FGGF)), + + new Translator("ldba.asymmetric", + LtlToLdbaTranslation.SEJK16.translation( + BuchiAcceptance.class, + EnumSet.noneOf(Option.class)), + Set.of(SYNTCOMP_SELECTION)), + new Translator("ldba.asymmetric.portfolio", + LtlToLdbaTranslation.SEJK16.translation( + BuchiAcceptance.class, + EnumSet.of(Option.USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), + Set.of(SYNTCOMP_SELECTION)), + new Translator("ldgba.asymmetric", + LtlToLdbaTranslation.SEJK16.translation( + GeneralizedBuchiAcceptance.class, + EnumSet.noneOf(Option.class)), + Set.of(SYNTCOMP_SELECTION)), + new Translator("ldgba.asymmetric.portfolio", + LtlToLdbaTranslation.SEJK16.translation( + GeneralizedBuchiAcceptance.class, + EnumSet.of(Option.USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), + Set.of(SYNTCOMP_SELECTION)), + + new Translator("ldba.symmetric", + LtlToLdbaTranslation.EKS20.translation( + BuchiAcceptance.class, + EnumSet.noneOf(Option.class)), + Set.of(SYNTCOMP_SELECTION)), + new Translator("ldba.symmetric.portfolio", + LtlToLdbaTranslation.EKS20.translation( + BuchiAcceptance.class, + EnumSet.of(Option.USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), + Set.of(SYNTCOMP_SELECTION)), + new Translator("ldgba.symmetric", + LtlToLdbaTranslation.EKS20.translation( + GeneralizedBuchiAcceptance.class, + EnumSet.noneOf(Option.class)), + Set.of(SYNTCOMP_SELECTION)), + new Translator("ldgba.symmetric.portfolio", + LtlToLdbaTranslation.EKS20.translation( + GeneralizedBuchiAcceptance.class, + EnumSet.of(Option.USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), + Set.of(SYNTCOMP_SELECTION)), + + new Translator("dpa.asymmetric", + LtlToDpaTranslation.SEJK16_EKRS17.translation( + EnumSet.noneOf(Option.class)), + Set.of(SYNTCOMP_SELECTION, LIBEROUTER, FGGF, SIZE_FGGF)), + new Translator("dpa.asymmetric.portfolio", + LtlToDpaTranslation.SEJK16_EKRS17.translation( + EnumSet.of(USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), + Set.of(SYNTCOMP_SELECTION, LIBEROUTER, FGGF, SIZE_FGGF)), + + new Translator("dpa.symmetric", + LtlToDpaTranslation.EKS20_EKRS17.translation( + EnumSet.noneOf(Option.class)), + Set.of(SYNTCOMP_SELECTION, LIBEROUTER, FGGF, SIZE_FGGF)), + new Translator("dpa.symmetric.portfolio", + LtlToDpaTranslation.EKS20_EKRS17.translation( + EnumSet.of(USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), + Set.of(SYNTCOMP_SELECTION, LIBEROUTER, FGGF, SIZE_FGGF)), + + new Translator("dpa.normalform.acd", + LtlToDpaTranslation.SLM21.translation( + ParityAcceptance.class, EnumSet.noneOf(Option.class), OptionalInt.empty()), + Set.of()), + new Translator("dpa.normalform.conditionalZielonka", + LtlToDpaTranslation.SLM21.translation( + ParityAcceptance.class, EnumSet.noneOf(Option.class), OptionalInt.of(0)), + Set.of()), + + new Translator("dpa.normalform-typeness.symbolic", + LtlToDpaTranslation.SYMBOLIC_SE20_BKS10.translation( + ParityAcceptance.class, EnumSet.noneOf(Option.class), OptionalInt.empty()), + EnumSet.complementOf(EnumSet.of(BASE, SIZE, DWYER))), + + new Translator("dra.symmetric", + LtlToDraTranslation.EKS20.translation( + RabinAcceptance.class, + EnumSet.noneOf(Option.class)), + Set.of(SYNTCOMP_SELECTION)), + new Translator("dra.symmetric.portfolio", + LtlToDraTranslation.EKS20.translation( + RabinAcceptance.class, + EnumSet.of(USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), + Set.of(SYNTCOMP_SELECTION)), + new Translator("dra.symmetric.optimizations", + LtlToDraTranslation.EKS20.translation( + RabinAcceptance.class, + EnumSet.of(SIMPLIFY_AUTOMATON)), + Set.of(SYNTCOMP_SELECTION)), + + new Translator("dgra.symmetric", + LtlToDraTranslation.EKS20.translation( + GeneralizedRabinAcceptance.class, + EnumSet.noneOf(Option.class)), + Set.of(SYNTCOMP_SELECTION)), + new Translator("dgra.symmetric.portfolio", + LtlToDraTranslation.EKS20.translation( + GeneralizedRabinAcceptance.class, + EnumSet.of(USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), + Set.of(SYNTCOMP_SELECTION)), + new Translator("dgra.symmetric.optimizations", + LtlToDraTranslation.EKS20.translation( + GeneralizedRabinAcceptance.class, + EnumSet.of(SIMPLIFY_AUTOMATON)), + Set.of(SYNTCOMP_SELECTION)), + + new Translator("dra.normalform", + LtlToDraTranslation.SE20.translation( + RabinAcceptance.class, + EnumSet.noneOf(Option.class)), + Set.of(SYNTCOMP_SELECTION), true), + new Translator("dra.normalform.portfolio", + LtlToDraTranslation.SE20.translation( + RabinAcceptance.class, + EnumSet.of(USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), + Set.of(SYNTCOMP_SELECTION), true), + new Translator("dra.normalform.minimal", + LtlToDraTranslation.SE20.translation( + RabinAcceptance.class, + EnumSet.of( + USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS, + USE_SAT_BASED_DBW_DCW_MINIMIZATION, + SIMPLIFY_AUTOMATON)), + Set.of(SYNTCOMP_SELECTION, LIBEROUTER, FGGF, SIZE_FGGF), true), + + new Translator("dra.normalform.dual", + LtlToDraTranslation.SE20.translation( + RabinAcceptance.class, + EnumSet.of(X_DRA_NORMAL_FORM_USE_DUAL)), + Set.of(SYNTCOMP_SELECTION), true), + new Translator("dra.normalform.dual.portfolio", + LtlToDraTranslation.SE20.translation( + RabinAcceptance.class, + EnumSet.of(X_DRA_NORMAL_FORM_USE_DUAL, USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), + Set.of(SYNTCOMP_SELECTION), true), + new Translator("dgra.normalform", + LtlToDraTranslation.SE20.translation( + GeneralizedRabinAcceptance.class, + EnumSet.noneOf(Option.class)), + Set.of(SYNTCOMP_SELECTION), true), + new Translator("dgra.normalform.portfolio", + LtlToDraTranslation.SE20.translation( + GeneralizedRabinAcceptance.class, + EnumSet.of(USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), + Set.of(SYNTCOMP_SELECTION), true), + + new Translator("nba.symmetric", + LtlToNbaTranslation.EKS20.translation( + BuchiAcceptance.class, + EnumSet.noneOf(Option.class)), + Set.of(SYNTCOMP_SELECTION)), + new Translator("nba.symmetric.portfolio", + LtlToNbaTranslation.EKS20.translation( + BuchiAcceptance.class, + EnumSet.of(Option.USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), + Set.of(SYNTCOMP_SELECTION)), + new Translator("ngba.symmetric", + LtlToNbaTranslation.EKS20.translation( + GeneralizedBuchiAcceptance.class, + EnumSet.noneOf(Option.class)), + Set.of(SYNTCOMP_SELECTION)), + new Translator("ngba.symmetric.portfolio", + LtlToNbaTranslation.EKS20.translation( + GeneralizedBuchiAcceptance.class, + EnumSet.of(Option.USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)), + Set.of(SYNTCOMP_SELECTION)), + + new Translator("dela.normalform.syntactic", + LtlToDelaTranslation.SLM21.translation( + EmersonLeiAcceptance.class, EnumSet.noneOf(Option.class), OptionalInt.of(0))), + new Translator("dela.normalform.semantic", + LtlToDelaTranslation.SLM21.translation( + EmersonLeiAcceptance.class, EnumSet.noneOf(Option.class), OptionalInt.empty())), + new Translator("delag", + LtlToDelaTranslation.MS17.translation(), + EnumSet.complementOf(EnumSet.of(BASE, SIZE))) + ); private static boolean containsIsomorphic(Collection formulas, Formula formula) { for (Formula existingFormula : formulas) { @@ -325,8 +344,8 @@ private static void addNormalized(Set testCases, Formula... for BitSet literalsToFlip = new BitSet(); Set literals = formula.subformulas(Literal.class); literals.stream() - .filter(x -> x.isNegated() && !literals.contains(x.not())) - .forEach(x -> literalsToFlip.set(x.getAtom())); + .filter(x -> x.isNegated() && !literals.contains(x.not())) + .forEach(x -> literalsToFlip.set(x.getAtom())); // Replace these literals by positive form. var literalNormalizedFormula = formula.accept(new Converter(SyntacticFragment.ALL) { @@ -343,11 +362,11 @@ public Formula visit(Literal literal) { // Close literal gaps. var shiftedFormula = LiteralMapper.shiftLiterals( - LabelledFormula.of(literalNormalizedFormula, COMMON_ALPHABET)); + LabelledFormula.of(literalNormalizedFormula, COMMON_ALPHABET)); var labelledFormula = LabelledFormula.of(shiftedFormula.formula.formula(), COMMON_ALPHABET); if (containsIsomorphic( - Collections2.transform(testCases, LabelledFormula::formula), labelledFormula.formula())) { + Collections2.transform(testCases, LabelledFormula::formula), labelledFormula.formula())) { continue; } @@ -372,6 +391,10 @@ private static List translatorProvider() { @Tag("size-regression-test") @TestFactory List test() { + // Disable assertions in BDD library. + Thread.currentThread().getContextClassLoader() + .setPackageAssertionStatus("de.tum.in", false); + var containers = new ArrayList(); var gson = new Gson(); @@ -380,7 +403,7 @@ List test() { try (Reader sizesFile = Files.newBufferedReader(translator.referenceFile())) { var testCases = Arrays.stream(gson.fromJson(sizesFile, TestCase[].class)) - .map(testCase -> testCase.test(translatorFunction)); + .map(testCase -> testCase.test(translatorFunction)); containers.add(DynamicContainer.dynamicContainer(translator.name, testCases)); } catch (IOException exception) { fail(exception); @@ -396,7 +419,7 @@ List test() { void train(Translator translator) { // Disable assertions in BDD library. Thread.currentThread().getContextClassLoader() - .setPackageAssertionStatus("de.tum.in", false); + .setPackageAssertionStatus("de.tum.in", false); var formulaSet = new TreeSet<>(Comparator.comparing(LabelledFormula::formula)); @@ -411,24 +434,24 @@ void train(Translator translator) { var formula = LtlParser.parse(formulaString).formula(); var simplifiedFormula - = SimplifierRepository.SYNTACTIC_FIXPOINT.apply(formula); + = SimplifierRepository.SYNTACTIC_FIXPOINT.apply(formula); var simplifiedFormulaNegated - = SimplifierRepository.SYNTACTIC_FIXPOINT.apply(formula.not()); + = SimplifierRepository.SYNTACTIC_FIXPOINT.apply(formula.not()); addNormalized(formulaSet, simplifiedFormula, simplifiedFormulaNegated); if (simplifiedFormula.anyMatch( - x -> x instanceof Biconditional || x instanceof Negation)) { + x -> x instanceof Biconditional || x instanceof Negation)) { addNormalized(formulaSet, - SimplifierRepository.SYNTACTIC_FIXPOINT.apply(formula.nnf())); + SimplifierRepository.SYNTACTIC_FIXPOINT.apply(formula.nnf())); } if (simplifiedFormulaNegated.anyMatch( - x -> x instanceof Biconditional || x instanceof Negation)) { + x -> x instanceof Biconditional || x instanceof Negation)) { addNormalized(formulaSet, - SimplifierRepository.SYNTACTIC_FIXPOINT.apply(formula.nnf().not())); + SimplifierRepository.SYNTACTIC_FIXPOINT.apply(formula.nnf().not())); } }); } catch (IOException exception) { @@ -438,8 +461,8 @@ void train(Translator translator) { var translatorFunction = translator.constructor; var testCases = formulaSet.stream() - .map(x -> TestCase.of(x, translatorFunction, translator.numberOfAcceptanceSetsUnstable)) - .toArray(); + .map(x -> TestCase.of(x, translatorFunction, translator.numberOfAcceptanceSetsUnstable)) + .toArray(); try (BufferedWriter writer = Files.newBufferedWriter(translator.referenceFile())) { var gson = new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create(); @@ -492,7 +515,7 @@ public LinkedHashSet loadAndDeduplicateFormulaSet() throws IOEx } var formula = SimplifierRepository.SYNTACTIC_FIXPOINT.apply( - LtlParser.parse(formulaString).formula().nnf()); + LtlParser.parse(formulaString).formula().nnf()); var negatedFormula = formula.not(); var invertedFormula = negatedFormula.accept(new Converter(SyntacticFragment.NNF) { @Override @@ -504,8 +527,8 @@ public Formula visit(Literal literal) { var transformedSet = Collections2.transform(formulaSet, LabelledFormula::formula); if (!containsIsomorphic(transformedSet, formula) - && !containsIsomorphic(transformedSet, negatedFormula) - && !containsIsomorphic(transformedSet, invertedFormula)) { + && !containsIsomorphic(transformedSet, negatedFormula) + && !containsIsomorphic(transformedSet, invertedFormula)) { addNormalized(formulaSet, formula); } }); @@ -516,27 +539,28 @@ public Formula visit(Literal literal) { } static class Translator { + final String name; final Function> constructor; final boolean numberOfAcceptanceSetsUnstable; private final Set selectedSets; Translator(String name, - Function> constructor) { + Function> constructor) { this(name, constructor, Set.of()); } Translator(String name, - Function> constructor, - Set blacklistedSets) { + Function> constructor, + Set blacklistedSets) { this(name, constructor, blacklistedSets, false); } Translator(String name, - Function> constructor, - Set blacklistedSets, - boolean numberOfAcceptanceSetsUnstable) { + Function> constructor, + Set blacklistedSets, + boolean numberOfAcceptanceSetsUnstable) { this.name = name; this.constructor = constructor; this.selectedSets = EnumSet.allOf(FormulaSet.class); @@ -556,6 +580,7 @@ public String toString() { } static class TestCase { + final String formula; @Nullable final AutomatonSummary properties; @@ -566,9 +591,9 @@ private TestCase(String formula, @Nullable AutomatonSummary properties) { } static TestCase of(LabelledFormula formula, - Function> translation, boolean ignoreSets) { + Function> translation, boolean ignoreSets) { var properties - = AutomatonSummary.of(() -> translation.apply(formula), ignoreSets); + = AutomatonSummary.of(() -> translation.apply(formula), ignoreSets); return new TestCase(PrintVisitor.toString(formula, false), properties); } @@ -588,6 +613,7 @@ DynamicTest test(Function> translatio } static class AutomatonSummary { + final int size; final int initialStatesSize; final transient EmersonLeiAcceptance acceptance; @@ -597,14 +623,14 @@ static class AutomatonSummary { final boolean deterministic; AutomatonSummary(int size, int initialStatesSize, EmersonLeiAcceptance acceptance, - boolean deterministic, boolean complete, boolean ignoreSets) { + boolean deterministic, boolean complete, boolean ignoreSets) { this.acceptance = acceptance; this.acceptanceSets = ignoreSets - ? -1 - : acceptance.acceptanceSets(); + ? -1 + : acceptance.acceptanceSets(); this.acceptanceName = ignoreSets - ? EmersonLeiAcceptance.class.getSimpleName() - : acceptance.getClass().getSimpleName(); + ? EmersonLeiAcceptance.class.getSimpleName() + : acceptance.getClass().getSimpleName(); this.complete = complete; this.deterministic = deterministic; this.initialStatesSize = initialStatesSize; @@ -621,11 +647,11 @@ static AutomatonSummary of(Supplier> supplier, boolean ignoreSet try { var automaton = Objects.requireNonNull(supplier.get()); return new AutomatonSummary(automaton.states().size(), - automaton.initialStates().size(), - automaton.acceptance(), - automaton.is(Automaton.Property.DETERMINISTIC), - automaton.is(Automaton.Property.COMPLETE), - ignoreSets); + automaton.initialStates().size(), + automaton.acceptance(), + automaton.is(Automaton.Property.DETERMINISTIC), + automaton.is(Automaton.Property.COMPLETE), + ignoreSets); } catch (IllegalArgumentException ex) { return null; } @@ -633,17 +659,17 @@ static AutomatonSummary of(Supplier> supplier, boolean ignoreSet void test(Automaton automaton) { assertEquals(size, automaton.states().size(), - () -> String.format("Expected %d states, got %d.\n%s", - size, automaton.states().size(), HoaWriter.toString(automaton))); + () -> String.format("Expected %d states, got %d.\n%s", + size, automaton.states().size(), HoaWriter.toString(automaton))); assertEquals(initialStatesSize, automaton.initialStates().size(), - () -> String.format("Expected %d intial states, got %d.\n%s", - initialStatesSize, automaton.initialStates().size(), HoaWriter.toString(automaton))); + () -> String.format("Expected %d intial states, got %d.\n%s", + initialStatesSize, automaton.initialStates().size(), HoaWriter.toString(automaton))); if (acceptanceSets >= 0) { assertEquals(acceptanceSets, automaton.acceptance().acceptanceSets(), - () -> String.format("Expected %d acceptance sets, got %d.\n%s", - acceptanceSets, automaton.acceptance().acceptanceSets(), - HoaWriter.toString(automaton))); + () -> String.format("Expected %d acceptance sets, got %d.\n%s", + acceptanceSets, automaton.acceptance().acceptanceSets(), + HoaWriter.toString(automaton))); assertEquals(acceptanceName, automaton.acceptance().getClass().getSimpleName()); } diff --git a/src/test/java/owl/translations/TranslationReport.java b/src/test/java/owl/translations/TranslationReport.java index 25609c9a..3bb44850 100644 --- a/src/test/java/owl/translations/TranslationReport.java +++ b/src/test/java/owl/translations/TranslationReport.java @@ -72,20 +72,21 @@ @SuppressWarnings("PMD") class TranslationReport { + private static final LatexPrintVisitor PRINT_VISITOR = new LatexPrintVisitor(COMMON_ALPHABET); @Tag("size-report") @ParameterizedTest @EnumSource( - value = FormulaSet.class, - names = {"DWYER", "PARAMETRISED"}) + value = FormulaSet.class, + names = {"DWYER", "PARAMETRISED"}) void generateLics20Comparison(FormulaSet set) throws IOException { Function> draSymmetric = (LabelledFormula formula) -> - AcceptanceOptimizations.transform( - SymmetricDRAConstruction.of(RabinAcceptance.class, true).apply(formula)); + AcceptanceOptimizations.transform( + SymmetricDRAConstruction.of(RabinAcceptance.class, true).apply(formula)); var normalform = - NormalformDRAConstruction.of(RabinAcceptance.class, false); + NormalformDRAConstruction.of(false, false); int smaller = 0; int SMALLER = 0; @@ -122,7 +123,6 @@ void generateLics20Comparison(FormulaSet set) throws IOException { equal++; } - draSize = draSymmetric.apply(formula.not()).states().size(); normalformSize = normalform.apply(formula.not()).states().size(); @@ -139,13 +139,14 @@ void generateLics20Comparison(FormulaSet set) throws IOException { equal++; } - seenFormulas.add(formula); seenFormulas.add(formula.not()); } - System.out.println("geom dra:" + owl.util.Statistics.geometricMean(draSizes.stream().mapToInt(x -> x).toArray())); - System.out.println("geom norm:" + owl.util.Statistics.geometricMean(normalformSizes.stream().mapToInt(x -> x).toArray())); + System.out.println("geom dra:" + owl.util.Statistics.geometricMean( + draSizes.stream().mapToInt(x -> x).toArray())); + System.out.println("geom norm:" + owl.util.Statistics.geometricMean( + normalformSizes.stream().mapToInt(x -> x).toArray())); List differences = new ArrayList<>(); List percentages = new ArrayList<>(); @@ -169,24 +170,25 @@ void generateLics20Comparison(FormulaSet set) throws IOException { percentages.sort(Comparator.naturalOrder().reversed()); System.out.println(percentages); - System.out.println("s: " + smaller + " e: " + equal + " l: " + larger + " / c: " + completeCount); + System.out.println( + "s: " + smaller + " e: " + equal + " l: " + larger + " / c: " + completeCount); } @Disabled @Tag("size-report") @ParameterizedTest @EnumSource( - value = FormulaSet.class, - names = {"DWYER", "PARAMETRISED"}) + value = FormulaSet.class, + names = {"DWYER", "PARAMETRISED"}) void generateJacmComparison(FormulaSet set) throws IOException { Function> dgraAsymmetric = (LabelledFormula formula) -> - AcceptanceOptimizations.transform( - RabinizerBuilder.build(formula, RabinizerConfiguration.of(true, true, true))); + AcceptanceOptimizations.transform( + RabinizerBuilder.build(formula, RabinizerConfiguration.of(true, true, true))); Function> dgraSymmetric = (LabelledFormula formula) -> - AcceptanceOptimizations.transform( - SymmetricDRAConstruction.of(GeneralizedRabinAcceptance.class, true) - .apply(formula)); + AcceptanceOptimizations.transform( + SymmetricDRAConstruction.of(GeneralizedRabinAcceptance.class, true) + .apply(formula)); int symmeticLeq = 0; int completeCount = 0; @@ -214,7 +216,6 @@ void generateJacmComparison(FormulaSet set) throws IOException { seenFormulas.add(formula.not()); } - System.out.println(symmeticLeq + "/" + completeCount); } @@ -222,37 +223,37 @@ void generateJacmComparison(FormulaSet set) throws IOException { @Tag("size-report") @ParameterizedTest @EnumSource( - value = FormulaSet.class, - names = {"DWYER", "PARAMETRISED"}) + value = FormulaSet.class, + names = {"DWYER", "PARAMETRISED"}) void generateJacmLatexTables(FormulaSet set) throws IOException { var ltl2dstarCommand = List.of( - "./ltldo", - "-T", "600", - "-f", "%f", - "-t", "./ltl2dstar --ltl2nba=spin:./ltl2ba --output-format=hoa %[MW]L %O"); + "./ltldo", + "-T", "600", + "-f", "%f", + "-t", "./ltl2dstar --ltl2nba=spin:./ltl2ba --output-format=hoa %[MW]L %O"); var ltl2tgbaCommand = List.of( - "./ltldo", - "-T", "600", - "-f", "%f", - "./ltl2tgba --generic --deterministic %f > %O" + "./ltldo", + "-T", "600", + "-f", "%f", + "./ltl2tgba --generic --deterministic %f > %O" ); var dgraAsymmetric = new Translator("DGRA (asymmetric)", (formula) -> - AcceptanceOptimizations.transform( - RabinizerBuilder.build(formula, - RabinizerConfiguration.of(true, true, true)))); + AcceptanceOptimizations.transform( + RabinizerBuilder.build(formula, + RabinizerConfiguration.of(true, true, true)))); var dgraSymmetric = new Translator("DGRA (this paper)", formula -> - AcceptanceOptimizations.transform( - SymmetricDRAConstruction.of(GeneralizedRabinAcceptance.class, true) - .apply(formula))); + AcceptanceOptimizations.transform( + SymmetricDRAConstruction.of(GeneralizedRabinAcceptance.class, true) + .apply(formula))); var historic = List.of(new Translator("ltl2dstar (historic)", - new ExternalTranslator(ltl2dstarCommand, InputMode.REPLACE))); + new ExternalTranslator(ltl2dstarCommand, InputMode.REPLACE))); var portfolio = List.of(new Translator("ltl2tgba (portfolio)", - new ExternalTranslator(ltl2tgbaCommand, InputMode.REPLACE))); + new ExternalTranslator(ltl2tgbaCommand, InputMode.REPLACE))); var direct = List.of(dgraAsymmetric, dgraSymmetric); var translators = List.of(historic, direct, portfolio); @@ -280,17 +281,17 @@ void generateJacmLatexTables(FormulaSet set) throws IOException { } var latexReport = LatexReport.create( - translators.stream() - .map(x -> Collections3.transformList(x, y -> y.name)) - .toList(), - Map.of(), - set.name().toLowerCase(), - formulaSet.stream().map(LabelledFormula::formula).toList(), - resultTable, - z -> -1, 25, true); + translators.stream() + .map(x -> Collections3.transformList(x, y -> y.name)) + .toList(), + Map.of(), + set.name().toLowerCase(), + formulaSet.stream().map(LabelledFormula::formula).toList(), + resultTable, + z -> -1, 25, true); try (Writer writer = Files.newBufferedWriter( - Paths.get(set.name() + ".tex"), StandardCharsets.UTF_8)) { + Paths.get(set.name() + ".tex"), StandardCharsets.UTF_8)) { writer.write(latexReport); } } @@ -299,8 +300,8 @@ void generateJacmLatexTables(FormulaSet set) throws IOException { @Tag("size-report") @ParameterizedTest @EnumSource( - value = FormulaSet.class, - names = {"DWYER", "PARAMETRISED"}) + value = FormulaSet.class, + names = {"DWYER", "PARAMETRISED"}) void generateStttLatexReport(FormulaSet set) throws IOException { var configuration = RabinizerConfiguration.of(true, true, true); @@ -317,16 +318,16 @@ void generateStttLatexReport(FormulaSet set) throws IOException { var dpa_iar_asymmetric = new Translator("\\Done", formula -> { var dgra = RabinizerBuilder.build(formula, configuration); var optimisedDgra = OmegaAcceptanceCast.cast( - AcceptanceOptimizations.transform(dgra), GeneralizedRabinAcceptance.class); + AcceptanceOptimizations.transform(dgra), GeneralizedRabinAcceptance.class); // Upgraded DGRA -> DPA translation. This was not done in original report. return ZielonkaTreeTransformations.transform(optimisedDgra); }); var dpa_iar_symmetric = new Translator("\\Dtwo", formula -> { var dgra = SymmetricDRAConstruction.of( - GeneralizedRabinAcceptance.class, true).apply(formula); + GeneralizedRabinAcceptance.class, true).apply(formula); var optimisedDgra = OmegaAcceptanceCast.cast( - AcceptanceOptimizations.transform(dgra), GeneralizedRabinAcceptance.class); + AcceptanceOptimizations.transform(dgra), GeneralizedRabinAcceptance.class); // Upgraded DGRA -> DPA translation. This was not done in original report. return ZielonkaTreeTransformations.transform(optimisedDgra); }); @@ -336,43 +337,45 @@ void generateStttLatexReport(FormulaSet set) throws IOException { var dpa_ldba_asymmetric_portfolio = new Translator("\\LDp", labelledFormula -> { var automaton1 - = LtlTranslationRepository.LtlToDpaTranslation.SEJK16_EKRS17.translation( - EnumSet.of(LtlTranslationRepository.Option.X_DPA_USE_COMPLEMENT, - LtlTranslationRepository.Option.USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)).apply(labelledFormula); + = LtlTranslationRepository.LtlToDpaTranslation.SEJK16_EKRS17.translation( + EnumSet.of(LtlTranslationRepository.Option.X_DPA_USE_COMPLEMENT, + LtlTranslationRepository.Option.USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)) + .apply(labelledFormula); var automaton2 - = LtlTranslationRepository.LtlToDpaTranslation.EKS20_EKRS17.translation( - EnumSet.of(LtlTranslationRepository.Option.X_DPA_USE_COMPLEMENT, - LtlTranslationRepository.Option.USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)).apply(labelledFormula); + = LtlTranslationRepository.LtlToDpaTranslation.EKS20_EKRS17.translation( + EnumSet.of(LtlTranslationRepository.Option.X_DPA_USE_COMPLEMENT, + LtlTranslationRepository.Option.USE_PORTFOLIO_FOR_SYNTACTIC_LTL_FRAGMENTS)) + .apply(labelledFormula); return automaton1.states().size() <= automaton2.states().size() ? automaton1 : automaton2; }); // External var ltl2tgbaCommand = List.of( - "ltldo", - "-T", "600", - "-f", "%f", - "ltl2tgba --parity --deterministic %f > %O" + "ltldo", + "-T", "600", + "-f", "%f", + "ltl2tgba --parity --deterministic %f > %O" ); var nbaDetCommand = List.of( - "ltldo", - "-T", "600", - "-f", "%f", - "ltl2tgba -B %f | " - + "/sttt-experiments/tools/nbautils/build/bin/nbadet -k -j -t -i -r -o -m -d -u2 > %O" + "ltldo", + "-T", "600", + "-f", "%f", + "ltl2tgba -B %f | " + + "/sttt-experiments/tools/nbautils/build/bin/nbadet -k -j -t -i -r -o -m -d -u2 > %O" ); var ltl2tgba = new Translator("\\None", - new ExternalTranslator(ltl2tgbaCommand, InputMode.REPLACE)); + new ExternalTranslator(ltl2tgbaCommand, InputMode.REPLACE)); var nbaDet = new Translator("\\Ntwo", - new ExternalTranslator(nbaDetCommand, InputMode.REPLACE)); + new ExternalTranslator(nbaDetCommand, InputMode.REPLACE)); var translators = List.of(List.of(ltl2tgba, nbaDet, - dpa_iar_asymmetric, dpa_iar_symmetric, - dpa_ldba_asymmetric, dpa_ldba_symmetric, dpa_ldba_asymmetric_portfolio)); + dpa_iar_asymmetric, dpa_iar_symmetric, + dpa_ldba_asymmetric, dpa_ldba_symmetric, dpa_ldba_asymmetric_portfolio)); var formulaSet = set.loadAndDeduplicateFormulaSet(); Table resultTable = HashBasedTable.create(); @@ -397,17 +400,17 @@ void generateStttLatexReport(FormulaSet set) throws IOException { } var latexReport = LatexReport.create( - translators.stream() - .map(x -> Collections3.transformList(x, y -> y.name)) - .toList(), - Map.of(), - set.name().toLowerCase(), - formulaSet.stream().map(LabelledFormula::formula).toList(), - resultTable, - EmersonLeiAcceptance::acceptanceSets, 10, false); + translators.stream() + .map(x -> Collections3.transformList(x, y -> y.name)) + .toList(), + Map.of(), + set.name().toLowerCase(), + formulaSet.stream().map(LabelledFormula::formula).toList(), + resultTable, + EmersonLeiAcceptance::acceptanceSets, 10, false); try (Writer writer = Files.newBufferedWriter( - Paths.get(set.name() + ".tex"), StandardCharsets.UTF_8)) { + Paths.get(set.name() + ".tex"), StandardCharsets.UTF_8)) { writer.write(latexReport); } } @@ -416,8 +419,8 @@ void generateStttLatexReport(FormulaSet set) throws IOException { @Tag("size-report") @ParameterizedTest @EnumSource( - value = FormulaSet.class, - names = {"DWYER", "PARAMETRISED"}) + value = FormulaSet.class, + names = {"DWYER", "PARAMETRISED"}) void generateIntermediateStttLatexReport(FormulaSet set) throws IOException { var configuration = RabinizerConfiguration.of(true, true, true); @@ -436,11 +439,11 @@ void generateIntermediateStttLatexReport(FormulaSet set) throws IOException { var dpa_iar_asymmetric = new Translator("\\Done", formula -> { var dgra = RabinizerBuilder.build(formula, configuration); var optimisedDgra = OmegaAcceptanceCast.cast( - AcceptanceOptimizations.transform(dgra), GeneralizedRabinAcceptance.class); + AcceptanceOptimizations.transform(dgra), GeneralizedRabinAcceptance.class); var dra = RabinDegeneralization.degeneralize(optimisedDgra); var optimisedDra = OmegaAcceptanceCast.cast( - AcceptanceOptimizations.transform(dra), RabinAcceptance.class); + AcceptanceOptimizations.transform(dra), RabinAcceptance.class); return optimisedDra; }); @@ -448,14 +451,14 @@ void generateIntermediateStttLatexReport(FormulaSet set) throws IOException { var dpa_iar_symmetric = new Translator("\\Dtwo", formula -> { var dra = SymmetricDRAConstruction.of(RabinAcceptance.class, true).apply(formula); var optimisedDra = OmegaAcceptanceCast.cast( - AcceptanceOptimizations.transform(dra), RabinAcceptance.class); + AcceptanceOptimizations.transform(dra), RabinAcceptance.class); return optimisedDra; }); // With Portfolio var translators = List.of( - List.of(dpa_iar_asymmetric, dpa_iar_symmetric, dpa_ldba_asymmetric, dpa_ldba_symmetric)); + List.of(dpa_iar_asymmetric, dpa_iar_symmetric, dpa_ldba_asymmetric, dpa_ldba_symmetric)); var formulaSet = set.loadAndDeduplicateFormulaSet(); Table resultTable = HashBasedTable.create(); @@ -480,25 +483,26 @@ void generateIntermediateStttLatexReport(FormulaSet set) throws IOException { } var latexReport = LatexReport.create( - translators.stream() - .map(x -> Collections3.transformList(x, y -> y.name)) - .toList(), - Map.of(), - set.name().toLowerCase(), - formulaSet.stream().map(LabelledFormula::formula).toList(), - resultTable, - EmersonLeiAcceptance::acceptanceSets, 100, false); + translators.stream() + .map(x -> Collections3.transformList(x, y -> y.name)) + .toList(), + Map.of(), + set.name().toLowerCase(), + formulaSet.stream().map(LabelledFormula::formula).toList(), + resultTable, + EmersonLeiAcceptance::acceptanceSets, 100, false); try (Writer writer = Files.newBufferedWriter( - Paths.get(set.name() + ".tex"), StandardCharsets.UTF_8)) { + Paths.get(set.name() + ".tex"), StandardCharsets.UTF_8)) { writer.write(latexReport); } } static class LatexReport { + private final NavigableSet> sortedSet = new TreeSet<>( - Map.Entry.comparingByKey() - .thenComparing(Map.Entry.comparingByValue().reversed()) + Map.Entry.comparingByKey() + .thenComparing(Map.Entry.comparingByValue().reversed()) ); // Column configuration @@ -517,11 +521,11 @@ static class LatexReport { private final boolean rotateHeader; private LatexReport(List> tableHeader, - Map readableTranslatorNames, - String formulaSetName, - List formulas, - Table results, - boolean rotateHeader) { + Map readableTranslatorNames, + String formulaSetName, + List formulas, + Table results, + boolean rotateHeader) { // Column configuration this.tableHeader = tableHeader; this.readableTranslatorNames = readableTranslatorNames; @@ -565,15 +569,15 @@ private LatexReport(List> tableHeader, } static String create(List> groupedTranslators, - Map readableTranslatorNames, - String formulaSetName, - List formulas, - Table results, - Function normalisation, - int threshold, - boolean rotateHeader) { + Map readableTranslatorNames, + String formulaSetName, + List formulas, + Table results, + Function normalisation, + int threshold, + boolean rotateHeader) { return new LatexReport(groupedTranslators, readableTranslatorNames, - formulaSetName, formulas, results, rotateHeader).report(threshold, normalisation); + formulaSetName, formulas, results, rotateHeader).report(threshold, normalisation); } private int[] extract_size(String tool) { @@ -588,31 +592,31 @@ private String report(int lines, Function normali String allFormulasDescription = createFormulaTables(formulaEnumeration.keySet()); return String.format("%s\n%s\\newcommand{\\%sAppendix}{%s\n%s}", - mainTables, - referencedFormulasDescription, - formulaSetName.replaceAll("[0-9]", ""), - appendixTables, - allFormulasDescription); + mainTables, + referencedFormulasDescription, + formulaSetName.replaceAll("[0-9]", ""), + appendixTables, + allFormulasDescription); } private String statsRow(String identifier, Function computation) { StringBuilder row = new StringBuilder(" ") - .append(identifier) - .append(" \n "); + .append(identifier) + .append(" \n "); tableHeader.forEach(groupHeader -> - groupHeader.forEach(tool -> { - String renderedValue = computation.apply(extract_size(tool)); - int index = renderedValue.indexOf('.'); + groupHeader.forEach(tool -> { + String renderedValue = computation.apply(extract_size(tool)); + int index = renderedValue.indexOf('.'); - if (index < 0) { - row.append("& n/a & "); - } else { - row.append(String.format("& %s & {\\hspace{-0.25em}%s}", - renderedValue.substring(0, index), - renderedValue.substring(index))); - } - })); + if (index < 0) { + row.append("& n/a & "); + } else { + row.append(String.format("& %s & {\\hspace{-0.25em}%s}", + renderedValue.substring(0, index), + renderedValue.substring(index))); + } + })); row.append("\\\\\n"); @@ -649,9 +653,9 @@ private void formulaTableFooter(StringBuilder tableBuilder) { tableBuilder.append(" \\bottomrule\n"); tableBuilder.append(" \\end{tabularx}\n"); tableBuilder.append(String.format(" \\caption{Formulas from %s (part %d).}\n", - formulaSetName, tableCounter)); + formulaSetName, tableCounter)); tableBuilder.append(String.format(" \\label{exp:table:%s:form:%d}\n", - formulaSetName, tableCounter)); + formulaSetName, tableCounter)); tableBuilder.append("\\end{table}\n"); } @@ -666,10 +670,10 @@ private String createFormulaTables(Set formulas) { for (Formula formula : sortedFormulas) { tableBuilder.append(" $\\varphi_{") - .append(formulaEnumeration.get(formula) + 1) - .append("}$ & {\\scriptsize $") - .append(formula.accept(PRINT_VISITOR)) - .append("$} \\\\\n"); + .append(formulaEnumeration.get(formula) + 1) + .append("}$ & {\\scriptsize $") + .append(formula.accept(PRINT_VISITOR)) + .append("$} \\\\\n"); count++; @@ -685,7 +689,8 @@ private String createFormulaTables(Set formulas) { } private String createTables(boolean appendix, int lines, - Function normalisation, @Nullable Set referencedFormulas) { + Function normalisation, + @Nullable Set referencedFormulas) { var tableBuilder = new StringBuilder(tableHeader()); @@ -702,12 +707,12 @@ private String createTables(boolean appendix, int lines, if (negatedRow) { tableBuilder.append(" $\\overline{\\varphi_{") - .append(formulaEnumeration.get(canonicalFormula) + 1) - .append("}}$ \n"); + .append(formulaEnumeration.get(canonicalFormula) + 1) + .append("}}$ \n"); } else { tableBuilder.append(" $\\varphi_{") - .append(formulaEnumeration.get(canonicalFormula) + 1) - .append("}$ \n"); + .append(formulaEnumeration.get(canonicalFormula) + 1) + .append("}$ \n"); } tableBuilder.append(" "); @@ -759,23 +764,23 @@ private String createTables(boolean appendix, int lines, // Mean tableBuilder.append(statsRow( - "$\\frac{1}{n}\\Sigma$", - sizes -> String.format("%.2f", Statistics.arithmeticMean(sizes)))); + "$\\frac{1}{n}\\Sigma$", + sizes -> String.format("%.2f", Statistics.arithmeticMean(sizes)))); // Standard deviation tableBuilder.append(statsRow( - "$\\sigma$", - sizes -> String.format("%.2f", Statistics.standardDeviation(sizes)))); + "$\\sigma$", + sizes -> String.format("%.2f", Statistics.standardDeviation(sizes)))); //Geometric Mean tableBuilder.append(statsRow( - "$\\sqrt[\\uproot{2}n]{\\Pi}$", - sizes -> String.format("%.2f", Statistics.geometricMean(sizes)))); + "$\\sqrt[\\uproot{2}n]{\\Pi}$", + sizes -> String.format("%.2f", Statistics.geometricMean(sizes)))); // Median tableBuilder.append(statsRow( - "med.", - sizes -> String.format("%.1f", Statistics.median(sizes)))); + "med.", + sizes -> String.format("%.1f", Statistics.median(sizes)))); } tableBuilder.append(tableFooter(appendix, sortedSet.size() - lines)); @@ -792,10 +797,10 @@ private StringBuilder tableHeader() { header.append(" \\scriptsize\n"); header.append(" \\begin{tabularx}{0.40\\linewidth}{c|"); header.append(this.tableHeader.stream().map(group -> - IntStream.range(0, group.size()) - .mapToObj(x -> "r@{\\hspace{0.33\\tabcolsep}}l") - .collect(Collectors.joining("@{\\hspace{1.5\\tabcolsep}}"))) - .collect(Collectors.joining("|"))); + IntStream.range(0, group.size()) + .mapToObj(x -> "r@{\\hspace{0.33\\tabcolsep}}l") + .collect(Collectors.joining("@{\\hspace{1.5\\tabcolsep}}"))) + .collect(Collectors.joining("|"))); header.append("X}\n"); if (rotateHeader) { @@ -829,18 +834,19 @@ private StringBuilder tableHeader() { private StringBuilder tableFooter(boolean appendix, int skippedRows) { var comment = String.format( - "Filtered %s from %s formulas (%.2f) and moved them to the appendix.", - skippedRows, - 2 * formulaEnumeration.size(), ((double) skippedRows) / (2.0 * formulaEnumeration.size())); + "Filtered %s from %s formulas (%.2f) and moved them to the appendix.", + skippedRows, + 2 * formulaEnumeration.size(), + ((double) skippedRows) / (2.0 * formulaEnumeration.size())); StringBuilder footer = new StringBuilder(100); footer.append(" \\bottomrule\n"); footer.append(" \\end{tabularx}\n"); footer.append(String.format(" \\caption{Formulas from %s (part %d). " - + "Listing number of states and number of Rabin pairs (if larger than 1). (%s)}\n", - formulaSetName, tableCounter, appendix ? "" : comment)); + + "Listing number of states and number of Rabin pairs (if larger than 1). (%s)}\n", + formulaSetName, tableCounter, appendix ? "" : comment)); footer.append(String.format(" \\label{exp:table:%s:%d}\n", - formulaSetName, tableCounter)); + formulaSetName, tableCounter)); footer.append("\\end{table}\n"); return footer; }