Discrete Mathematics 306 (2006) 2355–2382 www.elsevier.com/locate/disc
Unimodular modules Paul Camion1
CNRS, Universite Pierre et Marie Curie, Case Postale 189-Combinatoire, 4, Place Jussieu, 75252 Paris Cedex 05, France
Received 12 July 2003; received in revised form 4 January 2006; accepted 9 January 2006 Available online 24 July 2006
Abstract The present publication is mainly a survey paper on the author’s contributions on the relations between graph theory and linear algebra. A system of axioms introduced by Ghouila-Houri allows one to generalize to an arbitrary Abelian group the notion of interval in a linearly ordered group and to state a theorem that generalizes two due to A.J. Hoffman. The first is on the feasibility of a system of inequalities and the other is Hoffman’s circulation theorem reported in the first Berge’s book on graph theory. Our point of view permitted us to prove classical results of linear programming in the more general setting of linearly ordered groups and rings. It also shed a new light on convex programming. © 2006 Published by Elsevier B.V.
Keywords: Graph theory; Linear algebra; Abelian group; Ring; Modules; Generator; Linearly ordered group; Linearly ordered ring; Convexity; Polyhedron; Matroid
1. Introduction
1.1. Motivations
We refer here to Berge’s book [3]. All results in the present paper have their origin in Section 15 of that book, translated into English from [1], and in Berge’s subsequent paper [2]. The aim of this paper, which is a rewriting of part of [14], is to gather together many of the results known already in 1965 and to set them in an algebraic context. Rado [37] was the first to use properties of linear inequalities to prove the König–Hall Theorem on the existence of a matching in a bipartite graph. Hoffman [26,25] then showed that the König–Hall Theorem and its derivatives were but a reflection of the total unimodularity of incidence matrices of vertices versus arcs of directed graphs. More precisely i Z he gave a combinatorial result on totally unimodular matrices (aj ) over with positive entries which generalizes König–Hall Theorem. His proof is based upon linear inequalities. Previously, Tutte [38–40] and Heller [24,23] had
E-mail address: [email protected]. 1 J’ai rencontré Claude Berge en 1959 alors que je travaillais sous la direction de Paul Gillis au Centre d’Etudes et de Recherche Opérationnelle, que celui-ci venait de créer Bruxelles. Claude Berge accompagnait d’autres personnalités scientifiques parmi lesquelles Robert Fortet, Jacques Lesourne et Germain Kreweras. Claude Berge, par ses exposés sur les graphes, a suscité mon enthousiasme pour la théorie des graphes, et de là pour les mathématiques du discret. Il fut à l’origine de l’orientation et du développement de mes travaux de recherche. I met Claude Berge in 1959 when I was working under the direction of Paul Gillis at the Centre dEtudes et de Recherche Oprationnelle that he had just created in Brussels. Claude Berge was one of a number of scientists there, including Robert Fortet, Jacques Lesourne and Germain Kreweras. Through his talks on graphs, Claude Berge aroused my enthusiasm for graph theory, and for discrete mathematics in general. The direction my research took, and its subsequent development, originated with him.
0012-365X/$ - see front matter © 2006 Published by Elsevier B.V. doi:10.1016/j.disc.2006.01.028 2356 P. Camion / Discrete Mathematics 306 (2006) 2355–2382 shown how useful considering minimal sets of columns of totally unimodular matrices over Z could be; these minimal subsets generalize the notions of elementary cycles and elementary cocycles in graphs. In [12] it was shown how both those points of view could be reconciled by defining unimodular modules in Zm where vectors with minimal support play an essential part. A system of axioms introduced by Ghouila-Houri [20] allows one to generalize to an arbitrary Abelian group the notion of interval in a linearly ordered group and to state a theorem that generalizes two due to Hoffman. The first [25] is on the feasibility of a system of inequalities and the other is Hoffman’s circulation Theorem reported in [1]. It states the conditions for the existence of a flow with components in prescribed intervals of integers. The latter Theorem of Hoffman unified a significant number of results in graph theory, including the theorems of Gale, Ford and Fulkerson and Menger. By this very fact they are a reflection of properties of unimodular modules. The present approach would not have been possible without the results of Ghouila-Houri [20], Minty [35] and Berge [2]. Properties of linear inequalities that we consider are collected in a book edited by Kuhn and Tucker [29]. It turns out that many of them are corollaries of Theorem 3.1. Later, our point of view permitted us to prove classical results of linear programming in the more general setting of linearly ordered groups and rings. It also shed a new light on convex programming [13]. Let us finally mention that in 1963 Alan Hoffman communicated his enthusiasm to the author, in particular regarding the work on linear inequalities, while the author was visiting IBM Watson Research Center [16].
1.2. Foreword
A word of explanation is perhaps in order. Our aim here is not to update our earlier paper “Modules unimodulaires”, but rather to take advantage of this English version of [14] to rectify several deficiencies in the original paper. The easy Proposition 2.1 was not stated in [14]. It will turn out to be essential to the proof of Theorem 3.1. All proofs of the results stated in Sections 5.2 and 5.3 rely on Corollary 2.1 which was not stated in [14]. Theorem 5.7 shows how the well-known duality theorem of linear programming can be extended to polynomial rings over linearly ordered fields. Next, the Dantzig simplex method is also extended to polynomial rings over linearly ordered fields. This was essentially contained in the exposition of [13] but it was not clearly stated. A number of the proofs there are not given here since they can easily be established by the reader. Let us point out that the present version is intended to take into account further results published in 1974 [15], for which the paper “Modules unimodulaires” [14] was a natural precursor. For instance Farkás’ Lemma [19], which is not considered in [14] has a more general setting in [15] (Section 3.2, see Theorem 7) where unimodular modules are generalized to stable modules. Also, the proof of Theorem 11 in section 3of[15] is essentially that of Theorem 5.5. Briefly, in a stable module, the set of units in a ring R needed to define unimodular modules is extended to any subset S ⊂ R such that SS ⊂ S. Several proofs in [14] lead to algorithms. For instance the generators of the polar of a cone can be constructed by using the constructive proof of the partition lemma (Lemma 5.1), which generalizes Minty’s lemma [35]. Remark 5.7 also points out that an algorithm exists to actually express any vector in a polyhedron as a linear combination of some of the extreme points of that polyhedron. Such constructive arguments already appeared in the proof of the generalized Farkás’ Lemma (Theorem 7) as well as in that of Theorem 11 in Section 3 of [15]. Let us also point out that the proof of Theorem 4.1 is constructive. Michel Las Vergnas suggested an oriented matroid version of that result. It is still to be found. We thus emphasize that the present paper is not intended to update the paper [14] and in particular to quote all subsequent results on oriented matroids ( introduced independently by Las Vergnas [31], Bland [7] and Lawrence [33]). An extensive account on oriented matroids can be found in [6] beside the original papers by Las Vergnas [32], and Bland [8,9].
1.3. A first insight
Basic examples of unimodular modules over the ring Z of integers are the modules spanned by the rows of a cyclomatic matrix or a cocyclomatic matrix (see [3], [Section 15, Theorem 5 (Poincaré–Veblen–Alexander)]). Theorem 5.1 states: Let L be a unimodular module in Gm. Every semi-positive vector x of L is positive linear combination of semi-positive generators with supports contained in that of x. By the theorem of Poincaré–Veblen–Alexander, the module over Z spanned by the rows of the incidence matrix of a graph is unimodular and its orthogonal module, denoted by L,isthe P. Camion / Discrete Mathematics 306 (2006) 2355–2382 2357 module of flows on the graph. Each component of a vector x ∈ L is the value of that flow on an arc. A vector x in that module which is semi-positive is a flow with only 0 or strictly positive components on the arcs. Here the theorem shows that such an x is a sum of (0, 1)-vectors corresponding to elementary circuits in the given graph. A weaker form of Minty’s Lemma states that an arc in a graph belongs either to a circuit or to a cocircuit, but not both. The set of arcs with strictly positive components is denoted by J. Then J J L is the module of flows on the graph obtained from the given one by deleting all arcs on which the component of x is zero. The proof consists in exhibiting a circuit in that reduced graph. Such a circuit exists since the existing flow prevents any cocircuit to exist. The striking fact is that these approaches yield results beyond the generalization to properties of unimodular modules over Z that generalize modules of flows in a graph. Considering minimal supports leads to results on polyhedra and convex sets not only in Rn but also in products Gn of lattice ordered groups such as certain groups of numerical functions. This mainly relies on the basic results which can be found in Bourbaki [11]. One of these basic facts is that S[X] is a linearly ordered ring when S is linearly ordered. It is extensively used in the proofs and in algorithms where it is shown in particular that degeneracy in linear programming can be avoided by considering those polynomial rings.
2. Machinery
2.1. The need for algebraic concepts
It was first observed in [12] that properties of flows and tensions in graphs, brought to the knowledge of the author in [2], were properties of particular groups of vectors with integer coordinates that were called unimodular modules because they are spanned by the rows of totally unimodular matrices. Totally unimodular matrices with entries over the integers are introduced with incidence matrices of graphs. We refer to Chapter 15 of [3] for that topic. To elementary cycles and cocycles as defined in [2] correspond vectors with minimal supports in unimodular modules with {1, −1, 0} components. The aim of the algebraic tools introduced here is to properly define in more general modules over Abelian groups, here denoted by G, unimodular modules for which we can state those properties in a more general setting. This section contains more than Chapter I of [14], in which some proofs are not complete. Proposition 2.1 is essential for a complete proof of Theorem 3.1. On the other hand, Theorem 2.3 is essential in its turn for a complete proof of Lemma 5.1. Several theorems need Lemma 5.1 for their proof. This is the case in particular for Theorems 5.2, 5.3, 9, 5.4 and 5.7.
2.2. The module GY
In the original paper [14] we suppose thatY is not finite. Here we confine ourselves to the case whereY is finite. Every ring considered here is unitary, i.e. its group of units is not empty. Let G be an Abelian group and S a commutative unitary subring (ring with unity) of its ring of endomorphisms. The group S of invertible elements (or units) of S is thus a subgroup of the group of automorphisms of S. The S-module G is simply denoted by G. The set {1,...,m} of m integers represents the finite set Y and x = (xi)i∈Y denotes an element in S . The support s(x) of x is
{i|i ∈ Y and xi = 0}.
m The set of supports of elements of a submodule M of S , ordered by inclusion, is denoted by SM . An element (or vector) x of M is said to be minimal if s(x) is minimal in SM \∅. A vector u of M is called a generator of M if it is minimal and if all its non-zero components are units of S. A generator is called unitary when one of its components is equal to one. Similarly, and more generally, GY denotes the S-module of families of elements in G indexed by Y,in Y other words, m-tuples or vectors. Here x = (xi)i∈Y denotes an element in G . Similarly
s(x) ={i|i ∈ Y and xi = 0}
Y and x is said to be minimal in a submodule L of G if s(x) is a minimal element in the ordered set SL\∅ of all non-empty supports of vectors in L. 2358 P. Camion / Discrete Mathematics 306 (2006) 2355–2382
2.3. Unimodular modules and total unimodularity
2.3.1. Unimodular modules and echelon matrices Y Let us consider in a submodule L of G , submodules Ls consisting of zero and all minimal vectors with the same support s. Then Ls is called a minimal submodule of L. Let us assume that Ls has the following property:
∀i ∈ s, {xi|x ∈ Ls}=G. (1) Then for all pairs i ,i in s, the mapping from G to G defined by xi → xi is surjective (every xi of G has an inverse image) and injective (the support s is minimal); it is thus an automorphism of G. If moreover that automorphism has the form xi → xi = xi , where is an element of S , the set of units of S, then Ls is generated by (uig)i∈Y forafixed u = (ui)i∈Y while g runs over G. If every minimal submodule of L enjoys that property then L is called a unimodular module over S. In such a situation a vector u such that uG is a minimal submodule of L is called a generator of L.
Remark 2.1. From the above definition, a unimodular module L of Gm is finitely generated. Indeed a set U of representatives cannot contain two generators with same support. Property 2.9 will then show that L is always generated by a finite free set of vectors of Sm.
Definition 2.1. Let S be a commutative ring and L a submodule of GY over S. If there exists a set U of non-zero vectors in SY with invertible or zero components such that every minimal submodule in L has the form uG, u ∈ U, then L is a unimodular module and u is called a generator of L.Aunitary generator is a generator with one component equal to one. If U is a minimal set with that property it is called a set of representatives of L.
Examples.
(1) When G = (S, +) = (K, +) where K is a field, then all submodules of KY are unimodular. That example which is the easiest, looks trivial, we will see that properties of unimodular modules bring new results to vector spaces. (2) In the case where L is a submodule of SY , a generator is a minimal vector of L whose components are zero or units of S. The module L is then unimodular if everyone of its minimal submodules contains a generator. This is the case for S = Z and the module M of integer flows of an oriented graph.
Property 2.1. Every non-zero vector of a unimodular module L is a sum of minimal vectors.
Proof. Let x ∈ L, x = 0 and let Ls be a minimal submodule of L, where s is contained in the support s(x) of x.By (1) there exists a y ∈ Ls and i ∈ s such that yi = xi. Thus, s(x − y) is properly contained in s(x) and the proof follows by induction on the size of s(x).
Definition 2.2. An n × m matrix A of rank n with entries in a commutative ring S is locally unimodular if every n × n subdeterminant of A is zero or a unit of S.
Definition 2.3. A matrix A with entries in a commutative ring S is totally unimodular if every subdeterminant of A is zero or a unit of S.
Clearly a totally unimodular n × m matrix of rank m is locally unimodular. Theorem 2.2 is a basic result in [14]. It relies on properties of matrices that we state here. Some of those properties were known properties of totally unimodular matrices over the ring Z of integers before [14] was published. In the following all matrices considered have entries in a commutative ring S. The proofs rely on elementary transformations. An elementary transformation of an n × m matrix A is defined as the product TA, where T is an invertible n × n matrix, called an elementary matrix in which all unit vectors appear as columns except one.
Notation 2.1. Let G be a module over a commutative ring S. If A denotes an n × m matrix over a ring S, then the product of A by the column vector x ∈ Gm is denoted by Ax. It is a column vector b ∈ Gn. We also write tA for the product of the row vector t ∈ Sn by the matrix A. When we write cx then c ∈ Sm is a row vector and x ∈ Gm a column P. Camion / Discrete Mathematics 306 (2006) 2355–2382 2359 vector. In the same way we write tb for the scalar product of two vectors of Sn, thus t is assumed to be a row vector andbacolumn vector. The ith row of A (resp. the ith component of b) is denoted by Ai (resp. by bi). The jth column I i of A (resp. the jth component of x) is denoted by Aj (resp. by xj ). The matrix A (resp. AJ ) consists of all rows A (resp. columns Aj ) of A for i ∈ I (resp. for j ∈ J ).
Definition 2.4. An n × m matrix A is an echelon matrix if an n × n submatrix AJ of its column submatrices is the identity matrix In.
Property 2.2 is readily verified.
Property 2.2. If A is a locally unimodular n × m matrix with rank n, then every echelon matrix with the form TA, where T is an n × n matrix, is totally unimodular.
Property 2.3. If A is a non-singular totally unimodular n × n matrix, A−1 is totally unimodular.
Indeed [A, I] is totally unimodular and so is [I,A−1], by Property 2.2. We have as a corollary:
Property 2.4. If A is a non-singular totally unimodular n × n matrix over S and b a column vector of the S-module Gn, then Ax = b has a solution x ∈ Gn. If b is a unit vector in Sn, then all non-zero components of the solution x are units of S.
Property 2.5. If A is a totally unimodular n × m matrix and AI any maximal subset of linearly independent rows of A, then every row of A is a linear combination with invertible components of some rows in AI .
Proof. The statement readily follows from Cramer’s rule.
Definition 2.5. Let A be an n × m matrix over S and b in Gn. The set {x|x ∈ Gm,Ax= b} is called a linear variety.
Proposition 2.1. LetAbeann × m totally unimodular matrix. The linear variety {x|Ax = b, x ∈ Gm,b ∈ Gn} is not empty if and only if for all t in Sn, tA = 0 implies tb = 0.
Proof. If Ax = b, and tA = 0, then tb = tAx = 0. I I Let A be a maximal set of linearly independent rows of A and J a subset of indices such that the square matrix AJ ∈ m = ∀ ∈ I = I is non-singular. By Property 2.4 there exists an x G such that xj 0, j/J and AJ xJ b . We then can write I I n I i I I I I A x = b .Fori/∈ I, we have by Property 2.5 that ∃t ∈ G ,tI A = A . Since A x = b , then tI A x = tI b , which is i i I I i b , by assumption. Thus A x = tI A x = tI b = b . Since this holds for all i/∈ I, then Ax = b.
Property 2.6. Let L be a unimodular module of GY . If the n × m matrix A is an echelon matrix whose rows span the set U of representatives of L, then every row of A is a generator of L.
Proof. Let i be any integer in {1,...,n} and u a generator of L whose support is contained in s(Ai), where Ai is the n i i ith row of A. Since u can be written as tA where t ∈ S , then only ti is not 0; u = tiA where ti is a unit of S. Thus, A is a generator of L.
Property 2.7. Let it L be a unimodular module of GY with U as set of representatives. If the n × m matrix A is an echelon matrix whose rows span the set U, then it is totally unimodular.
Proof. By Property 2.2 we may only prove that A is locally unimodular. Now by Property 2.6 we know that every non-zero entry of A is a unit. Let AJ be any n × n non-singular submatrix of A. We have to prove that it is invertible. Let T be an n × n invertible matrix such that TA is an echelon matrix with r unit vectors among the columns of TAJ where r is as large as possible. We show that r = n. Since the rows of TA still span U, then every entry in TA is a unit, by Property 2.6. We show that if r J J J r + 1 unit vectors among the columns of T TA . Indeed let ei be the unit vector which is not in TA . Since TA is non-singular, then there is a column in TAJ with a unit as the ith component. That column yields an elementary matrix T with the claimed property. This shows that AJ is invertible and A thus is locally unimodular. Property 2.8. Let L be a unimodular module of GY with U as set of representatives. Every maximal subset of vectors in S U which consists of the rows of an echelon matrix is a basis of L. Proof. Let A be an r × m matrix whose rows consist of a maximal subset with the stated property and let AJ be the unit matrix Ir . Without loss of generality we assume that J ={ 1,...,r}. Let us assume that there exists a vector x of − j { }\ =∅ L which is not spanned by the rows of A. The support s of x j∈J xj A is contained in 1,...,m J . Since s , there exists a u ∈ U with s(u) ⊂ s. A matrix B is obtained by joining u as a last row to A. An elementary transformation T maps B onto an (r +1)×m echelon matrix A. However, each row of A may no longer be in S U. Let g ∈ G, g = 0. If for some i r the support of gA i is not minimal then there exists a u ∈ U such that gu has a minimal support with s(u) ⊂ s(A i) and A i will be changed for u in A. Every i is checked in this way. An (r + 1) × m echelon matrix is thereby obtained in which every row is in S U, contradicting the assumption. We have more precisely the following property. Property 2.9. Let L be a unimodular module with U as set of representatives. Every unitary generator u is a row in an n × m echelon matrix A whose rows are in S U and span L. Moreover, if B is any other echelon matrix which spans L, thenBisann × m matrix and A has the form TB, where T is an n × n unimodular matrix. Every generator of L is a linear combination of the rows of any echelon matrix whose rows span L. J Proof. The first assertion is a consequence of Property 2.8. Let B be the echelon matrix of the statement where B =In . Let u bearowof A. By Property 2.6, u is a generator of L. Let x be a minimal vector of L which has the form ug. = ij = ij = ij (u) ∈ n Then x j∈J xj B j∈J uj gB ( j∈J uj B )g and there thus exists a t S with invertible non-zero components such that t(u)B = u. Let T be the matrix whose rows are the vectors t(u) where u runs over the rows of A. Then TB= A and n n. The same argument shows that conversely nn. Thus, T is an n × n matrix and TBJ = AJ . J J Now if A = In then TB = In. This shows that T is a unimodular matrix. Property 2.10. Let L be a unimodular module of GY with U as set of representatives. If the rows of an echelon matrix A span L, then they span U. Proof. By definition of a unimodular module L,ifu ∈ U, then for every g ∈ G, x = ug is a minimal vector of L.By n J assumption we have that x = tA, where t = (t1,...,tn) ∈ G . Since A is an echelon matrix, then A = In for a subset J J of {1,...,m}. Then tA = xJ = (uj g)j∈J where every component of (uj )j∈J is zero or a unit of S. We define the { }→{ } → ji = = = mapping: 1,n 1,m ,i ji where A is the ith unit column of AJ . Then t vg, where vi uji ,i 1,...,n is zero or a unit of S. This shows that vA = u. Theorem 2.1. Let L be a unimodular module of the module Gm over the unitary ring S. Then a vector of Sm is a unitary generator of L if and only if it is a row of some echelon matrix whose rows span L. Moreover, such an echelon matrix is totally unimodular. Proof. The necessary condition is the first assertion of Property 2.9. The sufficient condition follows from Property 2.6. Indeed if the rows of an echelon matrix A span L, then they span any set U of representatives of L, by Property 2.10. 2.3.2. Characterization of unimodular modules in Gm and in Sm Theorem 2.2. Let L be a submodule of GY ,Y finite. Then L is a unimodular module if and only if it is spanned by the rows of a totally unimodular matrix with entries in S. P. Camion / Discrete Mathematics 306 (2006) 2355–2382 2361 Proof. The condition is sufficient. We first notice that the mapping from Gn to Gn defined by z → zT , where T is a unimodular (thus invertible) matrix with entries in S is a module isomorphism. Thus if the rows of the n × m matrix A span the module L, so do the rows of the matrix TA, for a unimodular n × n matrix T. We then may assume by Property 2.2 that the considered module L is spanned by the rows of a totally unimodular echelon n × m matrix A. Let x ∈ L be a minimal vector and let J be J J chosen, |J |=n, so that A is invertible and s(x) ∩ J is minimal. Let TA be the echelon matrix with TA = In and such that s(x) ∩ J is minimal. We will show that |s(x) ∩ J |=1. If not let , ∈ s(x) ∩ J, = and let A be the h unit vector eh. The support s(y) of y = x − (T A) x is distinct from s(x) as it contains but not . Since it cannot be included in the minimal support s(x), then (T A)h has a non-zero component j in Y \(s(x) ∪ J). Thus, the column (T A)j yields an elementary matrix T such that (T TA)is an echelon matrix with |((J \{ })∪{j})∩s(x)| < |J ∩s(x)|. This contradicts the minimality assumption on s(x) ∩ J . h Now, x being spanned by the rows of TA we have that x = x (T A) which shows that it has the form ug, g ∈ G, where the non-zero components of u are units of S. The condition is necessary. By Theorem 2.1 there exists a totally unimodular matrix A whose rows span a set U of representatives of L;onthe other hand L is spanned by U. 2.3.3. Unimodular modules in Gm and in Sm Theorem 2.3. Let G be a module over the ring S. If a submodule L of Gm is unimodular, then for any Abelian group F the submodule M of F m spanned by the vectors of a set U of representatives of L is a unimodular module. Moreover, a vector of Sm is a generator of L if and only if it is a generator of M. Proof. By Property 2.9 there exists an n × m echelon matrix A whose rows consist of a subset of S U and span L.Itis totally unimodular by Property 2.7. Moreover, every vector of U is a linear combination of the rows of A, by Property 2.10. Then the module M spanned by U in F m is spanned by the rows of A. By the sufficient condition of Theorem 2.2, that module is unimodular. Now since the rows of A span M, every generator of M is a row in some echelon matrix TA, by Property 2.9 applied to M. It thus is a generator of L, by Property 2.6. The following corollary will be very useful for several proofs stated in Section 3.5. Corollary 2.1. Let L be a unimodular submodule of Gm and U a set of representatives of L. Then the module M spanned by U in Sm is unimodular and U is a set of representatives of M. Definition 2.6. Let L be a unimodular module of GY and U a set of representatives of L. Then the set ⊥ Y L ={y|y ∈ G and ∀u ∈ U, uiyi = 0} (2) i∈Y is a subgroup of GY and S being commutative is a submodule of GY . It is by definition the orthogonal module of L in GY . Y Y Notice that M being the submodule spanned by U in S , the module orthogonal to M in S , being the module Y = consisting of all vectors y of S satisfying i∈Y xiyi 0 for all x in M, also is the module consisting of all vectors y Y = of S satisfying i∈Y uiyi 0 for all u in U. Theorem 2.4. Let L be a submodule of GY , Y finite. Then the orthogonal module L⊥ of L is unimodular in its turn. Moreover, L is the orthogonal module of L⊥ in GY . By Property 2.2 L⊥ is seen to be spanned by the rows of a totally unimodular matrix. The assertion is thus a consequence of Theorem 2.2. 2362 P. Camion / Discrete Mathematics 306 (2006) 2355–2382 Y Definition 2.7. For every subset J of Y and every submodule L of G , the projection J (L) is defined by J (L) ={(xi)i∈J |x = (xi)i∈Y ∈ L} and the restriction J (L) as J (L) ={x|x ∈ L and s(x) ⊂ J }. Since minimal vectors of J (L) are minimal also in L, the following assertion holds. Property 2.11. For every subset J of Y , the restriction J (L) of a unimodular module L is unimodular. The following assertion also holds. Property 2.12. Let L be a unimodular module. For every subset J of Y , the module J (L) is unimodular. Moreover, it has a subset of J (U) as set of representatives. We also have: ⊥ Property 2.13. Let L be a unimodular module. For every subset J of Y , the orthogonal module of J (L) is J J (L ). 3. The feasibility theorem 3.1. Lattice ordered groups We will follow [11] for our definitions. We only outline the classical properties needed. Definition 3.1. A set E is ordered by a relation R ⊂ E × E if: (1) (x, y) ∈ R and (y, z) ∈ R implies (x, z) ∈ R. (2) (x, y) ∈ R and (y, x) ∈ R is equivalent to x = y. Condition (2) implies ∀x ∈ E, (x, x) ∈ R. Notation 3.1. When (x, y) ∈ R we write x y. Definition 3.2. The element z is a majorant (minorant) of a subset X of an ordered set E if zx(zx),∀x ∈ X. Definition 3.3. If z is a majorant (minorant)ofX and belongs to X, then it is necessarily unique. Such a z is called the greatest (least) element of X. Definition 3.4. If the set of majorants of a subset X of E has a least element a ( a greatest element b) then a(b) is called an upper bound (lower bound)ofX. Definition 3.5. If every finite subset X of an ordered set E has an upper bound and a lower bound then E is called a lattice ordered set. Notation 3.2. The upper bound (lower bound) of a finite set X is denoted by sup X(inf X). Property 3.1. If P is a subset of a commutative group G, containing 0 and such that P + P ⊂ P and P ∩ (−P)= 0 then set G is ordered by the relation x y ⇔ x − y ∈ P . Definition 3.6. The set P is called the set of positives of G. Notice that in this definition, zero is considered positive. P. Camion / Discrete Mathematics 306 (2006) 2355–2382 2363 Definition 3.7. A group G satisfying Property 3.1 is called an ordered group. Example 3.1. The module G is the vector space R[u] of polynomial functions over the linearly ordered field R. The monoid P is that of all polynomial functions which take positive values over the whole real line. As a special case of the previous one, G is the vector space over R of trinomials. Here P is the monoid of trinomials ax2 + bx + c with a>0 and b2 4ac. Definition 3.8. Let G be an ordered group. If every finite subset X of G has an upper bound then G is a lattice ordered group. Remark 3.1. Notice that, in an ordered group x y ⇔ x − y ∈ P ⇔−y − (−x) ∈ P ⇔−x − y. Thus, if a subset X of G has an upper bound a then −a is the lower bound for −X. From this it can be shown [11, Proposition 7, Chapter 6, Section 10] that the condition above implies that the set G of a lattice ordered group G is a lattice ordered set. Notation 3.3. The set x + P (resp. x − P)is denoted by [x,∞] (resp. [−∞,x]). Such a set is called an interval. The set G itself is also an interval. The set x + P ∩ (y − P)is denoted by [x,y]. Such a set is also called an interval, even if empty. Remark 3.2. The set [x,y] is empty unless x y. Indeed if there exists a z such that z ∈ x + P and z ∈ y − P , then by transitivity we have that x y. Definition 3.9. An ordered group G for which P − P = G is called a filtrant group. Remark 3.3 (Bourbaki [11]). In a lattice ordered group, we have that P − P = G. Indeed let x be any element in G and a = sup{x,0}. Then a ∈ P as well as a − x and x = a − (a − x). 3.2. Lattice ordered modules Definition 3.10. An ordered ring S [11, VI, Section 2, 1] is a commutative unitary ring in which a subset Q called the set of positives satisfies Q1: Q + Q ⊂ Q Q2: QQ ⊂ Q Q3: Q ∩ (−Q) = 0. The ring is a linearly ordered ring if moreover Q4: Q ∪ (−Q) = S. Definition 3.11. Let G be an ordered group which is a module over a unitary ordered ring S. We call it an ordered S-module if QP ⊂ P . Definition 3.12. If G is an ordered module over S with P as set of positives, then Gm is ordered in its turn with P m as set of positives, by Property 3.1. An m-tuple, element of Gm, is usually called a vector. In an ordered group a vector x which is not 0 and for which some components are strictly positive (resp. strictly negative) and the others 0 is called semi-positive (resp. semi-negative), as in [16]. We write x 0 (resp. x 0) and y x (resp. y x)ify − x 0 (resp. y − x 0) when every component of the given vector is non-negative (resp. non-positive). Even if according to the definition of an ordered module we should simply call it positive. This is because we need to distinguish positive 2364 P. Camion / Discrete Mathematics 306 (2006) 2355–2382 vectors from vectors in which every component is strictly positive. We say that a vector x is strictly positive (resp. strictly negative) and we write x>0 (resp. x<0)ifxi > 0,i= 1,...,m(resp. xi < 0,i= 1,...,m). Example 3.2. The module G is the module (Z, +) over the linearly ordered ring Z. The module G is the vector space Rn over the linearly ordered field R. Here P is the monoid of vectors in which every component is non-negative. The module G is the vector space of numerical functions, or continuous functions or Lebesgue measurable functions over the linearly ordered field R. Here P is the monoid of such functions which are positive. The module G is the module K[X] of polynomials over a linearly ordered ring K[X] where K is a linearly ordered ring and P =Q is the monoid of polynomials in which the highest degree term is positive. When K is a field, any matrix with entries in K is totally unimodular. The module G is the module K(X) of polynomial fractions over a linearly ordered ring K[X] where K is a linearly ordered ring and P is the monoid of polynomial fractions where the highest degree terms of both numerator and denominator are positive. In K[X],Qis the set of polynomials in which the highest degree term is positive. When K is a field, any matrix with entries in K is totally unimodular. 3.3. The Ghouila–Houri axioms Let G be a commutative group which is a module over the unitary commutative ring S. Here are (with a slight modification) the axioms of Ghouila-Houri [20]. Definition 3.13. A Ghouila-Houri family in G is a family A of subsets of G satisfying