A - automaton type this equivalence oracle works onI - input symbol typeD - output domain type@ParametersAreNonnullByDefault public interface EquivalenceOracle<A,I,D>
Please note that equivalence oracles are implicitly connected to a SUL, there is no explicit references in terms of a
MembershipOracle or such. However, this might be different in implementing classes.
CAVEAT: Equivalence oracles serve as an abstraction to tackle the (generally undecidable) problem of black-box
equivalence testing. The contract imposed by this interface is that results returned by the findCounterExample(Object, Collection) method are in fact counterexamples, BUT a null result
signalling no counterexample was found does not mean that there can be none.
| Modifier and Type | Interface and Description |
|---|---|
static interface |
EquivalenceOracle.DFAEquivalenceOracle<I>
A specialization of the
EquivalenceOracle interface for a DFA learning scenario. |
static interface |
EquivalenceOracle.MealyEquivalenceOracle<I,O>
A specialization of the
EquivalenceOracle interface for a Mealy learning scenario. |
| Modifier and Type | Method and Description |
|---|---|
DefaultQuery<I,D> |
findCounterExample(A hypothesis,
Collection<? extends I> inputs)
Searches for a counterexample disproving the subjected hypothesis.
|
@Nullable DefaultQuery<I,D> findCounterExample(A hypothesis, Collection<? extends I> inputs)
null is returned.hypothesis - the conjectureinputs - the set of inputs to consider, this should be a subset of the input alphabet of the provided hypothesisDefaultQuery contains the SUL output for the
respective query.Copyright © 2018. All rights reserved.