SaDe: Learning Models that Provably Satisfy Domain Constraints