Package owl.automaton.acceptance
Class RabinAcceptance
- java.lang.Object
-
- owl.automaton.acceptance.OmegaAcceptance
-
- owl.automaton.acceptance.GeneralizedRabinAcceptance
-
- owl.automaton.acceptance.RabinAcceptance
-
public final class RabinAcceptance extends GeneralizedRabinAcceptance
This class represents a Rabin acceptance. It consists of multipleGeneralizedRabinAcceptance.RabinPair
s, which in turn basically comprise a (potentially lazily allocated) Fin and Inf set. A Rabin pair is accepting, if it's Inf set is seen infinitely often and it's Fin set is seen finitely often. The corresponding Rabin acceptance is accepting if any Rabin pair is accepting. Note that therefore a Rabin acceptance without any pairs rejects every word.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
RabinAcceptance.Builder
-
Nested classes/interfaces inherited from class owl.automaton.acceptance.GeneralizedRabinAcceptance
GeneralizedRabinAcceptance.RabinPair
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isWellFormedEdge(Edge<?> edge)
This method determines if the given edge is a well defined edge for this acceptance condition.String
name()
List<Object>
nameExtra()
static RabinAcceptance
of(int count)
static RabinAcceptance
of(List<GeneralizedRabinAcceptance.RabinPair> pairs)
static RabinAcceptance
of(jhoafparser.ast.BooleanExpression<jhoafparser.ast.AtomAcceptance> expression)
static RabinAcceptance
of(GeneralizedRabinAcceptance.RabinPair... pairs)
-
Methods inherited from class owl.automaton.acceptance.GeneralizedRabinAcceptance
acceptanceSets, acceptingSet, booleanExpression, filter, pairs, rejectingSet
-
Methods inherited from class owl.automaton.acceptance.OmegaAcceptance
isWellFormedAutomaton, toString
-
-
-
-
Method Detail
-
of
public static RabinAcceptance of(int count)
-
of
public static RabinAcceptance of(List<GeneralizedRabinAcceptance.RabinPair> pairs)
-
of
public static RabinAcceptance of(GeneralizedRabinAcceptance.RabinPair... pairs)
-
of
public static RabinAcceptance of(jhoafparser.ast.BooleanExpression<jhoafparser.ast.AtomAcceptance> expression)
-
name
public String name()
- Overrides:
name
in classGeneralizedRabinAcceptance
-
nameExtra
public List<Object> nameExtra()
- Overrides:
nameExtra
in classGeneralizedRabinAcceptance
-
isWellFormedEdge
public boolean isWellFormedEdge(Edge<?> edge)
Description copied from class:OmegaAcceptance
This method determines if the given edge is a well defined edge for this acceptance condition. E.g. a parity condition might check that the edge has at most one acceptance index and the index is less than the colour count.- Overrides:
isWellFormedEdge
in classGeneralizedRabinAcceptance
- Parameters:
edge
- The edge to be checked.- Returns:
- Whether the edge acceptance is well defined.
-
-