Metadata-Version: 2.1
Name: fntom
Version: 0.2.0
Summary: Implements a finite, negative, totally ordered monoid together with methods to compute its one-element Rees coextensions
Home-page: https://gitlab.com/petrikm/fntom
Author: Milan Petrík
Author-email: milan.petrik@protonmail.com
License: GPLv3
Keywords: discrete triangular norm,finite negative totally ordered monoid,Rees coextension,Rees congruence,Reidemeister closure condition,tomonoid partition
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Intended Audience :: Science/Research
Requires-Python: >=3.6
Description-Content-Type: text/markdown

fntom
=====

This package contains an implementation of the algorithm that serves to find
all the one-element Rees co-extensions of a given finite, negative totally
ordered monoid (abbreviated by f. n. tomonoid).

Note that a commutative f. n. tomonoid represents a conjunction in the
semantics of a many-valued (fuzzy) logic that has finitely many totally ordered
logical values.


Installation
------------

Install the package from [PyPI](https://pypi.org/) utilizing the
[pip](https://pypi.org/project/pip/) module:

    python -m pip install fntom

Alternatively, you can download and unpack this package and install it by:

    python -m pip install path

where `path` refers to the directory where `setup.py` is present.


Example
-------

The following program defines a f. n. tomonoid with the Cayley table:

| 0 | x | y | z | 1 |
| - | - | - | - | - |
| 0 | 0 | 0 | x | z |
| 0 | 0 | 0 | 0 | y |
| 0 | 0 | 0 | 0 | x |
| 0 | 0 | 0 | 0 | 0 |

Subsequently, it finds all its commutative one-element Rees co-extensions and
displays both the f. n. tomonoid and its co-extensions on the terminal output:

```python
    import fntom
    counter = fntom.Counter()
    xyzTable = [['0' ,'x' ,'y' ,'z' ,'1'],
                ['0' ,'0' ,'0' ,'x' ,'z'],
                ['0' ,'0' ,'0' ,'0' ,'y'],
                ['0' ,'0' ,'0' ,'0' ,'x'],
                ['0' ,'0' ,'0' ,'0' ,'0']]
    fntom = fntom.FNTOMonoid(counter.getNew(), xyzTable = xyzTable)
    coextensions = fntom.computeCoExtensions(counter, commutative = True)
    fntom.show()
    for coext in coextensions:
        coext.show()
```


Documentation
-------------

For a detailed decription of the program and its purpose, see
the [documentation](docs/fntom/index.html)
generated by [pdoc3](https://pdoc3.github.io/pdoc/)
in the directory [docs/](docs/)
or read the papers listed in **References** below.


References
----------

For the theoretical description of the problem and for the description of the algorithm se the paper:

* M. Petrik and Th. Vetterlein. 
    *Rees coextensions of finite, negative tomonoids.*
    Journal of Logic and Computation 27 (2017) 337-356. 
    DOI: [10.1093/logcom/exv047](https://doi.org/10.1093/logcom/exv047),
    [PDF](papers/Petrik_Vetterlein__Coextensions__preprint.pdf).

For a more detailed description of the algorithm see the papers:

* M. Petrik and Th. Vetterlein. 
    *Algorithm to generate finite negative totally ordered monoids.*
    In: IPMU 2016: 16th International Conference on Information Processing 
        and Management of Uncertainty in Knowledge-Based Systems.
    Eindhoven, Netherlands, June 20-24, 2016.
    [PDF](papers/Petrik_Vetterlein__IPMU_2016__preprint.pdf).

* M. Petrik and Th. Vetterlein. 
    *Algorithm to generate the Archimedean, finite, negative tomonoids.*
    In: Joint 7th International Conference on Soft Computing 
        and Intelligent Systems and 15th International Symposium on Advanced Intelligent Systems.
    Kitakyushu, Japan, Dec. 3-6, 2014.
    DOI: [10.1109/SCIS-ISIS.2014.7044822](https://doi.org/10.1109/SCIS-ISIS.2014.7044822).
    [PDF](papers/Petrik_Vetterlein__SCIS_ISIS_2014__preprint.pdf).

For more details on one-element co-extensions of finite, negative, tomonoids see the paper:

* M. Petrik and Th. Vetterlein. 
    *Rees coextensions of finite tomonoids and free pomonoids.*
    Semigroup Forum 99 (2019) 345-367. 
    DOI: [10.1007/s00233-018-9972-z](https://doi.org/10.1007/s00233-018-9972-z),
    [PDF](papers/Petrik_Vetterlein__Pomonoids__preprint.pdf).



