The idea is to hybridize the Dijkstra and L* searches by exploring, looking at how we got to each state and forbidding anything that goes astray. Another key idea here is that each state maintains just a single experiment (well, implicitly two, counting the empty string) which we use to distinguish it from other states. We try to force it to be one that leads to a positive result, and to be as small as possible. Honestly, this doesn't work very well. I think it's the right direction but at present it works less well than its predecessors.