Class PropertyOracleChain<I,​A extends Output<I,​D>,​P,​D>

  • Type Parameters:
    I - the input type.
    A - the automaton type.
    P - the property type.
    D - the output type.
    All Implemented Interfaces:
    EquivalenceOracle<A,​I,​D>, InclusionOracle<A,​I,​D>, PropertyOracle<I,​A,​P,​D>
    Direct Known Subclasses:
    DFAPropertyOracleChain, MealyPropertyOracleChain

    public class PropertyOracleChain<I,​A extends Output<I,​D>,​@Nullable P,​D>
    extends Object
    implements PropertyOracle<I,​A,​P,​D>
    A chain of property oracles. Useful when combining multiple model checking strategies to disprove a property, or when finding counter examples to hypotheses.

    For example, you may want to construct a chain that first uses a model checker for monitors, and next, one that uses a model checker for full LTL. This strategy tends to give shorter counter examples for properties, and these counter examples can be found more quickly (as in smaller hypothesis size and less learning queries).