[ \beginaligned &\delta(q_0, a, Z_0) = (q_0, XZ_0) \ &\delta(q_0, a, X) = (q_0, XX) \ &\delta(q_0, \varepsilon, X) = (q_1, X) \ &\delta(q_0, \varepsilon, Z_0) = (q_1, Z_0) \ \ &\delta(q_1, c, Z_0) = (q_1, XZ_0) \ &\delta(q_1, c, X) = (q_1, XX) \ &\delta(q_1, \varepsilon, X) = (q_2, X) \ &\delta(q_1, \varepsilon, Z_0) = (q_2, Z_0) \ \ &\delta(q_2, b, X) = (q_2, \varepsilon) \ &\delta(q_2, \varepsilon, Z_0) = (q_3, Z_0) \endaligned ]
Actually better structure:
So strings are: Example: ( a^2 b^5 c^3 ) → 2 + 3 = 5 ✔ ( a^3 b^3 c^0 ) → 3 + 0 = 3 ✔ ( a^0 b^4 c^4 ) → 0 + 4 = 4 ✔ Empty string? ( i=j=k=0 ) → 0 = 0+0 ✔ but may be excluded if you require positive counts. We push for ( a )’s, then push again for ( c )’s, then pop for ( b )’s.