Neurosymbolic Programming with Scallop
Install Tutorial


Scallop is a declarative language designed to support rich symbolic reasoning in AI applications. It is based on Datalog, a logic rule-based query language for relational databases.


Scallop is a scalable Datalog solver equipped with support for discrete, probabilistic, and differentiable modes of reasoning. These modes are configurable to suit the needs of different AI applications.


Scallop provides bindings to support logic reasoning modules within Python programs. As a result, Scallop can be deeply integrated with existing PyTorch machine learning pipelines.

Wide Range of Applications

Scallop can be used to develop a wide variety of applications in vision and NLP that involve symbolic reasoning. The reasoning component is specified via logic rules which can then be deeply integrated with machine learning models, such as convolutional neural networks and transformers.