  We present a novel and efficient method for synthesis of parameterized
distributed protocols by sketching. Our method is both syntax-guided and
counterexample-guided, and utilizes a fast equivalence reduction technique that
enables efficient completion of protocol sketches, often significantly reducing
the search space of candidate completions by several orders of magnitude. To
our knowledge, our tool, Scythe, is the first synthesis tool for the widely
used specification language TLA+. We evaluate Scythe on a diverse benchmark of
distributed protocols, demonstrating the ability to synthesize a large scale
distributed Raft-based dynamic reconfiguration protocol beyond the scale of
what existing synthesis techniques can handle.
