automaton.is_costandard

Whether an automaton is costandard, i.e.:

  • a single final state
  • whose (final) weight is 1
  • without outgoing transitions

This is equivalent to calling aut.transpose().is_standard().

See also:

Examples

In [1]:
import vcsn
In [2]:
a = vcsn.B.expression('a+b').standard()
a
Out[2]:
%3 I0 0 0 I0->0 F1 F3 1 1 0->1 a 3 3 0->3 b 1->F1 3->F3
In [3]:
a.is_costandard()
Out[3]:
False
In [4]:
a = vcsn.Z.expression('ab').standard() * 2
a
Out[4]:
%3 I0 0 0 I0->0 F2 1 1 0->1 a 2 2 1->2 b 2->F2 ⟨2⟩
In [5]:
a.is_costandard()
Out[5]:
False
In [6]:
a = vcsn.B.expression('a(ab)*').automaton()
a
Out[6]:
%3 I0 0 0 I0->0 F1 1 1 0->1 a 1->F1 2 2 1->2 a 2->1 b
In [7]:
a.is_costandard()
Out[7]:
False