Class PropertyOracleChain<I,​A extends net.automatalib.automaton.concept.Output<I,​D>,​P,​D>

  • Type Parameters:
    I - input symbol type
    A - automaton type
    P - property type
    D - output domain 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 net.automatalib.automaton.concept.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).