Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Logic and Integer Programming.pdf
Скачиваний:
45
Добавлен:
10.08.2013
Размер:
2.8 Mб
Скачать

18

1 An Introduction to Logic

 

v u P(u, v). v u P(u, v).˜ v u P(u, v)

(1.68)

Note the temptation to use the ‘−→’ symbol before the last quantified predicate. But this would not capture the true meaning.

1.5 Decidable Fragments of Mathematics

When the predicate calculus is used to formalise parts of mathematics it is necessary to append functions (e.g. ‘+’ , ‘log’) and constants (e.g. 2, 1, π ) together with certain rules involving them (sometimes given in the form of extra axioms). Relations (e.g. ‘=’, ‘ >’, ‘coprime’ ) are represented by predicates.

Although full arithmetic, formalised using the predicate calculus, is not decidable there are smaller ‘theories’ within it which are decidable. We illustrate this by two theories which are applicable to linear and integer programming.

1.5.1 The Theory of Dense Linear Order

The theory of dense linear order models order relations between variables and constants in a continuum such as the real or rational numbers. The ‘+’ operation, the real numbers, the ‘=’ and ‘<’ relations (predicates) together with the transitivity rule ((x < y) · (y < z) = (x < z)) are appended to the machinery of the predicate calculus. It is applicable to linear programming (LP). The constraints of an LP can be regarded as predicates with the LP variables as variables in these predicates.

It is easy to verify that we can express the ‘ ’ relation ((x < y) (x = y)). (Also we can express ‘>’ and ‘ ’ but we choose to suffice with ‘<’ and ‘ ’ for simplicity of exposition.) Repeated addition allows us to multiply variables by integers, e.g. 3x is given by x + x + x. Besides writing expressions such as 2x + 3y 5 we can include subtraction by, for example, writing x y 3 as x 3 + y. Also we can allow multiplication by rational numbers by, for example, writing 23 x < 5 as 2x < 15. For economy of representation we will use these derived relations and operations directly.

We are now in a position to make statements in this system and ask if they are true. This is a decidability problem and is illustrated by the following example.

Example 1.8 Is the following statement true ?

x y(((x + y 1) (2x 3y < 2) (x 2y < 2))·

 

((x < 1) (2x y < 2)))

(1.69)

x, y R

 

We can use (1.56) and (1.57) to transform (1.69) to

 

x˜ y((x y < 1·−2x +3y 2·x +2y 2) (x 1·2x + y 2))

(1.70)

1.5 Decidable Fragments of Mathematics

19

Expressing this in the form

 

x˜ [ y(x y < 1 · −2x + 3y 2 · x + 2y 2)

 

y(x 1 · 2x + y 2)]

(1.71)

y can be eliminated from each of the two conjunctive clauses preceded by y by a process known as the elimination of existential quantifiers. The first clause can be written in the form

y(x + 1 < y · y

2

x

2

· y

1

x + 1)

(1.72)

3

3

2

We now consider the meaning of the above statement. It is that there exists a number from a continuum (e.g. the reals or the rationals) that lies strictly between x + 1 and both of 23 x 23 and 12 x + 1. The condition for this is that

x + 1 <

2

x

2

 

(1.73)

3

3

 

and

 

 

 

 

 

 

x + 1 <

1

x + 1

(1.74)

 

2

Clearly (1.72) implies (1.73) and (1.74). But also (1.73) and (1.74) together imply (1.72) since we could take y as any number greater than x+1 and less than or equal to the minimum of 23 x 23 and 12 x + 1. In general we have to consider all pairs of inequalities where the variable to be eliminated is on opposite sides of the inequality sign ‘<’ (or ‘ ’). If the quantified variable to be eliminated occurs in an equality relation the elimination is even easier. We can use the equality to substitute it out of all the other relations. Obviously we modify the resultant inequalities accordingly when the lower and upper inequalities before the elimination are different combinations of ‘<’ and ‘ ’. We rewrite (1.73) and (1.74) as

5

 

x <

5

 

(1.75)

 

 

 

 

3

3

 

and

 

 

 

1

x < 0

(1.76)

 

2

The second conjunctive clause in (1.71) can be written in the form

 

y(x 1 · y 2x 2)

(1.77)

20

1 An Introduction to Logic

Since there is no lower limit to y the second inequality is true for all x and may be ignored giving the equivalent statement

 

 

 

 

 

 

 

 

 

 

 

 

x 1

 

 

 

 

(1.78)

Statement (1.69) has therefore been reduced to

 

 

 

 

 

x˜(

5

 

 

5

1

x < 0

 

1)

(1.79)

 

 

 

x <

 

 

· −

 

x

 

3

3

2

which (using De Morgan’s laws) can be written as

 

 

 

 

 

 

 

 

 

5

 

5

 

 

1

 

 

 

 

 

 

 

 

 

 

x((

 

x

 

 

 

 

x 0)

· −x <

1)

(1.80)

 

3

3

2

or in CNF as

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x(

5

x

5

 

· −x <

1) x(

1

x

0

· −x < 1)

(1.81)

 

 

 

 

 

3

3

 

2

We now again eliminate the existential quantifier in both clauses to give

 

 

 

 

 

 

 

 

 

 

1 < 1 0 < 1

 

 

(1.82)

Clearly both inequalities are false showing the original statement to be false.

1.5.2 Arithmetic Without Multiplication

We now consider a decision procedure for arithmetic without multiplication and present this in a form which is applicable to integer programming (IP) as discussed in Chapter 2.

As in the theory of dense linear order we consider all terms of the form nx as shorthand for x + x + · · · + x (n times). The theory looks very similar to the above theory except for the fact that the domain of the variables is now restricted to the integers. This makes the theory ‘more difficult’ in the sense that a decision procedure is more complicated. Again the constraints in an IP can be regarded as predicates. We illustrate the procedure by an example.

Example 1.9 Is the following statement true?

 

x y(2x 2y 7 · 8x + 7y 28 · −x 1)

(1.83)

x, y Z

 

i.e. where the domain of the variables is the integers.

1.5 Decidable Fragments of Mathematics

21

In order to eliminate y and its existential quantifier we write the inner formula in the form

y(7(2x + 7) 14y 2(8x + 28) · −x 1)

(1.84)

It is not now sufficient to observe that the expression to the left of the first inequality is less than or equal to that on the right. There must also be a multiple of 14 between them. This can be captured in a finite way by writing

7(2x + 7) + s 2(8x + 28) · 7(2x + 7) + s 0 (mod 14) (1.85)

· − x 1

where s = 0, 1, . . . , 13

Since the left-hand expressions are multiples of 7 (by the congruence) , s must

be also and can be written as 7t allowing (1.85) to be simplified to

 

7(2x + 7) + 7t 2(8x + 28) · −2x + t 1 (mod 2)

(1.86)

where t = 0, 1

= 1. Hence the inequality

Clearly the congruence can only be satisfied if t

reduces to

 

2x 0

(1.87)

Equation (1.83) has therefore been reduced to

 

x(2x <= 0 · −x 1)

(1.88)

which can be written as

 

x(2 2x 0)

(1.89)

Strictly following our rules we continue the procedure by eliminating x and its quantifier to give

2 + w <= 0 · 2 + w 0 (mod 2)

(1.90)

where w = 0, 1.

Clearly the congruence implies w = 0 showing (1.90) to be false. Hence (1.83) is false.

Exercise 1.7.16 is to show that (1.83) is true when the variables are ‘relaxed’ to be real (or rational).

It should be pointed out that this is a particularly simple example. In general we cannot eliminate the implied congruences at each stage. They have to