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 class
GeneralizedRabinAcceptance.Builder
static class
GeneralizedRabinAcceptance.RabinPair
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
acceptanceSets()
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
.GeneralizedRabinAcceptance
filter(IntPredicate predicate)
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 GeneralizedRabinAcceptance
of(List<GeneralizedRabinAcceptance.RabinPair> pairs)
static GeneralizedRabinAcceptance
of(jhoafparser.ast.BooleanExpression<jhoafparser.ast.AtomAcceptance> expression)
static GeneralizedRabinAcceptance
of(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:OmegaAcceptance
Returns a set of indices which repeated infinitely often are accepting orOptional.empty()
if no such set exists.- Specified by:
acceptingSet
in classOmegaAcceptance
- See Also:
OmegaAcceptance.isAccepting(BitSet)
-
rejectingSet
public Optional<BitSet> rejectingSet()
Description copied from class:OmegaAcceptance
Returns a set of indices which repeated infinitely often are rejecting orOptional.empty()
if no such set exists.- Specified by:
rejectingSet
in 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:
acceptanceSets
in classOmegaAcceptance
-
booleanExpression
public jhoafparser.ast.BooleanExpression<jhoafparser.ast.AtomAcceptance> booleanExpression()
Description copied from class:OmegaAcceptance
Get the canonical representation asBooleanExpression
.- Specified by:
booleanExpression
in classOmegaAcceptance
-
name
public String name()
- Specified by:
name
in classOmegaAcceptance
-
nameExtra
public List<Object> nameExtra()
- Overrides:
nameExtra
in 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: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 classOmegaAcceptance
- Parameters:
edge
- The edge to be checked.- Returns:
- Whether the edge acceptance is well defined.
-
filter
public GeneralizedRabinAcceptance filter(IntPredicate predicate)
-
-