Metadata-Version: 2.1
Name: idp-engine
Version: 0.9.2
Summary: IDP-Z3 is a reasoning engine for knowledge represented using the FO(.) (aka FO-dot) language.
Home-page: https://www.idp-z3.be
License: GNU LGPL 3
Author: pierre.carbonnelle
Author-email: pierre.carbonnelle@cs.kuleuven.be
Requires-Python: >=3.7,<4.0
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: Click (>=7.0,<8.0)
Requires-Dist: textX (>=2.1.0,<3.0.0)
Requires-Dist: z3-solver (==4.8.12.0)
Project-URL: Documentation, https://docs.idp-z3.be
Project-URL: Repository, https://gitlab.com/krr/IDP-Z3
Description-Content-Type: text/markdown

idp-engine is a reasoning engine for knowledge represented using the FO(.) language.
FO(.) (aka FO-dot) is First Order logic, with various extensions to make it more expressive:  types, equality, arithmetic, inductive definitions, aggregates, and intensional objects.
The idp-engine uses the Z3 SMT solver as a back-end.

It is developed by the Knowledge Representation group at KU Leuven in Leuven, Belgium, and made available under the [GNU LGPL v3 License](https://www.gnu.org/licenses/lgpl-3.0.txt).

See more information at [www.IDP-Z3.be](https://www.IDP-Z3.be).


# Installation

``idp_engine`` can be installed from [pypi.org](https://pypi.org/), e.g. using [pip](https://pip.pypa.io/en/stable/user_guide/):

```
   pip install idp_engine
```

# Get started

The following code illustrates how to run inferences on a knowledge base.

```
    from idp_engine import IDP, model_expand
    kb = IDP.parse("path/to/file.idp")
    T, S = kb.get_blocks("T, S")
    for model in model_expand(T,S):
        print(model)
```

For more information, please read [the documentation](http://docs.idp-z3.be/en/latest/).

# Contribute

Contributions are welcome!  The repository is [on GitLab](https://gitlab.com/krr/IDP-Z3).
