.. _IDP: .. role:: raw-html(raw) :format: html IDP-Z3 ====== IDP-Z3 is used to perform reasoning on FO[:raw-html:`·`] knowledge bases. It can be invoked in 3 ways: - via a web interface, called webIDE. - in a shell, using the Command Line Interface of IDP-Z3. - in a Python program: by using classes and functions imported from the ``idp_engine`` package available on `Pypi `_. These methods are further described below. .. warning:: An `FO-dot` program is a text file containing only `vocabulary, theory` and, `structure` blocks, as described in :ref:`FO-dot `. An `IDP` program may additionally contain a `main()` procedure block, with instructions to process the FO-dot program. This procedure block is described later in this chapter. .. include:: IDPLanguage/webIDE.inc .. include:: IDPLanguage/CLI.inc .. include:: IDPLanguage/API.inc