translate: add ltl-split option
* spot/twaalgos/translate.cc, spot/twaalgos/translate.hh: Build automata with generic acceptance by doing product of automata for smaller subformulas. * bin/spot-x.cc: Mention ltl-split. * NEWS: Mention the change, and show some results. * tests/core/genltl.test, tests/python/_product_susp.ipynb, tests/python/highlighting.ipynb: Adjust test cases. * doc/org/ltl2tgba.org: Update. * tests/core/gragsa.test: Add another formula to cover more code.
This commit is contained in:
parent
4f2e9512a2
commit
4815a361de
9 changed files with 736 additions and 499 deletions
36
NEWS
36
NEWS
|
|
@ -87,6 +87,35 @@ New in spot 2.5.3.dev (not yet released)
|
||||||
a "suspendable" automaton B. They are also optimized for
|
a "suspendable" automaton B. They are also optimized for
|
||||||
the case that A is weak.
|
the case that A is weak.
|
||||||
|
|
||||||
|
- When 'generic' acceptance is enabled, the translation routine will
|
||||||
|
split the input formula on Boolean operators into components that
|
||||||
|
are syntactically 'obligation', 'suspendable', or 'something
|
||||||
|
else'. Those will be translated separately and combined with
|
||||||
|
product()/product_susp(). This is inspired by the ways things are
|
||||||
|
done in ltl2dstar or delag, and can be disabled by passing option
|
||||||
|
-xltl-split=0, as in ltl2tgba -G -D -xltl-split=0. Here are the
|
||||||
|
sizes of deterministic automata produced with generic acceptance
|
||||||
|
using two versions of ltl2tgba and delag for reference.
|
||||||
|
|
||||||
|
ltl2tgba -GD rabinizer 4
|
||||||
|
2.5 2.6 delag
|
||||||
|
------------- -------------
|
||||||
|
FGa0&GFb0 5 1 1
|
||||||
|
(FGa1&GFb1)|FGa0|GFb0 8 1 1
|
||||||
|
(FGa2&GFb2)|((FGa1|GFb1)&FGa0&GFb0) 497 1 1
|
||||||
|
FGa0|GFb0 2 1 1
|
||||||
|
(FGa1|GFb1)&FGa0&GFb0 16 1 1
|
||||||
|
(FGa2|GFb2)&((FGa1&GFb1)|FGa0|GFb0) 29 1 1
|
||||||
|
GFa1 <-> GFz 4 1 1
|
||||||
|
(GFa1 & GFa2) <-> GFz 8 1 1
|
||||||
|
(GFa1 & GFa2 & GFa3) <-> GFz 21 1 1
|
||||||
|
GFa1 -> GFz 5 1 1
|
||||||
|
(GFa1 & GFa2) -> GFz 12 1 1
|
||||||
|
(GFa1 & GFa2 & GFa3) -> GFz 41 1 1
|
||||||
|
FG(a|b)|FG(!a|Xb) 4 2 2
|
||||||
|
FG(a|b)|FG(!a|Xb)|FG(a|XXb) 21 5 4
|
||||||
|
FG(a|b)|FG(!a|Xb)|FG(a|XXb)|FG(!a|XXXb) 170 15 8
|
||||||
|
|
||||||
- print_dot(), used to print automata in GraphViz's format,
|
- print_dot(), used to print automata in GraphViz's format,
|
||||||
underwent several changes:
|
underwent several changes:
|
||||||
|
|
||||||
|
|
@ -219,6 +248,13 @@ New in spot 2.5.3.dev (not yet released)
|
||||||
Make sure to quote %L to protect the potential commas:
|
Make sure to quote %L to protect the potential commas:
|
||||||
genltl --format='%F,"%L",%f' ...
|
genltl --format='%F,"%L",%f' ...
|
||||||
|
|
||||||
|
- In Spot 2.5 and prior running "ltl2tgba --generic --det" on some
|
||||||
|
formula would attempt to translate it as deterministic TGBA or
|
||||||
|
determinize it into an automaton with parity acceptance. Version
|
||||||
|
2.5 introduced --parity to force parity acceptance on the output.
|
||||||
|
This version finally gives --generic some more natural semantics:
|
||||||
|
any acceptance condition can be used.
|
||||||
|
|
||||||
|
|
||||||
New in spot 2.5.3 (2018-04-20)
|
New in spot 2.5.3 (2018-04-20)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,9 @@ static const argp_option options[] =
|
||||||
more rules based on automata-based implication checks. The default value \
|
more rules based on automata-based implication checks. The default value \
|
||||||
depends on the --low/--medium/--high settings.") },
|
depends on the --low/--medium/--high settings.") },
|
||||||
{ nullptr, 0, nullptr, 0, "Translation options:", 0 },
|
{ nullptr, 0, nullptr, 0, "Translation options:", 0 },
|
||||||
|
{ DOC("ltl-split", "Set to 0 to disable the translation of automata \
|
||||||
|
as product or sum of subformulas. This is currently used only when \
|
||||||
|
building automata with generic acceptance conditions.") },
|
||||||
{ DOC("comp-susp", "Set to 1 to enable compositional suspension, \
|
{ DOC("comp-susp", "Set to 1 to enable compositional suspension, \
|
||||||
as described in our SPIN'13 paper (see Bibliography below). Set to 2, \
|
as described in our SPIN'13 paper (see Bibliography below). Set to 2, \
|
||||||
to build only the skeleton TGBA without composing it. Set to 0 (the \
|
to build only the skeleton TGBA without composing it. Set to 0 (the \
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,8 @@ a quick summary:
|
||||||
- =--ba= (or =-B=) outputs state-based Büchi automata
|
- =--ba= (or =-B=) outputs state-based Büchi automata
|
||||||
- =--monitor= (or =-M=) outputs monitors
|
- =--monitor= (or =-M=) outputs monitors
|
||||||
- =--generic --deterministic= (or =-DG=) will do whatever it takes to
|
- =--generic --deterministic= (or =-DG=) will do whatever it takes to
|
||||||
produce a deterministic automaton, and may output generalized Büchi,
|
produce a deterministic automaton, and may use any acceptance
|
||||||
or parity acceptance.
|
condition
|
||||||
- =--parity --deterministic= (or =-DP=) will produce a deterministic
|
- =--parity --deterministic= (or =-DP=) will produce a deterministic
|
||||||
automaton with parity acceptance.
|
automaton with parity acceptance.
|
||||||
|
|
||||||
|
|
@ -466,8 +466,7 @@ In particular, for properties more complex than obligations, it is
|
||||||
possible that no deterministic TGBA exist, and even if it exists,
|
possible that no deterministic TGBA exist, and even if it exists,
|
||||||
=ltl2tgba= might not find it: so a non-deterministic automaton can be
|
=ltl2tgba= might not find it: so a non-deterministic automaton can be
|
||||||
returned in this case. If you absolutely want a deterministic
|
returned in this case. If you absolutely want a deterministic
|
||||||
automaton, [[#generic][read on about the =--generic= option below]].
|
automaton, see [[#generic][the =--generic= option]] or [[#parity][the =--parity= option]].
|
||||||
|
|
||||||
|
|
||||||
An example formula where the difference between =-D= and =--small= is
|
An example formula where the difference between =-D= and =--small= is
|
||||||
flagrant is =Ga|Gb|Gc=:
|
flagrant is =Ga|Gb|Gc=:
|
||||||
|
|
@ -724,9 +723,15 @@ expectations.
|
||||||
:END:
|
:END:
|
||||||
|
|
||||||
The =--generic= (or =-G=) option allows =ltl2tgba= to use more
|
The =--generic= (or =-G=) option allows =ltl2tgba= to use more
|
||||||
complex acceptance. Combined with =--deterministic= (or =-D=) this
|
complex acceptance conditions. This is done by splitting the LTL
|
||||||
allows the use of a determinization algorithm that produces
|
formulas on Boolean connectives to recognize some subformulas that
|
||||||
automata with parity acceptance.
|
are either to translate with different types of acceptance
|
||||||
|
conditions, and then combining everything back together.
|
||||||
|
|
||||||
|
Combined with =--deterministic= (or =-D=) this allows the use of a
|
||||||
|
determinization algorithm that produces automata with parity
|
||||||
|
acceptance. This is only used for subformulas for which we do not
|
||||||
|
know a better way to get a deterministic automaton.
|
||||||
|
|
||||||
For instance =FGa= is the typical formula for which not
|
For instance =FGa= is the typical formula for which not
|
||||||
deterministic TGBA exists.
|
deterministic TGBA exists.
|
||||||
|
|
@ -743,7 +748,7 @@ ltl2tgba "FGa" -D -d
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:ltl2tgba-fga.svg]]
|
[[file:ltl2tgba-fga.svg]]
|
||||||
|
|
||||||
But with =--generic=, =ltl2tgba= will output the following Rabin automaton:
|
But with =--generic=, =ltl2tgba= will output the following co-Büchi automaton:
|
||||||
|
|
||||||
#+NAME: ltl2tgba-fga-D
|
#+NAME: ltl2tgba-fga-D
|
||||||
#+BEGIN_SRC sh :results verbatim :exports code
|
#+BEGIN_SRC sh :results verbatim :exports code
|
||||||
|
|
@ -757,9 +762,54 @@ ltl2tgba "FGa" -G -D -d
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:ltl2tgba-fga-D.svg]]
|
[[file:ltl2tgba-fga-D.svg]]
|
||||||
|
|
||||||
Note that determinization algorithm implemented actually outputs
|
|
||||||
parity acceptance, but =Fin(0)&Inf(1)= can be interpreted either as
|
If we translate =Fb|Gc= as a deterministic automaton with any
|
||||||
=Rabin 1= or =parity min odd 2=.
|
acceptance condition, we get a weak and deterministic Büchi automaton:
|
||||||
|
|
||||||
|
#+NAME: ltl2tgba-fbgc-D
|
||||||
|
#+BEGIN_SRC sh :results verbatim :exports code
|
||||||
|
ltl2tgba "Fb|Gc" -G -D -d
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
#+BEGIN_SRC dot :file ltl2tgba-fbgc-D.svg :var txt=ltl2tgba-fbgc-D :exports results
|
||||||
|
$txt
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:ltl2tgba-fbgc-D.svg]]
|
||||||
|
|
||||||
|
|
||||||
|
Finally if we translate the conjunction of these two subformulas, a
|
||||||
|
product of these two automata will be made, producing:
|
||||||
|
|
||||||
|
#+NAME: ltl2tgba-fbgcfga-D
|
||||||
|
#+BEGIN_SRC sh :results verbatim :exports code
|
||||||
|
ltl2tgba "(Fb|Gc)&FGa" -G -D -d
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
#+BEGIN_SRC dot :file ltl2tgba-fbgcfga-D.svg :var txt=ltl2tgba-fbgcfga-D :exports results
|
||||||
|
$txt
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:ltl2tgba-fbgcfga-D.svg]]
|
||||||
|
|
||||||
|
Disabling the splitting of the original formula LTL formulas can be
|
||||||
|
done using option =-x ltl-split=0=. In that case the formula
|
||||||
|
=(Fb|Gc)&FGa= will be translated into a single TGBA, and because this
|
||||||
|
TGBA is non-deterministic, it will then be determinized into an
|
||||||
|
automaton with parity acceptance:
|
||||||
|
|
||||||
|
#+NAME: ltl2tgba-fbgcfga-nosplit-D
|
||||||
|
#+BEGIN_SRC sh :results verbatim :exports code
|
||||||
|
ltl2tgba "(Fb|Gc)&FGa" -G -D -xltl-split=0 -d
|
||||||
|
#+END_SRC
|
||||||
|
#+BEGIN_SRC dot :file ltl2tgba-fbgcfga-nosplit-D.svg :var txt=ltl2tgba-fbgcfga-nosplit-D :exports results
|
||||||
|
$txt
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:ltl2tgba-fbgcfga-nosplit-D.svg]]
|
||||||
|
|
||||||
|
|
||||||
The [[./man/spot-x.7.html][=spot-x=]](7) man page lists a few =-x= options (=det-scc=,
|
The [[./man/spot-x.7.html][=spot-x=]](7) man page lists a few =-x= options (=det-scc=,
|
||||||
|
|
@ -785,7 +835,7 @@ would be larger if SCC-based optimizations were disabled:
|
||||||
|
|
||||||
#+NAME: ltl2tgba-det2
|
#+NAME: ltl2tgba-det2
|
||||||
#+BEGIN_SRC sh :results verbatim :exports code
|
#+BEGIN_SRC sh :results verbatim :exports code
|
||||||
ltl2tgba "F(a W FGb)" -x '!det-scc' -G -D -d
|
ltl2tgba "F(a W FGb)" -xdet-scc=0 -G -D -d
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC dot :file ltl2tgba-det2.svg :var txt=ltl2tgba-det2 :exports results
|
#+BEGIN_SRC dot :file ltl2tgba-det2.svg :var txt=ltl2tgba-det2 :exports results
|
||||||
|
|
@ -795,11 +845,10 @@ ltl2tgba "F(a W FGb)" -x '!det-scc' -G -D -d
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:ltl2tgba-det2.svg]]
|
[[file:ltl2tgba-det2.svg]]
|
||||||
|
|
||||||
While the =--generic= option currently only builds automata with
|
|
||||||
generalized-Büchi or parity acceptance, this is very likely to change
|
|
||||||
in the future.
|
|
||||||
|
|
||||||
* Deterministic automata with =--parity --deterministic=
|
* Deterministic automata with =--parity --deterministic=
|
||||||
|
:PROPERTIES:
|
||||||
|
:CUSTOM_ID: parity
|
||||||
|
:END:
|
||||||
|
|
||||||
Using the =--parity= (or upper-case =-P=) option will force the
|
Using the =--parity= (or upper-case =-P=) option will force the
|
||||||
acceptance condition to be of a parity type. This has to be
|
acceptance condition to be of a parity type. This has to be
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@
|
||||||
#include <spot/twaalgos/relabel.hh>
|
#include <spot/twaalgos/relabel.hh>
|
||||||
#include <spot/twaalgos/gfguarantee.hh>
|
#include <spot/twaalgos/gfguarantee.hh>
|
||||||
#include <spot/twaalgos/isdet.hh>
|
#include <spot/twaalgos/isdet.hh>
|
||||||
|
#include <spot/twaalgos/product.hh>
|
||||||
|
|
||||||
namespace spot
|
namespace spot
|
||||||
{
|
{
|
||||||
|
|
@ -35,7 +36,9 @@ namespace spot
|
||||||
comp_susp_ = early_susp_ = skel_wdba_ = skel_simul_ = 0;
|
comp_susp_ = early_susp_ = skel_wdba_ = skel_simul_ = 0;
|
||||||
relabel_bool_ = tls_impl_ = -1;
|
relabel_bool_ = tls_impl_ = -1;
|
||||||
gf_guarantee_ = level_ != Low;
|
gf_guarantee_ = level_ != Low;
|
||||||
|
ltl_split_ = true;
|
||||||
|
|
||||||
|
opt_ = opt;
|
||||||
if (!opt)
|
if (!opt)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
@ -49,6 +52,7 @@ namespace spot
|
||||||
}
|
}
|
||||||
tls_impl_ = opt->get("tls-impl", -1);
|
tls_impl_ = opt->get("tls-impl", -1);
|
||||||
gf_guarantee_ = opt->get("gf-guarantee", gf_guarantee_);
|
gf_guarantee_ = opt->get("gf-guarantee", gf_guarantee_);
|
||||||
|
ltl_split_ = opt->get("ltl-split", 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void translator::build_simplifier(const bdd_dict_ptr& dict)
|
void translator::build_simplifier(const bdd_dict_ptr& dict)
|
||||||
|
|
@ -95,6 +99,8 @@ namespace spot
|
||||||
throw std::runtime_error
|
throw std::runtime_error
|
||||||
("tls-impl should take a value between 0 and 3");
|
("tls-impl should take a value between 0 and 3");
|
||||||
}
|
}
|
||||||
|
if (comp_susp_ > 0 || (ltl_split_ && type_ == Generic))
|
||||||
|
options.favor_event_univ = true;
|
||||||
simpl_owned_ = simpl_ = new tl_simplifier(options, dict);
|
simpl_owned_ = simpl_ = new tl_simplifier(options, dict);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -160,37 +166,160 @@ namespace spot
|
||||||
|
|
||||||
twa_graph_ptr aut;
|
twa_graph_ptr aut;
|
||||||
twa_graph_ptr aut2 = nullptr;
|
twa_graph_ptr aut2 = nullptr;
|
||||||
if (comp_susp_ > 0)
|
|
||||||
{
|
|
||||||
// FIXME: Handle unambiguous_ automata?
|
|
||||||
int skel_wdba = skel_wdba_;
|
|
||||||
if (skel_wdba < 0)
|
|
||||||
skel_wdba = (pref_ & postprocessor::Deterministic) ? 1 : 2;
|
|
||||||
|
|
||||||
aut = compsusp(r, simpl_->get_dict(), skel_wdba == 0,
|
if (ltl_split_ && type_ == Generic && !r.is_syntactic_obligation())
|
||||||
skel_simul_ == 0, early_susp_ != 0,
|
{
|
||||||
comp_susp_ == 2, skel_wdba == 2, false);
|
formula r2 = r;
|
||||||
|
unsigned leading_x = 0;
|
||||||
|
while (r2.is(op::X))
|
||||||
|
{
|
||||||
|
r2 = r2[0];
|
||||||
|
++leading_x;
|
||||||
|
}
|
||||||
|
// F(q|u|f) = q|F(u)|F(f)
|
||||||
|
// G(q&e&f) = q&G(e)&G(f)
|
||||||
|
bool want_u = r2.is({op::F, op::Or});
|
||||||
|
if (want_u || r2.is({op::G, op::And}))
|
||||||
|
{
|
||||||
|
std::vector<formula> susp;
|
||||||
|
std::vector<formula> rest;
|
||||||
|
auto op1 = r2.kind();
|
||||||
|
auto op2 = r2[0].kind();
|
||||||
|
for (formula child: r2[0])
|
||||||
|
{
|
||||||
|
bool u = child.is_universal();
|
||||||
|
bool e = child.is_eventual();
|
||||||
|
if (u && e)
|
||||||
|
susp.push_back(child);
|
||||||
|
else if ((want_u && u) || (!want_u && e))
|
||||||
|
susp.push_back(formula::unop(op1, child));
|
||||||
|
else
|
||||||
|
rest.push_back(child);
|
||||||
|
}
|
||||||
|
susp.push_back(formula::unop(op1, formula::multop(op2, rest)));
|
||||||
|
r2 = formula::multop(op2, susp);
|
||||||
|
}
|
||||||
|
if (r2.is_syntactic_obligation() || !r2.is(op::And, op::Or))
|
||||||
|
goto nosplit;
|
||||||
|
|
||||||
|
bool is_and = r2.is(op::And);
|
||||||
|
// Let's classify subformulas.
|
||||||
|
std::vector<formula> oblg;
|
||||||
|
std::vector<formula> susp;
|
||||||
|
std::vector<formula> rest;
|
||||||
|
for (formula child: r2)
|
||||||
|
{
|
||||||
|
if (child.is_syntactic_obligation())
|
||||||
|
oblg.push_back(child);
|
||||||
|
else if (child.is_eventual() && child.is_universal())
|
||||||
|
susp.push_back(child);
|
||||||
|
else
|
||||||
|
rest.push_back(child);
|
||||||
|
}
|
||||||
|
option_map om;
|
||||||
|
if (opt_)
|
||||||
|
om = *opt_;
|
||||||
|
om.set("ltl-split", 0);
|
||||||
|
translator translate_without_split(simpl_, &om);
|
||||||
|
translate_without_split.set_pref(pref_);
|
||||||
|
translate_without_split.set_level(level_);
|
||||||
|
translate_without_split.set_type(type_);
|
||||||
|
auto transrun = [&](formula f)
|
||||||
|
{
|
||||||
|
if (f == r2)
|
||||||
|
return translate_without_split.run(f);
|
||||||
|
else
|
||||||
|
return run(f);
|
||||||
|
};
|
||||||
|
|
||||||
|
aut = nullptr;
|
||||||
|
// All obligations can be converted into a minimal WDBA.
|
||||||
|
if (!oblg.empty())
|
||||||
|
{
|
||||||
|
formula oblg_f = formula::multop(r2.kind(), oblg);
|
||||||
|
aut = transrun(oblg_f);
|
||||||
|
}
|
||||||
|
if (!rest.empty())
|
||||||
|
{
|
||||||
|
formula rest_f = formula::multop(r2.kind(), rest);
|
||||||
|
twa_graph_ptr rest_aut = transrun(rest_f);
|
||||||
|
if (aut == nullptr)
|
||||||
|
aut = rest_aut;
|
||||||
|
else if (is_and)
|
||||||
|
aut = product(aut, rest_aut);
|
||||||
|
else
|
||||||
|
aut = product_or(aut, rest_aut);
|
||||||
|
}
|
||||||
|
if (!susp.empty())
|
||||||
|
{
|
||||||
|
twa_graph_ptr susp_aut = nullptr;
|
||||||
|
// Each suspendable formula separately
|
||||||
|
for (formula f: susp)
|
||||||
|
{
|
||||||
|
twa_graph_ptr one = transrun(f);
|
||||||
|
if (!susp_aut)
|
||||||
|
susp_aut = one;
|
||||||
|
else if (is_and)
|
||||||
|
susp_aut = product(susp_aut, one);
|
||||||
|
else
|
||||||
|
susp_aut = product_or(susp_aut, one);
|
||||||
|
}
|
||||||
|
if (aut == nullptr)
|
||||||
|
aut = susp_aut;
|
||||||
|
else if (is_and)
|
||||||
|
aut = product_susp(aut, susp_aut);
|
||||||
|
else
|
||||||
|
aut = product_or_susp(aut, susp_aut);
|
||||||
|
}
|
||||||
|
if (leading_x > 0)
|
||||||
|
{
|
||||||
|
unsigned init = aut->get_init_state_number();
|
||||||
|
do
|
||||||
|
{
|
||||||
|
unsigned tmp = aut->new_state();
|
||||||
|
aut->new_edge(tmp, init, bddtrue);
|
||||||
|
init = tmp;
|
||||||
|
}
|
||||||
|
while (--leading_x);
|
||||||
|
aut->set_init_state(init);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (gf_guarantee_ && PREF_ != Any)
|
nosplit:
|
||||||
|
if (comp_susp_ > 0)
|
||||||
{
|
{
|
||||||
bool det = unambiguous || (PREF_ == Deterministic);
|
// FIXME: Handle unambiguous_ automata?
|
||||||
bool sba = type_ == BA || (pref_ & SBAcc);
|
int skel_wdba = skel_wdba_;
|
||||||
if ((type_ & (BA | Parity | Generic)) || type_ == TGBA)
|
if (skel_wdba < 0)
|
||||||
aut2 = gf_guarantee_to_ba_maybe(r, simpl_->get_dict(), det, sba);
|
skel_wdba = (pref_ & postprocessor::Deterministic) ? 1 : 2;
|
||||||
if (aut2 && (type_ & (BA | Parity)) && (pref_ & Deterministic))
|
|
||||||
return finalize(aut2);
|
aut = compsusp(r, simpl_->get_dict(), skel_wdba == 0,
|
||||||
if (!aut2 && (type_ & (Generic | Parity | CoBuchi)))
|
skel_simul_ == 0, early_susp_ != 0,
|
||||||
|
comp_susp_ == 2, skel_wdba == 2, false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (gf_guarantee_ && PREF_ != Any)
|
||||||
{
|
{
|
||||||
aut2 = fg_safety_to_dca_maybe(r, simpl_->get_dict(), sba);
|
bool det = unambiguous || (PREF_ == Deterministic);
|
||||||
if (aut2
|
bool sba = type_ == BA || (pref_ & SBAcc);
|
||||||
&& (type_ & (CoBuchi | Parity))
|
if ((type_ & (BA | Parity | Generic)) || type_ == TGBA)
|
||||||
|
aut2 = gf_guarantee_to_ba_maybe(r, simpl_->get_dict(),
|
||||||
|
det, sba);
|
||||||
|
if (aut2 && ((type_ == BA) || (type_ & Parity))
|
||||||
&& (pref_ & Deterministic))
|
&& (pref_ & Deterministic))
|
||||||
return finalize(aut2);
|
return finalize(aut2);
|
||||||
|
if (!aut2 && (type_ & (Generic | Parity | CoBuchi)))
|
||||||
|
{
|
||||||
|
aut2 = fg_safety_to_dca_maybe(r, simpl_->get_dict(), sba);
|
||||||
|
if (aut2
|
||||||
|
&& (type_ & (CoBuchi | Parity))
|
||||||
|
&& (pref_ & Deterministic))
|
||||||
|
return finalize(aut2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool exprop = unambiguous || level_ == postprocessor::High;
|
bool exprop = unambiguous || level_ == postprocessor::High;
|
||||||
aut = ltl_to_tgba_fm(r, simpl_->get_dict(), exprop,
|
aut = ltl_to_tgba_fm(r, simpl_->get_dict(), exprop,
|
||||||
true, false, false, nullptr, nullptr,
|
true, false, false, nullptr, nullptr,
|
||||||
|
|
|
||||||
|
|
@ -149,6 +149,8 @@ namespace spot
|
||||||
int relabel_bool_;
|
int relabel_bool_;
|
||||||
int tls_impl_;
|
int tls_impl_;
|
||||||
bool gf_guarantee_;
|
bool gf_guarantee_;
|
||||||
|
bool ltl_split_;
|
||||||
|
const option_map* opt_;
|
||||||
};
|
};
|
||||||
/// @}
|
/// @}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -183,29 +183,29 @@ cat >exp<<EOF
|
||||||
"ms-example=4,2",10
|
"ms-example=4,2",10
|
||||||
"ms-example=4,3",11
|
"ms-example=4,3",11
|
||||||
"ms-example=4,4",12
|
"ms-example=4,4",12
|
||||||
"ms-phi-r=0",2
|
"ms-phi-r=0",1
|
||||||
"ms-phi-r=1",16
|
"ms-phi-r=1",1
|
||||||
"ms-phi-r=2",29
|
"ms-phi-r=2",1
|
||||||
"ms-phi-s=0",5
|
"ms-phi-s=0",1
|
||||||
"ms-phi-s=1",8
|
"ms-phi-s=1",1
|
||||||
"ms-phi-s=2",497
|
"ms-phi-s=2",1
|
||||||
"ms-phi-h=0",1
|
"ms-phi-h=0",1
|
||||||
"ms-phi-h=1",3
|
"ms-phi-h=1",2
|
||||||
"ms-phi-h=2",7
|
"ms-phi-h=2",5
|
||||||
"ms-phi-h=3",15
|
"ms-phi-h=3",19
|
||||||
"ms-phi-h=4",31
|
"ms-phi-h=4",83
|
||||||
"gf-equiv=0",1
|
"gf-equiv=0",1
|
||||||
"gf-equiv=1",4
|
"gf-equiv=1",1
|
||||||
"gf-equiv=2",8
|
"gf-equiv=2",1
|
||||||
"gf-equiv=3",21
|
"gf-equiv=3",1
|
||||||
"gf-equiv=4",81
|
"gf-equiv=4",1
|
||||||
"gf-equiv=5",431
|
"gf-equiv=5",1
|
||||||
"gf-implies=0",1
|
"gf-implies=0",1
|
||||||
"gf-implies=1",5
|
"gf-implies=1",1
|
||||||
"gf-implies=2",12
|
"gf-implies=2",1
|
||||||
"gf-implies=3",41
|
"gf-implies=3",1
|
||||||
"gf-implies=4",186
|
"gf-implies=4",1
|
||||||
"gf-implies=5",1047
|
"gf-implies=5",1
|
||||||
"gf-equiv-xn=1",2
|
"gf-equiv-xn=1",2
|
||||||
"gf-equiv-xn=2",4
|
"gf-equiv-xn=2",4
|
||||||
"gf-equiv-xn=3",8
|
"gf-equiv-xn=3",8
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# Copyright (C) 2016 Laboratoire de Recherche
|
# Copyright (C) 2016, 2018 Laboratoire de Recherche
|
||||||
# et Développement de l'Epita (LRDE).
|
# et Développement de l'Epita (LRDE).
|
||||||
#
|
#
|
||||||
# This file is part of Spot, a model checking library.
|
# This file is part of Spot, a model checking library.
|
||||||
|
|
@ -21,8 +21,10 @@
|
||||||
. ./defs
|
. ./defs
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
# formula 'XX((Fa|Gb)&FGc)' tests the X removal of the ltl-split path
|
||||||
|
|
||||||
randltl -n 100 p1 p2 p3 --tree-size 5..15 --seed=200 |
|
randltl -n 100 p1 p2 p3 --tree-size 5..15 --seed=200 |
|
||||||
ltlcross --timeout=60 \
|
ltlcross -F- -f 'XX((Fa|Gb)&FGc)' --timeout=60 \
|
||||||
"ltl2tgba %f > %T" \
|
"ltl2tgba %f > %T" \
|
||||||
"ltl2tgba -G -D %f > %T" \
|
"ltl2tgba -G -D %f > %T" \
|
||||||
"ltl2tgba -G -D %f | autfilt --gsa=unique-fin > %T" \
|
"ltl2tgba -G -D %f | autfilt --gsa=unique-fin > %T" \
|
||||||
|
|
|
||||||
|
|
@ -2216,84 +2216,62 @@
|
||||||
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
||||||
" -->\n",
|
" -->\n",
|
||||||
"<!-- Pages: 1 -->\n",
|
"<!-- Pages: 1 -->\n",
|
||||||
"<svg width=\"244pt\" height=\"212pt\"\n",
|
"<svg width=\"165pt\" height=\"161pt\"\n",
|
||||||
" viewBox=\"0.00 0.00 244.00 212.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
" viewBox=\"0.00 0.00 165.00 161.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||||||
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 208)\">\n",
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 157)\">\n",
|
||||||
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-208 240,-208 240,4 -4,4\"/>\n",
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-157 161,-157 161,4 -4,4\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"66\" y=\"-189.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Fin(</text>\n",
|
"<text text-anchor=\"start\" x=\"57.5\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Inf(</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"91\" y=\"-189.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
"<text text-anchor=\"start\" x=\"79.5\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"107\" y=\"-189.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">) & Inf(</text>\n",
|
"<text text-anchor=\"start\" x=\"95.5\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"150\" y=\"-189.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
"<text text-anchor=\"start\" x=\"55.5\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"166\" y=\"-189.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
||||||
"<text text-anchor=\"start\" x=\"89\" y=\"-175.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Rabin 1]</text>\n",
|
|
||||||
"<!-- I -->\n",
|
"<!-- I -->\n",
|
||||||
"<!-- 0 -->\n",
|
"<!-- 0 -->\n",
|
||||||
"<g id=\"node2\" class=\"node\">\n",
|
"<g id=\"node2\" class=\"node\">\n",
|
||||||
"<title>0</title>\n",
|
"<title>0</title>\n",
|
||||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"56\" cy=\"-69\" rx=\"18\" ry=\"18\"/>\n",
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"56\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
||||||
"<text text-anchor=\"middle\" x=\"56\" y=\"-65.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- I->0 -->\n",
|
"<!-- I->0 -->\n",
|
||||||
"<g id=\"edge1\" class=\"edge\">\n",
|
"<g id=\"edge1\" class=\"edge\">\n",
|
||||||
"<title>I->0</title>\n",
|
"<title>I->0</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-69C4.178,-69 17.9448,-69 30.9241,-69\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-18C4.178,-18 17.9448,-18 30.9241,-18\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-69 30.9808,-72.1501 34.4807,-69 30.9807,-69.0001 30.9807,-69.0001 30.9807,-69.0001 34.4807,-69 30.9807,-65.8501 37.9807,-69 37.9807,-69\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-18 30.9808,-21.1501 34.4807,-18 30.9807,-18.0001 30.9807,-18.0001 30.9807,-18.0001 34.4807,-18 30.9807,-14.8501 37.9807,-18 37.9807,-18\"/>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 0->0 -->\n",
|
||||||
|
"<g id=\"edge2\" class=\"edge\">\n",
|
||||||
|
"<title>0->0</title>\n",
|
||||||
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-35.0373C48.3189,-44.8579 50.4453,-54 56,-54 60.166,-54 62.4036,-48.8576 62.7128,-42.1433\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"62.3792,-35.0373 65.8541,-41.8818 62.5434,-38.5335 62.7076,-42.0296 62.7076,-42.0296 62.7076,-42.0296 62.5434,-38.5335 59.561,-42.1774 62.3792,-35.0373 62.3792,-35.0373\"/>\n",
|
||||||
|
"<text text-anchor=\"start\" x=\"52.5\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
||||||
|
"<text text-anchor=\"start\" x=\"48\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 1 -->\n",
|
"<!-- 1 -->\n",
|
||||||
"<g id=\"node3\" class=\"node\">\n",
|
"<g id=\"node3\" class=\"node\">\n",
|
||||||
"<title>1</title>\n",
|
"<title>1</title>\n",
|
||||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"218\" cy=\"-69\" rx=\"18\" ry=\"18\"/>\n",
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"139\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
||||||
"<text text-anchor=\"middle\" x=\"218\" y=\"-65.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
"<text text-anchor=\"middle\" x=\"139\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 0->1 -->\n",
|
"<!-- 0->1 -->\n",
|
||||||
"<g id=\"edge2\" class=\"edge\">\n",
|
|
||||||
"<title>0->1</title>\n",
|
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M72.0705,-77.2478C84.0909,-82.934 101.1227,-89.9889 117,-93 132.7198,-95.9812 137.2496,-95.8149 153,-93 167.4876,-90.4108 182.9734,-84.8149 195.1944,-79.6776\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"201.6209,-76.8927 196.4506,-82.5663 198.4095,-78.2844 195.198,-79.6761 195.198,-79.6761 195.198,-79.6761 198.4095,-78.2844 193.9455,-76.7858 201.6209,-76.8927 201.6209,-76.8927\"/>\n",
|
|
||||||
"<text text-anchor=\"start\" x=\"129.5\" y=\"-98.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 2 -->\n",
|
|
||||||
"<g id=\"node4\" class=\"node\">\n",
|
|
||||||
"<title>2</title>\n",
|
|
||||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"135\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
||||||
"<text text-anchor=\"middle\" x=\"135\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 0->2 -->\n",
|
|
||||||
"<g id=\"edge3\" class=\"edge\">\n",
|
"<g id=\"edge3\" class=\"edge\">\n",
|
||||||
"<title>0->2</title>\n",
|
"<title>0->1</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M71.232,-59.1667C83.3632,-51.3352 100.4804,-40.2848 113.9263,-31.6045\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.0098,-18C85.5679,-18 100.7507,-18 113.5345,-18\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"119.8148,-27.8031 115.6423,-34.2462 116.8743,-29.7014 113.9338,-31.5998 113.9338,-31.5998 113.9338,-31.5998 116.8743,-29.7014 112.2253,-28.9533 119.8148,-27.8031 119.8148,-27.8031\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"120.7388,-18 113.7388,-21.1501 117.2388,-18 113.7388,-18.0001 113.7388,-18.0001 113.7388,-18.0001 117.2388,-18 113.7387,-14.8501 120.7388,-18 120.7388,-18\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"92\" y=\"-48.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
"<text text-anchor=\"start\" x=\"92\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 1->1 -->\n",
|
"<!-- 1->1 -->\n",
|
||||||
"<g id=\"edge4\" class=\"edge\">\n",
|
"<g id=\"edge4\" class=\"edge\">\n",
|
||||||
"<title>1->1</title>\n",
|
"<title>1->1</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M214.4047,-86.7817C213.7938,-96.3149 214.9922,-105 218,-105 220.2089,-105 221.4419,-100.3161 221.6991,-94.0521\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M135.4047,-35.7817C134.7938,-45.3149 135.9922,-54 139,-54 141.2089,-54 142.4419,-49.3161 142.6991,-43.0521\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"221.5953,-86.7817 224.845,-93.736 221.6453,-90.2814 221.6954,-93.781 221.6954,-93.781 221.6954,-93.781 221.6453,-90.2814 218.5457,-93.8261 221.5953,-86.7817 221.5953,-86.7817\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"142.5953,-35.7817 145.845,-42.736 142.6453,-39.2814 142.6954,-42.781 142.6954,-42.781 142.6954,-42.781 142.6453,-39.2814 139.5457,-42.8261 142.5953,-35.7817 142.5953,-35.7817\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"214.5\" y=\"-108.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
"<text text-anchor=\"start\" x=\"133.5\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
||||||
|
"<text text-anchor=\"start\" x=\"131\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 1->1 -->\n",
|
"<!-- 1->1 -->\n",
|
||||||
"<g id=\"edge5\" class=\"edge\">\n",
|
"<g id=\"edge5\" class=\"edge\">\n",
|
||||||
"<title>1->1</title>\n",
|
"<title>1->1</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M212.1479,-86.1418C208.7056,-103.585 210.6563,-123 218,-123 224.3684,-123 226.6812,-108.3996 224.9382,-93.146\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M133.494,-35.249C129.5865,-56.4346 131.4219,-84 139,-84 145.7493,-84 147.9433,-62.1347 145.582,-42.3851\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"223.8521,-86.1418 228.0376,-92.5763 224.3884,-89.6004 224.9248,-93.0591 224.9248,-93.0591 224.9248,-93.0591 224.3884,-89.6004 221.812,-93.5418 223.8521,-86.1418 223.8521,-86.1418\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"144.506,-35.249 148.6646,-41.7011 145.0279,-38.7099 145.5498,-42.1708 145.5498,-42.1708 145.5498,-42.1708 145.0279,-38.7099 142.435,-42.6405 144.506,-35.249 144.506,-35.249\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"212.5\" y=\"-141.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
"<text text-anchor=\"start\" x=\"135.5\" y=\"-87.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"210\" y=\"-126.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 2->1 -->\n",
|
|
||||||
"<g id=\"edge6\" class=\"edge\">\n",
|
|
||||||
"<title>2->1</title>\n",
|
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M150.6117,-27.5927C163.4799,-35.4997 181.8775,-46.8042 196.1993,-55.6044\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"202.4583,-59.4503 194.8451,-58.4694 199.4763,-57.6179 196.4942,-55.7856 196.4942,-55.7856 196.4942,-55.7856 199.4763,-57.6179 198.1434,-53.1017 202.4583,-59.4503 202.4583,-59.4503\"/>\n",
|
|
||||||
"<text text-anchor=\"start\" x=\"171\" y=\"-49.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 2->2 -->\n",
|
|
||||||
"<g id=\"edge7\" class=\"edge\">\n",
|
|
||||||
"<title>2->2</title>\n",
|
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M128.2664,-35.0373C126.8922,-44.8579 129.1367,-54 135,-54 139.3975,-54 141.7594,-48.8576 142.0858,-42.1433\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"141.7336,-35.0373 145.2263,-41.8728 141.9069,-38.533 142.0802,-42.0287 142.0802,-42.0287 142.0802,-42.0287 141.9069,-38.533 138.934,-42.1847 141.7336,-35.0373 141.7336,-35.0373\"/>\n",
|
|
||||||
"<text text-anchor=\"start\" x=\"131.5\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
||||||
"<text text-anchor=\"start\" x=\"127\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"</svg>\n",
|
"</svg>\n",
|
||||||
|
|
@ -2368,111 +2346,110 @@
|
||||||
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
||||||
" -->\n",
|
" -->\n",
|
||||||
"<!-- Pages: 1 -->\n",
|
"<!-- Pages: 1 -->\n",
|
||||||
"<svg width=\"362pt\" height=\"179pt\"\n",
|
"<svg width=\"378pt\" height=\"176pt\"\n",
|
||||||
" viewBox=\"0.00 0.00 362.00 179.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
" viewBox=\"0.00 0.00 378.00 176.46\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||||||
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 175)\">\n",
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 172.4617)\">\n",
|
||||||
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-175 358,-175 358,4 -4,4\"/>\n",
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-172.4617 374,-172.4617 374,4 -4,4\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"95\" y=\"-156.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Fin(</text>\n",
|
"<text text-anchor=\"start\" x=\"138\" y=\"-154.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Inf(</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"120\" y=\"-156.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
"<text text-anchor=\"start\" x=\"160\" y=\"-154.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"136\" y=\"-156.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">) & (Inf(</text>\n",
|
"<text text-anchor=\"start\" x=\"176\" y=\"-154.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)&Inf(</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"183\" y=\"-156.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
"<text text-anchor=\"start\" x=\"212\" y=\"-154.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"199\" y=\"-156.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)&Inf(</text>\n",
|
"<text text-anchor=\"start\" x=\"228\" y=\"-154.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"235\" y=\"-156.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
"<text text-anchor=\"start\" x=\"141\" y=\"-140.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[gen. Büchi 2]</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"251\" y=\"-156.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">))</text>\n",
|
|
||||||
"<text text-anchor=\"start\" x=\"131.5\" y=\"-142.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Streett-like 3]</text>\n",
|
|
||||||
"<!-- I -->\n",
|
"<!-- I -->\n",
|
||||||
"<!-- 0 -->\n",
|
"<!-- 0 -->\n",
|
||||||
"<g id=\"node2\" class=\"node\">\n",
|
"<g id=\"node2\" class=\"node\">\n",
|
||||||
"<title>0</title>\n",
|
"<title>0</title>\n",
|
||||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"56\" cy=\"-69\" rx=\"18\" ry=\"18\"/>\n",
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"56\" cy=\"-31.4617\" rx=\"18\" ry=\"18\"/>\n",
|
||||||
"<text text-anchor=\"middle\" x=\"56\" y=\"-65.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-27.7617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- I->0 -->\n",
|
"<!-- I->0 -->\n",
|
||||||
"<g id=\"edge1\" class=\"edge\">\n",
|
"<g id=\"edge1\" class=\"edge\">\n",
|
||||||
"<title>I->0</title>\n",
|
"<title>I->0</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-69C4.178,-69 17.9448,-69 30.9241,-69\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-31.4617C4.178,-31.4617 17.9448,-31.4617 30.9241,-31.4617\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-69 30.9808,-72.1501 34.4807,-69 30.9807,-69.0001 30.9807,-69.0001 30.9807,-69.0001 34.4807,-69 30.9807,-65.8501 37.9807,-69 37.9807,-69\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-31.4617 30.9808,-34.6118 34.4807,-31.4618 30.9807,-31.4618 30.9807,-31.4618 30.9807,-31.4618 34.4807,-31.4618 30.9807,-28.3118 37.9807,-31.4617 37.9807,-31.4617\"/>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 1 -->\n",
|
"<!-- 1 -->\n",
|
||||||
"<g id=\"node3\" class=\"node\">\n",
|
"<g id=\"node3\" class=\"node\">\n",
|
||||||
"<title>1</title>\n",
|
"<title>1</title>\n",
|
||||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"232\" cy=\"-69\" rx=\"18\" ry=\"18\"/>\n",
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"160\" cy=\"-66.4617\" rx=\"18\" ry=\"18\"/>\n",
|
||||||
"<text text-anchor=\"middle\" x=\"232\" y=\"-65.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
"<text text-anchor=\"middle\" x=\"160\" y=\"-62.7617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 0->1 -->\n",
|
"<!-- 0->1 -->\n",
|
||||||
"<g id=\"edge2\" class=\"edge\">\n",
|
"<g id=\"edge2\" class=\"edge\">\n",
|
||||||
"<title>0->1</title>\n",
|
"<title>0->1</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M73.1713,-75.3338C79.119,-77.4923 85.8387,-79.8915 92,-82 121.7965,-92.1967 130.8917,-97.907 162,-93 178.1018,-90.4601 195.4382,-84.5422 208.8299,-79.2188\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M73.1735,-37.2413C90.3354,-43.0169 116.864,-51.9448 136.0822,-58.4125\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"215.4459,-76.5102 210.1612,-82.0776 212.2068,-77.8363 208.9677,-79.1624 208.9677,-79.1624 208.9677,-79.1624 212.2068,-77.8363 207.7742,-76.2472 215.4459,-76.5102 215.4459,-76.5102\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"142.801,-60.6736 135.1619,-61.4263 139.4838,-59.5572 136.1666,-58.4408 136.1666,-58.4408 136.1666,-58.4408 139.4838,-59.5572 137.1714,-55.4553 142.801,-60.6736 142.801,-60.6736\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"138.5\" y=\"-97.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
"<text text-anchor=\"start\" x=\"104.5\" y=\"-71.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
||||||
|
"<text text-anchor=\"start\" x=\"92\" y=\"-57.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||||
|
"<text text-anchor=\"start\" x=\"108\" y=\"-57.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 2 -->\n",
|
"<!-- 2 -->\n",
|
||||||
"<g id=\"node4\" class=\"node\">\n",
|
"<g id=\"node4\" class=\"node\">\n",
|
||||||
"<title>2</title>\n",
|
"<title>2</title>\n",
|
||||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"144\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"248\" cy=\"-31.4617\" rx=\"18\" ry=\"18\"/>\n",
|
||||||
"<text text-anchor=\"middle\" x=\"144\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
|
"<text text-anchor=\"middle\" x=\"248\" y=\"-27.7617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 0->2 -->\n",
|
"<!-- 0->2 -->\n",
|
||||||
"<g id=\"edge3\" class=\"edge\">\n",
|
"<g id=\"edge3\" class=\"edge\">\n",
|
||||||
"<title>0->2</title>\n",
|
"<title>0->2</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M71.7326,-59.8822C85.7481,-51.7596 106.3994,-39.7912 122.0408,-30.7264\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.1845,-29.2012C98.0199,-26.5175 141.131,-22.6229 178,-24.4617 192.9238,-25.2061 209.5708,-26.8377 222.8855,-28.3386\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"128.4036,-27.0388 123.9266,-33.2742 125.3754,-28.7938 122.3471,-30.5489 122.3471,-30.5489 122.3471,-30.5489 125.3754,-28.7938 120.7676,-27.8235 128.4036,-27.0388 128.4036,-27.0388\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"229.9076,-29.1524 222.5914,-31.4755 226.4308,-28.7494 222.9541,-28.3464 222.9541,-28.3464 222.9541,-28.3464 226.4308,-28.7494 223.3168,-25.2174 229.9076,-29.1524 229.9076,-29.1524\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"96.5\" y=\"-66.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
"<text text-anchor=\"start\" x=\"154.5\" y=\"-28.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"92\" y=\"-51.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 1->1 -->\n",
|
"<!-- 1->1 -->\n",
|
||||||
"<g id=\"edge5\" class=\"edge\">\n",
|
"<g id=\"edge4\" class=\"edge\">\n",
|
||||||
"<title>1->1</title>\n",
|
"<title>1->1</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M224.3321,-85.2903C222.4831,-95.3892 225.0391,-105 232,-105 237.2207,-105 239.9636,-99.5939 240.2287,-92.6304\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M152.3321,-82.752C150.4831,-92.8509 153.0391,-102.4617 160,-102.4617 165.2207,-102.4617 167.9636,-97.0556 168.2287,-90.0921\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"239.6679,-85.2903 243.3421,-92.0299 239.9346,-88.7801 240.2013,-92.2699 240.2013,-92.2699 240.2013,-92.2699 239.9346,-88.7801 237.0604,-92.5099 239.6679,-85.2903 239.6679,-85.2903\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"167.6679,-82.752 171.3421,-89.4916 167.9346,-86.2418 168.2013,-89.7316 168.2013,-89.7316 168.2013,-89.7316 167.9346,-86.2418 165.0604,-89.9717 167.6679,-82.752 167.6679,-82.752\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"226.5\" y=\"-123.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
"<text text-anchor=\"start\" x=\"156.5\" y=\"-121.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"224\" y=\"-108.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
"<text text-anchor=\"start\" x=\"152\" y=\"-106.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 1->2 -->\n",
|
||||||
|
"<g id=\"edge5\" class=\"edge\">\n",
|
||||||
|
"<title>1->2</title>\n",
|
||||||
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M176.9673,-59.7134C190.4805,-54.3388 209.5478,-46.7552 224.5255,-40.7982\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"231.0848,-38.1894 225.7445,-43.7034 227.8326,-39.4829 224.5804,-40.7764 224.5804,-40.7764 224.5804,-40.7764 227.8326,-39.4829 223.4162,-37.8494 231.0848,-38.1894 231.0848,-38.1894\"/>\n",
|
||||||
|
"<text text-anchor=\"start\" x=\"198.5\" y=\"-70.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
||||||
|
"<text text-anchor=\"start\" x=\"196\" y=\"-55.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 2->2 -->\n",
|
||||||
|
"<g id=\"edge6\" class=\"edge\">\n",
|
||||||
|
"<title>2->2</title>\n",
|
||||||
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M240.3321,-47.752C238.4831,-57.8509 241.0391,-67.4617 248,-67.4617 253.2207,-67.4617 255.9636,-62.0556 256.2287,-55.0921\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"255.6679,-47.752 259.3421,-54.4916 255.9346,-51.2418 256.2013,-54.7316 256.2013,-54.7316 256.2013,-54.7316 255.9346,-51.2418 253.0604,-54.9717 255.6679,-47.752 255.6679,-47.752\"/>\n",
|
||||||
|
"<text text-anchor=\"start\" x=\"242.5\" y=\"-86.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
||||||
|
"<text text-anchor=\"start\" x=\"240\" y=\"-71.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 3 -->\n",
|
"<!-- 3 -->\n",
|
||||||
"<g id=\"node5\" class=\"node\">\n",
|
"<g id=\"node5\" class=\"node\">\n",
|
||||||
"<title>3</title>\n",
|
"<title>3</title>\n",
|
||||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"336\" cy=\"-69\" rx=\"18\" ry=\"18\"/>\n",
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"352\" cy=\"-31.4617\" rx=\"18\" ry=\"18\"/>\n",
|
||||||
"<text text-anchor=\"middle\" x=\"336\" y=\"-65.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">3</text>\n",
|
"<text text-anchor=\"middle\" x=\"352\" y=\"-27.7617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">3</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 1->3 -->\n",
|
"<!-- 2->3 -->\n",
|
||||||
"<g id=\"edge4\" class=\"edge\">\n",
|
|
||||||
"<title>1->3</title>\n",
|
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M249.9127,-71.3854C255.6764,-72.047 262.0979,-72.6731 268,-73 282.2005,-73.7865 285.7995,-73.7865 300,-73 303.5966,-72.8008 307.3861,-72.4905 311.102,-72.1287\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"318.0873,-71.3854 311.46,-75.2585 314.607,-71.7558 311.1266,-72.1262 311.1266,-72.1262 311.1266,-72.1262 314.607,-71.7558 310.7933,-68.9939 318.0873,-71.3854 318.0873,-71.3854\"/>\n",
|
|
||||||
"<text text-anchor=\"start\" x=\"280.5\" y=\"-91.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
||||||
"<text text-anchor=\"start\" x=\"276\" y=\"-76.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 2->1 -->\n",
|
|
||||||
"<g id=\"edge6\" class=\"edge\">\n",
|
|
||||||
"<title>2->1</title>\n",
|
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M159.7326,-27.1178C173.7481,-35.2404 194.3994,-47.2088 210.0408,-56.2736\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"216.4036,-59.9612 208.7676,-59.1765 213.3754,-58.2062 210.3471,-56.4511 210.3471,-56.4511 210.3471,-56.4511 213.3754,-58.2062 211.9266,-53.7258 216.4036,-59.9612 216.4036,-59.9612\"/>\n",
|
|
||||||
"<text text-anchor=\"start\" x=\"182.5\" y=\"-66.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
||||||
"<text text-anchor=\"start\" x=\"180\" y=\"-51.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 2->2 -->\n",
|
|
||||||
"<g id=\"edge7\" class=\"edge\">\n",
|
"<g id=\"edge7\" class=\"edge\">\n",
|
||||||
"<title>2->2</title>\n",
|
"<title>2->3</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M136.3321,-34.2903C134.4831,-44.3892 137.0391,-54 144,-54 149.2207,-54 151.9636,-48.5939 152.2287,-41.6304\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M265.9127,-33.8471C271.6764,-34.5087 278.0979,-35.1348 284,-35.4617 298.2005,-36.2482 301.7995,-36.2482 316,-35.4617 319.5966,-35.2625 323.3861,-34.9522 327.102,-34.5905\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"151.6679,-34.2903 155.3421,-41.0299 151.9346,-37.7801 152.2013,-41.2699 152.2013,-41.2699 152.2013,-41.2699 151.9346,-37.7801 149.0604,-41.5099 151.6679,-34.2903 151.6679,-34.2903\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"334.0873,-33.8471 327.46,-37.7203 330.607,-34.2175 327.1266,-34.5879 327.1266,-34.5879 327.1266,-34.5879 330.607,-34.2175 326.7933,-31.4556 334.0873,-33.8471 334.0873,-33.8471\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"140.5\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
"<text text-anchor=\"start\" x=\"296.5\" y=\"-54.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"136\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
"<text text-anchor=\"start\" x=\"292\" y=\"-39.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 3->1 -->\n",
|
"<!-- 3->2 -->\n",
|
||||||
"<g id=\"edge9\" class=\"edge\">\n",
|
"<g id=\"edge8\" class=\"edge\">\n",
|
||||||
"<title>3->1</title>\n",
|
"<title>3->2</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M323.2708,-55.7114C316.8937,-50.0093 308.6876,-43.9808 300,-41 286.5476,-36.3844 281.4524,-36.3844 268,-41 261.62,-43.189 255.4998,-47.0217 250.1728,-51.1617\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M339.2708,-18.1731C332.8937,-12.471 324.6876,-6.4425 316,-3.4617 302.5476,1.1539 297.4524,1.1539 284,-3.4617 277.62,-5.6507 271.4998,-9.4834 266.1728,-13.6234\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"244.7292,-55.7114 248.0802,-48.8053 247.4147,-53.4669 250.1003,-51.2223 250.1003,-51.2223 250.1003,-51.2223 247.4147,-53.4669 252.1203,-53.6393 244.7292,-55.7114 244.7292,-55.7114\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"260.7292,-18.1731 264.0802,-11.2671 263.4147,-15.9286 266.1003,-13.6841 266.1003,-13.6841 266.1003,-13.6841 263.4147,-15.9286 268.1203,-16.101 260.7292,-18.1731 260.7292,-18.1731\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"278.5\" y=\"-58.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
"<text text-anchor=\"start\" x=\"294.5\" y=\"-21.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"268\" y=\"-44.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
"<text text-anchor=\"start\" x=\"284\" y=\"-7.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"284\" y=\"-44.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
"<text text-anchor=\"start\" x=\"300\" y=\"-7.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 3->3 -->\n",
|
"<!-- 3->3 -->\n",
|
||||||
"<g id=\"edge8\" class=\"edge\">\n",
|
"<g id=\"edge9\" class=\"edge\">\n",
|
||||||
"<title>3->3</title>\n",
|
"<title>3->3</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M327.0212,-84.916C324.679,-95.1504 327.6719,-105 336,-105 342.3762,-105 345.625,-99.2263 345.7465,-91.9268\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M343.0212,-47.3778C340.679,-57.6121 343.6719,-67.4617 352,-67.4617 358.3762,-67.4617 361.625,-61.6881 361.7465,-54.3885\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"344.9788,-84.916 348.8721,-91.5315 345.3598,-88.3952 345.7408,-91.8744 345.7408,-91.8744 345.7408,-91.8744 345.3598,-88.3952 342.6095,-92.2174 344.9788,-84.916 344.9788,-84.916\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"360.9788,-47.3778 364.8721,-53.9932 361.3598,-50.857 361.7408,-54.3362 361.7408,-54.3362 361.7408,-54.3362 361.3598,-50.857 358.6095,-54.6791 360.9788,-47.3778 360.9788,-47.3778\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"332.5\" y=\"-108.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
"<text text-anchor=\"start\" x=\"348.5\" y=\"-71.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"</svg>\n",
|
"</svg>\n",
|
||||||
|
|
@ -2494,84 +2471,62 @@
|
||||||
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
||||||
" -->\n",
|
" -->\n",
|
||||||
"<!-- Pages: 1 -->\n",
|
"<!-- Pages: 1 -->\n",
|
||||||
"<svg width=\"244pt\" height=\"212pt\"\n",
|
"<svg width=\"165pt\" height=\"161pt\"\n",
|
||||||
" viewBox=\"0.00 0.00 244.00 212.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
" viewBox=\"0.00 0.00 165.00 161.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||||||
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 208)\">\n",
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 157)\">\n",
|
||||||
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-208 240,-208 240,4 -4,4\"/>\n",
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-157 161,-157 161,4 -4,4\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"66\" y=\"-189.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Fin(</text>\n",
|
"<text text-anchor=\"start\" x=\"57.5\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Inf(</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"91\" y=\"-189.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
"<text text-anchor=\"start\" x=\"79.5\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"107\" y=\"-189.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">) & Inf(</text>\n",
|
"<text text-anchor=\"start\" x=\"95.5\" y=\"-138.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"150\" y=\"-189.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
"<text text-anchor=\"start\" x=\"55.5\" y=\"-124.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Büchi]</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"166\" y=\"-189.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
||||||
"<text text-anchor=\"start\" x=\"89\" y=\"-175.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Rabin 1]</text>\n",
|
|
||||||
"<!-- I -->\n",
|
"<!-- I -->\n",
|
||||||
"<!-- 0 -->\n",
|
"<!-- 0 -->\n",
|
||||||
"<g id=\"node2\" class=\"node\">\n",
|
"<g id=\"node2\" class=\"node\">\n",
|
||||||
"<title>0</title>\n",
|
"<title>0</title>\n",
|
||||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"56\" cy=\"-69\" rx=\"18\" ry=\"18\"/>\n",
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"56\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
||||||
"<text text-anchor=\"middle\" x=\"56\" y=\"-65.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- I->0 -->\n",
|
"<!-- I->0 -->\n",
|
||||||
"<g id=\"edge1\" class=\"edge\">\n",
|
"<g id=\"edge1\" class=\"edge\">\n",
|
||||||
"<title>I->0</title>\n",
|
"<title>I->0</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-69C4.178,-69 17.9448,-69 30.9241,-69\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-18C4.178,-18 17.9448,-18 30.9241,-18\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-69 30.9808,-72.1501 34.4807,-69 30.9807,-69.0001 30.9807,-69.0001 30.9807,-69.0001 34.4807,-69 30.9807,-65.8501 37.9807,-69 37.9807,-69\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-18 30.9808,-21.1501 34.4807,-18 30.9807,-18.0001 30.9807,-18.0001 30.9807,-18.0001 34.4807,-18 30.9807,-14.8501 37.9807,-18 37.9807,-18\"/>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 0->0 -->\n",
|
||||||
|
"<g id=\"edge2\" class=\"edge\">\n",
|
||||||
|
"<title>0->0</title>\n",
|
||||||
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M49.6208,-35.0373C48.3189,-44.8579 50.4453,-54 56,-54 60.166,-54 62.4036,-48.8576 62.7128,-42.1433\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"62.3792,-35.0373 65.8541,-41.8818 62.5434,-38.5335 62.7076,-42.0296 62.7076,-42.0296 62.7076,-42.0296 62.5434,-38.5335 59.561,-42.1774 62.3792,-35.0373 62.3792,-35.0373\"/>\n",
|
||||||
|
"<text text-anchor=\"start\" x=\"52.5\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
||||||
|
"<text text-anchor=\"start\" x=\"48\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 1 -->\n",
|
"<!-- 1 -->\n",
|
||||||
"<g id=\"node3\" class=\"node\">\n",
|
"<g id=\"node3\" class=\"node\">\n",
|
||||||
"<title>1</title>\n",
|
"<title>1</title>\n",
|
||||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"218\" cy=\"-69\" rx=\"18\" ry=\"18\"/>\n",
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"139\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
||||||
"<text text-anchor=\"middle\" x=\"218\" y=\"-65.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
"<text text-anchor=\"middle\" x=\"139\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 0->1 -->\n",
|
"<!-- 0->1 -->\n",
|
||||||
"<g id=\"edge2\" class=\"edge\">\n",
|
|
||||||
"<title>0->1</title>\n",
|
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M72.0705,-77.2478C84.0909,-82.934 101.1227,-89.9889 117,-93 132.7198,-95.9812 137.2496,-95.8149 153,-93 167.4876,-90.4108 182.9734,-84.8149 195.1944,-79.6776\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"201.6209,-76.8927 196.4506,-82.5663 198.4095,-78.2844 195.198,-79.6761 195.198,-79.6761 195.198,-79.6761 198.4095,-78.2844 193.9455,-76.7858 201.6209,-76.8927 201.6209,-76.8927\"/>\n",
|
|
||||||
"<text text-anchor=\"start\" x=\"129.5\" y=\"-98.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 2 -->\n",
|
|
||||||
"<g id=\"node4\" class=\"node\">\n",
|
|
||||||
"<title>2</title>\n",
|
|
||||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"135\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
||||||
"<text text-anchor=\"middle\" x=\"135\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 0->2 -->\n",
|
|
||||||
"<g id=\"edge3\" class=\"edge\">\n",
|
"<g id=\"edge3\" class=\"edge\">\n",
|
||||||
"<title>0->2</title>\n",
|
"<title>0->1</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M71.232,-59.1667C83.3632,-51.3352 100.4804,-40.2848 113.9263,-31.6045\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.0098,-18C85.5679,-18 100.7507,-18 113.5345,-18\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"119.8148,-27.8031 115.6423,-34.2462 116.8743,-29.7014 113.9338,-31.5998 113.9338,-31.5998 113.9338,-31.5998 116.8743,-29.7014 112.2253,-28.9533 119.8148,-27.8031 119.8148,-27.8031\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"120.7388,-18 113.7388,-21.1501 117.2388,-18 113.7388,-18.0001 113.7388,-18.0001 113.7388,-18.0001 117.2388,-18 113.7387,-14.8501 120.7388,-18 120.7388,-18\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"92\" y=\"-48.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
"<text text-anchor=\"start\" x=\"92\" y=\"-21.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 1->1 -->\n",
|
"<!-- 1->1 -->\n",
|
||||||
"<g id=\"edge4\" class=\"edge\">\n",
|
"<g id=\"edge4\" class=\"edge\">\n",
|
||||||
"<title>1->1</title>\n",
|
"<title>1->1</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M214.4047,-86.7817C213.7938,-96.3149 214.9922,-105 218,-105 220.2089,-105 221.4419,-100.3161 221.6991,-94.0521\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M135.4047,-35.7817C134.7938,-45.3149 135.9922,-54 139,-54 141.2089,-54 142.4419,-49.3161 142.6991,-43.0521\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"221.5953,-86.7817 224.845,-93.736 221.6453,-90.2814 221.6954,-93.781 221.6954,-93.781 221.6954,-93.781 221.6453,-90.2814 218.5457,-93.8261 221.5953,-86.7817 221.5953,-86.7817\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"142.5953,-35.7817 145.845,-42.736 142.6453,-39.2814 142.6954,-42.781 142.6954,-42.781 142.6954,-42.781 142.6453,-39.2814 139.5457,-42.8261 142.5953,-35.7817 142.5953,-35.7817\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"214.5\" y=\"-108.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
"<text text-anchor=\"start\" x=\"133.5\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
||||||
|
"<text text-anchor=\"start\" x=\"131\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 1->1 -->\n",
|
"<!-- 1->1 -->\n",
|
||||||
"<g id=\"edge5\" class=\"edge\">\n",
|
"<g id=\"edge5\" class=\"edge\">\n",
|
||||||
"<title>1->1</title>\n",
|
"<title>1->1</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M212.1479,-86.1418C208.7056,-103.585 210.6563,-123 218,-123 224.3684,-123 226.6812,-108.3996 224.9382,-93.146\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M133.494,-35.249C129.5865,-56.4346 131.4219,-84 139,-84 145.7493,-84 147.9433,-62.1347 145.582,-42.3851\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"223.8521,-86.1418 228.0376,-92.5763 224.3884,-89.6004 224.9248,-93.0591 224.9248,-93.0591 224.9248,-93.0591 224.3884,-89.6004 221.812,-93.5418 223.8521,-86.1418 223.8521,-86.1418\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"144.506,-35.249 148.6646,-41.7011 145.0279,-38.7099 145.5498,-42.1708 145.5498,-42.1708 145.5498,-42.1708 145.0279,-38.7099 142.435,-42.6405 144.506,-35.249 144.506,-35.249\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"212.5\" y=\"-141.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
"<text text-anchor=\"start\" x=\"135.5\" y=\"-87.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"210\" y=\"-126.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 2->1 -->\n",
|
|
||||||
"<g id=\"edge6\" class=\"edge\">\n",
|
|
||||||
"<title>2->1</title>\n",
|
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M150.6117,-27.5927C163.4799,-35.4997 181.8775,-46.8042 196.1993,-55.6044\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"202.4583,-59.4503 194.8451,-58.4694 199.4763,-57.6179 196.4942,-55.7856 196.4942,-55.7856 196.4942,-55.7856 199.4763,-57.6179 198.1434,-53.1017 202.4583,-59.4503 202.4583,-59.4503\"/>\n",
|
|
||||||
"<text text-anchor=\"start\" x=\"171\" y=\"-49.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 2->2 -->\n",
|
|
||||||
"<g id=\"edge7\" class=\"edge\">\n",
|
|
||||||
"<title>2->2</title>\n",
|
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M128.2664,-35.0373C126.8922,-44.8579 129.1367,-54 135,-54 139.3975,-54 141.7594,-48.8576 142.0858,-42.1433\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"141.7336,-35.0373 145.2263,-41.8728 141.9069,-38.533 142.0802,-42.0287 142.0802,-42.0287 142.0802,-42.0287 141.9069,-38.533 138.934,-42.1847 141.7336,-35.0373 141.7336,-35.0373\"/>\n",
|
|
||||||
"<text text-anchor=\"start\" x=\"131.5\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
||||||
"<text text-anchor=\"start\" x=\"127\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"</svg>\n",
|
"</svg>\n",
|
||||||
|
|
@ -2646,111 +2601,110 @@
|
||||||
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
|
||||||
" -->\n",
|
" -->\n",
|
||||||
"<!-- Pages: 1 -->\n",
|
"<!-- Pages: 1 -->\n",
|
||||||
"<svg width=\"362pt\" height=\"179pt\"\n",
|
"<svg width=\"378pt\" height=\"176pt\"\n",
|
||||||
" viewBox=\"0.00 0.00 362.00 179.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
" viewBox=\"0.00 0.00 378.00 176.46\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||||||
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 175)\">\n",
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 172.4617)\">\n",
|
||||||
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-175 358,-175 358,4 -4,4\"/>\n",
|
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-172.4617 374,-172.4617 374,4 -4,4\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"95.5\" y=\"-156.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">(Fin(</text>\n",
|
"<text text-anchor=\"start\" x=\"137.5\" y=\"-154.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">Inf(</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"123.5\" y=\"-156.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
"<text text-anchor=\"start\" x=\"159.5\" y=\"-154.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"139.5\" y=\"-156.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">) & Inf(</text>\n",
|
"<text text-anchor=\"start\" x=\"175.5\" y=\"-154.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">) | Inf(</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"182.5\" y=\"-156.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
"<text text-anchor=\"start\" x=\"212.5\" y=\"-154.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"198.5\" y=\"-156.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)) | Inf(</text>\n",
|
"<text text-anchor=\"start\" x=\"228.5\" y=\"-154.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"238.5\" y=\"-156.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
"<text text-anchor=\"start\" x=\"150\" y=\"-140.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Fin-less 2]</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"254.5\" y=\"-156.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">)</text>\n",
|
|
||||||
"<text text-anchor=\"start\" x=\"135\" y=\"-142.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">[Rabin-like 2]</text>\n",
|
|
||||||
"<!-- I -->\n",
|
"<!-- I -->\n",
|
||||||
"<!-- 0 -->\n",
|
"<!-- 0 -->\n",
|
||||||
"<g id=\"node2\" class=\"node\">\n",
|
"<g id=\"node2\" class=\"node\">\n",
|
||||||
"<title>0</title>\n",
|
"<title>0</title>\n",
|
||||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"56\" cy=\"-69\" rx=\"18\" ry=\"18\"/>\n",
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"56\" cy=\"-31.4617\" rx=\"18\" ry=\"18\"/>\n",
|
||||||
"<text text-anchor=\"middle\" x=\"56\" y=\"-65.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-27.7617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">0</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- I->0 -->\n",
|
"<!-- I->0 -->\n",
|
||||||
"<g id=\"edge1\" class=\"edge\">\n",
|
"<g id=\"edge1\" class=\"edge\">\n",
|
||||||
"<title>I->0</title>\n",
|
"<title>I->0</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-69C4.178,-69 17.9448,-69 30.9241,-69\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M1.1233,-31.4617C4.178,-31.4617 17.9448,-31.4617 30.9241,-31.4617\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-69 30.9808,-72.1501 34.4807,-69 30.9807,-69.0001 30.9807,-69.0001 30.9807,-69.0001 34.4807,-69 30.9807,-65.8501 37.9807,-69 37.9807,-69\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"37.9807,-31.4617 30.9808,-34.6118 34.4807,-31.4618 30.9807,-31.4618 30.9807,-31.4618 30.9807,-31.4618 34.4807,-31.4618 30.9807,-28.3118 37.9807,-31.4617 37.9807,-31.4617\"/>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 1 -->\n",
|
"<!-- 1 -->\n",
|
||||||
"<g id=\"node3\" class=\"node\">\n",
|
"<g id=\"node3\" class=\"node\">\n",
|
||||||
"<title>1</title>\n",
|
"<title>1</title>\n",
|
||||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"232\" cy=\"-69\" rx=\"18\" ry=\"18\"/>\n",
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"160\" cy=\"-66.4617\" rx=\"18\" ry=\"18\"/>\n",
|
||||||
"<text text-anchor=\"middle\" x=\"232\" y=\"-65.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
"<text text-anchor=\"middle\" x=\"160\" y=\"-62.7617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">1</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 0->1 -->\n",
|
"<!-- 0->1 -->\n",
|
||||||
"<g id=\"edge2\" class=\"edge\">\n",
|
"<g id=\"edge2\" class=\"edge\">\n",
|
||||||
"<title>0->1</title>\n",
|
"<title>0->1</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M73.1713,-75.3338C79.119,-77.4923 85.8387,-79.8915 92,-82 121.7965,-92.1967 130.8917,-97.907 162,-93 178.1018,-90.4601 195.4382,-84.5422 208.8299,-79.2188\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M73.1735,-37.2413C90.3354,-43.0169 116.864,-51.9448 136.0822,-58.4125\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"215.4459,-76.5102 210.1612,-82.0776 212.2068,-77.8363 208.9677,-79.1624 208.9677,-79.1624 208.9677,-79.1624 212.2068,-77.8363 207.7742,-76.2472 215.4459,-76.5102 215.4459,-76.5102\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"142.801,-60.6736 135.1619,-61.4263 139.4838,-59.5572 136.1666,-58.4408 136.1666,-58.4408 136.1666,-58.4408 139.4838,-59.5572 137.1714,-55.4553 142.801,-60.6736 142.801,-60.6736\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"138.5\" y=\"-97.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
"<text text-anchor=\"start\" x=\"104.5\" y=\"-71.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
||||||
|
"<text text-anchor=\"start\" x=\"92\" y=\"-57.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||||
|
"<text text-anchor=\"start\" x=\"108\" y=\"-57.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 2 -->\n",
|
"<!-- 2 -->\n",
|
||||||
"<g id=\"node4\" class=\"node\">\n",
|
"<g id=\"node4\" class=\"node\">\n",
|
||||||
"<title>2</title>\n",
|
"<title>2</title>\n",
|
||||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"144\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"248\" cy=\"-31.4617\" rx=\"18\" ry=\"18\"/>\n",
|
||||||
"<text text-anchor=\"middle\" x=\"144\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
|
"<text text-anchor=\"middle\" x=\"248\" y=\"-27.7617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">2</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 0->2 -->\n",
|
"<!-- 0->2 -->\n",
|
||||||
"<g id=\"edge3\" class=\"edge\">\n",
|
"<g id=\"edge3\" class=\"edge\">\n",
|
||||||
"<title>0->2</title>\n",
|
"<title>0->2</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M71.7326,-59.8822C85.7481,-51.7596 106.3994,-39.7912 122.0408,-30.7264\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M74.1845,-29.2012C98.0199,-26.5175 141.131,-22.6229 178,-24.4617 192.9238,-25.2061 209.5708,-26.8377 222.8855,-28.3386\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"128.4036,-27.0388 123.9266,-33.2742 125.3754,-28.7938 122.3471,-30.5489 122.3471,-30.5489 122.3471,-30.5489 125.3754,-28.7938 120.7676,-27.8235 128.4036,-27.0388 128.4036,-27.0388\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"229.9076,-29.1524 222.5914,-31.4755 226.4308,-28.7494 222.9541,-28.3464 222.9541,-28.3464 222.9541,-28.3464 226.4308,-28.7494 223.3168,-25.2174 229.9076,-29.1524 229.9076,-29.1524\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"96.5\" y=\"-66.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
"<text text-anchor=\"start\" x=\"154.5\" y=\"-28.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"92\" y=\"-51.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 1->1 -->\n",
|
"<!-- 1->1 -->\n",
|
||||||
"<g id=\"edge5\" class=\"edge\">\n",
|
"<g id=\"edge4\" class=\"edge\">\n",
|
||||||
"<title>1->1</title>\n",
|
"<title>1->1</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M224.3321,-85.2903C222.4831,-95.3892 225.0391,-105 232,-105 237.2207,-105 239.9636,-99.5939 240.2287,-92.6304\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M152.3321,-82.752C150.4831,-92.8509 153.0391,-102.4617 160,-102.4617 165.2207,-102.4617 167.9636,-97.0556 168.2287,-90.0921\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"239.6679,-85.2903 243.3421,-92.0299 239.9346,-88.7801 240.2013,-92.2699 240.2013,-92.2699 240.2013,-92.2699 239.9346,-88.7801 237.0604,-92.5099 239.6679,-85.2903 239.6679,-85.2903\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"167.6679,-82.752 171.3421,-89.4916 167.9346,-86.2418 168.2013,-89.7316 168.2013,-89.7316 168.2013,-89.7316 167.9346,-86.2418 165.0604,-89.9717 167.6679,-82.752 167.6679,-82.752\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"226.5\" y=\"-123.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
"<text text-anchor=\"start\" x=\"156.5\" y=\"-121.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"224\" y=\"-108.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
"<text text-anchor=\"start\" x=\"152\" y=\"-106.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 1->2 -->\n",
|
||||||
|
"<g id=\"edge5\" class=\"edge\">\n",
|
||||||
|
"<title>1->2</title>\n",
|
||||||
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M176.9673,-59.7134C190.4805,-54.3388 209.5478,-46.7552 224.5255,-40.7982\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"231.0848,-38.1894 225.7445,-43.7034 227.8326,-39.4829 224.5804,-40.7764 224.5804,-40.7764 224.5804,-40.7764 227.8326,-39.4829 223.4162,-37.8494 231.0848,-38.1894 231.0848,-38.1894\"/>\n",
|
||||||
|
"<text text-anchor=\"start\" x=\"198.5\" y=\"-70.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
||||||
|
"<text text-anchor=\"start\" x=\"196\" y=\"-55.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 2->2 -->\n",
|
||||||
|
"<g id=\"edge6\" class=\"edge\">\n",
|
||||||
|
"<title>2->2</title>\n",
|
||||||
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M240.3321,-47.752C238.4831,-57.8509 241.0391,-67.4617 248,-67.4617 253.2207,-67.4617 255.9636,-62.0556 256.2287,-55.0921\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"255.6679,-47.752 259.3421,-54.4916 255.9346,-51.2418 256.2013,-54.7316 256.2013,-54.7316 256.2013,-54.7316 255.9346,-51.2418 253.0604,-54.9717 255.6679,-47.752 255.6679,-47.752\"/>\n",
|
||||||
|
"<text text-anchor=\"start\" x=\"242.5\" y=\"-86.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
||||||
|
"<text text-anchor=\"start\" x=\"240\" y=\"-71.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 3 -->\n",
|
"<!-- 3 -->\n",
|
||||||
"<g id=\"node5\" class=\"node\">\n",
|
"<g id=\"node5\" class=\"node\">\n",
|
||||||
"<title>3</title>\n",
|
"<title>3</title>\n",
|
||||||
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"336\" cy=\"-69\" rx=\"18\" ry=\"18\"/>\n",
|
"<ellipse fill=\"#ffffaa\" stroke=\"#000000\" cx=\"352\" cy=\"-31.4617\" rx=\"18\" ry=\"18\"/>\n",
|
||||||
"<text text-anchor=\"middle\" x=\"336\" y=\"-65.3\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">3</text>\n",
|
"<text text-anchor=\"middle\" x=\"352\" y=\"-27.7617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">3</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 1->3 -->\n",
|
"<!-- 2->3 -->\n",
|
||||||
"<g id=\"edge4\" class=\"edge\">\n",
|
|
||||||
"<title>1->3</title>\n",
|
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M249.9127,-71.3854C255.6764,-72.047 262.0979,-72.6731 268,-73 282.2005,-73.7865 285.7995,-73.7865 300,-73 303.5966,-72.8008 307.3861,-72.4905 311.102,-72.1287\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"318.0873,-71.3854 311.46,-75.2585 314.607,-71.7558 311.1266,-72.1262 311.1266,-72.1262 311.1266,-72.1262 314.607,-71.7558 310.7933,-68.9939 318.0873,-71.3854 318.0873,-71.3854\"/>\n",
|
|
||||||
"<text text-anchor=\"start\" x=\"280.5\" y=\"-91.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
|
||||||
"<text text-anchor=\"start\" x=\"276\" y=\"-76.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 2->1 -->\n",
|
|
||||||
"<g id=\"edge6\" class=\"edge\">\n",
|
|
||||||
"<title>2->1</title>\n",
|
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M159.7326,-27.1178C173.7481,-35.2404 194.3994,-47.2088 210.0408,-56.2736\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"216.4036,-59.9612 208.7676,-59.1765 213.3754,-58.2062 210.3471,-56.4511 210.3471,-56.4511 210.3471,-56.4511 213.3754,-58.2062 211.9266,-53.7258 216.4036,-59.9612 216.4036,-59.9612\"/>\n",
|
|
||||||
"<text text-anchor=\"start\" x=\"182.5\" y=\"-66.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
|
||||||
"<text text-anchor=\"start\" x=\"180\" y=\"-51.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 2->2 -->\n",
|
|
||||||
"<g id=\"edge7\" class=\"edge\">\n",
|
"<g id=\"edge7\" class=\"edge\">\n",
|
||||||
"<title>2->2</title>\n",
|
"<title>2->3</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M136.3321,-34.2903C134.4831,-44.3892 137.0391,-54 144,-54 149.2207,-54 151.9636,-48.5939 152.2287,-41.6304\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M265.9127,-33.8471C271.6764,-34.5087 278.0979,-35.1348 284,-35.4617 298.2005,-36.2482 301.7995,-36.2482 316,-35.4617 319.5966,-35.2625 323.3861,-34.9522 327.102,-34.5905\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"151.6679,-34.2903 155.3421,-41.0299 151.9346,-37.7801 152.2013,-41.2699 152.2013,-41.2699 152.2013,-41.2699 151.9346,-37.7801 149.0604,-41.5099 151.6679,-34.2903 151.6679,-34.2903\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"334.0873,-33.8471 327.46,-37.7203 330.607,-34.2175 327.1266,-34.5879 327.1266,-34.5879 327.1266,-34.5879 330.607,-34.2175 326.7933,-31.4556 334.0873,-33.8471 334.0873,-33.8471\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"140.5\" y=\"-72.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
"<text text-anchor=\"start\" x=\"296.5\" y=\"-54.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"136\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
"<text text-anchor=\"start\" x=\"292\" y=\"-39.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 3->1 -->\n",
|
"<!-- 3->2 -->\n",
|
||||||
"<g id=\"edge9\" class=\"edge\">\n",
|
"<g id=\"edge8\" class=\"edge\">\n",
|
||||||
"<title>3->1</title>\n",
|
"<title>3->2</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M323.2708,-55.7114C316.8937,-50.0093 308.6876,-43.9808 300,-41 286.5476,-36.3844 281.4524,-36.3844 268,-41 261.62,-43.189 255.4998,-47.0217 250.1728,-51.1617\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M339.2708,-18.1731C332.8937,-12.471 324.6876,-6.4425 316,-3.4617 302.5476,1.1539 297.4524,1.1539 284,-3.4617 277.62,-5.6507 271.4998,-9.4834 266.1728,-13.6234\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"244.7292,-55.7114 248.0802,-48.8053 247.4147,-53.4669 250.1003,-51.2223 250.1003,-51.2223 250.1003,-51.2223 247.4147,-53.4669 252.1203,-53.6393 244.7292,-55.7114 244.7292,-55.7114\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"260.7292,-18.1731 264.0802,-11.2671 263.4147,-15.9286 266.1003,-13.6841 266.1003,-13.6841 266.1003,-13.6841 263.4147,-15.9286 268.1203,-16.101 260.7292,-18.1731 260.7292,-18.1731\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"278.5\" y=\"-58.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
"<text text-anchor=\"start\" x=\"294.5\" y=\"-21.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">!a</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"268\" y=\"-44.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
"<text text-anchor=\"start\" x=\"284\" y=\"-7.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
||||||
"<text text-anchor=\"start\" x=\"284\" y=\"-44.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
"<text text-anchor=\"start\" x=\"300\" y=\"-7.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 3->3 -->\n",
|
"<!-- 3->3 -->\n",
|
||||||
"<g id=\"edge8\" class=\"edge\">\n",
|
"<g id=\"edge9\" class=\"edge\">\n",
|
||||||
"<title>3->3</title>\n",
|
"<title>3->3</title>\n",
|
||||||
"<path fill=\"none\" stroke=\"#000000\" d=\"M327.0212,-84.916C324.679,-95.1504 327.6719,-105 336,-105 342.3762,-105 345.625,-99.2263 345.7465,-91.9268\"/>\n",
|
"<path fill=\"none\" stroke=\"#000000\" d=\"M343.0212,-47.3778C340.679,-57.6121 343.6719,-67.4617 352,-67.4617 358.3762,-67.4617 361.625,-61.6881 361.7465,-54.3885\"/>\n",
|
||||||
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"344.9788,-84.916 348.8721,-91.5315 345.3598,-88.3952 345.7408,-91.8744 345.7408,-91.8744 345.7408,-91.8744 345.3598,-88.3952 342.6095,-92.2174 344.9788,-84.916 344.9788,-84.916\"/>\n",
|
"<polygon fill=\"#000000\" stroke=\"#000000\" points=\"360.9788,-47.3778 364.8721,-53.9932 361.3598,-50.857 361.7408,-54.3362 361.7408,-54.3362 361.7408,-54.3362 361.3598,-50.857 358.6095,-54.6791 360.9788,-47.3778 360.9788,-47.3778\"/>\n",
|
||||||
"<text text-anchor=\"start\" x=\"332.5\" y=\"-108.8\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
"<text text-anchor=\"start\" x=\"348.5\" y=\"-71.2617\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#000000\">a</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"</svg>\n",
|
"</svg>\n",
|
||||||
|
|
@ -3140,7 +3094,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 10,
|
"execution_count": 7,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
{
|
{
|
||||||
|
|
@ -3506,13 +3460,6 @@
|
||||||
"source": [
|
"source": [
|
||||||
"test(spot.translate('(Ga | GF!a)'), spot.translate('false'))"
|
"test(spot.translate('(Ga | GF!a)'), spot.translate('false'))"
|
||||||
]
|
]
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": null,
|
|
||||||
"metadata": {},
|
|
||||||
"outputs": [],
|
|
||||||
"source": []
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
|
|
|
||||||
|
|
@ -240,7 +240,7 @@
|
||||||
"</svg>\n"
|
"</svg>\n"
|
||||||
],
|
],
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7feca4075120> >"
|
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6a240ef0f0> >"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 4,
|
"execution_count": 4,
|
||||||
|
|
@ -352,7 +352,7 @@
|
||||||
"</svg>\n"
|
"</svg>\n"
|
||||||
],
|
],
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<spot.twa; proxy of <Swig Object of type 'std::shared_ptr< spot::twa > *' at 0x7fec96f528d0> >"
|
"<spot.twa; proxy of <Swig Object of type 'std::shared_ptr< spot::twa > *' at 0x7f6a1d7ce8a0> >"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 5,
|
"execution_count": 5,
|
||||||
|
|
@ -462,7 +462,7 @@
|
||||||
"</svg>\n"
|
"</svg>\n"
|
||||||
],
|
],
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7feca4075120> >"
|
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6a240ef0f0> >"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 6,
|
"execution_count": 6,
|
||||||
|
|
@ -695,7 +695,7 @@
|
||||||
"</svg>\n"
|
"</svg>\n"
|
||||||
],
|
],
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fec96f528a0> >"
|
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6a1d7ce8d0> >"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 8,
|
"execution_count": 8,
|
||||||
|
|
@ -892,7 +892,7 @@
|
||||||
"</svg>\n"
|
"</svg>\n"
|
||||||
],
|
],
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fec96f528a0> >"
|
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6a1d7ce8d0> >"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 11,
|
"execution_count": 11,
|
||||||
|
|
@ -977,7 +977,7 @@
|
||||||
"</svg>\n"
|
"</svg>\n"
|
||||||
],
|
],
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fec96f52a50> >"
|
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6a1d7ce060> >"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
|
|
@ -1032,7 +1032,7 @@
|
||||||
"</svg>\n"
|
"</svg>\n"
|
||||||
],
|
],
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fec96f529f0> >"
|
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6a240e6f60> >"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
|
|
@ -1126,7 +1126,7 @@
|
||||||
"</svg>\n"
|
"</svg>\n"
|
||||||
],
|
],
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fec96f52ab0> >"
|
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6a1d7ce9f0> >"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 13,
|
"execution_count": 13,
|
||||||
|
|
@ -1257,7 +1257,7 @@
|
||||||
"</svg>\n"
|
"</svg>\n"
|
||||||
],
|
],
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fec96f52ab0> >"
|
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6a1d7ce9f0> >"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
|
|
@ -1322,7 +1322,7 @@
|
||||||
"</svg>\n"
|
"</svg>\n"
|
||||||
],
|
],
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fec96f52a50> >"
|
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6a1d7ce060> >"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
|
|
@ -1377,7 +1377,7 @@
|
||||||
"</svg>\n"
|
"</svg>\n"
|
||||||
],
|
],
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fec96f529f0> >"
|
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6a240e6f60> >"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
|
|
@ -1609,7 +1609,7 @@
|
||||||
"</svg>\n"
|
"</svg>\n"
|
||||||
],
|
],
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<spot.impl.twa_product; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_product > *' at 0x7fec96f52b40> >"
|
"<spot.impl.twa_product; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_product > *' at 0x7f6a1d7bdae0> >"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
|
|
@ -1694,7 +1694,7 @@
|
||||||
"</svg>\n"
|
"</svg>\n"
|
||||||
],
|
],
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fec96f52c00> >"
|
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6a1d7bd4b0> >"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
|
|
@ -1791,7 +1791,7 @@
|
||||||
"</svg>\n"
|
"</svg>\n"
|
||||||
],
|
],
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fec96f52b10> >"
|
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6a1d7ceb40> >"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
|
|
@ -1959,7 +1959,7 @@
|
||||||
"</svg>\n"
|
"</svg>\n"
|
||||||
],
|
],
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fec96f52d80> >"
|
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6a1d7ced50> >"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 18,
|
"execution_count": 18,
|
||||||
|
|
@ -2127,7 +2127,7 @@
|
||||||
"</svg>\n"
|
"</svg>\n"
|
||||||
],
|
],
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fec96f52d80> >"
|
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6a1d7ced50> >"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 19,
|
"execution_count": 19,
|
||||||
|
|
@ -2290,7 +2290,7 @@
|
||||||
"</svg>\n"
|
"</svg>\n"
|
||||||
],
|
],
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7fec96f52d80> >"
|
"<spot.impl.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f6a1d7ced50> >"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
|
|
@ -2509,233 +2509,295 @@
|
||||||
{
|
{
|
||||||
"data": {
|
"data": {
|
||||||
"image/svg+xml": [
|
"image/svg+xml": [
|
||||||
"<svg height=\"329pt\" viewBox=\"0.00 0.00 734.00 328.98\" width=\"734pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
"<svg height=\"360pt\" viewBox=\"0.00 0.00 684.90 360.00\" width=\"685pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||||||
"<g class=\"graph\" id=\"graph0\" transform=\"scale(.8266 .8266) rotate(0) translate(4 394)\">\n",
|
"<g class=\"graph\" id=\"graph0\" transform=\"scale(.7469 .7469) rotate(0) translate(4 478)\">\n",
|
||||||
"<polygon fill=\"#ffffff\" points=\"-4,4 -4,-394 884,-394 884,4 -4,4\" stroke=\"transparent\"/>\n",
|
"<polygon fill=\"#ffffff\" points=\"-4,4 -4,-478 913,-478 913,4 -4,4\" stroke=\"transparent\"/>\n",
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"388\" y=\"-375.8\">Fin(</text>\n",
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"433.5\" y=\"-459.8\">Inf(</text>\n",
|
||||||
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"413\" y=\"-375.8\">⓿</text>\n",
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"455.5\" y=\"-459.8\">⓿</text>\n",
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"429\" y=\"-375.8\">) & Inf(</text>\n",
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"471.5\" y=\"-459.8\">)</text>\n",
|
||||||
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"472\" y=\"-375.8\">❶</text>\n",
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"431.5\" y=\"-445.8\">[Büchi]</text>\n",
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"488\" y=\"-375.8\">)</text>\n",
|
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"411\" y=\"-361.8\">[Rabin 1]</text>\n",
|
|
||||||
"<g class=\"cluster\" id=\"clust1\">\n",
|
"<g class=\"cluster\" id=\"clust1\">\n",
|
||||||
"<title>cluster_0</title>\n",
|
"<title>cluster_0</title>\n",
|
||||||
"<polygon fill=\"none\" points=\"543,-144 543,-346 872,-346 872,-144 543,-144\" stroke=\"#00ff00\"/>\n",
|
"<polygon fill=\"none\" points=\"318,-330 318,-430 370,-430 370,-330 318,-330\" stroke=\"#00ff00\"/>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<g class=\"cluster\" id=\"clust2\">\n",
|
"<g class=\"cluster\" id=\"clust2\">\n",
|
||||||
"<title>cluster_1</title>\n",
|
"<title>cluster_1</title>\n",
|
||||||
"<polygon fill=\"none\" points=\"464,-149 464,-201 516,-201 516,-149 464,-149\" stroke=\"#000000\"/>\n",
|
"<polygon fill=\"none\" points=\"168.5,-294 168.5,-394 220.5,-394 220.5,-294 168.5,-294\" stroke=\"#00ff00\"/>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<g class=\"cluster\" id=\"clust3\">\n",
|
"<g class=\"cluster\" id=\"clust3\">\n",
|
||||||
"<title>cluster_2</title>\n",
|
"<title>cluster_2</title>\n",
|
||||||
"<polygon fill=\"none\" points=\"139,-191 139,-306 403,-306 403,-191 139,-191\" stroke=\"#00ff00\"/>\n",
|
"<polygon fill=\"none\" points=\"667,-147 667,-379 901,-379 901,-147 667,-147\" stroke=\"#00ff00\"/>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<g class=\"cluster\" id=\"clust4\">\n",
|
"<g class=\"cluster\" id=\"clust4\">\n",
|
||||||
"<title>cluster_3</title>\n",
|
"<title>cluster_3</title>\n",
|
||||||
"<polygon fill=\"none\" points=\"139,-8 139,-108 191,-108 191,-8 139,-8\" stroke=\"#00ff00\"/>\n",
|
"<polygon fill=\"none\" points=\"559,-68 559,-120 611,-120 611,-68 559,-68\" stroke=\"#000000\"/>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<g class=\"cluster\" id=\"clust5\">\n",
|
"<g class=\"cluster\" id=\"clust5\">\n",
|
||||||
"<title>cluster_4</title>\n",
|
"<title>cluster_4</title>\n",
|
||||||
"<polygon fill=\"none\" points=\"30,-102 30,-154 82,-154 82,-102 30,-102\" stroke=\"#000000\"/>\n",
|
"<polygon fill=\"none\" points=\"168.5,-101 168.5,-216 498,-216 498,-101 168.5,-101\" stroke=\"#00ff00\"/>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<g class=\"cluster\" id=\"clust6\">\n",
|
||||||
|
"<title>cluster_5</title>\n",
|
||||||
|
"<polygon fill=\"none\" points=\"30,-248 30,-300 82,-300 82,-248 30,-248\" stroke=\"#000000\"/>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- I -->\n",
|
"<!-- I -->\n",
|
||||||
"<!-- 0 -->\n",
|
"<!-- 0 -->\n",
|
||||||
"<g class=\"node\" id=\"node2\">\n",
|
"<g class=\"node\" id=\"node2\">\n",
|
||||||
"<title>0</title>\n",
|
"<title>0</title>\n",
|
||||||
"<ellipse cx=\"56\" cy=\"-128\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#000000\"/>\n",
|
"<ellipse cx=\"56\" cy=\"-274\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#000000\"/>\n",
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"56\" y=\"-124.3\">0</text>\n",
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"56\" y=\"-270.3\">0</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- I->0 -->\n",
|
"<!-- I->0 -->\n",
|
||||||
"<g class=\"edge\" id=\"edge1\">\n",
|
"<g class=\"edge\" id=\"edge1\">\n",
|
||||||
"<title>I->0</title>\n",
|
"<title>I->0</title>\n",
|
||||||
"<path d=\"M1.1233,-128C4.178,-128 17.9448,-128 30.9241,-128\" fill=\"none\" stroke=\"#000000\"/>\n",
|
"<path d=\"M1.1233,-274C4.178,-274 17.9448,-274 30.9241,-274\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
"<polygon fill=\"#000000\" points=\"37.9807,-128 30.9808,-131.1501 34.4807,-128 30.9807,-128.0001 30.9807,-128.0001 30.9807,-128.0001 34.4807,-128 30.9807,-124.8501 37.9807,-128 37.9807,-128\" stroke=\"#000000\"/>\n",
|
"<polygon fill=\"#000000\" points=\"37.9807,-274 30.9808,-277.1501 34.4807,-274 30.9807,-274.0001 30.9807,-274.0001 30.9807,-274.0001 34.4807,-274 30.9807,-270.8501 37.9807,-274 37.9807,-274\" stroke=\"#000000\"/>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 1 -->\n",
|
"<!-- 1 -->\n",
|
||||||
"<g class=\"node\" id=\"node6\">\n",
|
"<g class=\"node\" id=\"node3\">\n",
|
||||||
"<title>1</title>\n",
|
"<title>1</title>\n",
|
||||||
"<ellipse cx=\"490\" cy=\"-175\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#000000\"/>\n",
|
"<ellipse cx=\"344\" cy=\"-356\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#1f78b4\" stroke-width=\"2\"/>\n",
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"490\" y=\"-171.3\">1</text>\n",
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"344\" y=\"-352.3\">1</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 0->1 -->\n",
|
"<!-- 0->1 -->\n",
|
||||||
"<g class=\"edge\" id=\"edge2\">\n",
|
"<g class=\"edge\" id=\"edge2\">\n",
|
||||||
"<title>0->1</title>\n",
|
"<title>0->1</title>\n",
|
||||||
"<path d=\"M74.1292,-128C95.7601,-128 133.0191,-128 165,-128 165,-128 165,-128 377,-128 411.229,-128 447.1265,-146.6121 469.0379,-160.4116\" fill=\"none\" stroke=\"#000000\"/>\n",
|
"<path d=\"M64.3119,-290.4883C79.9858,-319.3838 117.0199,-378.0014 168.5,-398 221.8867,-418.7393 288.5224,-388.4401 322.2598,-369.4207\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
"<polygon fill=\"#000000\" points=\"475.1027,-164.335 467.5143,-163.1777 472.164,-162.4339 469.2253,-160.5328 469.2253,-160.5328 469.2253,-160.5328 472.164,-162.4339 470.9362,-157.888 475.1027,-164.335 475.1027,-164.335\" stroke=\"#000000\"/>\n",
|
"<polygon fill=\"#000000\" points=\"328.5549,-365.7857 324.0681,-372.014 325.5239,-367.5359 322.493,-369.2861 322.493,-369.2861 322.493,-369.2861 325.5239,-367.5359 320.9178,-366.5582 328.5549,-365.7857 328.5549,-365.7857\" stroke=\"#000000\"/>\n",
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"230.5\" y=\"-131.8\">!a & !b</text>\n",
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"176\" y=\"-407.8\">a & !b</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 2 -->\n",
|
"<!-- 2 -->\n",
|
||||||
"<g class=\"node\" id=\"node7\">\n",
|
"<g class=\"node\" id=\"node4\">\n",
|
||||||
"<title>2</title>\n",
|
"<title>2</title>\n",
|
||||||
"<ellipse cx=\"165\" cy=\"-217\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#1f78b4\" stroke-width=\"2\"/>\n",
|
"<ellipse cx=\"194.5\" cy=\"-320\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#1f78b4\" stroke-width=\"2\"/>\n",
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"165\" y=\"-213.3\">2</text>\n",
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"194.5\" y=\"-316.3\">2</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 0->2 -->\n",
|
"<!-- 0->2 -->\n",
|
||||||
"<g class=\"edge\" id=\"edge3\">\n",
|
"<g class=\"edge\" id=\"edge3\">\n",
|
||||||
"<title>0->2</title>\n",
|
"<title>0->2</title>\n",
|
||||||
"<path d=\"M70.2498,-139.6352C89.426,-155.2928 123.6231,-183.2152 145.2652,-200.8863\" fill=\"none\" stroke=\"#000000\"/>\n",
|
"<path d=\"M72.7611,-280.7918C78.793,-283.1633 85.6707,-285.7842 92,-288 118.4422,-297.257 149.162,-306.6732 170.0249,-312.8716\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
"<polygon fill=\"#000000\" points=\"150.7467,-205.3619 143.3322,-203.3746 148.0356,-203.1483 145.3245,-200.9347 145.3245,-200.9347 145.3245,-200.9347 148.0356,-203.1483 147.3168,-198.4947 150.7467,-205.3619 150.7467,-205.3619\" stroke=\"#000000\"/>\n",
|
"<polygon fill=\"#000000\" points=\"176.9701,-314.9243 169.3643,-315.961 173.6137,-313.9322 170.2572,-312.9402 170.2572,-312.9402 170.2572,-312.9402 173.6137,-313.9322 171.1501,-309.9193 176.9701,-314.9243 176.9701,-314.9243\" stroke=\"#000000\"/>\n",
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"92\" y=\"-188.8\">!a & b</text>\n",
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"108\" y=\"-312.8\">a & b</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 3 -->\n",
|
"<!-- 3 -->\n",
|
||||||
"<g class=\"node\" id=\"node9\">\n",
|
"<g class=\"node\" id=\"node7\">\n",
|
||||||
"<title>3</title>\n",
|
"<title>3</title>\n",
|
||||||
"<ellipse cx=\"165\" cy=\"-34\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#000000\"/>\n",
|
"<ellipse cx=\"585\" cy=\"-94\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#000000\"/>\n",
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"165\" y=\"-30.3\">3</text>\n",
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"585\" y=\"-90.3\">3</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 0->3 -->\n",
|
"<!-- 0->3 -->\n",
|
||||||
"<g class=\"edge\" id=\"edge4\">\n",
|
"<g class=\"edge\" id=\"edge4\">\n",
|
||||||
"<title>0->3</title>\n",
|
"<title>0->3</title>\n",
|
||||||
"<path d=\"M69.8049,-116.0948C89.0516,-99.4968 124.0302,-69.3318 145.8063,-50.5524\" fill=\"none\" stroke=\"#000000\"/>\n",
|
"<path d=\"M56.6779,-255.5966C60.0121,-194.1624 79.6359,0 194.5,0 194.5,0 194.5,0 472,0 495.3255,0 542.9619,-47.9358 568.2929,-75.3444\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
"<polygon fill=\"#000000\" points=\"151.3072,-45.8085 148.0633,-52.7656 148.6566,-48.0943 146.0061,-50.3801 146.0061,-50.3801 146.0061,-50.3801 148.6566,-48.0943 143.9489,-47.9946 151.3072,-45.8085 151.3072,-45.8085\" stroke=\"#000000\"/>\n",
|
"<polygon fill=\"#000000\" points=\"573.0478,-80.5321 565.9958,-77.5002 570.6829,-77.9519 568.318,-75.3718 568.318,-75.3718 568.318,-75.3718 570.6829,-77.9519 570.6401,-73.2433 573.0478,-80.5321 573.0478,-80.5321\" stroke=\"#000000\"/>\n",
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"107\" y=\"-97.8\">a</text>\n",
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"323.5\" y=\"-3.8\">!a & !b</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 4 -->\n",
|
"<!-- 4 -->\n",
|
||||||
"<g class=\"node\" id=\"node3\">\n",
|
"<g class=\"node\" id=\"node8\">\n",
|
||||||
"<title>4</title>\n",
|
"<title>4</title>\n",
|
||||||
"<ellipse cx=\"569\" cy=\"-234\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#ff4da0\" stroke-width=\"2\"/>\n",
|
"<ellipse cx=\"194.5\" cy=\"-142\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#ff4da0\" stroke-width=\"2\"/>\n",
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"569\" y=\"-230.3\">4</text>\n",
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"194.5\" y=\"-138.3\">4</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 6 -->\n",
|
"<!-- 0->4 -->\n",
|
||||||
"<g class=\"node\" id=\"node4\">\n",
|
|
||||||
"<title>6</title>\n",
|
|
||||||
"<ellipse cx=\"695\" cy=\"-221\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#ff4da0\" stroke-width=\"2\"/>\n",
|
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"695\" y=\"-217.3\">6</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 4->6 -->\n",
|
|
||||||
"<g class=\"edge\" id=\"edge11\">\n",
|
|
||||||
"<title>4->6</title>\n",
|
|
||||||
"<path d=\"M586.6825,-229.1951C597.3921,-226.5227 611.3779,-223.4509 624,-222 639.0867,-220.2658 656.0943,-219.969 669.6807,-220.1279\" fill=\"none\" stroke=\"#000000\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" points=\"676.8429,-220.2568 669.7873,-223.2802 673.3434,-220.1937 669.844,-220.1307 669.844,-220.1307 669.844,-220.1307 673.3434,-220.1937 669.9007,-216.9812 676.8429,-220.2568 676.8429,-220.2568\" stroke=\"#000000\"/>\n",
|
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"626.5\" y=\"-225.8\">!c</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 7 -->\n",
|
|
||||||
"<g class=\"node\" id=\"node5\">\n",
|
|
||||||
"<title>7</title>\n",
|
|
||||||
"<ellipse cx=\"846\" cy=\"-240\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#ff4da0\" stroke-width=\"2\"/>\n",
|
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"846\" y=\"-236.3\">7</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 4->7 -->\n",
|
|
||||||
"<g class=\"edge\" id=\"edge12\">\n",
|
|
||||||
"<title>4->7</title>\n",
|
|
||||||
"<path d=\"M576.4064,-217.5184C586.186,-198.5557 605.339,-170 632,-170 632,-170 632,-170 770.5,-170 799.0099,-170 821.302,-197.1731 834.057,-217.6591\" fill=\"none\" stroke=\"#000000\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" points=\"837.7056,-223.7646 831.4108,-219.3717 835.9102,-220.7602 834.1147,-217.7558 834.1147,-217.7558 834.1147,-217.7558 835.9102,-220.7602 836.8187,-216.1399 837.7056,-223.7646 837.7056,-223.7646\" stroke=\"#000000\"/>\n",
|
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"691.5\" y=\"-173.8\">c</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 6->4 -->\n",
|
|
||||||
"<g class=\"edge\" id=\"edge16\">\n",
|
|
||||||
"<title>6->4</title>\n",
|
|
||||||
"<path d=\"M677.9355,-227.3217C667.2121,-230.9521 652.9954,-235.1481 640,-237 624.8508,-239.1588 607.7148,-238.5215 594.0732,-237.2908\" fill=\"none\" stroke=\"#000000\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" points=\"586.8888,-236.56 594.1717,-234.1346 590.3708,-236.9142 593.8529,-237.2685 593.8529,-237.2685 593.8529,-237.2685 590.3708,-236.9142 593.5341,-240.4023 586.8888,-236.56 586.8888,-236.56\" stroke=\"#000000\"/>\n",
|
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"625.5\" y=\"-256.8\">!b</text>\n",
|
|
||||||
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"624\" y=\"-241.8\">❶</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 6->6 -->\n",
|
|
||||||
"<g class=\"edge\" id=\"edge17\">\n",
|
|
||||||
"<title>6->6</title>\n",
|
|
||||||
"<path d=\"M688.6208,-238.0373C687.3189,-247.8579 689.4453,-257 695,-257 699.166,-257 701.4036,-251.8576 701.7128,-245.1433\" fill=\"none\" stroke=\"#000000\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" points=\"701.3792,-238.0373 704.8541,-244.8818 701.5434,-241.5335 701.7076,-245.0296 701.7076,-245.0296 701.7076,-245.0296 701.5434,-241.5335 698.561,-245.1774 701.3792,-238.0373 701.3792,-238.0373\" stroke=\"#000000\"/>\n",
|
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"676.5\" y=\"-260.8\">b & !c</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 6->7 -->\n",
|
|
||||||
"<g class=\"edge\" id=\"edge18\">\n",
|
|
||||||
"<title>6->7</title>\n",
|
|
||||||
"<path d=\"M713.1301,-221.5548C732.4942,-222.326 764.0424,-224.0965 791,-228 801.02,-229.4509 811.9369,-231.6926 821.384,-233.8474\" fill=\"none\" stroke=\"#000000\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" points=\"828.2826,-235.4638 820.7486,-236.9338 824.8749,-234.6653 821.4672,-233.8669 821.4672,-233.8669 821.4672,-233.8669 824.8749,-234.6653 822.1858,-230.7999 828.2826,-235.4638 828.2826,-235.4638\" stroke=\"#000000\"/>\n",
|
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"753.5\" y=\"-231.8\">b & c</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 7->4 -->\n",
|
|
||||||
"<g class=\"edge\" id=\"edge19\">\n",
|
|
||||||
"<title>7->4</title>\n",
|
|
||||||
"<path d=\"M837.3792,-256.1151C825.3165,-276.2236 801.3706,-308 770.5,-308 632,-308 632,-308 632,-308 605.0884,-308 587.2554,-279.2741 577.6349,-257.6175\" fill=\"none\" stroke=\"#000000\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" points=\"574.912,-251.1631 580.5352,-256.3882 576.2724,-254.3879 577.6329,-257.6126 577.6329,-257.6126 577.6329,-257.6126 576.2724,-254.3879 574.7306,-258.8371 574.912,-251.1631 574.912,-251.1631\" stroke=\"#000000\"/>\n",
|
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"690.5\" y=\"-326.8\">b</text>\n",
|
|
||||||
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"687\" y=\"-311.8\">❶</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 7->6 -->\n",
|
|
||||||
"<g class=\"edge\" id=\"edge20\">\n",
|
|
||||||
"<title>7->6</title>\n",
|
|
||||||
"<path d=\"M828.1204,-242.8876C808.6992,-245.4858 776.8532,-248.1715 750,-243 739.0051,-240.8826 727.4143,-236.587 717.7231,-232.3489\" fill=\"none\" stroke=\"#000000\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" points=\"711.3479,-229.4515 719.024,-229.4801 714.5343,-230.8997 717.7206,-232.3479 717.7206,-232.3479 717.7206,-232.3479 714.5343,-230.8997 716.4173,-235.2156 711.3479,-229.4515 711.3479,-229.4515\" stroke=\"#000000\"/>\n",
|
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"750\" y=\"-248.8\">!b & !c</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 7->7 -->\n",
|
|
||||||
"<g class=\"edge\" id=\"edge21\">\n",
|
|
||||||
"<title>7->7</title>\n",
|
|
||||||
"<path d=\"M839.6208,-257.0373C838.3189,-266.8579 840.4453,-276 846,-276 850.166,-276 852.4036,-270.8576 852.7128,-264.1433\" fill=\"none\" stroke=\"#000000\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" points=\"852.3792,-257.0373 855.8541,-263.8818 852.5434,-260.5335 852.7076,-264.0296 852.7076,-264.0296 852.7076,-264.0296 852.5434,-260.5335 849.561,-264.1774 852.3792,-257.0373 852.3792,-257.0373\" stroke=\"#000000\"/>\n",
|
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"827.5\" y=\"-279.8\">!b & c</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 1->4 -->\n",
|
|
||||||
"<g class=\"edge\" id=\"edge5\">\n",
|
"<g class=\"edge\" id=\"edge5\">\n",
|
||||||
"<title>1->4</title>\n",
|
"<title>0->4</title>\n",
|
||||||
"<path d=\"M505.306,-185.3002C513.6004,-190.9762 523.9712,-198.2264 533,-205 538.4689,-209.1029 544.2844,-213.6864 549.6103,-217.9764\" fill=\"none\" stroke=\"#000000\"/>\n",
|
"<path d=\"M69.28,-261.3433C94.1619,-237.6291 147.8378,-186.4722 176.1535,-159.4855\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
"<polygon fill=\"#000000\" points=\"555.1578,-222.4796 547.7377,-220.5134 552.4404,-220.2737 549.723,-218.0678 549.723,-218.0678 549.723,-218.0678 552.4404,-220.2737 551.7083,-215.6221 555.1578,-222.4796 555.1578,-222.4796\" stroke=\"#000000\"/>\n",
|
"<polygon fill=\"#000000\" points=\"181.4625,-154.4257 178.5685,-161.5354 178.9288,-156.8404 176.3952,-159.2551 176.3952,-159.2551 176.3952,-159.2551 178.9288,-156.8404 174.222,-156.9748 181.4625,-154.4257 181.4625,-154.4257\" stroke=\"#000000\"/>\n",
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"526\" y=\"-208.8\">a</text>\n",
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"92\" y=\"-241.8\">!a & b & !c</text>\n",
|
||||||
"</g>\n",
|
|
||||||
"<!-- 2->4 -->\n",
|
|
||||||
"<g class=\"edge\" id=\"edge8\">\n",
|
|
||||||
"<title>2->4</title>\n",
|
|
||||||
"<path d=\"M169.9131,-234.5127C179.7482,-265.3245 204.9605,-326 251,-326 251,-326 251,-326 490,-326 525.9049,-326 549.032,-285.1685 560.4711,-257.9093\" fill=\"none\" stroke=\"#000000\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" points=\"563.1282,-251.3045 563.438,-258.9744 561.8219,-254.5516 560.5156,-257.7987 560.5156,-257.7987 560.5156,-257.7987 561.8219,-254.5516 557.5932,-256.623 563.1282,-251.3045 563.1282,-251.3045\" stroke=\"#000000\"/>\n",
|
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"373.5\" y=\"-329.8\">a</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 2->1 -->\n",
|
|
||||||
"<g class=\"edge\" id=\"edge6\">\n",
|
|
||||||
"<title>2->1</title>\n",
|
|
||||||
"<path d=\"M182.9363,-214.6821C237.5383,-207.6258 401.836,-186.3935 464.9394,-178.2386\" fill=\"none\" stroke=\"#000000\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" points=\"472.1191,-177.3108 465.5806,-181.332 468.648,-177.7594 465.1768,-178.208 465.1768,-178.208 465.1768,-178.208 468.648,-177.7594 464.7731,-175.084 472.1191,-177.3108 472.1191,-177.3108\" stroke=\"#000000\"/>\n",
|
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"300\" y=\"-202.8\">!a & !b</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 2->2 -->\n",
|
|
||||||
"<g class=\"edge\" id=\"edge7\">\n",
|
|
||||||
"<title>2->2</title>\n",
|
|
||||||
"<path d=\"M158.6208,-234.0373C157.3189,-243.8579 159.4453,-253 165,-253 169.166,-253 171.4036,-247.8576 171.7128,-241.1433\" fill=\"none\" stroke=\"#000000\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" points=\"171.3792,-234.0373 174.8541,-240.8818 171.5434,-237.5335 171.7076,-241.0296 171.7076,-241.0296 171.7076,-241.0296 171.5434,-237.5335 168.561,-241.1774 171.3792,-234.0373 171.3792,-234.0373\" stroke=\"#000000\"/>\n",
|
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"132\" y=\"-256.8\">!a & b & !c</text>\n",
|
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 5 -->\n",
|
"<!-- 5 -->\n",
|
||||||
"<g class=\"node\" id=\"node8\">\n",
|
"<g class=\"node\" id=\"node9\">\n",
|
||||||
"<title>5</title>\n",
|
"<title>5</title>\n",
|
||||||
"<ellipse cx=\"377\" cy=\"-226\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#1f78b4\" stroke-width=\"2\"/>\n",
|
"<ellipse cx=\"472\" cy=\"-134\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#ff4da0\" stroke-width=\"2\"/>\n",
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"377\" y=\"-222.3\">5</text>\n",
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"472\" y=\"-130.3\">5</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 2->5 -->\n",
|
"<!-- 0->5 -->\n",
|
||||||
|
"<g class=\"edge\" id=\"edge6\">\n",
|
||||||
|
"<title>0->5</title>\n",
|
||||||
|
"<path d=\"M74.1625,-275.0064C114.7106,-276.6504 215.1614,-277.3559 293,-250 357.4634,-227.3447 421.9916,-177.0856 453.0025,-150.7837\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" points=\"458.3953,-146.1635 455.1289,-153.11 455.7373,-148.4406 453.0794,-150.7178 453.0794,-150.7178 453.0794,-150.7178 455.7373,-148.4406 451.0299,-148.3257 458.3953,-146.1635 458.3953,-146.1635\" stroke=\"#000000\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"231\" y=\"-268.8\">!a & b & c</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 1->1 -->\n",
|
||||||
|
"<g class=\"edge\" id=\"edge7\">\n",
|
||||||
|
"<title>1->1</title>\n",
|
||||||
|
"<path d=\"M332.5701,-370.0417C328.2955,-380.9126 332.1055,-392 344,-392 353.2926,-392 357.6508,-385.2328 357.0745,-377.0885\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" points=\"355.4299,-370.0417 360.0885,-376.1426 356.2254,-373.4502 357.0209,-376.8586 357.0209,-376.8586 357.0209,-376.8586 356.2254,-373.4502 353.9534,-377.5745 355.4299,-370.0417 355.4299,-370.0417\" stroke=\"#000000\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"339.5\" y=\"-410.8\">1</text>\n",
|
||||||
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"336\" y=\"-395.8\">⓿</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 2->1 -->\n",
|
||||||
|
"<g class=\"edge\" id=\"edge8\">\n",
|
||||||
|
"<title>2->1</title>\n",
|
||||||
|
"<path d=\"M212.2367,-324.271C238.8738,-330.6853 289.2919,-342.8261 319.4472,-350.0876\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" points=\"326.2864,-351.7345 318.7434,-353.1581 322.8837,-350.9151 319.4809,-350.0957 319.4809,-350.0957 319.4809,-350.0957 322.8837,-350.9151 320.2184,-347.0332 326.2864,-351.7345 326.2864,-351.7345\" stroke=\"#000000\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"246.5\" y=\"-346.8\">a | !b</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 2->2 -->\n",
|
||||||
"<g class=\"edge\" id=\"edge9\">\n",
|
"<g class=\"edge\" id=\"edge9\">\n",
|
||||||
"<title>2->5</title>\n",
|
"<title>2->2</title>\n",
|
||||||
"<path d=\"M183.075,-217.7673C220.9374,-219.3747 308.6456,-223.0982 351.924,-224.9355\" fill=\"none\" stroke=\"#000000\"/>\n",
|
"<path d=\"M183.5873,-334.4167C179.7765,-345.166 183.4141,-356 194.5,-356 203.1609,-356 207.2757,-349.3875 206.8443,-341.3688\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
"<polygon fill=\"#000000\" points=\"358.9707,-225.2346 351.8434,-228.0848 355.4739,-225.0861 351.977,-224.9376 351.977,-224.9376 351.977,-224.9376 355.4739,-225.0861 352.1107,-221.7904 358.9707,-225.2346 358.9707,-225.2346\" stroke=\"#000000\"/>\n",
|
"<polygon fill=\"#000000\" points=\"205.4127,-334.4167 209.9099,-340.6375 206.1187,-337.8447 206.8246,-341.2728 206.8246,-341.2728 206.8246,-341.2728 206.1187,-337.8447 203.7394,-341.9082 205.4127,-334.4167 205.4127,-334.4167\" stroke=\"#000000\"/>\n",
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"220\" y=\"-224.8\">!a & b & c</text>\n",
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"176\" y=\"-374.8\">!a & b</text>\n",
|
||||||
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"186.5\" y=\"-359.8\">⓿</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 6 -->\n",
|
||||||
|
"<g class=\"node\" id=\"node5\">\n",
|
||||||
|
"<title>6</title>\n",
|
||||||
|
"<ellipse cx=\"693\" cy=\"-236\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#ff7f00\" stroke-width=\"2\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"693\" y=\"-232.3\">6</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 6->6 -->\n",
|
||||||
|
"<g class=\"edge\" id=\"edge22\">\n",
|
||||||
|
"<title>6->6</title>\n",
|
||||||
|
"<path d=\"M688.3583,-253.4099C687.4918,-263.0879 689.0391,-272 693,-272 695.9088,-272 697.5159,-267.1936 697.8213,-260.8073\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" points=\"697.6417,-253.4099 700.9607,-260.3314 697.7267,-256.9089 697.8117,-260.4078 697.8117,-260.4078 697.8117,-260.4078 697.7267,-256.9089 694.6626,-260.4843 697.6417,-253.4099 697.6417,-253.4099\" stroke=\"#000000\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"672.5\" y=\"-290.8\">!b & !c</text>\n",
|
||||||
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"685\" y=\"-275.8\">⓿</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 6->6 -->\n",
|
||||||
|
"<g class=\"edge\" id=\"edge23\">\n",
|
||||||
|
"<title>6->6</title>\n",
|
||||||
|
"<path d=\"M686.0017,-252.5959C680.7141,-273.8633 683.0469,-302 693,-302 701.9034,-302 704.7091,-279.4854 701.417,-259.5132\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" points=\"699.9983,-252.5959 704.4906,-258.8202 700.7015,-256.0245 701.4048,-259.4531 701.4048,-259.4531 701.4048,-259.4531 700.7015,-256.0245 698.319,-260.0861 699.9983,-252.5959 699.9983,-252.5959\" stroke=\"#000000\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"674.5\" y=\"-305.8\">b & !c</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 7 -->\n",
|
||||||
|
"<g class=\"node\" id=\"node6\">\n",
|
||||||
|
"<title>7</title>\n",
|
||||||
|
"<ellipse cx=\"875\" cy=\"-173\" fill=\"#ffffaa\" rx=\"18\" ry=\"18\" stroke=\"#ff7f00\" stroke-width=\"2\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"middle\" x=\"875\" y=\"-169.3\">7</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 6->7 -->\n",
|
||||||
|
"<g class=\"edge\" id=\"edge24\">\n",
|
||||||
|
"<title>6->7</title>\n",
|
||||||
|
"<path d=\"M707.7113,-225.3238C724.2127,-213.9133 752.1888,-196.2241 779,-187 802.161,-179.0318 829.9864,-175.5987 849.7032,-174.1196\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" points=\"856.8362,-173.643 850.0619,-177.2528 853.344,-173.8764 849.8518,-174.1098 849.8518,-174.1098 849.8518,-174.1098 853.344,-173.8764 849.6418,-170.9668 856.8362,-173.643 856.8362,-173.643\" stroke=\"#000000\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"781\" y=\"-205.8\">!b & c</text>\n",
|
||||||
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"791.5\" y=\"-190.8\">⓿</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 6->7 -->\n",
|
||||||
|
"<g class=\"edge\" id=\"edge25\">\n",
|
||||||
|
"<title>6->7</title>\n",
|
||||||
|
"<path d=\"M711.0566,-236.2051C736.4385,-235.8609 783.6313,-232.8772 820,-217 833.8054,-210.9731 847.0599,-200.5581 857.0971,-191.3737\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" points=\"862.3253,-186.4335 859.4008,-193.5307 859.7813,-188.8373 857.2374,-191.2411 857.2374,-191.2411 857.2374,-191.2411 859.7813,-188.8373 855.0739,-188.9515 862.3253,-186.4335 862.3253,-186.4335\" stroke=\"#000000\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"782.5\" y=\"-232.8\">b & c</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 7->6 -->\n",
|
||||||
|
"<g class=\"edge\" id=\"edge26\">\n",
|
||||||
|
"<title>7->6</title>\n",
|
||||||
|
"<path d=\"M868.2515,-189.799C859.937,-207.9458 843.9091,-235.8843 820,-248 786.995,-264.7249 742.9786,-254.5089 716.3806,-245.393\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" points=\"709.6876,-242.9955 717.3399,-242.3907 712.9826,-244.1758 716.2776,-245.3561 716.2776,-245.3561 716.2776,-245.3561 712.9826,-244.1758 715.2153,-248.3216 709.6876,-242.9955 709.6876,-242.9955\" stroke=\"#000000\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"779\" y=\"-259.8\">!b & !c</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 7->6 -->\n",
|
||||||
|
"<g class=\"edge\" id=\"edge27\">\n",
|
||||||
|
"<title>7->6</title>\n",
|
||||||
|
"<path d=\"M871.2552,-190.9311C865.1642,-214.9751 850.5771,-256.7486 820,-275 785.5301,-295.575 739.2279,-270.1466 713.1151,-251.7572\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" points=\"707.2405,-247.4975 714.7567,-249.0566 710.074,-249.5522 712.9075,-251.6068 712.9075,-251.6068 712.9075,-251.6068 710.074,-249.5522 711.0584,-254.1569 707.2405,-247.4975 707.2405,-247.4975\" stroke=\"#000000\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"781\" y=\"-300.8\">b & !c</text>\n",
|
||||||
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"791.5\" y=\"-285.8\">⓿</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 7->7 -->\n",
|
||||||
|
"<g class=\"edge\" id=\"edge28\">\n",
|
||||||
|
"<title>7->7</title>\n",
|
||||||
|
"<path d=\"M871.7643,-190.7817C871.2144,-200.3149 872.293,-209 875,-209 876.988,-209 878.0977,-204.3161 878.3292,-198.0521\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" points=\"878.2357,-190.7817 881.4756,-197.7406 878.2808,-194.2814 878.3258,-197.7812 878.3258,-197.7812 878.3258,-197.7812 878.2808,-194.2814 875.1761,-197.8217 878.2357,-190.7817 878.2357,-190.7817\" stroke=\"#000000\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"856.5\" y=\"-212.8\">!b & c</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 7->7 -->\n",
|
||||||
|
"<g class=\"edge\" id=\"edge29\">\n",
|
||||||
|
"<title>7->7</title>\n",
|
||||||
|
"<path d=\"M869.6841,-190.4203C866.6538,-207.791 868.4258,-227 875,-227 880.7011,-227 882.7908,-212.5545 881.2691,-197.3894\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" points=\"880.3159,-190.4203 884.3856,-196.9288 880.7902,-193.888 881.2646,-197.3557 881.2646,-197.3557 881.2646,-197.3557 880.7902,-193.888 878.1437,-197.7826 880.3159,-190.4203 880.3159,-190.4203\" stroke=\"#000000\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"858\" y=\"-245.8\">b & c</text>\n",
|
||||||
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"867\" y=\"-230.8\">⓿</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 3->6 -->\n",
|
||||||
|
"<g class=\"edge\" id=\"edge10\">\n",
|
||||||
|
"<title>3->6</title>\n",
|
||||||
|
"<path d=\"M599.4245,-105.223C615.085,-117.9544 640.1143,-139.9578 657,-163 668.2272,-178.3206 677.5892,-197.6777 683.9495,-212.6089\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" points=\"686.6565,-219.1274 681.0626,-213.8708 685.3141,-215.895 683.9717,-212.6627 683.9717,-212.6627 683.9717,-212.6627 685.3141,-215.895 686.8809,-211.4545 686.6565,-219.1274 686.6565,-219.1274\" stroke=\"#000000\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"621\" y=\"-166.8\">a & !c</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 3->7 -->\n",
|
||||||
|
"<g class=\"edge\" id=\"edge11\">\n",
|
||||||
|
"<title>3->7</title>\n",
|
||||||
|
"<path d=\"M602.5885,-89.8752C646.7134,-80.5871 763.9336,-62.5742 839,-113 851.8806,-121.6525 860.87,-136.6083 866.6445,-149.423\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" points=\"869.3748,-155.8843 863.7485,-150.6624 868.0125,-152.6603 866.6501,-149.4363 866.6501,-149.4363 866.6501,-149.4363 868.0125,-152.6603 869.5517,-148.2102 869.3748,-155.8843 869.3748,-155.8843\" stroke=\"#000000\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"729\" y=\"-86.8\">a & c</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 4->6 -->\n",
|
||||||
|
"<g class=\"edge\" id=\"edge15\">\n",
|
||||||
|
"<title>4->6</title>\n",
|
||||||
|
"<path d=\"M206.0931,-155.87C229.3352,-182.0177 284.5214,-236 344,-236 344,-236 344,-236 585,-236 613.1777,-236 645.4908,-236 667.3737,-236\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" points=\"674.655,-236 667.6551,-239.1501 671.155,-236 667.655,-236.0001 667.655,-236.0001 667.655,-236.0001 671.155,-236 667.655,-232.8501 674.655,-236 674.655,-236\" stroke=\"#000000\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"454\" y=\"-239.8\">a & !c</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 4->7 -->\n",
|
||||||
|
"<g class=\"edge\" id=\"edge16\">\n",
|
||||||
|
"<title>4->7</title>\n",
|
||||||
|
"<path d=\"M205.9324,-127.3922C228.8929,-99.8537 283.6082,-43 344,-43 344,-43 344,-43 799.5,-43 847.458,-43 865.4676,-109.9758 871.8132,-147.7805\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" points=\"872.9322,-154.9241 868.7367,-148.4959 872.3905,-151.4662 871.8488,-148.0084 871.8488,-148.0084 871.8488,-148.0084 872.3905,-151.4662 874.9608,-147.5209 872.9322,-154.9241 872.9322,-154.9241\" stroke=\"#000000\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"569\" y=\"-46.8\">a & c</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 4->3 -->\n",
|
||||||
|
"<g class=\"edge\" id=\"edge12\">\n",
|
||||||
|
"<title>4->3</title>\n",
|
||||||
|
"<path d=\"M212.2864,-138.3794C218.2247,-137.2266 224.886,-135.9938 231,-135 353.5956,-115.0729 384.3247,-109.4533 508,-98 525.2965,-96.3982 544.8427,-95.3925 559.9135,-94.7902\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" points=\"566.923,-94.5261 560.0466,-97.9375 563.4255,-94.6579 559.9279,-94.7897 559.9279,-94.7897 559.9279,-94.7897 563.4255,-94.6579 559.8093,-91.642 566.923,-94.5261 566.923,-94.5261\" stroke=\"#000000\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"395\" y=\"-112.8\">!a & !b</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 4->4 -->\n",
|
||||||
|
"<g class=\"edge\" id=\"edge13\">\n",
|
||||||
|
"<title>4->4</title>\n",
|
||||||
|
"<path d=\"M183.5873,-156.4167C179.7765,-167.166 183.4141,-178 194.5,-178 203.1609,-178 207.2757,-171.3875 206.8443,-163.3688\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" points=\"205.4127,-156.4167 209.9099,-162.6375 206.1187,-159.8447 206.8246,-163.2728 206.8246,-163.2728 206.8246,-163.2728 206.1187,-159.8447 203.7394,-163.9082 205.4127,-156.4167 205.4127,-156.4167\" stroke=\"#000000\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"161.5\" y=\"-181.8\">!a & b & !c</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 4->5 -->\n",
|
||||||
|
"<g class=\"edge\" id=\"edge14\">\n",
|
||||||
|
"<title>4->5</title>\n",
|
||||||
|
"<path d=\"M212.7076,-141.4751C260.7301,-140.0907 390.9341,-136.337 446.4098,-134.7377\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" points=\"453.7254,-134.5268 446.8191,-137.8773 450.2269,-134.6277 446.7283,-134.7286 446.7283,-134.7286 446.7283,-134.7286 450.2269,-134.6277 446.6375,-131.58 453.7254,-134.5268 453.7254,-134.5268\" stroke=\"#000000\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"313\" y=\"-141.8\">!a & b & c</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 5->6 -->\n",
|
||||||
|
"<g class=\"edge\" id=\"edge20\">\n",
|
||||||
|
"<title>5->6</title>\n",
|
||||||
|
"<path d=\"M486.6714,-144.6952C493.0532,-149.1042 500.7232,-154.0858 508,-158 537.4417,-173.8366 626.6308,-209.7338 669.4995,-226.7372\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" points=\"676.2101,-229.3945 668.542,-229.7459 672.9559,-228.1059 669.7018,-226.8172 669.7018,-226.8172 669.7018,-226.8172 672.9559,-228.1059 670.8616,-223.8885 676.2101,-229.3945 676.2101,-229.3945\" stroke=\"#000000\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"567\" y=\"-205.8\">a & !c</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 5->7 -->\n",
|
||||||
|
"<g class=\"edge\" id=\"edge21\">\n",
|
||||||
|
"<title>5->7</title>\n",
|
||||||
|
"<path d=\"M490.099,-135.7515C554.8067,-142.0136 774.8091,-163.3041 849.7547,-170.5569\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" points=\"856.9509,-171.2533 849.68,-173.7143 853.4672,-170.9161 849.9834,-170.579 849.9834,-170.579 849.9834,-170.579 853.4672,-170.9161 850.2869,-167.4436 856.9509,-171.2533 856.9509,-171.2533\" stroke=\"#000000\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"677\" y=\"-160.8\">a & c</text>\n",
|
||||||
|
"</g>\n",
|
||||||
|
"<!-- 5->3 -->\n",
|
||||||
|
"<g class=\"edge\" id=\"edge17\">\n",
|
||||||
|
"<title>5->3</title>\n",
|
||||||
|
"<path d=\"M487.7728,-124.7133C493.9403,-121.3401 501.1635,-117.6984 508,-115 524.9465,-108.311 544.7975,-102.9534 560.099,-99.3241\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
|
"<polygon fill=\"#000000\" points=\"567.2125,-97.6829 561.0998,-102.326 563.8021,-98.4698 560.3917,-99.2566 560.3917,-99.2566 560.3917,-99.2566 563.8021,-98.4698 559.6835,-96.1872 567.2125,-97.6829 567.2125,-97.6829\" stroke=\"#000000\"/>\n",
|
||||||
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"508\" y=\"-118.8\">!a & !b</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 5->4 -->\n",
|
"<!-- 5->4 -->\n",
|
||||||
"<g class=\"edge\" id=\"edge15\">\n",
|
"<g class=\"edge\" id=\"edge18\">\n",
|
||||||
"<title>5->4</title>\n",
|
"<title>5->4</title>\n",
|
||||||
"<path d=\"M395.0629,-226.7526C429.3694,-228.1821 504.0395,-231.2933 543.4547,-232.9356\" fill=\"none\" stroke=\"#000000\"/>\n",
|
"<path d=\"M454.6985,-139.2604C435.8147,-144.7055 404.5849,-152.8477 377,-156 320.7026,-162.4335 254.2876,-153.112 219.1642,-146.8623\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
"<polygon fill=\"#000000\" points=\"550.8452,-233.2436 543.7201,-236.0993 547.3483,-233.0978 543.8513,-232.952 543.8513,-232.952 543.8513,-232.952 547.3483,-233.0978 543.9825,-229.8048 550.8452,-233.2436 550.8452,-233.2436\" stroke=\"#000000\"/>\n",
|
"<polygon fill=\"#000000\" points=\"212.1591,-145.5821 219.6114,-143.742 215.6021,-146.2114 219.0451,-146.8406 219.0451,-146.8406 219.0451,-146.8406 215.6021,-146.2114 218.4787,-149.9393 212.1591,-145.5821 212.1591,-145.5821\" stroke=\"#000000\"/>\n",
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"486.5\" y=\"-234.8\">a</text>\n",
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"311\" y=\"-176.8\">!a & b & !c</text>\n",
|
||||||
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"336\" y=\"-161.8\">⓿</text>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"<!-- 5->1 -->\n",
|
"<!-- 5->5 -->\n",
|
||||||
"<g class=\"edge\" id=\"edge13\">\n",
|
"<g class=\"edge\" id=\"edge19\">\n",
|
||||||
"<title>5->1</title>\n",
|
"<title>5->5</title>\n",
|
||||||
"<path d=\"M392.481,-216.2542C398.7338,-212.5082 406.0931,-208.3347 413,-205 430.3661,-196.6156 450.7234,-188.7653 466.1434,-183.1996\" fill=\"none\" stroke=\"#000000\"/>\n",
|
"<path d=\"M462.4254,-149.5414C459.7303,-159.9087 462.9219,-170 472,-170 478.9504,-170 482.4503,-164.0847 482.4995,-156.6591\" fill=\"none\" stroke=\"#000000\"/>\n",
|
||||||
"<polygon fill=\"#000000\" points=\"472.8523,-180.8094 467.3154,-186.126 469.5553,-181.9841 466.2583,-183.1587 466.2583,-183.1587 466.2583,-183.1587 469.5553,-181.9841 465.2011,-180.1914 472.8523,-180.8094 472.8523,-180.8094\" stroke=\"#000000\"/>\n",
|
"<polygon fill=\"#000000\" points=\"481.5746,-149.5414 485.6004,-156.0771 482.0256,-153.0123 482.4767,-156.4831 482.4767,-156.4831 482.4767,-156.4831 482.0256,-153.0123 479.353,-156.889 481.5746,-149.5414 481.5746,-149.5414\" stroke=\"#000000\"/>\n",
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"413\" y=\"-208.8\">!a & !b</text>\n",
|
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"441\" y=\"-188.8\">!a & b & c</text>\n",
|
||||||
"</g>\n",
|
"<text fill=\"#1f78b4\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"464\" y=\"-173.8\">⓿</text>\n",
|
||||||
"<!-- 5->2 -->\n",
|
|
||||||
"<g class=\"edge\" id=\"edge14\">\n",
|
|
||||||
"<title>5->2</title>\n",
|
|
||||||
"<path d=\"M359.3975,-230.8141C330.1706,-238.0861 269.9042,-250.0143 220,-240 208.7869,-237.7499 197.0066,-233.157 187.2379,-228.6631\" fill=\"none\" stroke=\"#000000\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" points=\"180.8281,-225.5977 188.5021,-225.776 183.9856,-227.1078 187.1431,-228.6178 187.1431,-228.6178 187.1431,-228.6178 183.9856,-227.1078 185.7841,-231.4596 180.8281,-225.5977 180.8281,-225.5977\" stroke=\"#000000\"/>\n",
|
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"232.5\" y=\"-261.8\">!a & b</text>\n",
|
|
||||||
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"243\" y=\"-246.8\">❶</text>\n",
|
|
||||||
"</g>\n",
|
|
||||||
"<!-- 3->3 -->\n",
|
|
||||||
"<g class=\"edge\" id=\"edge10\">\n",
|
|
||||||
"<title>3->3</title>\n",
|
|
||||||
"<path d=\"M158.6208,-51.0373C157.3189,-60.8579 159.4453,-70 165,-70 169.166,-70 171.4036,-64.8576 171.7128,-58.1433\" fill=\"none\" stroke=\"#000000\"/>\n",
|
|
||||||
"<polygon fill=\"#000000\" points=\"171.3792,-51.0373 174.8541,-57.8818 171.5434,-54.5335 171.7076,-58.0296 171.7076,-58.0296 171.7076,-58.0296 171.5434,-54.5335 168.561,-58.1774 171.3792,-51.0373 171.3792,-51.0373\" stroke=\"#000000\"/>\n",
|
|
||||||
"<text fill=\"#000000\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"160.5\" y=\"-88.8\">1</text>\n",
|
|
||||||
"<text fill=\"#ff4da0\" font-family=\"Lato\" font-size=\"14.00\" text-anchor=\"start\" x=\"157\" y=\"-73.8\">❶</text>\n",
|
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"</g>\n",
|
"</g>\n",
|
||||||
"</svg>"
|
"</svg>"
|
||||||
|
|
@ -2754,6 +2816,13 @@
|
||||||
"spot.highlight_languages(aut)\n",
|
"spot.highlight_languages(aut)\n",
|
||||||
"aut.show('.bas')"
|
"aut.show('.bas')"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue