What is Scallop?
masterScallop is a language based on DataLog that supports differentiable logical and relational reasoning. It is designed for neurosymbolic programming, allowing users to integrate logical reasoning with neural components.
Key capabilities include:
- Logic Programming: Use it as a Datalog engine with support for relational programming, negation, aggregation, and queries.
- Probabilistic Programming: Tag facts with probabilities to perform probabilistic reasoning.
- Neurosymbolic Integration: Use the
scallopyPython binding to integrate Scallop programs with machine learning libraries like PyTorch. - Hybrid Reasoning: Combine knowledge base facts, rules, and probabilistic facts (e.g., from image recognition) in a single program.