// Test for isSemiDeterministic operation. // Date: 2015-08-16 // Author: heizmann@informatik.uni-freiburg.de assert(accepts(a1, [c< c< >r >r])); assert(isDeterministic(a1)); assert(isSemiDeterministic(a1)); assert(!isDeterministic(a2)); assert(isSemiDeterministic(a2)); assert(!isDeterministic(a3)); assert(!isSemiDeterministic(a3)); NestedWordAutomaton a1 = ( callAlphabet = {c }, internalAlphabet = { }, returnAlphabet = {r }, states = {q0 q1 q2}, initialStates = {q0}, finalStates = {q2}, callTransitions = { (q0 c q1) (q1 c q1) }, internalTransitions = {}, returnTransitions = { (q1 q1 r q1) (q1 q0 r q2)} ); NestedWordAutomaton a2 = ( callAlphabet = {}, internalAlphabet = {a }, returnAlphabet = {}, states = {q0 q1 q2}, initialStates = {q0}, finalStates = {q1}, callTransitions = {}, internalTransitions = { (q0 a q0) (q0 a q1) (q1 a q2) }, returnTransitions = {} ); NestedWordAutomaton a3 = ( callAlphabet = {}, internalAlphabet = {a }, returnAlphabet = {}, states = {q0 q1 q2}, initialStates = {q0}, finalStates = {q1}, callTransitions = {}, internalTransitions = { (q0 a q0) (q0 a q1) (q1 a q1) (q1 a q2) }, returnTransitions = {} );