Implements a finite, negative, totally ordered monoid together with methods to compute its one-element Rees coextensions
Project description
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 utilizing the 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:
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 generated by pdoc3 in the directory 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, 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.
-
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. 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, PDF.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.