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 © 2015. All rights reserved.