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 multiple `GeneralizedRabinAcceptance.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 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### 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 class `GeneralizedRabinAcceptance`

    - #### nameExtra

          public List<Object> nameExtra()

      Overrides:
        `nameExtra` in class `GeneralizedRabinAcceptance`

    - #### 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 class `GeneralizedRabinAcceptance`
      Parameters:
        `edge` - The edge to be checked.
      Returns:
        Whether the edge acceptance is well defined.