A machine learning and inference framework that augments the learning of conditional (probabilistic or discriminative) models with declarative constraints.