Some Properties of Inclusions of Multisets and Contractive Boolean Operators
SSome Properties of Inclusions of Multisetsand Contractive Boolean Operators
Pierre Hyvernat Universit´e de Savoie,Laboratoire de Math´ematiques,73376 Le Bourget-du-Lac Cedex,France
Abstract
Consider the following curious puzzle: call an n -tuple X = ( X , . . . , X n ) of sets smaller than another n -tuple Y if it has fewer unordered sections . We show that equivalence classes for this preorder are very easyto describe and characterize the preorder in terms of the simpler pointwise inclusion and the existence ofa special increasing boolean operator f : B n → B n . We also show that contrary to increasing booleanoperators, the relevant operators are not finitely generated, which might explain why this preorder is noteasy to describe concretely. Keywords: multiset, system of representative, boolean operators
Introduction: a puzzle
Let N be a (fixed) set and n be a (fixed) natural number. We can consider the following partial orderon P ∗ ( N ) n , the collection of n -tuples of nonempty subsets of N : X ⊆ Y def = (cid:89) ≤ i ≤ n X i ⊆ (cid:89) ≤ i ≤ n Y i where (cid:81) i X i is the usual cartesian product. Because we restrict to nonempty subsets, this preorder coincidewith pointwise inclusion:( X , . . . , X n ) ⊆ ( Y , . . . , Y n ) ⇐⇒ ∀ ≤ i ≤ n, X i ⊆ Y i . We now consider a commutative version of the cartesian product where instead of the usual ordered n -tuples,we take “unordered n -tuples”. Definition 1. If X = ( X , . . . , X n ) is an n -tuple of nonempty subsets of N , define S (cid:0) X (cid:1) , the set of unordered sections of X , as S (cid:0) X (cid:1) def = (cid:32) (cid:89) ≤ i ≤ n X i (cid:33)(cid:46) S n , (1)where /S n denotes quotienting by the action of the symmetric group S n . This work was partially funded by the French ANR project r´ecr´e ANR-11-BS02-0010.
Email address:
[email protected] (Pierre Hyvernat)
URL: http://lama.univ-savoie.fr/~hyvernat/ (Pierre Hyvernat)
Preprint submitted to Discrete Mathematics November 5, 2018 a r X i v : . [ m a t h . C O ] A p r trictly speaking, S n does not really act on (cid:81) i X i but on N n . The notion is well-defined because the orbitof an element of (cid:81) i X i exists even if not all its elements are themselves in (cid:81) i X i . From now on, we willdrop the adjective “unordered” and refer to an element of S (cid:0) X (cid:1) simply as a section of X . We now definethe preorder (cid:118) on P ∗ ( N ) n : Definition 2. If X and Y are n -tuples of nonempty subsets of N , we define X (cid:118) Y to mean S (cid:0) X (cid:1) ⊆ S (cid:0) Y (cid:1) .We write X ≈ Y for “ X (cid:118) Y and Y (cid:118) X ”, that is, for S (cid:0) X (cid:1) = S (cid:0) Y (cid:1) .The relation (cid:118) is only a preorder because it is not antisymmetric: (cid:0) X σ (1) , . . . , X σ ( n ) (cid:1) ≈ ( X , . . . , X n ) forany permutation σ .The aim of this note is to answer the following questions:1. When do we have X ≈ Y ?2. What is the relation between X (cid:118) Y and X ⊆ Y ?The problem is subtler than it appears and the first question makes for an interesting puzzle: while ele-mentary, the proof is more complex than what most people initially think. Readers are thus encouraged tospend a couple of minutes playing with the problem before reading on. Related notions.
The notion of system of representatives was introduced by P. Hall in 1935 [6]. A systemof representatives for the n -tuple of sets X is simply an n -tuple x such that there is a permutation σ satisfying x i ∈ X σ ( i ) for each i ∈ { , . . . , n } . Equivalence classes of those under permutations are exactlythe unordered sections of X of Definition 1. A lot of attention has been devoted to systems of distinct representatives, also called transversals , where the components of x are pairwise distinct [12]. Rather thanlooking at them individually, we look here at the collection of all possible systems of representatives. Thisshift of focus seems to be new in itself, as is the notion of contractive increasing boolean operator thatappears later. Relating the two will give a concise answer to the second question.This work can also be seen as a first step toward a factor theory for commutative regular algebra [2].In his book on regular languages, John Conway develops a fascinating theory of factorization: if R is aregular set, a subfactorization is tuple of sets X of words satisfying X · . . . · X n ⊆ R , where · denotesconcatenation of regular sets. A subfactorization is a factorization if each X i is maximal and a factor of R is any such X i . Conway shows in particular that a regular set has only finitely many factors, and that theyare all regular.Conway devotes a chapter to commutative regular algebra, i.e. the theory arising from regular algebrawhen word concatenation is made commutative. Factor theory isn’t part of this chapter, probably because “Commutative regular algebra is notable for the number of results whose proofs one would expect to betrivial, but which turn out to be very subtle.” ([2], page 95). Commutative factor theory certainly looksvery subtle and this work only gives a very partial answer: given the regular set Y · . . . · Y n where each Y i is a set of symbols , we characterize it factorizations consisting of exactly n factors.The initial motivation for this work comes from a very different area: denotational models of linearlogic. In [7], the relation S (cid:0) X (cid:1) ⊆ T played an important role, where the set T was an arbitrary collectionof n -multisets. Understanding this relation was necessary to compute small examples, and the preorder “ (cid:118) ”naturally appeared in this way. (Note that the results of this paper are not to make those computation anyeasier than they were...) Notation.
To make formulas less verbose, we will abuse the vector notation by lifting “ ∈ ” pointwise: justas X ⊆ Y means “ ∀ ≤ i ≤ n, X i ⊆ Y i ”, the notation a ∈ X is a synonym for “ a i ∈ X i for all 1 ≤ i ≤ n ”.The (left) action of S n on n -tuples is written with a dot and is defined as σ · a def = (cid:0) a σ − (1) , . . . , a σ − ( n ) (cid:1) .When talking about n -multisets (orbits for the action of S n ), we identify an n -tuple with its orbit. Inparticular, a ∈ S (cid:0) X (cid:1) means that σ · a ∈ X for some permutation σ , i.e., that a i ∈ X σ ( i ) for all 1 ≤ i ≤ n .2 . The equivalence relation The first question has a simple answer: equivalence is just equality up to a permutation of the sets. Inother words, the failure of antisymmetry is captured by the remark coming after Definition 2.
Proposition 1.
Given any X and Y in P ∗ ( N ) n , we have X ≈ Y ⇐⇒ ∃ σ ∈ S n , σ · X = Y . (2)This proposition is slightly surprising because the left side is definitionally equal to ∀ a ∈ X, ∃ σ ∈ S n , σ · a ∈ Y and ∀ b ∈ Y , ∃ σ (cid:48) ∈ S n , σ (cid:48) · b ∈ X , (3)while the right side is definitionally equal to ∃ σ ∈ S n , (cid:16) ∀ a ∈ X, σ · a ∈ Y and ∀ b ∈ Y , σ − · b ∈ X (cid:17) . That the latter implies the former is trivial. Proposition 1 asserts the converse: in (3), we can choose thepermutation uniformly for all the a ∈ X and b ∈ Y ! Lemma 1.
We have If X (cid:118) Y then, for all ≤ j ≤ n , there is some ≤ i ≤ n s.t. X i ⊆ Y j . If X ≈ Y then X i = Y j for some pair i , j . Proof.
For the first point, suppose that there is some j satisfying X i (cid:54)⊆ Y j for all 1 ≤ i ≤ n . This meansthat there is an a ∈ X s.t. a i / ∈ Y j for all i . This a cannot be a section of Y . Contradiction!The second point follows easily: starting from Y and repeatedly using the first point, we can constructan infinite sequence i , j , i , j , . . . satisfying: · · · ⊆ X i k +1 ⊆ Y i k ⊆ · · · ⊆ X i ⊆ Y j ⊆ X i ⊆ Y Because there are only finitely many possible indices, there are k and k (cid:48) , with k < k (cid:48) and i k = i k (cid:48) . Thisimplies that the sets X i k and Y j k +1 are equal.Thus, if X ≈ Y , one of the sets appears on both sides and we can start the construction of σ in (2). Tofinish the proof of Proposition 1 by induction on n , we need to show the following implication:( Z, X , . . . , X n ) ≈ ( Z, Y , . . . , Y n ) ⇒ ( X , . . . , X n ) ≈ ( Y , . . . , Y n ) . (4)If the collection of unordered sections is seen as a “commutative cartesian product”, the next definitionwould be the corresponding “division”. Definition 3.
Let T be a collection of n -multisets and Z ∈ P ∗ ( N ) we put T ÷ Z def = (cid:110) ( a , . . . , a n ) | ∀ a ∈ Z, ( a, a , . . . , a n ) ∈ T (cid:111) . When Z = { a } , it is a commutative version of Brozozowski’s derivative [1], and in the general case, itcorresponds to the commutative notion of factor of T with respect to Z [11].Implication (4) above follows from the following lemma: Lemma 2.
We have: S ( X , X , . . . , X n ) ÷ X = S ( X , . . . , X n ) . (5) Proof.
The “ ⊇ ” inclusion follows from the definition.3or the “ ⊆ ” inclusion, suppose ( a , . . . , a n ) ∈ S (cid:0) X (cid:1) ÷ X and choose b ∈ X . By hypothesis, wenecessarily have ( b, a , . . . , a n ) ∈ S (cid:0) X (cid:1) , i.e., there is a permutation τ s.t. ( b, a , . . . , a n ) ∈ ( X τ (1) , . . . , X τ ( n ) ).If τ (1) = 1, then τ defines a permutation on { , . . . , n } and we have ( a , . . . , a n ) ∈ ( X τ (2) , . . . , X τ ( n ) ).We can conclude directly.If τ (1) (cid:54) = 1, up to permuting the sets X , . . . , X n and choosing an appropriate element in the orbitof ( a , . . . a n ), we can assume that τ (1) = 2, τ (2) = 1 and τ ( i ) = i when 2 < i ≤ n , or in other words,that b ∈ X , a ∈ X and a i ∈ X i whenever 2 < i ≤ n .Put a def = a . Because a = a ∈ X , we have ( a , a , . . . , a n ) ∈ S (cid:0) X (cid:1) by hypothesis, that is, σ · a ∈ X for some permutation σ . Note that since a = a , we can interchange the values σ (1) and σ (2) and stillhave σ · a ∈ X .Let k def = min (cid:8) i | i > , σ i (1) ∈ { , } (cid:9) . Up to changing the values of σ (1) and σ (2), we can assumethat σ k (1) = 1 and that the set I def = { , σ (1) , . . . , σ k − (1) } is the cycle containing 1. We define the set I c as { , . . . , n } \ I .Rearrange the columns of a • a • . . . a i • . . . a n • | ∈ | ∈ | ∈ | ∈ • X σ (1) • X σ (2) . . . • X σ ( i ) . . . • X σ ( n ) into two parts: a • a σ (1) • . . . a σ k − (1) • | ∈ | ∈ | ∈ • X σ (1) • X σ (1) . . . • X σ k (1) = X (cid:124) (cid:123)(cid:122) (cid:125) I a • . . . a i • . . . | ∈ | ∈ • X σ (2) . . . • X σ ( i ) . . . (cid:124) (cid:123)(cid:122) (cid:125) I c . The indices of X on the left are exactly those in I , and so are the indices of a . Thus, the indices of X and a on the right are exactly those in I c . This shows that ( a i ) i ∈ I c is a section of ( X i ) i ∈ I c . Also, becauseeach of σ (1), . . . , σ k − (1) is strictly more than 2 (by the definition of k ), we have a σ i (1) ∈ X σ i (1) forall 1 ≤ i ≤ k − ρ : { , . . . , n } → { , . . . , n } , ρ ( i ) def = (cid:26) i if i ∈ { σ (1), . . . , σ k − (1) } σ ( i ) otherwisesatisfies ρ · ( a , . . . , a n ) ∈ ( X , . . . , X n ). This finishes the proof that ( a , . . . , a n ) is indeed a sectionof ( X , . . . , X n ).
2. The preorder
The initial question was not very formal and read as: “
What is the relation between X (cid:118) Y and X ⊆ Y ? ”It is obvious that X ⊆ Y implies X (cid:118) Y , but unfortunately, the converse does not hold, even if we consider n -tuples of sets up to permutations. For example, we have X := (cid:0) { } , { , , } (cid:1) (cid:118) Y := (cid:0) { , } , { , } (cid:1) because the sections of X are all sections of Y : S (cid:0) X (cid:1) = (cid:8) [3 , , [3 , , [3 , (cid:9) ⊂ S (cid:0) Y (cid:1) = (cid:8) [1 , , [1 , , [3 , , [3 , (cid:9) . Lemma 1 asserts that each set on the right is a superset of some set on the left. This is indeed the case asboth { , } and { , } are supersets of the same set { } . However, one set on the left side is strictly biggerthan all the sets on the right side: { , , } ⊃ { , } and { , , } ⊃ { , } !4ore generally, (cid:0) Y ∩ Y , Y ∪ Y ) (cid:118) (cid:0) Y , Y (cid:1) and any operator F on n -tuples of sets obtained by composingfunctions ( Y i , Y j ) (cid:55)→ ( Y i ∩ Y j , Y i ∪ Y j ) on any pairs of coordinates, will satisfy F ( Y ) (cid:118) Y . For example, F ( Y , Y , Y ) def = (cid:16) Y ∩ Y , Y ∩ ( Y ∪ Y ) , Y ∪ ( Y ∪ Y ) (cid:17) (cid:118) (cid:0) Y ∩ Y , Y , Y ∪ Y (cid:1) (cid:118) (cid:0) Y , Y , Y (cid:1) . We will characterize (Proposition 3) which operators F on P ∗ ( N ) n satisfy F ( Y ) (cid:118) Y by looking at functionsacting on tuples of booleans, i.e., boolean operators . Definition 4.
Let B def = { , } equipped with the order 0 ≤
1. This is a complete lattice with operationswritten ∨ and ∧ . The lattice structure is lifted pointwise to B n .If u ∈ B n , the weight of u is the number of 1s in u . It is written | u | .We write elements of B n as words: for example, “011101 ∈ B ”. Definition 5. If a ∈ N and X ∈ P ∗ ( N ) n , the characteristic word of a along X is an element of B n . It iswritten χ X ( a ) and is defined by (cid:0) χ X ( a ) (cid:1) i = 1 iff a ∈ X i .Thus, χ X ( a ) describes in which components of X the element a appears, and | χ X ( a ) | is the number of thecomponents of X which contain a . There is a necessary condition for X (cid:118) Y : “for all a ∈ N , if a appearsin k components of Y , then it appears in at most k components of X ”. Concisely, this condition can bewritten as “ | χ X ( a ) | ≤ | χ Y ( a ) | for all a ∈ N ”. This condition is reminiscent of the condition appearing inHall’s celebrated “marriage theorem” [6]. Like in the marriage theorem, this condition is also sufficient inthe appropriate setting: Proposition 2.
Given X and Y two n -tuples of non-empty subsets of N that satisfy the function a (cid:55)→ χ Y ( a ) is bijective from N to B n \ { · · · } , the function f : χ Y ( a ) (cid:55)→ χ X ( a ) , with domain B n \ { · · · } is increasing;we have X (cid:118) Y if and only if (cid:12)(cid:12) χ X ( a ) (cid:12)(cid:12) ≤ (cid:12)(cid:12) χ Y ( a ) (cid:12)(cid:12) for all a ∈ N . Looking at the example (cid:0) { } , { , , } (cid:1) (cid:118) (cid:0) { , } , { , } (cid:1) might help to understand the conditions of theproposition. The first condition means that there is exactly one element that belongs only to Y (“2”),exactly one element that belongs only to Y (“1”) and exactly one element that belongs to both (“3”).When the first condition is satisfied, the second condition amounts to “when a appears in more sets than b on the right side, then a appears in more sets than b on the left side”. The graph of the resulting function f can be read below a : 1 2 3 χ Y ( a ) : 01 10 11 χ X ( a ) : 01 01 11 . We can extend this graph with a harmless 0 · · · (cid:55)→ · · · b , b ) (cid:55)→ ( b ∧ b , b ∨ b ).Proposition 2 follows from a more general lemma: Lemma 3.
We have X (cid:118) Y iff f ( u ) def = (cid:87) χ Y ( a ) ≤ u χ X ( a ) satisfies | f ( u ) | ≤ | u | for all u . The function f is the least increasing function (for the extensional order) satisfying f (cid:0) χ Y ( a ) (cid:1) ≥ χ X ( a )for any a . provided the intersection isn’t empty to agree with Definition 1 roof. For the “ ⇐ ” implication, suppose that a ∈ X . We want to show that σ · a ∈ Y for some permuta-tion σ . If we look at the bipartite graph G a,Y G a,Y def = a • a • . . . a n •• Y • Y . . . • Y n , with an edge between a i and Y j when a i ∈ Y j , finding a σ s.t. σ · a ∈ Y is equivalent to finding a per-fect matching in G a,Y . By Hall’s marriage theorem, this is equivalent to “every subset of { a , . . . , a n } ofcardinality p has at least p neighbors”.Take some subset U ⊆ { a , . . . , a n } of cardinality p . Because a is a section of X , this set has at least p neighbors in the corresponding G a,X graph. Let u def = (cid:87) a ∈ U χ Y ( a ), if a ∈ U , then χ Y ( a ) ≤ u by definitionof u , so that χ X ( a ) ≤ f ( u ) by definition of f . We thus have (cid:87) a ∈ U χ X ( a ) ≤ f ( u ). We get p ≤ (cid:12)(cid:12)(cid:12)(cid:12)(cid:12) (cid:95) a ∈ U χ X ( a ) (cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:124) (cid:123)(cid:122) (cid:125) U in G a,X . ≤ | f ( u ) | ≤ | u | def = (cid:12)(cid:12)(cid:12)(cid:12)(cid:12) (cid:95) a ∈ U χ Y ( a ) (cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:124) (cid:123)(cid:122) (cid:125) U in G a,Y . , which concludes the “ ⇐ ” implication.For the “ ⇒ ” implication, let X (cid:118) Y and p = | u | < | f ( u ) | . By definition of f , we can find aset { a , . . . , a k } ⊆ N which satisfies χ Y ( a i ) ≤ u for i = 1 , . . . , k and (cid:12)(cid:12) (cid:87) i ≤ k χ X ( a i ) (cid:12)(cid:12) > p . In particular,we have (cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12) (cid:95) ≤ i ≤ k χ Y ( a i ) (cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12) ≤ p < (cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12) (cid:95) ≤ i ≤ k χ X ( a i ) (cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12) . For each 1 in (cid:87) i ≤ k χ X ( a i ) take one element of { a , . . . , a k } that accounts for this 1. Call the resultingtuple a . Note that this might not be an n -tuple, but its length is strictly greater than p (and may containrepetitions). It is only a partial section of X : to complete it into a section of the whole X , simply add oneelement from each of the remaining (non-empty) sets. The result is also a section of Y and in particular,each element of a needs to fit in one component of Y . This is impossible because there are at most p sets Y j that can contain the elements of the tuple a . Contradiction!Lemma 3 does characterize the (cid:118) preorder but still looks a little ad-hoc. We now give a more concisecharacterization that relates (cid:118) with ⊆ , thus answering our initial question. First note that we can liftany f : B n → B m to a function P ( N ) n → P ( N ) m : Definition 6.
Suppose f : B n → B m , define (cid:98) f : P ( N ) n → P ( N ) m as (cid:98) f (cid:0) Y (cid:1) def = X with a ∈ X i iff f (cid:0) χ Y ( a ) (cid:1) has a 1 at coordinate i . This transformation is, in a precise categorical sense, natural . It amounts to lifting the boolean operations ∧ and ∨ to their set theoretic versions ∩ and ∪ in a way that is compatible with function composition. Forexample, with the “and/or” function ( b , b ) (cid:55)→ ( b ∧ b , b ∨ b ) we obtain ( Y , Y ) (cid:55)→ ( Y ∩ Y , Y ∪ Y ). Definition 7.
Call an increasing function f : B n → B n contractive if it satisfies | f ( u ) | ≤ | u | for all u ∈ B n .A corollary to Lemma 3 is: Proposition 3.
For any X and Y , we have X (cid:118) Y ⇐⇒ X ⊆ (cid:98) f (cid:0) Y (cid:1) for some increasing, contractive f : B n → B n . roof. We know that X (cid:118) Y is equivalent to having | f ( u ) | ≤ | u | for all u in B n , where f is defined as inLemma 3. This function f satisfies X ⊆ (cid:98) f ( Y ): use u def = χ Y ( a ) to check that a ∈ X i is an element of the i -thset of (cid:98) f ( Y ).For the converse, suppose f is contractive increasing with X ⊆ (cid:98) f ( Y ) and let χ Y ( a ) ≤ u . Supposethat χ X ( a ) contains a 1 in position i . This means that a ∈ X i and thus a is in the i -th set of (cid:98) f ( Y ). We canconclude that f (cid:0) χ Y ( a ) (cid:1) contains a 1 in position i . This implies that f ( u ) also contains a 1 in position i .
3. Contractive functions are not finitely generated
If one had a simple representation of contractive increasing boolean operators from B n to itself, thenProposition 3 would give a simple representation of the (cid:118) preorder. It is well known that all booleanoperators B n → B m with n inputs and m outputs can be represented by a boolean circuit using only “and”,“or” together with “not” cells. Strictly speaking, we also need constant values and need a way to forget orduplicate inputs. The complete set of cells is depicted in Figure 1, where the last cells are: • constants 1 and 0 (zero input, one output), • drop (one input, zero output), • duplicate (one input, two outputs), • crossing (two inputs, two outputs). and or not dup Figure 1: boolean cells
These cells, together with a finite set of relations expressing properties of the operations (associativity,etc.), give a finite presentation of the monoidal category of boolean operators. We can generate thesubcategory of increasing operators by removing the “not” cell from the generators. Unfortunately, no suchthing is possible for contractive increasing boolean operators.
Proposition 4.
Contractive increasing boolean operators are not finitely generated.
In other words, any finite set of cells will either miss some contractive boolean operator, or generatesome non contractive boolean operator.First, a preliminary lemma:
Lemma 4.
Let f : B n → B n be an increasing contractive boolean operator; the following are equivalent: f is the action of a permutation u (cid:55)→ σ · u for some σ ∈ S n , f is bijective, f is injective on words of weight . All of this has a precise algebraic meaning, see [10] for details. roof. Trivially, 1 implies 2 and 2 implies 3. Suppose now that f is increasing and contractive on B n .Suppose moreover that f is injective on words of weight 1. We can define a permutation σ on { , . . . , n } byputting τ ( i ) = j iff f ( e i ) = e j where e i represents the word with a single 1 in position i . If u contains a 1 in position i , then, because f is increasing, f ( u ) must contain a 1 in position τ ( i ). Because f is contractive, f ( u ) cannot contain more 1sthan there are in u . Thus, the 1s of f ( u ) correspond exactly to the images of the 1s of u along τ : f is indeedthe action of a permutation. Proof (Proposition 4).
Suppose, by contradiction, that there is a finite set of cells that generates allincreasing contractive boolean operator, and write m for the maximal arity of the cells in this set.Any non-invertible function has a representation as in Figure 2 where • the topmost rectangle contains only crossings (and invertible cells which are, by Lemma 4, equivalentto crossings), • the cell C is not invertible and has arity c ≤ m , • and the lowermost rectangle contains the rest of the circuit. ... ............ ... ...... C Figure 2: Circuits
By Lemma 4, we know that the cell C is not injective on inputs of weight 1. It means there are two inputwires i and i s.t. C gives the same value on the two elements of B n consisting of 0s and a single 1 inposition i or i . Because this is independent of the inputs v on the n − m remaining wires, we obtain: Claim.
Supposing contractive increasing boolean operators were finitely generated with a cells of arity lessthan m , then for any non-invertible contractive increasing boolean operator f : B n → B n , with n ≥ m , wehave: ∃ σ ∈ S n ∀ v ∈ B n − m f (cid:0) σ (01 . .v ) (cid:1) = f (cid:0) σ (10 . .v ) (cid:1) . The permutation σ is used to simplify the notation: it reorders the wires to put i and i in positions 1and 2, and the remaining input wires for C in positions 3 , . . . , c .For any maximal arity m , we will construct a (large) n together with a function f : B n → B n thatcontradicts this fact: whenever we choose input wires i and i and put any m − i def = 0 and i def = 1, or putting i def = 0and i def = 1 makes a difference in the output of the function. Thus, this function will not be representableusing the given set of cells. 8iven a (large) n , define f : B n → B n as: f ( u ) def = n if | u | = 0 (1) n − if | u | = 1 (2) k n − k if | u | = k is even (3) n − if u = 0 · · · l · · ·
0, with l > (4) n − if | u | = 3 but u not of the previous shape (5) k
01 0 n − k − if u = 0 · · · k k · · ·
0, with k > (6) k
01 0 n − k − if u = 0 · · · k k · · ·
0, with k > (7) k
10 0 n − k − in all the remaining cases. (8) This function is contractive because we have | f ( u ) | = | u | . Moreover, it is increasing because whenever v isa successor of u , we have f ( v ) > f ( u ): • f ( u ) = 1 k · · · when | u | = 2 k • f ( u ) = 1 k
10 0 · · · or f ( u ) = 1 k
01 0 · · · when | u | = 2 k + 1.Suppose input wires k , . . . , k m − are fixed to 0 and we want to differentiate between input wires i and i ,with i < i . By putting some 1s in the appropriate remaining wires, we can make f give different resultswhen “ i def = 0, i def = 1” and “ i def = 1, i def = 0”. • If there are two consecutive wires between i and i (but not touching i ) which are not among k ,. . . , k m − , we put those two wires to 1 and all the other wires to 0. By lines (4) and (5) from thedefinition of f , we will get two different results. • If not, the wires i and i cannot be too far apart. (There are at most 2 m − k consecutive wires at distance 2 k to the left of i , or a sequence of 2 k consecutive wires at distance 2 k to the right of i , we can put those wires to 1 and the rest to 0. Bylines (6) and (8) or (7) and (8) of the definition of f , we will also get different results.For this to work, we have to make sure n is big enough. At worst, the wires k ,. . . , k m − can preventus from finding an appropriate sequence m − i is big enough (bigger than 2 m +1 ),such a sequence is bound to happen. The same is true when i is small enough compared to n . In the end,choosing n bigger than, say, 2 m +2 plus an additional ε will guarantee that we can differentiate any i and i among any set of m wires. A more careful analysis shows that it is in fact enough to take n def = 2 m +1 + 4.This concludes the proof. References [1] Brzozowski, J. A., Oct. 1964. Derivatives of regular expressions. J. ACM 11 (4), 481–494.[2] Conway, J. H., 1971. Regular Algebra and Finite Machines. Chapman and Hall.[3] Dedekind, R., 1897. ¨Uber Zerlegungen von Zahlen durch Ihre gr¨ossten gemeine- samen Theiler. Unknown, reprinted in [4],pp. 103147.[4] Dedekind, R., Fricke, H. v. R., Noether, E., Ore, Ø., 1930. Gesammelte mathematische werke. Vol. 2 of Gesammelte math-ematische werke. Friedr. Vieweg & Sohn, http://gdz.sub.uni-goettingen.de/en/dms/load/img/?PPN=PPN235693928 .[5] et al., N. J. A. S., 2010. The on-line encyclopedia of integer sequences. http://oeis.org .[6] Hall, P., 1935. On representatives of subsets. Journal of the London Mathematical Society 10, 26–30.[7] Hyvernat, P., September 2004. Predicate transformers and linear logic: yet another denotational model. In: Marcinkowski,J., Tarlecki, A. (Eds.), 18th International Workshop CSL 2004. Vol. 3210 of Lecture Notes in Computer Science. Springer-Verlag, pp. 115–129.[8] Knuth, D. E., Jan. 2011. Combinatorial Algorithms. Vol. 4A of The Art of Computer Programming. Addison-WesleyProfessional. v is a successor of u if v > u and | v | = | u | + 1.
9] Korshunov, A. D., 2003. Monotone boolean functions. Russian Mathematical Surveys 58 (5), 929.[10] Lafont, Y., 2003. Towards an algebraic theory of boolean circuits. Journal of Pure and Applied Algebra 184, 2003.[11] Marin, M., Kutsia, T., 2010. On the computation of quotients and factors of regular languages. Frontiers of ComputerScience in China 4 (2), 173–184.[12] Mirsky, L., 1971. Transversal theory; an account of some aspects of combinatorial mathematics. Mathematics in Scienceand Engineering. Elsevier Science.[13] Wegener, I., 1987. The complexity of Boolean functions. Wiley-Teubner.[14] Wiedemann, D., 1991. A computation of the eighth Dedekind number. A Journal on The Theory of Ordered Sets and ItsApplications 8, 5–6.
Appendix A. An algorithm
Proposition 3 is more elegant but Lemma 3 has an interesting byproduct: it gives a concrete algorithm tocheck if X (cid:118) Y . For that, construct the function f from Lemma 3 and check that it satisfies the condition.Just as a proof of concept, here is the main part of the algorithm, in the Python programming language.Minor alterations have been made to make it more readable. The most difficult (and fun) part was to writethe function combinations that generates all the vectors of length n and weight w using one of the subtlealgorithms from [8]! def check (N, n ,X,Y) : def combinations (w) : def sup (u , v ) : def weight ( u ) : def c h i ( a , Z ) : for i in range ( n ) : i f a in Z [ i ] : u [ i ] = 1 return uF = {} for a in N: chiX = c h i ( a ,X) chiY = c h i ( a ,Y) F [ chiY ] = sup (F [ chiY ] , chiX ) for w in range ( n+1): for u in combinations (w) : v = F [ u ] for i in range ( n ) : i f u [ i ] == 1 : u [ i ] = 0 v = sup ( v , F [ u ] ) u [ i ] = 1 F [ u ] = v i f weight ( v ) > w: return False return
True If N has cardinality c and the components of X and Y have cardinalities at most x and y ; and if wesuppose that the standard operations on sets and finite functions have logarithmic complexity, the hints inthe comments give a total complexity of roughly O (cid:0) cn (cid:0) log( x ) + log( y ) (cid:1) + 2 n n (cid:1) . Because both x = O ( c )and y = O ( c ), we get a complexity of O (cid:0) nc log( c ) + 2 n n (cid:1) . If c is fixed, this is O ( n n ); if n is fixed, thisis O (cid:0) c log( c ) (cid:1) . In almost all cases, this is better (and much easier to write) than the naive approach thatchecks if each a ∈ X is a section of Y , even if we are allowed to use an oracle to guess the permutations. The complete file is available from http://lama.univ-savoie.fr/~hyvernat/research.phphttp://lama.univ-savoie.fr/~hyvernat/research.php