lattice polynomial
A lattice polynomial, informally, is an expression involving a finite number of variables x,y,z,…, two symbols ∨,∧, and sometimes the parentheses (,) in a meaningful manner. Loosely speaking, whenever p and q are lattice polynomials, the only lattice polynomials that can be formed from p,q,∨,∧ are p∨q and p∧q. We will explain formally what meaningful manner is a little later. Some examples of lattice polynomials are x∨(x∨x), (y∧x)∨x, and (x∨y)∧(y∨z)∧(z∨x), while ∨∧x, xy∧yz, z∨)( are not lattice polynomials.
To formally define what a lattice polynomial is, we resort to model theory. To begin with, we have a countable set of variables V={x,y,z,…}, a set of binary function symbols F={∨,∧}. We define pairwise disjoint sets S0,S1,…,Sn,… recursively, as follows:
-
•
S0=V,
-
•
Sk+1={(p∨q),(p∧q)∣p,q∈Sk}∪Sk.
Then we set S=⋃∞i=0Si. An element of S is called a lattice polynomial.
Note that in the above definition, ((x∨y)∨z) is a lattice polynomial while (x∨y∨z) is not, for any variables x,y,z∈V. To reduce the number of parentheses in a lattice polynomial, we typically identify (p∨q) with p∨q and (p∧q) with p∧q. In addition, since the meet and join operations
are associative in any lattice
, it is a common practice to further reduce the number of parentheses in a lattice polynomial by identifying both (p∨(q∨r)) and ((p∨q)∨r) with p∨q∨r, and (p∧(q∧r)) and ((p∧q)∧r) with p∧q∧r.
Another thing that can be said about the above construction of is that any given lattice polynomial can be constructed from S0 in a finite number of steps. If p∈Sn-Sn-1, n≥1, then p can be constructed in exactly n steps. The minimum number of variables (in S0) that is required to construct p is called the arity of p. For example, if p=((x∨y)∧x) then the arity of p is 2. If an n-ary lattice polynomial p can be constructed from x1,…,xn, we often write p=p(x1,…,xn).
One more important number associated with a lattice polynomial p is its weight, defined recursively as w(p)=1 if p∈S0, and w(p∨q)=w(p∧q)=w(p)+w(q).
Given any n-ary lattice polynomial p and any lattice L, we can associate p with an m-ary lattice polynomial function f:Lm→L defined by
f(a1,…,am):= |
The expression is the evaluation of at . That is, we substitute each for , and we interpret and in as the join and meet operations in .
Two lattice polynomials of arities , where , are said to be equivalent if their corresponding -ary lattice polynomial functions evaluate to the same values in any lattice. For example, and are equivalent. Similarly, , , , and are equivalent lattice polynomials.
Remark. Similarly, one can define a Boolean polynomial by enlarging the set of function symbols to include the unary operator , and . Then a Boolean polynomial is just an element of . The weight of a Boolean polynomial is similarly defined, with the additional .
Title | lattice polynomial |
---|---|
Canonical name | LatticePolynomial |
Date of creation | 2013-03-22 16:30:53 |
Last modified on | 2013-03-22 16:30:53 |
Owner | CWoo (3771) |
Last modified by | CWoo (3771) |
Numerical id | 9 |
Author | CWoo (3771) |
Entry type | Definition |
Classification | msc 06B25 |
Defines | lattice polynomial function |
Defines | equivalent lattice polynomials |
Defines | weight of a lattice polynomial |
Defines | arity of a lattice polynomial |
Defines | Boolean polynomial |