Combining neural networks with symbolic logic to get both the flexibility of learning and the interpretability of rule-based systems.