Package owl.automaton.acceptance
Class GeneralizedRabinAcceptance
- java.lang.Object
-
- owl.automaton.acceptance.EmersonLeiAcceptance
-
- owl.automaton.acceptance.GeneralizedRabinAcceptance
-
- Direct Known Subclasses:
RabinAcceptance
public class GeneralizedRabinAcceptance extends EmersonLeiAcceptance
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
-
Field Summary
Fields Modifier and Type Field Description protected List<GeneralizedRabinAcceptance.RabinPair>
pairs
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Optional<ImmutableBitSet>
acceptingSet()
Returns a set of indices which repeated infinitely often are accepting orOptional.empty()
if no such set exists.GeneralizedRabinAcceptance
filter(IntPredicate predicate)
PropositionalFormula<Integer>
lazyBooleanExpression()
String
name()
List<Object>
nameExtra()
static GeneralizedRabinAcceptance
of(List<GeneralizedRabinAcceptance.RabinPair> pairs)
static GeneralizedRabinAcceptance
of(GeneralizedRabinAcceptance.RabinPair... pairs)
static Optional<? extends GeneralizedRabinAcceptance>
ofPartial(PropositionalFormula<Integer> expression)
List<GeneralizedRabinAcceptance.RabinPair>
pairs()
Returns an unmodifiable view of the pair collection.Optional<ImmutableBitSet>
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.EmersonLeiAcceptance
acceptanceSets, booleanExpression, equals, hashCode, isAccepting, isAccepting, isAcceptingEdge, isWellFormedAutomaton, of, toString
-
-
-
-
Field Detail
-
pairs
protected final List<GeneralizedRabinAcceptance.RabinPair> pairs
-
-
Method Detail
-
acceptingSet
public Optional<ImmutableBitSet> acceptingSet()
Description copied from class:EmersonLeiAcceptance
Returns a set of indices which repeated infinitely often are accepting orOptional.empty()
if no such set exists.- Overrides:
acceptingSet
in classEmersonLeiAcceptance
- See Also:
EmersonLeiAcceptance.isAccepting(BitSet)
-
rejectingSet
public Optional<ImmutableBitSet> rejectingSet()
Description copied from class:EmersonLeiAcceptance
Returns a set of indices which repeated infinitely often are rejecting orOptional.empty()
if no such set exists.- Overrides:
rejectingSet
in classEmersonLeiAcceptance
- See Also:
EmersonLeiAcceptance.isAccepting(BitSet)
-
of
public static GeneralizedRabinAcceptance of(GeneralizedRabinAcceptance.RabinPair... pairs)
-
of
public static GeneralizedRabinAcceptance of(List<GeneralizedRabinAcceptance.RabinPair> pairs)
-
ofPartial
public static Optional<? extends GeneralizedRabinAcceptance> ofPartial(PropositionalFormula<Integer> expression)
-
lazyBooleanExpression
public PropositionalFormula<Integer> lazyBooleanExpression()
- Overrides:
lazyBooleanExpression
in classEmersonLeiAcceptance
-
name
public String name()
- Overrides:
name
in classEmersonLeiAcceptance
-
nameExtra
public List<Object> nameExtra()
- Overrides:
nameExtra
in classEmersonLeiAcceptance
-
pairs
public List<GeneralizedRabinAcceptance.RabinPair> pairs()
Returns an unmodifiable view of the pair collection.- Returns:
- The rabin pairs of this acceptance condition
-
filter
public GeneralizedRabinAcceptance filter(IntPredicate predicate)
-
-