Learning from Logical Constraints with Lower- and Upper-Bound Arithmetic Circuits | Synapse