Natlog: a Lightweight Logic Programming Language with a Neuro-symbolic Touch
This work addresses the challenge of neuro-symbolic integration for researchers and developers in AI, though it appears incremental as it builds on existing logic programming models with a focus on embedding and indexing.
The authors tackled the problem of integrating logic programming with neural networks by introducing Natlog, a lightweight language that simplifies Prolog's syntax and semantics and embeds it in Python's deep-learning ecosystem, enabling neural networks to serve ground facts to its resolution engine.
We introduce Natlog, a lightweight Logic Programming language, sharing Prolog's unification-driven execution model, but with a simplified syntax and semantics. Our proof-of-concept Natlog implementation is tightly embedded in the Python-based deep-learning ecosystem with focus on content-driven indexing of ground term datasets. As an overriding of our symbolic indexing algorithm, the same function can be delegated to a neural network, serving ground facts to Natlog's resolution engine. Our open-source implementation is available as a Python package at https://pypi.org/project/natlog/ .