  The fair division literature in economics considers how to divide resources
between multiple agents such that the allocation is envy-free: each agent
receives their favorite piece. Researchers have developed a variety of fair
division protocols for the most standard setting, where the agents want to
split a single item, however, the protocols are highly intricate and the proofs
of envy-freeness involve tedious case analysis.
  We propose Slice, a domain specific language for fair-division. Programs in
our language can be converted to logical formulas encoding envy-freeness and
other target properties. Then, the constraints can be dispatched to automated
solvers. We prove that our constraint generation procedure is sound and
complete. We also report on a prototype implementation of Slice, which we have
used to automatically check envy-freeness for several protocols from the fair
division literature.
