Interface PropertyOracle<I,​A extends Output<I,​D>,​P,​D>

    • Method Detail

      • isDisproved

        default boolean isDisproved()
        Returns whether the property is disproved.
        Returns:
        whether the property is disproved.
      • setProperty

        void setProperty​(P property)
        Set the property.
        Parameters:
        property - the property to set.
      • getProperty

        @Pure
        P getProperty()
        Returns the property.
        Returns:
        the property.
      • disprove

        @Nullable DefaultQuery<I,​D> disprove​(A hypothesis,
                                                   Collection<? extends I> inputs)
        Try to disprove the property with the given hypothesis.
        Parameters:
        hypothesis - the hypothesis.
        inputs - the inputs
        Returns:
        the DefaultQuery that is a counterexample the property, or null, if the property could not be disproved.
      • findCounterExample

        default @Nullable DefaultQuery<I,​D> findCounterExample​(A hypothesis,
                                                                     Collection<? extends I> inputs)
        Try to find a counterexample to the given hypothesis if the property can not be disproved.
        Specified by:
        findCounterExample in interface EquivalenceOracle<I,​A extends Output<I,​D>,​P>
        Parameters:
        hypothesis - the hypothesis to find a counterexample to.
        inputs - the input alphabet.
        Returns:
        the DefaultQuery that is a counterexample to the given hypothesis, or null, a counterexample could not be found or the property could be disproved.