Package owl.automaton.acceptance
Class GeneralizedRabinAcceptance
- java.lang.Object
-
- owl.automaton.acceptance.OmegaAcceptance
-
- owl.automaton.acceptance.GeneralizedRabinAcceptance
-
- Direct Known Subclasses:
RabinAcceptance
public class GeneralizedRabinAcceptance extends OmegaAcceptance
Generalized Rabin Acceptance - OR (Fin(i) and AND Inf(j)).A generalized Rabin acceptance is formed by a disjunction of a conjunction between one Fin and multiple Inf conditions.
According to the HOA specifications, the indices are monotonically increasing and used for exactly one Fin/Inf atom.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classGeneralizedRabinAcceptance.Builderstatic classGeneralizedRabinAcceptance.RabinPair
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intacceptanceSets()Optional<BitSet>acceptingSet()Returns a set of indices which repeated infinitely often are accepting orOptional.empty()if no such set exists.jhoafparser.ast.BooleanExpression<jhoafparser.ast.AtomAcceptance>booleanExpression()Get the canonical representation asBooleanExpression.GeneralizedRabinAcceptancefilter(IntPredicate predicate)booleanisWellFormedEdge(Edge<?> edge)This method determines if the given edge is a well defined edge for this acceptance condition.Stringname()List<Object>nameExtra()static GeneralizedRabinAcceptanceof(List<GeneralizedRabinAcceptance.RabinPair> pairs)static GeneralizedRabinAcceptanceof(jhoafparser.ast.BooleanExpression<jhoafparser.ast.AtomAcceptance> expression)static GeneralizedRabinAcceptanceof(GeneralizedRabinAcceptance.RabinPair... pairs)List<GeneralizedRabinAcceptance.RabinPair>pairs()Returns an unmodifiable view of the pair collection.Optional<BitSet>rejectingSet()Returns a set of indices which repeated infinitely often are rejecting orOptional.empty()if no such set exists.-
Methods inherited from class owl.automaton.acceptance.OmegaAcceptance
isAccepting, isAcceptingEdge, isWellFormedAutomaton, toString
-
-
-
-
Method Detail
-
acceptingSet
public Optional<BitSet> acceptingSet()
Description copied from class:OmegaAcceptanceReturns a set of indices which repeated infinitely often are accepting orOptional.empty()if no such set exists.- Specified by:
acceptingSetin classOmegaAcceptance- See Also:
OmegaAcceptance.isAccepting(BitSet)
-
rejectingSet
public Optional<BitSet> rejectingSet()
Description copied from class:OmegaAcceptanceReturns a set of indices which repeated infinitely often are rejecting orOptional.empty()if no such set exists.- Specified by:
rejectingSetin classOmegaAcceptance- See Also:
OmegaAcceptance.isAccepting(BitSet)
-
of
public static GeneralizedRabinAcceptance of(GeneralizedRabinAcceptance.RabinPair... pairs)
-
of
public static GeneralizedRabinAcceptance of(List<GeneralizedRabinAcceptance.RabinPair> pairs)
-
of
public static GeneralizedRabinAcceptance of(jhoafparser.ast.BooleanExpression<jhoafparser.ast.AtomAcceptance> expression)
-
acceptanceSets
public int acceptanceSets()
- Specified by:
acceptanceSetsin classOmegaAcceptance
-
booleanExpression
public jhoafparser.ast.BooleanExpression<jhoafparser.ast.AtomAcceptance> booleanExpression()
Description copied from class:OmegaAcceptanceGet the canonical representation asBooleanExpression.- Specified by:
booleanExpressionin classOmegaAcceptance
-
name
public String name()
- Specified by:
namein classOmegaAcceptance
-
nameExtra
public List<Object> nameExtra()
- Overrides:
nameExtrain classOmegaAcceptance
-
pairs
public List<GeneralizedRabinAcceptance.RabinPair> pairs()
Returns an unmodifiable view of the pair collection.- Returns:
- The rabin pairs of this acceptance condition
-
isWellFormedEdge
public boolean isWellFormedEdge(Edge<?> edge)
Description copied from class:OmegaAcceptanceThis 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:
isWellFormedEdgein classOmegaAcceptance- Parameters:
edge- The edge to be checked.- Returns:
- Whether the edge acceptance is well defined.
-
filter
public GeneralizedRabinAcceptance filter(IntPredicate predicate)
-
-