Package owl.automaton

Class Views


  • public final class Views
    extends Object
    • Method Detail

      • filtered

        public static <S,​A extends EmersonLeiAcceptanceAutomaton<S,​A> filtered​(Automaton<S,​A> automaton,
                                                                                             Views.Filter<S> filter)
        Create a filtered view on the passed automaton. The returned automaton only contains states that are reachable from the initial states. States can be protected from removal by marking them as initial. It is assumed that passed automaton is not changed.
        Type Parameters:
        S - the type of the states
        A - the type of
        Parameters:
        automaton - the backing automaton
        filter - the filter defined on the automaton
        Returns:
        a on-the-fly generated view on the automaton.
      • quotientAutomaton

        public static <S,​T,​A extends EmersonLeiAcceptanceAutomaton<T,​A> quotientAutomaton​(Automaton<S,​A> automaton,
                                                                                                              Function<? super S,​? extends T> mappingFunction)
        This is essentially fmap :: (S -> T) -> Automaton<S, A> -> Automaton<T, A>. When the function is injective, the effect is just replacing states of type S with states of type T. If it is not, the result will be a quotient wrt. the equivalence classes induced by the preimages.
        Type Parameters:
        S - input state type
        T - output state type
        A - acceptance condition
        Parameters:
        automaton - input automaton
        mappingFunction - function from S to T
        Returns:
        Output automaton where states are mapped from S to T (and possibly quotiented)