Turing machine premature rejection

Description of the bug

The following machine contains an infinite loop and an unreachable final state (with this specific input). When tracing through this, the machine rejects after hitting the same state twice.

I understand this is likely caused by cycle detection, but to the average user it may be unclear why this particular machine rejects in this instance, as it is treated like there are no transitions from this state

Image

To reproduce

https://automatarium.tdib.xyz/share/raw/H4sIAAAAAAAAA1WRTS8EQRCGZ_Z3OJC4ruxawl2IA_EZcZOa7mpaZrpHd42PxElwcCJ7cttZM8taJ_4BVyJxc_RL6LGLdX3qyVtvd511YqO3kdHqQYzN1fmrDcnfh0UwhkwIUR6v1ibLY2IiKMMo1soVGJ2sAYPqeFW0LAGhrR+n+895evD82ZTcu5Z2RioIHx198U972P+HS+s9XPrBTx0yoKwkqZWtn2bC6MhrkvaLyMwg8BTyPSMJU2hzaVxdZ6bLXdN3plds+TYbXbHR5839eaVibTcx6CUG_Yk3TEcRKrLnbSujZbRJSOe5eybZo5aVajN0FfIAiG1dNO6kcpUhXCk+wssiJDjJFETYXjQ64YOzQB3uRlNuHyF_9Tz_8m2A57cFnObylw0tfVzvorGuQl4dqYxUHiAhHQGBkUm01j9pMa2E3DzJqHuvzvcVFg0KuZ_u3GqzEKMB0iY9vAfGMCZQzDVwy4yELNC0lTMdatOKExOH+AVxtYDaAAIAAA==

Expected behavior

For single stepping, I feel that it'd make sense to just continue forever, so the user can actually see the behaviour (this was my use case)

  • I believe currently we simulate the entire computation even to step once, but given that the transition was deterministic we wouldn't necessarily need to do that, which would solve the problem in question

Simulating the whole thing would be a different challenge. I believe there was another issue about warning the user that there are x paths that are being computed and having the user confirm the computation

Additional information

No response