q₀ Starting state - no progress toward "aba"
q₁ Found 'a' - watching for 'b' next
q₂ Found 'ab' - critical state! One 'a' away from rejection
q₃ Trap state - "aba" detected, string is REJECTED
Results:
✓ ACCEPT String does NOT contain "aba"
✗ REJECT String contains "aba" substring