Clones of Self-Dual and Self-K-Al Functions in K-valued Logic

We give a classification of dual functions, they are m -al functions. We call a function m-al with respect to an operator if the operator lives any function unchanged after m times of using the operator. And 2 ≤ m ≤ k. Functions with different m have very different properties. We give theoretical results for clones of self-dual (m = 2) and selfk -al (m = k) functions in k -valued logic at k ≤ 3. And we give numerical results for clones of self-dual and self-3-al functions in 3-valued logic. In particular, the inclusion graphs of clones of self-dual and of self-3-al functions are not a lattice.


Introduction
Multi-valued logic attracts intensive attention because of the connection with computer technology. But study of the logic is very difficult since connections of clones are very tangled and sometimes a graph of inclusions of clones is not a lattice. Some classification of all clones was given in [1].
More essential results are got for 3-valued logic. In particular, all maximal clones were found by S. V. Yablonskiy [2], all sub-maximal clones were found by D. Lau [3], all minimal clones were found by B. Csàhàny [4], all subclones of the linear clone were found by D. Lau [3], some self-3-al clones were found by S. S. Marchenkov, J. Demetrovics, and L. Hannak [5]. More complete set of self-3-al clones is given in the article. The set of monotone clones was investigated by Machida [6]. The other types of clones were investigated very little.
The article consists of 2 sections. Section 1 contains theoretical results. We select classes of functions from clones of functions since the classes are disjoint but clones are not disjoint. Some theorems are true only for the classes. We define conditions satisfied by functions and find theirs properties. The conditions are an extension of Post's conditions and they are used to prove some important theorems. We introduce an m -al operator which lives any function unchanged after using the operator m times. Then we give some properties of dual and k -al operators. We find the numbers of relations preserved by dual and k -al functions.
Section 2 contains numerical results. We build the inclusion graphs of clones of self-dual and 3 -al functions and find properties of the functions. We use the next notation. The letter k is used for values of logics only. The letter n is used for numbers of variables of functions only. The letters i and j are used as any or all values of subscripts. The letter b is used as a value of variables. The letter l is used as values of functions. The sign + is used as addition by modulo k . We use {} for empty sets.
And we use b for any value which does not equal b .
We say that a relation generates a set of functions if the functions preserve the relation. We use Boolean projections of functions if values of functions are 0 or 1 whenever values of variables are 0 or 1. Any Boolean projection is a Boolean function and can be presented by disjunctive normal form (DNF). We use sign ";" to separate values of variables from values of functions in lines of tables of functions. We call a sequence of values of variables a tuple and we can present a line of a table of a function as a tuple l , where the tuple contains values of variables and l is a value of the function. We call the values of variables components of the tuple.

Classes of Compositions of Function
Clones of functions are called sometimes classes. This is not well since classes must be disjoint. But clones are not disjoint, they can contain other clones. And a clone can belong to several clones.
Below we give a definition of disjoint classes. We use them since some theorems will true for classes only. And some properties of clones are in classes only.
Definition A class of a clone is a set of all functions to be generators of the clone.
Further we call classes of functions briefly classes. A name of a class is a name of a clone containing the class.
Proof. Any function generates a clone set. Every function of a class generates its clone X . This function cannot belong to a class of a clone contained in X since, by definition, the function does not belong to any clone contained in X . And the function cannot belong to a class of another clone since the function generates only the clone X . □ Corollary. Every function belongs to one of classes. Proof. Every function generating a clone belongs only to the class of the clone. □ Hence, classes give a classification of functions. If we remove all clones contained in any clone then we get a class of the clone. A function generating a clone is a member of one-membered basis. If a clone has no one-membered basis then we get an empty class after deleting other clones in the clone, since every function of a multi-membered basis belongs to one of deleted clones. But empty classes must be absent in any classification. Then clones with multi-valued bases are fictitious since they are useless for the classification of functions.

Family of Functions with the Same Diagonal
We will call families of functions with the same diagonal briefly families.
Families were introduced by Post. There are 4 families in two-valued logic: α , β , γ , δ . Post used the families to build his classification of Boolean functions. Families of functions exist in all k -valued logics too. The number of these families is 2 k . We will use them to classify some sets of clones.
The family α is defined standardly: ( ,..., ) = f x x x . The family δ is defined standardly, too: Definitions of the other families are special in k -valued logics but they are an extension of Post's definitions. We denote all types of families by The proof is finished.□ Corollary. A function of the family α generates only function of this family. A function of the family δ may generate functions of any family.
Proof. The denotation of family α is the set = {0,..., 1} X k − and there is no family with denotation Y such that Y X ⊃ . The family δ has the denotation = {} X and Y X ⊇ for every family with denotation Y .□ Families realize a natural classification of functions because they are disjoint.

Classes and Families
Functions of a clone can belong to several families. But functions of a class belong to one family only, as it follows from the next theorem.
Theorem. If a function of a class belongs to a family then all functions of the class belong to the family.
Proof. Let  f belong to δ family. In this case if a function of a class belongs to δ family then all functions of the class belong to the family, since otherwise a function belongs to another class.
We will get the same result fo > 3 k . □

Conditions of Functions
Any function must satisfy some conditions. There are 2 conditions for any function in 2-valued logic. They are a µ and A µ [7]. We will denote them by 0 a µ and where any i b does not equal l . □ We will call the subset of tuples l sub-tuples l .

Classes and Conditions
Functions of a clone can satisfy several conditions. But functions of a class satisfy one condition only, as it follows from the next theorem. For simplification of the proof we say that a function has µ for some l , if it satisfies a condition l a µ . f

Theorem. If a function of a class satisfies a condition
We must prove that the function µ ω then the functions generate different clones. We will use the property below.

Boolean Projections
Boolean projections are used at classification of clones.
Definition A function f has a Boolean projection if We denote a Boolean projection by prf . A clone of functions has a Boolean projection if every function of the clone has some Boolean projection.
Lemma. If a function has a Boolean projection then a clone generated by the function has a Boolean projection.
Proof. It is enough to prove that a Boolean projection of a function and and a Boolean projection of any composition of the function belong to the same clone.
If we permute or identify variables of a function then we permute or identify variables in the Boolean projection of the function. Then the initial Boolean projection and the new Boolean projection belong to the same clone. Hence, the new Boolean projection and the initial Boolean projection belong to the same clone.□ The set of Boolean functions is countable. We can suppose that any set of clones is not continual if these clones have Boolean projections and > 2 k . But this is not proved now.

Dual and M-Al Operators
The operators are used to build clones of functions. Definition A unary operator O over functions is m-al if using the operator m times, we leave any function unchanged. We call a function 1 and let functions 0 f and 0 g be We shall prove that it can be Using (1) and (2), we have Comparing (5) and (6) Further we use only these operators to create clones since only they preserve compositions.
The functions are used as two-ary relations and the relations generate clones, i.e., every i s has corresponding clone. We will say conditionally that = i i s ρ .
There are m clones, one 1 X of them is m -al to an 2 X , where 2 X is m -al to an 3 X , and so on. Some clones can be equal. And there are m sets of the clones. All of the sets are isomorphic with respect to inclusions of clones. This means that we can use only one of the sets to build all inclusion diagrams of their clones. The dual and the k -al functions are presented more interest.

Dual Operators
A dual operator can be a function. Let the function be ( ) s x . There are 3 functions in 3-valued logic: where 1 s is presented by cycles (0)(1,2), 2 s is presented by cycles (0,1)(2), and 3 s is presented by cycles (0,2)(1). There are 9 functions in 4-valued logic: The next theorem proves the last property. Theorem. The number of functions ( ) i s x in k -valued logic is  3 4 , i i ) and ( 3 4 , i i )( 1 2 , i i ) are the same. The number of 1-ary functions with 3 cycles ( 1 2 , i i )( 3 4 , i i )( 5 6 , i i ) is 2 4 . But there are 3! permutations of the pairs. And so on. □

Self-Dual Functions
We will call clones of self-dual (auto-dual) functions briefly clones. We will prove that the number of clones is infinite if 3 k ≥ . But this number is finite if = 2 k [7]. Definition We call a function self-dual with respect to a dual operator if the function is dual to itself, i.e., it remains unchanged after one application of the dual operator.
A clone of self-dual functions can be presented as Pol( )  We must prove the next characteristics: Hence, the number of the clones is countable. □

On K-al Operators
There are 2 functions to be k -al operators in 3-valued logic:   Proof. Let i s have one cycle. Then where the first row is a sequence 1 2 1 (0, , ,..., )  If 2 = 2 *3 k then we have i s with: (1) one cycle of length k ; (2) 7 cycles such that one of them has length 4, one has length 3, and 5 have length 1; (3) 4 cycles such that two of them have length 4, one has length 3, and one has length 1; (4) 5 cycles such that one of them has length 4, two have length 3 and two have length 1.

Self-K-Al Functions
The number of clones of selfk -al functions is finite at = 2 k ( k -al and dual operators are the same if = 2 k ). But the number of the clones is not finite at > 2 k . Definition We call a function k-al to a function if the former function is obtained from the latter functions by using some k -al operator 1 k − times. We call a function self-k-al if the function equals its k -al function.
Proof. Let Proof. The proof consists of 2 parts.
• We will prove that all selfk -al functions satisfy the same conditions for all l .
and let the function satisfy a condition l a µ for some l . Then we have the next sub-tuples l after permuting columns:

Classification of Self-Dual Functions
Any classification must use disjoint classes. But any class belongs only to one clone. Therefore classification with classes and classification with clones are the same.
We call clones of self-dual functions briefly clones. We must give the graph of inclusions of clones. The graph begins at the clone containing all other clones. Then the graph has 3 branches because there are 3 dual operators: The inclusion graph is presented in figure 1.

Self-Dual Clones and Their Preserving Relations
We give the set of clones and their preserved relations.

Classification of Self-3-Al Functions
The classification is presented in figure 2 by an inclusion graph.  The created graph is not a lattice as it follows from figure 3.

Clones of Functions Preserving Relations
We give clones and relations preserved by functions of the clones.

Conclusion
The main problem of any theory, including the theory of multi-valued logic, is a classification of objects of this theory.
Partial classification of clones of functions in multi-valued logic was given in the works of S. Jablonski [2] and A. Mal'cev [8].
More detailed classification of clones was given by I. Rosenberg [9]. Top level of this classification contains a clone of all functions. The next level has 6 groups of clones, but the main group contains clones of self-m-al functions. This group was named clones of self-dual functions.
In the first time, we gave full classification of the group. Number of classes of the classification is k-1. We named them self-m-al at 2≤m≤k. We built the theory of self-k-al functions and proved 10 important theorems. We get numerical results for 3-valued logic and found that inclusion graphs of clones of self-dual and of self-3-al functions are not lattices.