Rust and Z3 implementation replicates loop-free program synthesis from Gulwani et al.
A developer built and detailed a Rust implementation using the Z3 SMT solver to perform counterexample-guided synthesis of loop-free programs, based on the technique described in Gulwani et al.'s Synthesis of Loop-Free Programs paper. The post breaks down the underlying logic formulas into simpler explanations and walks through the code, while noting the implementation struggles to match performance on some harder benchmark problems from the original literature.