I'm deeply skeptical. If the whole premise is that natural language (which is how prompts to AI generation are given) is insufficiently precise to constrain output, and that formal specification is precise enough, then why are we bothering to use natural language generation? If this works as stated, then it's a tactic admission that the thing being checked is inherently flawed. Why not just use the formal specification to generate code then?
I suspect that two things are true: natural language is inherently insufficiently precise for nontrivial code generation, and also that formal specification is not broad enough to describe all the code which is being generated today using AI/LLMs.
Reliability of generated output was never an engineered goal for LLMs, and no amount of "reasoning by Lego" can fully compensate for this no matter how complex the mitigations in post. It's the same reason why safety (under any definition) cannot be "bolted on" to an LLM after the fact.