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()
BitSet
acceptingSet()
jhoafparser.ast.BooleanExpression<jhoafparser.ast.AtomAcceptance>
booleanExpression()
Builds 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.BitSet
rejectingSet()
-
Methods inherited from class owl.automaton.acceptance.OmegaAcceptance
isWellFormedAutomaton, toString
-
-
-
-
Method Detail
-
acceptingSet
public BitSet acceptingSet()
- Specified by:
acceptingSet
in classOmegaAcceptance
-
rejectingSet
public BitSet rejectingSet()
- Specified by:
rejectingSet
in classOmegaAcceptance
-
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
Builds 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.- Specified by:
isWellFormedEdge
in classOmegaAcceptance
- Parameters:
edge
- The edge to be checked.- Returns:
- Whether the edge acceptance is well defined.
-
filter
public GeneralizedRabinAcceptance filter(IntPredicate predicate)
-
-