String Verification
| > | dfa:=randomDFA(6,[0,1],2);
transitionGraph(dfa); |
![]() |
| > | # Example 1:
dfa:=mkDFA({q0, q1, q2, q3, q4, q5},{0, 1},table([(q5, 0) = q3, (q4, 0) = q0, (q3, 0) = q0, (q1, 1) = q3, (q0, 0) = q4, (q4, 1) = q5, (q3, 1) = q0, (q2, 1) = q1, (q2, 0) = q3, (q1, 0) = q0, (q5, 1) = q5, (q0, 1) = q5]),q0,{q0, q4}); w:=[0,0,1,1,0]; transitionGraph(dfa); stringVerificationDFA(dfa,w,`walk`); walk; |
![]() |
| > | stringVerificationDFA(dfa,[1,1,1,0,1],`walk`); |
| (5.2.1) |
| > | walk; |
| (5.2.2) |
| > | InternalStates:={q0,q1,q2}:
Alphabet:={0,1}: delta:=table(): delta[(q0,0)]:=q0: delta[(q0,1)]:=q1: delta[(q1,0)]:=q0: delta[(q1,1)]:=q2: delta[(q2,0)]:=q2: delta[(q2,1)]:=q1: InitialState:=q0: FinalStates:={q1}: |
| > | dfa1:=mkDFA(InternalStates,Alphabet,op(delta),InitialState,FinalStates);
w:=[0,0,1,1,0,1,0,1]; stringVerificationDFA(dfa1,w,`walk`); walk; |
| (5.2.3) |
| (5.2.3) |
| (5.2.3) |
| (5.2.3) |
| > | InternalStates:={q0,q1,q2}:
Alphabet:={" ",1}: delta:=table(): delta[(q0," ")]:=q0: delta[(q0,1)]:=q1: delta[(q1," ")]:=q0: delta[(q1,1)]:=q2: delta[(q2," ")]:=q2: delta[(q2,1)]:=q1: InitialState:=q0: FinalStates:={q1}: dfa2:=mkDFA(InternalStates,Alphabet,op(delta),InitialState,FinalStates); |
| (5.2.4) |
| > | w:=[" "," ",1,1," ",1," ",1];
stringVerificationDFA(dfa2,w,`walk`); walk; |
| (5.2.5) |
| (5.2.5) |
| (5.2.5) |