Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download
Views: 45910
Kernel: Python 3

automaton.trim

Create a new automaton from the useful part of the input, i.e., the subautomaton whose states both accessible (can be reached from a initial state) and coaccessible (can reach a final state).

Preconditions:

  • None

Postconditions:

  • Result.is_accessible

  • Result.is_coaccessible

  • Result.is_trim

See also:

Examples

import vcsn

The following automaton has states that cannot be reach any final(s) states:

%%automaton -s a context = "lal_char(abc), b" $ -> 0 0 -> 1 a 1 -> $ 2 -> 0 a 1 -> 3 a
Image in a Jupyter notebook
a.is_trim()
False

Calling trim returns the same automaton, but without any useless states:

a.trim()
Image in a Jupyter notebook
a.trim().is_trim()
True