Package owl.ltl

## Class WOperator

- java.lang.Object
- - owl.ltl.AbstractFormula
  - - owl.ltl.BinaryModalOperator
    - - owl.ltl.WOperator

- All Implemented Interfaces:
    `Formula`

      public final class WOperator
      extends BinaryModalOperator

  Weak Until.

- - ### Field Summary

    - ### Fields inherited from class owl.ltl.BinaryModalOperator

      `left, right`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `WOperator​(Formula leftOperand, Formula rightOperand)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `<A,B> A` | `accept​(BinaryVisitor<B,A> v, B parameter)` |
    `int` | `accept​(IntVisitor v)` |
    `<R> R` | `accept​(Visitor<R> v)` |
    `char` | `getOperator()` |
    `boolean` | `isPureEventual()` |
    `boolean` | `isPureUniversal()` |
    `boolean` | `isSuspendable()` |
    `Formula` | `nnf()` |
    `Formula` | `not()` | Syntactically negate this formula.
    `static Formula` | `of​(Formula leftOperand, Formula rightOperand)` | Construct a LTL-equivalent formula for (leftOperand)W(rightOperand).
    `Formula` | `unfold()` |
    `Formula` | `unfoldTemporalStep​(BitSet valuation)` | Short-cut operation to avoid intermediate construction of formula ASTs.

    - ### Methods inherited from class owl.ltl.AbstractFormula

      `equals, hashCode`

    - ### Methods inherited from class owl.ltl.BinaryModalOperator

      `allMatch, anyMatch, equals2, hashCodeOnce, temporalStep, temporalStepUnfold, toString`

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### WOperator

          public WOperator​(Formula leftOperand,
                           Formula rightOperand)

  - ### Method Detail

    - #### of

          public static Formula of​(Formula leftOperand,
                                   Formula rightOperand)

      Construct a LTL-equivalent formula for (leftOperand)W(rightOperand). The method examines the operands and might choose to construct a simpler formula. However, the size of the syntax tree is not increased. In order to syntactically construct (leftOperand)W(rightOperand) use the constructor.
      Parameters:
        `leftOperand` - The left operand of the W-operator
        `rightOperand` - The right operand of the W-operator
      Returns:
        a formula equivalent to (leftOperand)W(rightOperand)

    - #### accept

          public int accept​(IntVisitor v)

    - #### accept

          public <R> R accept​(Visitor<R> v)

    - #### accept

          public <A,B> A accept​(BinaryVisitor<B,A> v,
                                B parameter)

    - #### getOperator

          public char getOperator()

      Specified by:
        `getOperator` in class `BinaryModalOperator`

    - #### isPureEventual

          public boolean isPureEventual()

    - #### isPureUniversal

          public boolean isPureUniversal()

    - #### isSuspendable

          public boolean isSuspendable()

    - #### nnf

          public Formula nnf()

    - #### not

          public Formula not()

      Description copied from interface: `Formula`
      Syntactically negate this formula.

      If this formula is in NNF, the returned negation will also be in NNF.

      Returns:
        the negation of this formula.

    - #### unfold

          public Formula unfold()

    - #### unfoldTemporalStep

          public Formula unfoldTemporalStep​(BitSet valuation)

      Description copied from interface: `Formula`
      Short-cut operation to avoid intermediate construction of formula ASTs.