Issuu on Google+

UNIVERSIDAD DE GRANADA

Grado en Ingeniería Informática LÓGICA Y MÉTODOS DISCRETOS

Curso: 2011/2012 Clase: Primero - Grupo: B Aviso legal: los archivos están sujetos a derechos de propiedad intelectual y su titularidad corresponde a los usuarios que los han subido a SWAD. Esto es solo una recopilación de toda la asignatura impartida en la UGR.


TEORĂ?A

Curso: 2011/2012 Clase: Primero - Grupo: B


Capítulo 1

Inducción y recurrencia 1.1.

Inducción y deducción.

Cuando realizamos una afirmación o proposición, una forma de clasificarla podría ser si corresponde con una proposición general (por ejemplo, una proposición general podría ser los viernes llueve en Granada), en la que se dice algo sobre todos los elementos de un conjunto, o con una proposición particular (por ejemplo, el 31 de diciembre, que fue viernes, llovió en Granada), en la que se afirma algo sobre algún elemento en particular de un conjunto. Si admitimos como cierta una proposición general, podemos pasar a la certeza de las correspondientes proposiciones particulares. Por ejemplo, si fuera cierta la afirmación general que hemos puesto anteriormente de que los viernes llueve en Granada, de ahí podemos afirmar con seguridad que el día 31 de diciembre tuvo que llover en Granada. El proceso por el cual inferimos la certeza de una proposición particular a partir de la certeza de una general, se llama deducción. Del hecho de que en Granada llueve los viernes hemos deducido que el día 31 llovió en Granada. Recíprocamente, de la certeza de una o varias afirmaciones particulares, podemos inferir la certeza de una proposición general. A este proceso, se le suele llamar inducción. Por ejemplo, de las afirmaciones de que los días 10, 17, 24 y 31 de diciembre de 2010 ha llovido en Granada podemos inducir que los viernes llueve en Granada. En el avance científico están presentes ambos procesos. A partir de la observación de determinados fenómenos, se pasa a una afirmación general, que posteriormente permite deducir nuevos hechos. Por ejemplo, la ley de la Gravitación Universal fue una generalización de lo que se observaba que ocurría con los objetos que encontrábamos en la Tierra, así como el comportamiento de los planetas en su interacción con el Sol. Ahora, de esta afirmación general se han deducido gran cantidad de consecuencias que no son más que la particularización de esta ley al caso de dos o más objetos. La certeza de una proposición general nos asegura la certeza de cada una de las proposiciones particulares. El proceso inverso (el paso de las proposiciones particulares a la general) sin embargo no es tan claro. Aunque hayamos observado que durante cinco viernes ha llovido en Granada, no por ello podemos estar seguros de la certeza de que todos los viernes llueve en Granada. En matemáticas, cuando afirmamos algo, hemos de tener la certeza absoluta de que lo que decimos es verdad. Nos preguntamos entonces: ¿tiene cabida la inducción en matemáticas?. Para responder a esta pregunta, vamos a analizar qué ocurre cuando sumamos los números impares. Empezamos por la suma de sólo un número impar (el primero), continuamos calculando la suma de los dos primeros números impares, y así sucesivamente. 1 = 1 = 12 1+3 = 4 = 22 1+3+5 = 9 = 32 1+3+5+7 = 16 = 42 1+3+5+7+9 = 25 = 52 1 + 3 + 5 + 7 + 9 + 11 = 36 = 62 1


INDUCCIÓN Y RECURRENCIA Podemos comprobar, como por ejemplo, la suma 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 19 vale 100, que es igual a 102 . A la vista de esto, ¿podemos imaginarnos cuánto valdría, por ejemplo, la suma de los números impares desde el 1 hasta el 199, sin necesidad de realizar la suma? Vemos como estamos sumando los 100 primeros números impares, luego esa suma parece que debe valer 1002 = 10000. Con un programa sencillo de ordenador podemos comprobar que eso es cierto. ¿Nos permiten estos ejemplos inducir una regla para calcular la suma de los n primeros números enteros impares?. Todo apunta a que el valor de esa suma vale n2 . 2

Antes de continuar, vamos a tratar de escribir más formalmente esta regla. Lo primero que tenemos que ver es cómo hacer referencia al quinto número impar, o al vigésimo cuarto número impar. Fácilmente vemos que el quinto número impar es 9 = 2 · 5 − 1, y que el vigésimo cuarto es 47 = 2 · 24 − 1. Por tanto, el n-ésimo número impar es 2n − 1. Entonces, lo que afirmamos es que la suma de los números impares, desde 1 hasta 2n − 1, vale n2 . 1 + 3 + 5 + · · · + (2n − 1) = n2 O si adoptamos la notación de sumatoria n X

(2k − 1) = n2

k=1

Podemos ahora tomar números al azar, por ejemplo, n = 47, n = 134, n = 3627, y comprobar que n P esta afirmación ( (2k − 1) = n2 ) es verdadera. k=1

Pero por muchos números que elijamos, eso no nos garantiza que esta afirmación sea cierta para cualquiera de los infinitos números naturales que existen. Supongamos, por un momento, que la afirmación es cierta para n = 78 (no hace falta que lo comprobemos), es decir, 1 + 3 + 5 + 7 + · · · 151 + 153 + 155 = 782 = 6084 Entonces, para calcular la suma de los 79 primeros números impares, podemos aprovechar lo que tenemos 1 + 3 + 5 + 7 + · · · 153 + 155 + 157 = 782 + 157 = 6084 + 157 = 6241 = 792 Y vemos que si la afirmación es cierta para n = 78 entonces es cierta para n = 79. Tendríamos entonces que 1 + 3 + 5 + 7 + · · · 153 + 155 + 157 + 159 = 792 + 159 = 6241 + 159 = 6400 = 802 Y la afirmación sería cierta para n = 80. Es decir, el hecho de ser cierta para n = 78 nos garantiza que es cierta para n = 79, y para n = 80. ¿Podríamos repetir esto para obtener que es cierta para n = 81, n = 82, etc? Vamos a escribirlo de otra forma 1 + 3 + 5 + 7 + · · · 153 + 155 + 157 + 159 = 792 + 159 = 792 + 2 · 79 + 1 = 792 + 2 · 79 · 1 + 12 = (79 + 1)2 = 802 Y observamos que el valor concreto n = 79 no es relevante en el razonamiento anterior. Por tanto, para cualquier número natural n, si suponemos que 1 + 3 + 5 + · · · + (2n − 3) + (2n − 1) = n2 entonces 1 + 3 + 5 + · · · + (2n − 3) + (2n − 1) + [2(n + 1) − 1] = n2 + 2n + 1 = (n + 1)2 Departamento de Álgebra


1.2. Números naturales. Principio de inducción. 3 Dicho de otra forma, si la suma de los primeros n números impares vale n2 , entonces la suma de los n + 1 primeros números impares vale (n + 1)2 . 79 78 P P Entonces, si es cierto que (2k − 1) = 782 , también es cierto que (2k − 1) = 792 , y es cierto que 80 P

2

(2k − 1) = 80 , y que

k=1

ver que es cierto que

3421 P

81 P

k=1

k=1 2

(2k − 1) = 81 . Repitiendo este proceso las veces que haga falta, podríamos

k=1

(2k − 1) = 34212 , o que

k=1

792348579 P

(2k − 1) = 7923485792 .

k=1

Nosotros hemos comprobado que para n = 1 la afirmación es cierta (y para n = 2, 3, 4, 5, 6). Como cualquier número natural n lo podemos obtener a partir de 1 sumándole uno unas cuantas veces, entonces, para cualquier número natural n ≥ 1 podemos afirmar que la suma de los primeros n números impares vale n2 , es decir, n X

(2k − 1) = n2

k=1

Aquí termina el proceso de inducción. Si lo analizamos, vemos que lo que hemos hecho ha sido: A partir de unos cálculos, hemos inducido una regla que pensamos que debe ser válida para todos los números naturales. Hemos comprobado que esa regla vale para el número natural n = 1. Suponiendo que la regla vale para un número natural n, hemos comprobado que vale para el número natural n + 1. Y esto nos garantiza la veracidad de la proposición general. Para poder dar por cierta una afirmación matemática es necesario disponer de un argumento que asegure su veracidad. El hecho de comprobarla para unos cuantos casos particulares, por muchos que sean no nos garantiza nada. Por ejemplo, podemos observar lo siguiente:

4 = 2 + 2;

6 = 3 + 3;

8 = 3 + 5;

10 = 3 + 7;

12 = 5 + 7;

14 = 3 + 11;

16 = 5 + 11

Y vemos que los primeros números pares (salvo el 2) se pueden expresar como suma de dos números primos. Podemos pensar en otro número par, y probablemente comprobemos que esa afirmación sigue siendo cierta. De hecho, se ha comprobado para todos los números pares menores que 1018 (un trillón). Pero no se ha encontrado ningún argumento para asegurar que la afirmación es cierta para cualquier número par. Por tanto, este resultado no pasa de ser una conjetura (con todos los visos de ser cierta) conocida como conjetura de Goldbach, en honor a Christian Goldbach, matemático prusiano (de Könisgberg) que en 1742 comunicó semejante enunciado por carta a Leonard Euler.

1.2.

Números naturales. Principio de inducción.

El ejemplo que acabamos de analizar es una aplicación del conocido principio de inducción. El contexto natural donde aplicarlo es el conjunto de los números naturales (aunque con algunas modificaciones podría extenderse a cualquier conjunto bien ordenado, o también al conjunto de los números enteros). Todos sabemos que dicho conjunto lo llamamos N y está formado por los elementos 0, 1, 2, · · · . Es decir, N = {0, 1, 2, · · · }. Para llegar a este conjunto podemos basarnos en los axiomas de Peano, o bien, partir de una construcción basada en los axiomas de la teoría de conjuntos de Zermelo-Fraenkel, y de la que los axiomas de Peano son consecuencias de la construcción realizada. No vamos a entrar en cómo obtener el conjunto N. Lo que sí vamos a hacer es recordar algunas propiedades y características de este conjunto y sus elementos. Jesús García Miranda


INDUCCIÓN Y RECURRENCIA Para empezar, a los elementos del conjunto N los llamaremos números naturales. Dados dos números naturales m, n, tenemos definidos otros dos números naturales, llamados respectivamente suma y producto de m y n, y representados mediante m + n y m · n (o simplemente mn). Esto nos define dos operaciones en N, que satisfacen las siguientes propiedades: 4

i) Para cualesquiera m, n, p ∈ N, (m + n) + p = m + (n + p) (es decir, la suma es asociativa). ii) Para cualesquiera m, n ∈ N, m + n = n + m (es decir, la suma es conmutativa). iii) Existe en N un elemento, representado por 0 tal que para cada m ∈ N se tiene que m + 0 = m (existencia de elemento neutro para la suma). iv) Si m + n = m + p entonces n = p (Propiedad cancelativa). v) Para cualesquiera m, n, p ∈ N, (m · n) · p = m · (n · p) (es decir, el producto es asociativo). vi) Para cualesquiera m, n ∈ N, m · n = n · m (es decir, el producto es conmutativo). vii) Existe en N un elemento, representado por 1 tal que para cada m ∈ N se tiene que m · 1 = m (existencia de elemento neutro para el producto). viii) Si m · n = m · p y m 6= 0 entonces n = p. ix) Para cualesquiera m, n, p ∈ N, m · (n + p) = m · n + m · p (la suma es distributiva respecto al producto). Al conjunto de los números naturales, salvo el cero, lo denotaremos como N∗ . Es decir, N∗ = {1, 2, 3, · · · } Con estas propiedades, estamos diciendo que N es un semianillo conmutativo con elemento unidad. De momento hay muchos conjuntos para los que es cierto todo lo dicho hasta aquí. Por ejemplo, Z (los números enteros), Q (los números racionales), R (los números reales), Q+ (las fracciones mayores o iguales que cero), R+ (los números reales mayores o iguales que cero), los elementos de Q+ con denominador 5 ó 1, C (los números complejos), Zp , con p primo (los enteros módulo p), R[x] (los polinomios con coeficientes reales), etc.

También en N hay definida una relación como sigue: m ≤ n si existe p ∈ N tal que m + p = n que satisface las siguientes propiedades: x) m ≤ m para todo m ∈ N (la relación es reflexiva). xi) Si m ≤ n y n ≤ m entonces m = n (la relación es antisimétrica). xii) Si m ≤ n y n ≤ p entonces m ≤ p (la relación es transitiva). xiii) Para cualesquiera m, n ∈ N, m ≤ n ó n ≤ m. Una relación que satisface estas tres las propiedades x), xi), xii) es lo que se conoce como una relación de orden (u orden parcial). Si además satisface la propiedad xiii) entonces lo que tenemos es un orden total. En todos los ejemplos vistos en la observación anterior podemos definir una relación de orden total. Sin embargo, la forma de definirlo en C o en R[x] es algo rebuscada y "poco natural". Por tanto, de los conjuntos anteriores, nos quedamos con Z, Q, R, Zp , Q+ , R+ , o los números racionales con denominador 1 ó 5 (el orden en Zp sería 0 ≤ 1 ≤ 2 ≤ · · · ≤ p − 1).

xiv) m ≤ n implica que m + p ≤ n + p para todo p ∈ N. xv) m + p ≤ n + p implica que m ≤ n. Departamento de Álgebra


1.2. Números naturales. Principio de inducción. xvi) m ≤ n implica que m · p ≤ n · p.

5

xvii) Si m · p ≤ n · p y p 6= 0 entonces m ≤ n. Las propiedades xiv) y xv) fallan en Zp . Por ejemplo, en Z7 tendríamos 2 ≤ 5, pero 2 + 4 no es menor o igual que 5 + 4. Las propiedades xvi) y xvii) fallan también en Z, Q y R. Por ejemplo, 2 ≤ 5 pero 2 · (−1) no es menor o igual que 5 · (−1).

Las 17 propiedades vistas hasta ahora valen, además de para N, para otros conjuntos, como Q+ , R+ , los números racionales positivos con denominador 1 ó 5, etc. Lo que distingue a N de estos conjuntos es el Principio de inducción, que viene a decirnos que los números naturales podemos recorrerlos de uno en uno, y empezando por cero.

Principio de inducción: Si A es un subconjunto de N tal que: 0∈A Si n ∈ A entonces n + 1 ∈ A Entonces A = N.

Es decir, cualquier número natural puede ser obtenido a partir del cero sin más que sumar uno las veces que sean necesarias. Si lo pensamos, para los conjuntos Q+ o R+ no se cumple esta propiedad, pues procediendo así siempre nos dejamos números "en medio". También podemos enunciar este principio diciendo que si A es un subconjunto de N∗ tal que 1 ∈ A y (n ∈ A =⇒ n + 1 ∈ A), entonces A = N∗ . El ejemplo que hemos analizado en la sección anterior, podemos verlo ahora así. n P (2k − 1) = n2 }. Tomamos A = {n ∈ N∗ : k=1

Comprobamos que 1 ∈ A (de hecho, hemos comprobado que 1, 2, 3, 4, 5, 6 ∈ A), y que si n ∈ A entonces n + 1 ∈ A. Por el principio de inducción, tenemos que A = N∗ , luego para cualquier número natural n ≥ 1 se n P tiene que n ∈ A, es decir, (2k − 1) = n2 . k=1

El principio de inducción es la base de muchas demostraciones en las que intervienen los números naturales. Veamos un ejemplo. Ejemplo 1.2.1. Empezamos observando lo siguiente: 20 20 + 21 20 + 21 + 22 20 + 21 + 22 + 23 20 + 21 + 22 + 23 + 24 20 + 21 + 22 + 23 + 24 + 25

= 1 = 3 = 7 = 15 = 31 = 63

= = = = = =

21 − 1 22 − 1 23 − 1 24 − 1 25 − 1 26 − 1

Luego parece ser que, para cualquier número natural n se verifica que 20 + 21 + · · · + 2n = 2n+1 − 1 Para esto, consideramos el conjunto A cuyos elementos son los números naturales para los que se verifica la propiedad anterior, es decir, A = {n ∈ N : 20 + · · · + 2n = 2n+1 − 1} Claramente se tiene que 0 ∈ A, pues 20 = 20+1 − 1. Supongamos ahora que n ∈ A, y veamos que n + 1 ∈ A, es decir, supongamos que 20 + 21 + · · · + 2n = n+1 2 − 1 y comprobemos que 20 + 21 + · · · + 2n + 2n+1 = 2n+2 − 1. Jesús García Miranda


INDUCCIÓN Y RECURRENCIA

6

20 + 21 + · · · + 2n + 2n+1 = (20 + 21 + · · · + 2n ) + 2n+1 = 2n+1 − 1 + 2n+1 = 2 · 2n+1 − 1 = 2n+2 − 1 Por el principio de inducción se tiene que A = N, es decir, la propiedad es cierta para todo n ∈ N. Una demostración basada en el principio de inducción es lo que se conoce como una demostración por inducción. Si queremos demostrar por inducción que P (n) es cierto para todo n ∈ N (donde P (n) es una propiedad que hace referencia a n), hemos de realizar dos pasos: - Paso 1: Demostramos que P (0) es cierto. - Paso 2: Demostramos que si P (n) es cierto, entonces también es cierto P (n + 1). La suposición de que P (n) es cierto es lo que se conoce como Hipótesis de inducción. Ejemplo 1.2.2. Demuestra que para todo n ≥ 1 se verifica que 1 + 2 + ··· + n =

n(n + 1) 2

Hacemos esto por inducción: Paso 1: Para n = 1 el resultado es trivialmente cierto. Paso 2: La hipótesis de inducción es que 1 + 2 + · · · + n = que 1 + 2 + · · · + n + (n + 1) = (n+1)(n+2) 2 (1 + 2 + · · · + n) + n + 1 =

n(n+1) . 2

A partir de ella hemos de probar

n(n + 1) n(n + 1) 2(n + 1) (n + 1)(n + 2) +n+1= + = 2 2 2 2

Como hemos dicho, para demostrar algún enunciado por inducción necesitamos dos cosas. Comprobar que el enunciado es cierto para el primer caso, y supuesto cierto para el caso n, comprobarlo para el caso n + 1. Ambas cosas son importantes. La primera, nos permite arrancar el proceso de inducción. La segunda nos asegura que la máquina inductiva está en condiciones de hacer su trabajo. Pero si no la arrancamos, no conseguimos nada. n P Por ejemplo, podríamos intentar probar que para cualquier n ≥ 1, se verifica que (2k − 1) = n2 + 1 k=1

(algo que sabemos que no es cierto). Con lo visto anteriormente, es sencillo comprobar que si 2

n P

(2k − 1) = n2 + 1 entonces

k=1

n+1 P

(2k − 1) =

k=1

(n + 1) + 1. Pero en cuanto intentamos comprobarlo para n = 1 vemos que habría que probar que 1 = 2, lo cual no es cierto. Ya hemos hablado antes de lo que significan las demostraciones en matemáticas. Éstas son una herramienta que permiten afirmar que un determinado enunciado es cierto con total seguridad, en contraste con las ciencias experimentales, en las que esta seguridad no se alcanzará nunca. Por ejemplo, según la ley de gravitación universal dos cuerpos cualesquiera se atraen por una fuerza descrita en esa ley. Esto es algo que todos experimentamos día a día, al ver todos los objetos atraídos por la Tierra. Y se ha observado en miles de objetos celestes. A partir de esta experiencia se ha formulado una afirmación referente a todos los cuerpos en el espacio. ¿Podemos estar seguros de que nunca vamos a encontrar dos cuerpos que violen esta ley?. Las distintas teorías físicas han ido cambiando a lo largo de la historia. Tras varias teorías sobre el Sistema Solar, se llegó a la Teoría de la Gravitación de Newton que logró dar una explicación bastante coherente del Universo a gran escala. Sin embargo, la concepción del Universo surgida a través de la ley de la Gravitación universal tuvo que ser modificada con la aparición de la Teoría de la Relatividad de Einstein. En matemáticas, cuando se demuestra alguna afirmación o algún teorema se asegura que ese teorema es cierto, y que nada podrá ponerlo en entredicho (siempre que la demostración sea correcta). Departamento de Álgebra


1.2. Números naturales. Principio de inducción.

7

Por ejemplo, podemos afirmar que para cualquier número natural n, la suma de las distintas potencias de 2 hasta 2n vale 2n+1 − 1. Esta afirmación puede venir de la experimentación con números. 1 + 2 = 22 − 1; 1 + 2 + 22 = 23 − 1; 1 + 2 + 22 + 23 = 24 − 1, y así con más números. Podemos seguir realizando los cálculos para los 100 primeros números naturales, y en todos podríamos ver que se satisface nuestra afirmación. Podemos elegir más números al azar, y en todos veríamos que se satisface. Sin embargo, eso no es suficiente para poder decir que es cierto para todos los números. Por muchos números para los que lo comprobemos no podremos estar seguros de que no existe un número para el que no hayamos probado y que eche por tierra nuestra tesis. Sin embargo, la demostración que acabamos de hacer nos puede ahorrar todos esas comprobaciones y el resultado es mucho más contundente. Nunca podremos encontrar un número natural que no cumpla la propiedad anterior ya que ese número no existe. Sin ese paso de la demostración (el pasar de una comprobación para unos cuantos a la afirmación de que es cierta para todos) podríamos cometer errores, y dar por ciertas algunas propiedades que no lo son. Por ejemplo, para cada número natural n ≥ 3 vamos a calcular 2n−1 − 1 lo vamos a dividir entre n, y nos vamos a quedar con el resto. - Para n = 3, 2n−1 − 1 = 3, que dividido entre 3 da resto 0. - Para n = 4, 2n−1 − 1 = 7, que dividido entre 4 da resto 3. - Para n = 5, 2n−1 − 1 = 15, que dividido entre 5 da resto 0. - Para n = 6, 2n−1 − 1 = 31, que dividido entre 6 da resto 1. - Para n = 7, 2n−1 − 1 = 63, que dividido entre 7 da resto 0. - Para n = 8, 2n−1 − 1 = 127, que dividido entre 8 da resto 7. - Para n = 9, 2n−1 − 1 = 255, que dividido entre 9 da resto 3. - Para n = 10, 2n−1 − 1 = 511, que dividido entre 10 da resto 1. - Para n = 11, 2n−1 − 1 = 1023, que dividido entre 11 da resto 0. Vemos que para los números 3, 5, 7 y 11 el resto de la división es 0, mientras que para los restantes es distinto de 0. Podemos seguir así, y si llegamos hasta 100 vemos que el resto de la división es 0 para los números 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, mientras que para los otros números el resto de la división es distinto de 0. Es decir, dado n ∈ N, n ≥ 3, entonces 2n−1 − 1 es múltiplo de n implica que n es primo. Dicho de otra forma, si llamamos P (n) a la afirmación 2n−1 − 1 es múltiplo de n =⇒ n es primo. hemos comprobado que P (3), P (4), P (5), P (6), P (7), P (8), P (9), P (10), P (11) son ciertas, y hemos afirmado que la afirmación sigue siendo cierta hasta n = 100. Esto nos induce a pensar que P (n) es cierta para todo número natural n. Podríamos seguir comprobándolo para todos los números naturales hasta llegar a 200 (2199 es un número de 61 cifras) y el resultado sería el mismo. Pero eso no nos garantiza ni mucho menos que el resultado no vaya a fallar alguna vez. De hecho, se tiene que 2

340

− 1 = 2239744742177804210557442280568444278121645497234649534899989100963791871180160945380877493271607115775

que es múltiplo de 341, y sin embargo 341 no es primo, pues es el producto de 11 y 31.

El principio de inducción nos dice que si A es un subconjunto de N que satisface las dos siguientes propiedades: 0∈A n ∈ A =⇒ n + 1 ∈ A Entonces A = N. Este axioma puede leerse de la forma siguiente: Si A es un subconjunto de N que es distinto de N, entonces, o 0 6∈ A, o existe n ∈ N tal que n ∈ A y n + 1 6∈ A. Jesús García Miranda


INDUCCIÓN Y RECURRENCIA Esta formulación del principio de inducción (equivalente a la vista anteriormente) nos permite demostrar una propiedad importante de los números naturales. 8

Teorema 1.2.1. [Principio de buena ordenación] Sea A un subconjunto de N distinto del conjunto vacío. Entonces A tiene mínimo. Se dice que m es el mínimo de A si m ∈ A y m ≤ n para todo n ∈ A. Demostración: Sea B el conjunto de las cotas inferiores de A, es decir B = {m ∈ N : m ≤ n para todo n ∈ A} Claramente B 6= N (pues si m ∈ A, m + 1 6∈ B). También es cierto que 0 ∈ B (¿por qué?). Por tanto, debe existir m ∈ N tal que m ∈ B y m + 1 6∈ B Por pertenecer m a B se tiene que m ≤ n para todo n ∈ A. Queda entonces comprobar que m ∈ A. Ahora bien, supongamos que m 6∈ A, entonces, para cualquier n ∈ A se tiene que m ≤ n (pues m ∈ B) y que m 6= n (pues m 6∈ A), luego m + 1 ≤ n para todo n ∈ A. Por tanto, tendríamos que m + 1 ∈ B, lo cual no es posible. Deducimos por tanto que m ∈ A, como queríamos. ¥ El principio de inducción puede adoptar distintas formas. Por ejemplo, si queremos demostrar que una propiedad es cierta para todos los números naturales que son mayores o iguales que un cierto número n0 ∈ N, entonces podemos hacerlo demostrando que la propiedad es cierta para n0 , y supuesta cierta para un número n, entonces es cierta para n + 1. Si queremos demostrar que la propiedad P (n) es cierta para todo número natural n ≥ n0 , tomamos A = {m ∈ N : P (m + n0 ) es cierta }. Entonces: Comprobamos que 0 ∈ A. Esto es equivalente a comprobar que P (n0 ) es cierta. Probamos que si m ∈ A entonces m + 1 ∈ A. Esto es lo mismo que probar que para n ≥ n0 , si P (n) es cierta, entonces P (n + 1) es cierta.

Ejemplo 1.2.3. Vamos a demostrar que para n ≥ 7 se verifica que 3n < n! (suponemos que es conocido lo que representa n!. De todas formas, más adelante, en el ejemplo 1.3.1 daremos una definición de esta función). Para n = 7 tenemos que 3n = 37 = 2187, mientras que 7! = 5040, luego 37 < 7!. Suponemos que 3n < n! (para un número natural mayor que 6). En tal caso, 3n+1 = 3n · 3 < n! · 3 < n! · (n + 1) = (n + 1)!. A partir de esto podemos afirmar que sea cual sea el número natural n mayor que 6, se tiene que 3n < n!. Incluso, en el comentario anterior podemos cambiar números naturales por números enteros. Es decir, para demostrar que una propiedad es cierta para todos los números enteros que son mayores o iguales que un cierto entero n0 , podemos proceder como en el ejemplo precedente. Ejemplo 1.2.4. Vamos a comprobar que para cualquier entero mayor o igual que −2 se verifica que n2 + 7n + 11 > 0. Lo comprobamos en primer lugar para n = −2. Puesto que (−2)2 + 7 · (−2) + 11 = 4 − 14 + 11 = 1 > 0 tenemos que para n = −2 es cierto. Suponemos que para un número entero n ≥ −2 se verifica que n2 + 7n + 11 > 0. En ese caso (n+1)2 +7(n+1)+11 = n2 +2n+1+7n+7+11 = (n2 +7n+11)+(2n+1+7) > 0+2n+8 ≥ 2(−2)+8 = 4 > 0 Por tanto, para cualquier entero n ≥ −2 se verifica que n2 + 7n + 11 es un número natural. Notemos que (−3)2 + 7 · (−3) + 11 = −1. Es decir, para n = −3 el enunciado anterior es falso. Departamento de Álgebra


1.2. Números naturales. Principio de inducción. 9 Entre las distintas formas que puede adoptar el principio de inducción, una de ellas es la que se denomina inducción fuerte o segundo principio de inducción. Teorema 1.2.2. [Segundo principio de inducción] Sea A un subconjunto de N. Supongamos que se verifica: 1. 0 ∈ A. 2. Para cualquier n, {0, 1 · · · n − 1} ⊆ A =⇒ n ∈ A Entonces A = N. Formalmente, la primera condición no es necesaria, pues para n = 0 la segunda condición afirma ∅ ⊆ A =⇒ 0 ∈ A, y puesto que la primera parte es siempre cierta (∅ ⊆ A), la condición 2 implica que 0 ∈ A. Sin embargo, en la práctica suele ser necesario comprobar que 0 ∈ A. Notemos también que si la condición 1 se cambia por una de la forma 0, 1, · · · , k ∈ A, la tesis del teorema sigue siendo cierta. También, si queremos demostrar que una propiedad P (n) es cierta para todo número natural (o entero) mayor o igual que n0 , podemos usar este segundo principio de inducción. Probamos que P (n0 ) es cierta, y que si P (n0 ), P (n0 + 1), · · · , P (n − 1) son ciertas (sea quien sea n > n0 ) entonces P (n) es cierta. Demostración: Supongamos que A 6= N. Entonces el conjunto B = N \ A es distinto del conjunto vacío. Por tanto, por el principio de buena ordenación tenemos que B tiene un mínimo. Sea este n0 . Esto implica que {0, 1, · · · , n0 − 1} ⊆ A (pues ninguno de sus elementos pertenece a B), luego por la condición 2 tenemos que n0 ∈ A, lo que es imposible, pues n0 ∈ B. Deducimos entonces que A = N ¥ Es decir, para demostrar que la propiedad P (n) es cierta para cualquier número natural n: Demostramos que P (0) es cierta. Dado un número natural n, si P (0), P (1), · · · P (n − 1) son ciertas, entonces demostramos que P (n) es cierta. En cuyo caso, por el segundo principio de inducción, la propiedad es cierta para todo número natural n. Ejemplo 1.2.5. Vamos a usar este segundo principio de inducción para demostrar un conocido resultado. El Teorema fundamental de la aritmética. Es decir, vamos a ver que dado n ≥ 2, entonces, o n es primo, o n se puede descomponer como producto de primos. Tenemos que para n = 2 el resultado es cierto, pues 2 es un número primo. Sea n ≥ 3, y supongamos que todos los números menores que n, o son primos, o se descomponen como producto de números primos. Pueden ocurrir dos cosas: • Que n sea primo. En tal caso, el resultado es cierto para n. • Que n no sea primo. En este caso, n tiene un divisor que no es ni 1 ni n. Sea este a. Eso significa que n = a · b para algún número natural b. Es claro que tanto a como b son distintos de 1, y son menores que n. Por tanto, ambos números son producto de números primos (o son ellos números primos). Es decir, a = p1 p2 · · · pr y b = q1 q2 · · · qs para algunos números primos p1 , · · · pr , q1 , · · · , qs (donde bien r, bien s podrían valer 1). De aquí deducimos que n = a · b = (p1 p2 · · · pr ) · (q1 q2 · · · qs ) Es decir, n es producto de números primos, como queríamos. Jesús García Miranda


INDUCCIÓN Y RECURRENCIA

10

1.3.

Recurrencia.

1.3.1.

Definiciones recursivas.

Vamos a centrarnos a continuación en las aplicaciones cuyo dominio es el conjunto de los números naturales. Recordemos que dados dos conjuntos X e Y , una aplicación de X en Y es una forma de asignar, a cada elemento de X, un elemento (y sólo uno) de Y . A las aplicaciones cuyo dominio son los números naturales, las denominaremos sucesiones. Definición 1. Sea X un conjunto. Una sucesión en X es una aplicación x : N → X. Si x : N → X es una sucesión, denotaremos normalmente al elemento x(n) como xn . A la hora de definir una sucesión en X podemos definir explícitamente la forma de asignar a cada número natural n el elemento xn ∈ X mediante alguna regla. Por ejemplo, podemos definir la sucesión x : N → Z como xn = n − n2 . Hemos dado una regla que nos permite calcular la imagen de cualquier número natural. Por ejemplo, x25 = 25 − 252 = −600, x100 = 100 − 1002 = −9900. Y así para cualquier n ∈ N. Pero en ocasiones puede resultar más sencillo definir la imagen de un número natural n en términos de la imagen de otros números naturales. Es decir, para definir la sucesión recurrimos a la propia sucesión. Esta forma de hacerlo se llama recursión. La estructura de los números naturales, que queda reflejada en el principio de inducción, da muchas posibilidades para la recursión. Supongamos que queremos definir una sucesión x : N → X recursivamente. La primera forma de hacerlo es siguiendo los siguientes pasos: Paso base: Se elige un elemento x0 ∈ X, que va a ser el valor de la sucesión en n = 0. Paso recursivo: Dado un número natural n, se proporciona una regla para definir xn+1 a partir del conocimiento de xn . El principio de inducción nos garantiza que de esta forma tenemos definida de forma única una función x : N → X. Ejemplo 1.3.1. 1. Definimos la siguiente sucesión x : N → N: x0 = 1;

xn+1 = 2 · xn

Vamos a calcular los primeros términos de la sucesión: x0 = 1. Por definición. x1 = 2 · x0 = 2 · 1 = 2 (el paso recursivo para n = 0). x2 = 2 · x1 = 2 · 2 = 4 (el paso recursivo para n = 1). x3 = 2 · x2 = 2 · 4 = 8 (el paso recursivo para n = 2). x4 = 2 · x3 = 2 · 8 = 16 (el paso recursivo para n = 3). x5 = 2 · x4 = 2 · 16 = 32 (el paso recursivo para n = 4). Vemos que lo que hemos definido es la sucesión xn = 2n . Esto habría que probarlo por inducción. 2. De forma análoga a como hemos definido la sucesión xn = 2n , podemos definir, dado a ∈ R la siguiente sucesión. y0 = 1;

yn+1 = a · yn

Que no es sino una forma de definir el valor de an . Departamento de Álgebra


1.3. Recurrencia. 11 3. Vamos a definir el factorial de un número natural. Para esto definimos la sucesión z : N → N como sigue: z0 = 1;

zn+1 = (n + 1) · zn

Al número zn se le conoce como el factorial de n, y se representa como n!. Por ejemplo, se tiene que 0! = 1, 1! = 1, 2! = 2, 3! = 6, 4! = 24, 5! = 120, 6! = 720. 4. Sea u : N → N la sucesión: u0 = 0;

un+1 = un + 5

Calculamos los primeros términos de esta sucesión. u0 = 0, u1 = 5, u2 = 10, u3 = 15, u4 = 20. Y vemos que en realidad, lo que tenemos es que un = 5 · n. Si en lugar del número 5 hubiéramos tomado otro número natural m, entonces lo que habríamos hecho es definir la sucesión un = m · n. Todos sabemos que la multiplicación de números naturales no es más que "sumar muchas veces la misma cantidad". Así, para multiplicar números naturales sólo necesitamos saber sumar. Esta idea queda reflejada en la anterior definición. Hemos definido la multiplicación m · n a partir únicamente de la suma. Para formalizar el sumar muchas veces utilizamos la recursión. Así, para multiplicar 5 · 4 lo que hacemos es sumar el 5 cuatro veces. De la misma forma, sabemos que multiplicar muchas veces la misma cantidad es lo mismo que calcular una potencia. Esto ha quedado plasmado en las sucesiones xn e yn definidas previamente. También podemos ver la suma como "sumar muchas veces uno". Y así, a partir del conocimiento de como sumar uno (es decir, de contar), podemos definir la suma de dos números naturales. Esto es lo que hacíamos cuando usábamos los dedos para sumar.

5. Definimos la sucesión wn como sigue: w1 = 1. wn+1 = wn + (n + 1). Notemos que aquí hemos definido una función w : N∗ → N. Dos formas de escribir la sucesión serían:

wn = 1 + 2 + · · · + n;

wn =

n X

k

k=1

Vamos a demostrar que wn = Caso base: w1 =

1(1+1) . 2

wn+1 = wn + (n + 1) =

Para esto, utilizamos el principio de inducción.

Eso es cierto, pues por definición w1 = 1, que es igual n(n+1) , 2

Suponemos que wn = wn+1 = (n+1)(n+2) . 2 Tenemos que:

=

n(n+1) . 2

y queremos demostrar que wn+1 =

1(1+1) . 2

(n+1)(n+1+1) , 2

es decir,

n(n + 1) n(n + 1) 2(n + 1) n(n + 1) + 2(n + 1) + (n + 1) = + = = 2 2 2 2

(n + 2)(n + 1) (n + 1)(n + 2) = 2 2 Jesús García Miranda


INDUCCIÓN Y RECURRENCIA Vamos a considerar la siguiente sucesión: f0 = 0; f1 = 1; f2 = 1; f3 = 2; f4 = 3; f5 = 5; f6 = 8; f7 = 13; f8 = 21; f9 = 34; f10 = 55; f11 = 89; · · · Podemos ver la regla que seguimos para calcular un término de la sucesión. Es sumar los dos términos anteriores. Obviamente, para poder aplicar esta regla es necesario tener dos términos de la sucesión. Por tanto, f0 y f1 no siguen ese criterio. Una definición entonces podría ser: 12

f0 = 0; f1 = 1. fn = fn−1 + fn−2 si n ≥ 2. De esta forma, parece claro que está bien definido el valor de fn para cualquier n ∈ N. Sin embargo, esta definición no se ajusta al método de recurrencia dado anteriormente (pues en este caso, para calcular un término es necesario recurrir a los dos términos anteriores, mientras que en el método dado anteriormente, únicamente necesitamos conocer el término anterior). La sucesión aquí definida se denomina sucesión de Fibonacci. Esta sucesión fue estudiada por Leonardo de Pisa, a principios del siglo XIII, mientras intentaba encontrar un modelo numérico para determinar el número de conejos que resultan en un año si se parte de una sola pareja. Más tarde, el alemán Johannes Kepler la utilizó en su estudio de cómo se ordenan las hojas de una planta alrededor de su tallo. Esta sucesión satisface lo que se conoce como una relación de recurrencia lineal homogénea.

1.3.2.

Recurrencia lineal homogénea.

Definición 2. Sea x : N → R una sucesión. Decimos que dicha sucesión satisface una relación de recurrencia lineal homogénea con coeficientes constantes si existe k ∈ N y a1 , · · · , ak ∈ R tales que para cualquier n ≥ k se verifica que k X

aj · xn−j = a0 · xn + a1 · xn−1 + · · · + ak · xn−k = 0

j=0

donde a0 = 1. Al número k se le denomina orden de la relación. A una sucesión que satisface una relación de recurrencia lineal homogénea la llamaremos sucesión lineal homogénea. Observación: Vamos a comentar brevemente el nombre que le hemos puesto a las sucesiones que satisfacen esta tipo de relaciones. 1. Se llama lineal pues todos los términos de la sucesión aparecen elevados a exponente 1. Es decir, √ no aparece en ningún sumando expresiones de la forma xi xj , (xi )2 , xi , sen(xi ), etc. 2. Se llama homogénea porque está igualada a cero. Ejemplo 1.3.2. 1. La sucesión de Fibonacci satisface una relación de recurrencia lineal homogénea de orden 2. Esto es fácil de ver, pues fn − fn−1 − fn−2 = 0 para cualquier n ≥ 2. En este caso, a1 = −1 y a2 = −1. 2. La primera sucesión definida en el ejemplo 1.3.1 satisface también una relación de recurrencia lineal homogénea de orden 1, en la que a1 = −2. Notemos que esta sucesión satisface una relación de recurrencia lineal homogénea de orden 2, pues si n ≥ 2 se tiene que xn = 2xn−1 = 2(2xn−2 ) = 4xn−2 , es decir, xn − 4xn−2 = 0. Esa no es la única forma de obtener una reclación de recurrencia lineal homogénea de orden 2 para xn . Por ejemplo, podríamos haber operado asi: xn = xn−1 + xn−1 = xn−1 + 2 · xn−2 . Departamento de Álgebra


1.3. Recurrencia. 13 En general, si xn es una sucesión que satisface una relación de recurrencia lineal homogénea de orden k, entonces para cualquier m ≥ k, xn satisface una relación de recurrencia lineal homogénea de orden m. Llamaremos orden de una sucesión lineal homogénea al menor grado de las relaciones de recurrencia lineal homogénea que satisface la sucesión. Así, la sucesión de Fibonacci es una sucesión lineal homogénea de grado 2. Lo que vamos a hacer a continuación es, dada una sucesión lineal homogénea, encontrar una expresión del término general. En primer lugar, notemos que si xn e yn son dos sucesiones que satisfacen ambas una misma relación de recurrencia lineal homogénea, entonces para cualesquiera a, b ∈ R, la sucesión zn = axn + byn satisface esa relación. Ejemplo 1.3.3. Sabemos que la sucesión xn = 2n satisface la relación xn − 4xn−2 = 0. La sucesión yn = (−2)n satisface esa misma relación (yn − 4yn−2 = 0). Entonces, la sucesión zn = 2n + (−2)n satisface esa relación. Los primeros términos de la sucesión son z0 = 2, z1 = 0, z2 = 8, z3 = 0, z4 = 32, z5 = 0, z6 = 128, z7 = 0. Esta sucesión podría haber sido definida recursivamente como z0 = 2; z1 = 0. zn = 4 · zn−2 para n ≥ 2. Observación: Si tenemos una sucesión lineal homogénea de orden k, entonces para calcular cada término de la sucesión necesitamos conocer los k términos anteriores. Por tanto, para poder poner a funcionar la recurrencia nos son necesarios los k primeros términos de la sucesión. Estos términos de la sucesión es lo que se conoce como condiciones iniciales. Dada una relación de recurrencia (no necesariamente lineal homogénea), nos vamos a plantear el problema de encontrar sucesiones que satisfagan dicha relación de recurrencia. Tenemos así, para cada relación de recurrencia, un problema de recurrencia (en el caso de que la recurrencia sea lineal homogénea, hablaremos de un problema de recurrencia lineal homogénea). A cada una de esas sucesiones las llamaremos soluciones del problema de recurrencia correspondiente. Por ejemplo, planteamos el problema de recurrencia lineal homogénea siguiente: xn − 4xn−2 = 0. Son soluciones a dicho problema las sucesiones un = 2n , yn = (−2)n , zn = 2n + (−2)n , wn = 0. Lo que diferencia a estas cuatro sucesiones son las condiciones iniciales. Estas son, para la primera sucesión u0 = 1, u1 = 2; para la segunda, y0 = 1, y1 = −2; para la tercera, z0 = 2, z1 = 0; y para la cuarta, w0 = 0, w1 = 0. Hemos visto que si xn e yn son soluciones de un mismo problema recurrencia lineal homogénea con coeficientes constantes, entonces cualquier combinación lineal suya es solución de la misma relación de recurrencia. Como consecuencia, el conjunto de las soluciones a un problema de recurrencia lineal homogénea es un espacio vectorial. Puede comprobarse que la dimensión de este espacio vectorial coincide con el orden de la relación. Ejemplo 1.3.4. Vamos a buscar la solución al problema de recurrencia lineal homogénea xn = xn−1 + 2xn−2 con condiciones iniciales x0 = 2, x1 = 1. Para esto, calculamos unos cuantos términos de dicha sucesión: x2 = 1 + 2 · 2 = 5;

x3 = 5 + 2 · 1 = 7;

x4 = 7 + 2 · 5 = 17;

x5 = 17 + 2 · 7 = 31;

x6 = 31 + 2 · 17 = 65

Comparamos ahora la sucesión xn con la sucesión 2n xn 2n

→ 2 1 → 1 2

5 4

7 17 31 65 8 16 32 64

Y vemos que la diferencia entre los términos de ambas sucesiones es 1 ó −1, dependiendo de que correspondan a un término par o impar. Por tanto, parece que el término general de la sucesión podría ser xn = 2n + (−1)n . Jesús García Miranda


INDUCCIÓN Y RECURRENCIA Vamos a probar que esto es cierto. Para eso, usaremos el segundo principio de inducción. Para n = 0 y n = 1 sabemos que es cierto, pues lo hemos comprobado (de hecho, está comprobado para n = 2, 3, 4, 5, 6). Sea n ≥ 2, y suponemos que para cualquier k < n se verifica que xk = 2k + (−1)k . Entonces: 14

xn = xn−1 + 2xn−2

= 2n−1 + (−1)n−1 + 2(2n−2 + (−1)n−2 ) = 2n−1 + 2 · 2n−2 + (−1)n−1 + 2 · (−1)n−2 = = 2n−1 + 2n−1 + (−1)n−2 (−1 + 2) = 2 · 2n−1 + (−1)n−2 = 2n + (−1)n

Y de aquí podemos deducir que el término general de la sucesión es xn = 2n + (−1)n . A continuación vamos a intentar ver cómo son las soluciones a un problema de de recurrencia lineal homogénea con coeficientes constantes. Hemos comentado anteriormente que el conjunto de las soluciones forma un espacio vectorial. Lo que pretendemos es encontrar una base de ese espacio vectorial. Definición 3. Dada el problema de recurrencia lineal homogénea con coeficientes constantes xn + a1 xn−1 + · · · + ak xn−k = 0 Al polinomio xk + a1 xk−1 + · · · + ak−1 x + ak se le conoce como polinomio característico de la relación, y a la ecuación xk + a1 xk−1 + · · · + ak−1 x + ak = 0 la ecuación característica. Ejemplo 1.3.5. 1. La ecuación característica del problema de recurrencia xn = 2xn−1 es x − 2 = 0. 2. La ecuación característica de la recurrencia que nos da la sucesión de Fibonacci es x2 − x − 1 = 0. 3. La ecuación característica de la sucesión estudiada en el ejemplo 1.3.4 es x2 − x − 2 = 0. Los ejemplos que hemos estado analizando nos conducen a la siguiente proposición. Proposición 1.3.1. Si α es una solución de la ecuación característica de un problema de recurrencia, entonces la sucesión xn = αn es una solución a dicho problema. Demostración: Supongamos que la relación de recurrencia es xn + a1 xn−1 + · · · + ak xn−k = 0. En tal caso, por ser α una raíz del polinomio característico se tiene que αk + a1 αk−1 + · · · + ak−1 α + a0 = 0. Sea xn = αn . Vamos a ver que esta sucesión satisface la relación de recurrencia. xn +a1 xn−1 +· · ·+ak xn−k = αn +a1 αn−1 +· · ·+ak αn−k = αn−k ·(αk +a1 αk−1 +· · ·+ak−1 α+a0 ) = αk ·0 = 0 ¥ Observación: Si α1 y α2 son dos raíces del polinomio característico de una relación de recurrencia, entonces xn = (α1 )n e yn = (α2 )n son dos soluciones a dicha relación de recurrencia. Entonces también son soluciones todas las combinaciones lineales de estas dos sucesiones, es decir, todas las sucesiones de la forma a(α1 )n + b(α2 )n . En general, si α1 , α2 , · · · , αk son todas las raíces del polinomio característico de una relación de recurrencia, entonces cualquier sucesión de la forma xn = b1 (α1 )n + b2 (α2 )n + · · · + bk (αk )n es solución a la relación de recurrencia. Además, es fácil ver que dichas soluciones son linealmente independientes. En el caso de que la relación de recurrencia fuera de orden k, entonces, las sucesiones (α1 )n , (α2 )n , · · · , (αk )n forman una base del espacio de dimensiones, y por tanto, cualquier solución sería de la forma anterior. Las condiciones iniciales son las que nos determinarían cuáles son los coeficientes b1 , b2 , · · · , bk . Ejemplo 1.3.6. Departamento de Álgebra


1.3. Recurrencia. 1. Consideramos la sucesión definida por xn = 2xn−1 , x0 = 1.

15

La ecuación característica es x − 2 = 0, cuya única solución es α = 2. Puesto que la relación es de orden 1, la sucesión xn es de la forma xn = b · 2n . A partir de la condición x0 = 1, obtenemos que 1 = b · 20 , luego b = 1. Por tanto, xn = 2n . Si tomamos la sucesión yn = 2yn−1 , y0 = 3, entonces la ecuación característica es la misma, luego yn = b · 2n . Ahora, tenemos que 3 = y0 = b · 20 = b. Por tanto, yn = 3 · 2n . 2. Para esta sucesión, ver el ejemplo 1.3.4. Consideramos la sucesión definida por xn = xn−1 + 2xn−2 , x0 = 2, x1 = 1. Vamos a hallar el término general de esta sucesión. Para esto, vamos a seguir los siguientes pasos: Calculamos el polinomio característico. Este vale x2 − x − 2. √

2

b −4ac , o bien, usando Hallamos sus raíces. Podemos hacerlo siguiendo la fórmula x = −b± 2a la regla de Ruffini. En cualquier caso, obtenemos que las raíces son α1 = 2, α2 = −1.

Escribimos la forma general de la sucesión. Puesto que tenemos dos raíces, y la relación de recurrencia es de orden 2, la forma general es xn = a · 2n + b · (−1)n . Planteamos, a partir de las condiciones iniciales, las ecuaciones para hallar a y b. • De la condición x0 = 2 nos queda la ecuación 2 = a · 20 + b · (−1)0 = a + b. • De la condición x1 = 1 nos queda la ecuación 1 = a · 21 + b · (−1)1 = 2a − b. Resolvemos el sistema que nos ha quedado: a 2a

+ b − b

= 2 = 1

¾ Fácilmente vemos que la solución es a = 1 y b = 1

Sustituimos las soluciones obtenidas en la expresión de la forma general de la sucesión, para hallar el término n-ésimo de la sucesión. xn = 1 · 2n + 1 · (−1)n = 2n + (−1)n Y vemos que coincide con el obtenido en el ejemplo 1.3.4. 3. Vamos a encontrar el término general de la sucesión definida por la relación xn = 3xn−1 + 4xn−2 , con las condiciones iniciales x0 = 0, x1 = 1. Seguimos los mismos pasos que en el ejemplo precedente. Polinomio característico: x2 − 3x − 4. Raíces del polinomio característico: α1 = 4, α2 = −1. Forma general de la solución: xn = a · 4n + b · (−1)n . Sistema de ecuaciones para calcular los coeficientes: Resolvemos el sistema. a = 15 , b =

a+b=0 4a − b = 1

¾

−1 5 .

Sustituimos en la forma general de la solución. xn =

1 n (4 − (−1)n ) 5

Ahora, podemos calcular algunos términos, y así comprobar que el resultado obtenido es correcto. Jesús García Miranda


16

x2 x3 x4 x5

= 3x1 + 4x0 = 3x2 + 4x1 = 3x3 + 4x2 = 3x4 + 4x3

INDUCCIÓN Y RECURRENCIA 1 2 2 = 3 · 1 + 4 · 0 = 3. 5 (4 − (−1) ) = 1 3 3 = 3 · 3 + 4 · 1 = 13. 5 (4 − (−1) ) = 1 4 4 = 3 · 13 + 4 · 3 = 51. 5 (4 − (−1) ) = 1 5 5 = 3 · 51 + 4 · 13 = 205. 5 (4 − (−1) ) =

1 15 5 (16 − 1) = 5 = 3. 1 65 5 (64 − (−1)) = 5 = 13. 1 255 5 (256 − 1) = 5 = 51. 1 1025 5 (1024 − (−1)) = 5 =

205.

4. Vamos a calcular la expresión general del término n-ésimo de la sucesión de Fibonacci. Polinomio característico: x2 − x − 1.

Raíces del polinomio característico: α = 1± 21+4 . α1 = 1+2 5 , α2 = ³ √ ´n ³ √ ´n Forma general de la solución: fn = a 1+2 5 + b 1−2 5 . Sistema de ecuaciones: √ 1+ 5 2

a a

+ +

√ 1− 5 2

b = b =

√ 1− 5 2 .

0 1

Resolución del sistema. De la primera ecuación, tenemos que b = −a. Sustituimos en la segunda y operamos: Ã √ √ √ √ ! √ √ 1+ 5 1− 5 1+ 5 1− 5 2 5 1=a −a =a − =a =a· 5 2 2 2 2 2 Luego a =

√1 5

=

√ 5 5 .

Sustituimos. √ ³ √ ´n fn = 55 1+2 5 −

Por tanto, b = − √ 5 5

³

√ ´n 1− 5 . 2

√ 5 5 .

De donde:

√ !n # √ "à √ !n à 1− 5 5 1+ 5 − fn = 5 2 2 5. Vamos a hacer un ejemplo donde las raíces del polinomio característico no sean números reales. Sea la sucesión un = 2un−1 − 2un−2 ; u0 = 0, u1 = 1. Polinomio característico: x2 − 2x + 2. Soluciones de la ecuación característica: α = α1 = 1 + i, α2 = 1 − i.

√ 2± 4−2·4 2

=

√ 2± −4 2

=

√ 2±2 −1 2

= 1 ± i. Es decir

Forma general de la sucesión: un = a(1 + i)n + b(1 − i)n . Sistema de ecuaciones: a + (1 + i)a +

b (1 − i)b

= 0 = 1

Resolución del sistema. De la primera ecuación tenemos que a = −b. Sustituimos en la segunda: 1 1 = (1 + i)a + (1 − i)a = a(1 + i − 1 + i) = a · 2i. Por tanto, a = 2i = 2ii2 = b = 2i .

i −2

=

−i 2 ,

de donde

Sustituimos: un =

¢ −i i i¡ (1 + i)n + (1 − i)n = (1 − i)n − (1 + i)n 2 2 2

Podemos dejar así la sucesión, pero vamos a transformar la anterior expresión. Para ello: √ π √ ¡ ¢ 1 + i = 2 cos π4 + i sen π4 , o si queremos, 1 + i = 2ei 4 . De donde √ ¡ ¢ nπ (1 + i)n = 2n cos nπ 4 + i sen 4 Esta última expresión puede obtenerse de: √ n n (1 + i) = ( 2)

µ

iπ e 4

¶n

=

µ nπ nπ ¶ √ √ i nπ 2n e 4 = 2n cos + i sen , 4 4

Departamento de Álgebra

ix pues e = cos(x) + i sen(x)


1.3. Recurrencia.

17

De la misma forma, se tiene que √ ¡ ¢ √ ¡ ¢ −nπ nπ (1 − i)n = 2n cos −nπ = 2n cos nπ 4 + isen 4 4 − isen 4 Por tanto, tenemos que un

=

i 2

=

i 2

=

i 2

¡

¢ (1 − i)n − (1 + i)n =

√ ���

¢ ¡ ¢¤ £¡ nπ nπ − cos nπ cos nπ 4 − i sen 4 4 + i sen 4

2n

√ ¡ ¢ 2n −2i sen nπ = −i2 2n sen nπ 4 4

√ Es decir, un = 2n sen nπ 4 . Como ejercicio, demuestra por inducción que esta expresión se corresponde con la sucesión un que acabamos de definir. 6. Vamos a estudiar la sucesión xn = 5xn−1 − 8xn−2 + 4xn−3 ; x0 = 2, x1 = 1, x2 = −3. Procedemos como en los casos anteriores. Polinomio característico: x3 − 5x2 + 8x − 4. Raíces del polinomio: 1 1 1

−5 8 1 −4 −4 4

−4 4 0

1 2 1

−4 2 −2

4 −4 0

1 2 1

−2 2 0

Es decir, tiene dos raíces que son α1 = 1, α2 = 2. Escribimos la forma de la solución xn = a · 1n + b · 2n = a + b · 2n . Planteamos el sistema. a a a

+ b = + 2b = + 4b =

2 1 −3

Resolvemos el sistema. Podemos ver que el sistema es incompatible. En este último ejemplo tenemos un problema de recurrencia de lineal homogénea de orden 3. Resolviendo la ecuación característica hemos encontrado dos sucesiones que son solución de ese problema de recurrencia: la sucesión 1n y la sucesión 2n . Pero como la dimensión del espacio de soluciones tiene dimensión 3, no todas las sucesiones son combinación lineal de esas dos. En concreto, la solución concreta al problema planteado no puede expresarse como combinación lineal de estas dos sucesiones (por eso el sistema nos ha salido incompatible). La siguiente proposición nos va a decir cómo encontrar una base del espacio de soluciones cuando el número de raíces del polinomio característico sea menor que el orden de la relación. Proposición 1.3.2. Supongamos que tenemos el problema de recurrencia xn + a1 xn−1 + · · · + ak xn−k , que p(x) es el polinomio característico de esa relación y que α es una raíz doble de dicho polinomio. Entonces la sucesión xn = n · αn es una solución a dicho problema. Demostración: Tenemos que demostrar que para cualquier n ≥ k se verifica que n · αn + (n − 1) · an−1 · αn−1 + · · · + (n − k) · ak · αn−k = 0 Tomamos el polinomio q(x) = xn + an−1 xn−1 + · · · + ak xn−k = xn−k · p(x). Es claro que α es una raíz doble de q(x) (pues (x − α)2 es un divisor de q(x), ya que lo es de p(x)). Por tanto, α es una raíz de q 0 (x). Calculamos la derivada de q(x). q 0 (x) = n · xn−1 + (n − 1) · an−1 · xn−2 + · · · + (n − k) · an−k · xn−k−1 . Y ahora, sabemos que q 0 (α) = 0, luego α q 0 (α) = 0. Por tanto Jesús García Miranda


INDUCCIÓN Y RECURRENCIA

18

0 = α q 0 (α)

= α · (n · αn−1 + (n − 1) · an−1 · αn−2 + · · · ‘ + (n − k) · an−k · αn−k−1 ) = = n · αn + (n − 1) · an−1 · αn−1 + · · · + (n − k) · ak · αn−k

Como queríamos. ¥ Ejemplo 1.3.7. Retomamos el último ejemplo analizado. Teníamos la sucesión xn = 5xn−1 − 8xn−2 + 4xn−3 ; x0 = 2, x1 = 1, x2 = −3. Veíamos que el polinomio característico tenía dos raíces α1 = 1 y α2 = 2, lo que nos daba dos soluciones de la recurrencia xn = 5xn−1 − 8xn−2 + 4xn−3 . Pero la raíz α2 = 2 es una raíz doble. Por tanto, según la proposición anterior, tenemos una nueva solución, que es n · 2n . La solución general es entonces xn = a + b · 2n + c · n · 2n . El sistema que hay que resolver es entonces a a a

+ b + 2b + 4b

= + 2c = + 8c =

2 1 −3

Y la solución del sistema es a = 1, b = 1, c = −1. Por tanto, la expresión del término general de la sucesión es xn = 1 + 2n − n · 2n Se puede probar por inducción que esta expresión es correcta. Observación: Hemos visto cómo resolver el problema de recurrencia lineal homogénea cuando el polinomio característico tiene una raíz doble. En el caso de que α sea una raíz de multiplicidad r, se tiene que las sucesiones αn , n · αn , · · · , nr−1 · αn son soluciones del problema de recurrencia. Ejemplo 1.3.8. Consideramos la sucesión definida por la recurrencia xn = 3xn−1 − 3xn−2 + xn−3 , y las condiciones iniciales x0 = 4, x1 = 2, x2 = 2. El polinomio característico es x3 − 3x2 + 3x − 1, que se factoriza como (x − 1)3 . Por tanto, la solución general es xn = a · 1n + bn · 1n + cn2 · 1n = a + bn + cn2 . Sustituyendo las ecuaciones iniciales nos queda el sistema a a + b + a + 2b +

= 4 c = 2 4c = 2

Cuya solución es a = 4, b = −3, c = 1. Por tanto, la sucesión es xn = n2 − 3n + 4.

1.3.3.

Recurrencia lineal no homogénea.

Definición 4. Sea x : N → R una sucesión. Decimos que dicha sucesión satisface una relación de recurrencia lineal con coeficientes constantes si existe k ∈ N, a1 , · · · , ak ∈ R y f : N → R tales que para cualquier n ≥ k se verifica que k X

aj · xn−j = a0 · xn + a1 · xn−1 + · · · + ak · xn−k = f (n)

j=0

donde a0 = 1. Al número k se le denomina orden de la relación. Ejemplo 1.3.9. La sucesión definida como x1 = 1, xn = 2xn−1 + 1 satisface una relación de recurrencia lineal no homogénea. Puedes comprobar por inducción que xn = 2n − 1. Más adelante veremos cómo llegar a esta solución. Departamento de Álgebra


1.3. Recurrencia. 19 Dado un problema de recurrencia lineal no homogénea xn + a1 xn−1 + · · · ak xn−k = f (n), al problema de recurrencia lineal homogénea xn + a1 xn−1 + · · · ak xn−k = 0 lo llamaremos el problema de recurrencia lineal homogénea asociado. Proposición 1.3.3. Sea xn + a1 xn−1 + · · · ak xn−k = f (n) un problema de recurrencia lineal no homogénea. Supongamos que un y vn son soluciones a dicho problema. Entonces la sucesión un − vn es una solución al problema de recurrencia lineal homogénea asociado. Si yn es una solución al problema no homogéneo, entonces todas las soluciones a dicho problema son de la forma yn + hn , donde hn es una solución al problema homogéneo. Demostración: Por ser un y vn soluciones al problema no homogéneo se tiene que un + a1 un−1 + · · · ak un−k = f (n), y que vn + a1 vn−1 + · · · ak vn−k = f (n). Por tanto: un − vn

= a1 (un−1 − vn−1 + · · · ak (un−k − vn−k ) = = un + a1 un−1 + · · · ak un−k − (vn + a1 vn−1 + · · · ak vn−k ) = = f (n) − f (n) = 0 − 0 = 0

La segunda parte se prueba de forma análoga. ¥ Ejemplo 1.3.10. Vamos a encontrar la solución general al problema de recurrencia lineal no homogénea xn = 2xn−1 + 1. Vimos en el ejemplo anterior que xn = 2n − 1 es una solución particular a dicha recurrencia. La recurrencia lineal homogénea asociada es xn = 2xn−1 , cuya solución general es a · 2n . Por tanto, la solución general es yn = a · 2n − 1. A la solución general del anterior problema de recurrencia hemos llegado a partir del conocimiento de una solución particular (y de cómo son las soluciones de la recurrencia homogénea asociada). Pero, ¿cómo obtener esa solución particular?. Un forma consiste en intentar transformar la relación de recurrencia en una relación lineal homogénea. Vamos a ver algún ejemplo. Ejemplo 1.3.11. Nos situamos de nuevo en el problema de recurrencia lineal no homogénea xn = 2xn−1 + 1. Lo que hace que no sea homogénea es el término 1. Vamos a tratar de "eliminarlo". Para esto, y puesto que la relación de recurrencia es válida para todos los números naturales mayores o iguales que 1, tomamos n ≥ 2 y se tiene: xn xn−1

= 2xn−1 = 2xn−2

+ +

1 1

Y restando ambas igualdades nos queda: xn − xn−1 = 2xn−1 − 2xn−2 =⇒ xn − 3xn−1 + 2xn−2 = 0 Y así vemos que toda solución al problema de recurrencia lineal no homogénea xn = 2xn−1 + 1 es solución al problema de recurrencia lineal homogénea xn = 3xn−1 −2xn−2 (el recíproco no es cierto. Basta tomar la sucesión constante xn = 1). La ecuación característica de este problema es x2 − 3x + 2 = 0, cuyas soluciones son α1 = 2 y α2 = 1. Por tanto, todas las soluciones son de la forma xn = a · 2n + b Ahora, seleccionamos aquellas que sean solución al problema xn = 2xn−1 + 1. Si xn es una solución a tal problema, tenemos: x1 = 2a + b x1 = 2x0 + 1 = 2(a + b) + 1 = 2a + 2b + 1 Por tanto, 2a + b = 2a + 2b + 1, de donde deducimos que b = −1. Luego la solución general al problema xn = 2xn−1 + es xn = a · 2n − 1. Jesús García Miranda


20

INDUCCIÓN Y RECURRENCIA Vamos a resolver el problema de recurrencia lineal no homogénea xn + xn−1 = 2n. En primer lugar, tratamos de transformar la recurrencia no homogénea en una homogénea. Entonces, para cada n ≥ 2 tenemos: xn + xn−1 = 2n xn−1 + xn−2 = 2(n − 1). Restamos ambas igualdades, y nos queda que para n ≥ 2, xn − xn−2 = 2. Por tanto, para n ≥ 3, xn − xn−2 = 2. xn−1 + xn−3 = 2. Y volviendo a restar, tenemos xn − xn−1 − xn−2 + xn−3 = 0. La ecuación característica es x3 − x2 + x + 1 = 0, cuyas raíces son α1 = −1 (simple) y α2 = 1 (doble). La solución general al problema de recurrencia lineal homogénea es xn = a(−1)n + b + cn. Ahora, de todas esas soluciones hemos de seleccionar aquéllas que sean soluciones del problema xn + xn−1 = 2n.    ⇒ x1 + x0 = 2b + c  ⇒ 2b + c = 2       x1 + x0 = 2 · 1 = 2  1 ⇒ c = 1; b =  ¾  2  x1 = −a + b + c    ⇒ x2 + x1 = 2b + 3c   x2 = a + b + 2c ⇒ 2b + 3c = 4     x2 + x1 = 2 · 2 = 4

x0 = a + b x1 = −a + b + c

¾

 

Luego la solución general al problema de recurrencia xn + xn−1 = 2n es xn = a(−1)n + n + 21 . Vamos a fijarnos con un poco más de detalle en este ejemplo. Partimos de una recurrencia lineal no homogénea (xn + xn−1 = 2n) cuya relación homogénea asociada es xn + xn−1 = 0, y por tanto su polinomio característico es x + 1. Lo que hemos hecho ha sido intentar eliminar la parte no homogénea. En un primer paso, hemos llegado a la relación xn − xn−2 = 1, cuya relación homogénea asociada es xn − xn−2 = 0, y su polinomio característico es x2 − 1 = (x + 1)(x − 1). En un segundo paso hemos llegado a la relación de recurrencia xn − xn−1 − xn−2 + xn−3 = 0, cuyo polinomio característico es x3 − x2 − x + 1 = (x + 1)(x − 1)2 . Vemos que en cada uno de los pasos, hemos disminuido en 1 el grado de la parte no homogénea, mientras que el polinomio característico se multiplica por (x − 1). Como conclusión de esto, podemos decir: Proposición 1.3.4. Supongamos que xn es una sucesión que satisface una relación de recurrencia lineal no homogénea xn + a1 xn−1 + · · · + ak xn−k = f (n) donde f (n) es un polinomio de grado r. Entonces xn satisface una relación de recurrencia lineal homogénea cuyo polinomio característico es (xk + a1 xk−1 + · · · + ak )(x − 1)r+1 . La demostración de esta proposición se haría por inducción, siguiendo la idea que hemos mostrados en el ejemplo precedente. Ejemplo 1.3.12. Sea xn la sucesión definida por xn − xn−2 = n + 1, x0 = 1, x1 = −1. Vamos a buscar el término general de la sucesión xn . El polinomio característico de la relación lineal homogénea asociada es x2 − 1. Como n + 1 es un polinomio de grado 1, la sucesión xn satisface una recurrencia lineal homogénea cuyo polinomio característico es (x2 − 1)(x − 1)2 = (x + 1) · (x − 1)3 . Departamento de Álgebra


1.3. Recurrencia. 21 Por tanto, la sucesión xn es de la forma xn = a · (−1)n + b + cn + dn2 . Puesto que x2 = x0 + 3 = 4 y x3 = x1 + 4 = 3 tenemos que: a −a a −a

+ + + +

Y al resolver el sistema nos queda a = xn =

b b + b + b + 13 8 ,

b=

= c + d = 2c + 4d = 3c + 9d = −5 8 ,

4 −1 4 3

c = 1, d = 14 . Por tanto, la forma general de xn es

13 · (−1)n − 5 + 8n + 2n2 8

Vamos a modificar la forma de la función f (n). Para esto, analizamos el siguiente ejemplo: Ejemplo 1.3.13. Vamos a encontrar la solución al problema de recurrencia lineal xn = 2xn−1 + n · 4n . Ahora, el término no homogéneo es n · 4n . El polinomio característico de la relación de recurrencia homogénea asociada es x − 2. Vemos que si procedemos como antes, restando xn − xn−1 , no conseguimos nada. Pero si calculamos xn − 4xn−1 , el término no homogéneo se simplifica. xn 4xn−1 xn − 4xn−1 xn

= 2xn−1 = 8xn−2 = 2xn−1 − 8xn−2 = 6xn−1 − 8xn−2

+ n · 4n + (n − 1) · 4n + [n − (n − 1)] · 4n + 4n

El polinomio característico de la recurrencia homogénea asociada es ahora x2 −6x+8 = (x−2)·(x−4). Y si ahora repetimos, nos queda: xn 4xn−1 xn − 4xn−1 xn

= 6xn−1 − 8xn−2 = 24xn−2 − 32xn−3 = 6xn−1 − 32xn−2 + 32xn−3 = 10xn−1 − 32xn−2 + 32xn−3

+ 4n + 4n

Y vemos que nos queda una relación de recurrencia lineal homogénea cuyo polinomio característico es x3 − 10x2 + 32x − 32 = (x − 2) · (x − 4)2 . La solución de esta recurrencia es xn = a · 2n + b · 4n + cn · 4n . Puesto que x1 = 2x0 + 4 y x2 = 2x1 + 32 = 2(2x0 + 4) + 32 = 4x0 + 40, para hallar la relación entre a, b y c planteamos el sistema: a + 2a + 4a +

b 4b + 16b +

= x0 4c = 2x0 + 4 32c = 4x0 + 40

cuya solución es a = x0 + 2, b = −2, c = 2. Si sustituimos en la sucesión tenemos la solución al problema de recurrencia: xn = 2n x0 + 2n+1 + (2n − 2) · 4n Que vemos que se corresponde con lo que habíamos dicho antes. La solución general de la recurrencia no homogénea es la solución de la recurrencia lineal homogénea (2n x0 ) más una solución particular (2n+1 + (2n − 2)4n ). A la luz de estos ejemplos, tenemos un resultado similar a la proposición 1.3.4. Proposición 1.3.5. Supongamos que xn es una sucesión que satisface una relación de recurrencia lineal no homogénea xn + a1 xn−1 + · · · + ak xn−k = bn · f (n) donde f (n) es un polinomio de grado r. Entonces xn satisface una relación de recurrencia lineal homogénea cuyo polinomio característico es (xk + a1 xk−1 + · · · + ak )(x − b)r+1 . Jesús García Miranda


22

INDUCCIÓN Y RECURRENCIA Vamos a concluir con algunos ejemplos que ilustran lo dicho hasta el momento.

Ejemplo 1.3.14. 1. Nos preguntamos cuantos números hay cuya expresión en binario tiene n cifras, y no contiene dos ceros consecutivos. Vamos a llamar a este número xn , y vamos a determinar el valor de xn . Sea a un número de tales características. Entonces, la cifra de la izquierda de a vale 1 (en su expresión binaria). Si la quitamos, nos quedan n − 1 cifras. Pueden darse dos casos: - Que la cifra de la izquierda de este número sea también 1. En este caso, lo que nos queda es un número cuya expresión en binario tiene n − 1 cifras, y no contiene dos ceros consecutivos. Números de estas características hay xn−1 . - Que la cifra de la izquierda de este número sea cero. En este caso, la siguiente debe ser 1 (pues si no, el número a tendría dos ceros consecutivos). Si quitamos también el cero, lo que nos queda es un número de n − 2 cifras en binario, y que no contiene dos ceros consecutivos. Números de estas características hay xn−2 . Por tanto, tenemos que xn = xn−1 + xn−2 . Además, x1 = 1 (el único número con una cifra es 1), y x2 = 2 (los números con dos cifras son 10 y 11). Tenemos entonces que xn es la solución al problema de recurrencia lineal no homogénea xn = xn−1 + xn−2 , x1 = 1, x2 = 2. La solución sabemos que es xn = fn+1 , donde fn es la sucesión de Fibonacci. 2. Comenzamos el capítulo calculando la suma de los n primeros números impares. Es decir, teníamos la sucesión x1 x2 x3 x4 ... xn

= = = = ... =

1 1+3 1+3+5 1+3+5+7 ............... 1 + 3 + 5 + · · · + (2n − 1)

Y vemos que la sucesión xn podemos definirla por recurrencia como xn = xn−1 + (2n − 1), x1 = 1. Tenemos entonces una relación de recurrencia lineal no homogénea donde la parte no homogénea es un polinomio de grado 1, y la parte homogénea tiene polinomio característico x − 1. Por tanto, xn satisface una relación de recurrencia lineal homogénea cuyo polinomio característico es (x − 1)3 , y por tanto, el término general es xn = a + bn + cn2 . El conocimiento de los tres primeros términos nos da el sistema a + b + a + 2b + a + 3b +

c = 1 4c = 4 9c = 9

cuya solución es a = 0, b = 0, c = 1. Es decir, xn = n2 . Como ejercicio, encuentra el término general de la sucesión xn = 12 + 22 + · · · + n2 .

Departamento de Álgebra


012345678

9        

  !"#$%#&"'"()*#+)"'

,-./0.123405678297/2./05:;2<.617-1.307:.<.041567=>2?:7/129;-7/32<266.@2<2./02./0<5105<2= A-7./9.:;2-0.5-17-B5-0717-:7/73.<21;7-./C;-2<;2/D5./20;/E21.-5-2/.<;.:.2F;792/=,670<7./ 232<0;<:.617-1.307:.17-B5-077<:.-2:7=G7/70<7/2D54H.97/2:7302:7.6/.@5-:7=I;.-<;D5.1.97/ 62./0<5105<2:.<.04156717-5-7/2F;792/2:;1;7-26./7C0.-.97/67D5./.17-71.1797JKLMNOPQMRSSKMT U-26;V2<.97//5./0<5105<2W?66.@2<.97/2D5..-.612/7X-;07W62/Y6@.C<2/:.Z776.0;.-.5-2E7<92 95?32<0;1562<=,/05:;2<.97/.6Y6@.C<2:.Z776.:.62/E5-1;7-./C776.2-2/W?.60.7<.92:../0<5105<2 -7/17-:51;<Y262/E7<92/-7<926./=[.<9;-2<.97/8;.-:726@5-2/236;121;7-./:.62/Y6@.C<2/:.Z776. 26:;/.\7:.1;<15;07/6]@;17/= ^_`abcbdaefgMPh ijkSjlijmSnopijPOMKPkqrjNqjPOqPMjhTgMQqkMsiMpMtijPOMKPkqrjQM SOQMjtqtMuMOqvkPjKPttqLiqMjmMtwOSwqMQPQMtT xMyMzquP{|p|wPOPmSQS|}hT ~jmqtq€mOqkP{gq|pMp|MjmSjkMt|‚T ƒOPjtqmquP{gq|pMp„MjmSjkMt|p„T gqh MtijkSjlijmSMjMKsiMmMjMStQMvjqQPijPOMKPkqrjQMSOQMjpntMQqkMsiM…h†p‡Mtij kSjlijmSSOQMjPQSˆSntqMtm‰kKPOSkiPKMtKPOMKPkqrjp tMQqkMtqwKMMjmMsiMh MtijkSjlijmS SOQMjPQSŠT gqp MtijPOMKPkqrjQMSOQMjMjh siMtPmqt‹PkMKPwOSwqMQPQPQqkqSjPKQMsiMQPQSt|†}h MjmSjkMt|prp|ntMQqkMMjmSjkMtsiMpMtijPOMKPkqrjQMSOQMjmSmPKnosiM…h†p‡ˆShŠMt ijkSjlijmSmSmPKMjmMSOQMjPQSˆMjSkPtqSjMtnwPOPQMtmPkPOsiM…h†p‡MtijPOMKPkqrjQMSOQMjnwMOS siMjSMtmSmPKtMQqkMsiMpMtijPOMKPkqrjQMSOQMjwPOkqPKosiM…h†p‡MtijkSjlijmSwPOkqPKMjmM SOQMjPQSŠT Œ_Ž‘’f“f“f ”T•KkSjlijmSQMKStj–MOStjPmiOPKMtnkSjMKSOQMjjPmiOPKˆ—p˜tqMzqtmM™}šmPKsiM˜‚—›™Š MtijkSjlijmSmSmPKMjmMSOQMjPQSTœMKPqtP‹SOPnmPNq€jKStSj…†p‡n…ž†p‡o…Ÿ†p‡T  TœPQSijkSjlijmShnMjmSjkMt¡…h‡nkSjMKSOQMjQPQSwSOKPqjkKitqrjMtijkSjlijmSSOQMjPQST gqh mqMjM‰tQMijMKMMjmSnMtmMSOQMjjSMtmSmPKnwiMtQPQSt|†}h QqtmqjmSttMmqMjMsiM ¢|£¤¥¢£o¢£¤¥¢|£T ¦§


23456473839 4

38 9 72638 9 8 33  !"# $#$%$#$&'&(&&)&&$ $#$&'#*  $ $#$&'(&$$+#,-. &/&012$*.3,405"+$#$$#$&' #$#$67&")$#8% !"# # $#$&' # +  $&&"9#&$%:$*;-<;%<;-;: &")$#8;=3<; >?$#$$*&#!"#$#$@&#$"  AB@C3DE12FE-@G  BAB@CH-C 5+$#&$"6#$ I7$BJHKC #$%L  )JMN&" L #OPQ &OKQ5(& "" J6%BLHPC #$M$R#$ $$%#L$#" &8$*J S"+!&"+#T$ #$ &(&# !"#$#$@ 7&BJHKC $"#$%%+$#$$*&#LUJ &*BLHKC  $"#$ VWXYZ[\]\^[XY]_[`a[b__cXY[WX_daYXYeW]YcfYbWgh\i[WdWcb\cXYjW[_]\^[XY##&k

01

lmnopqprost7$J %:u$#$&')&$#&$J7&*u ##& & (#&N$$ &8& +#+&$v w&##x/&($?$#$$*&#O1J &*O=uO y#$&&($7&OuQQuz Ouz {f|}]\j]_gdc_hWc~aYf\KYfa[WcYjW]\^[XY_cXY[Y[a[]_[`a[b_JY[b_[]Yff\XYZ[\g_f OuQf\OKQ€O=3Q fYb\Y[Y~aYuYfa[WcYjW]\^[XY_cXY[Yfbc\]b_Y[Jk YjWg\fgW|_cgWf\uYfa[WcYjW]\^[XY_cXY[Yfbc\]b_Y[J Y[b_[]YfjWcYjW]\^[f\‚a\Y[bYƒ OKQf\OuQ_O3Q Yfa[WcYjW]\^[XY_cXY[Y[Jk „Yg_fY[b_[]Yf~aYj_f]_[]Ydb_fXY#$&'#€#$&'##&f_[Y~a\…WjY[bYf daYfXWXWa[WcYjW]\^[XY_cXY[bY[Yg_fXYbYcg\[WXWa[WcYjW]\^[XY_cXY[Yfbc\]b_€…\]Y…YcfWk†XYg}f j_f]Wg\[_fdWcWdWfWcXY_cXY[W_cXY[Yfbc\]b_€XY_cXY[Yfbc\]b_W_cXY[f_[a[_Yj\[…Ycf_XYj_bc_k †]_[b\[aW]\^[…Wg_fW]_[fbca\ca[‚cW|_‡X\c\‚\X_ˆWf_]\WX_Wa[WcYjW]\^[XY_cXY[k†‰[]aW[X_ j_f‚cW|_ffYc}[YfbaX\WX_f]_[d_fbYc\_c\XWXjWcYdcYfY[bW]\^[XYa[WcYjW]\^[XY_cXY[gYX\W[bYYfbY ‚cW|_W€aXWW…\faWj\ŠWcgY`_cYj_cXY[XWX_k lmnopqpro‹t&$8#$"$Œ$ #$BJHKC 8#$&#&8&: (9#&  " J%:/&$O$Q &OuQ:/&z$*OuzuQ {jX\W‚cWgWXYŽWffYYfb}XYZ[\X_dWcW]aWj~a\Yc]_[`a[b__cXY[WX_k\[YghWc‚_Y[‚Y[YcWjX\]e_ X\W‚cWgW[_dYcg\bYcY]adYcWcYj_cXY[k_cY`Ygdj_Y[Yj]Wf_XYj]_[`a[b_B‘HKCXWX_]aWj~a\Yc O1‘[_Y’\fbY[\[‚‰[Q1‘~aYYfbi]_[Y]bWX_WOd_cWj‚‰[jWX_k \[YghWc‚_f\Yj]_[`a[b_J YfZ[\b_Y[b_[]YfXWX_fOHQ1J fYb\Y[Y~aYOKQf\O3Q_Y’\fbY Wj‚‰[]Wg\[_~aYdWcbWXYO€bYcg\[YY[Qk “[W|_cgWeWh\baWjXYcYdcYfY[bWcYjX\W‚cWgWXYŽWffYYfX\ha`Wcj_fjWX_f]_g_j”[YWfWf]Y[XY[bYf j_~aY\gdj\]W]_j_]Wcj_f…icb\]YfXY|_cgWWdc_d\WXWk •–—˜™š˜›–œšž–Ÿ ¡–¢™˜


01213456758494 5 491   !"# $% &&$$'()*+),(-./01&$"2  7 6 5 4 3 89()&$"#(&$'()*+),(("$) (-:-;4/5</=1),()'$&$!"# $% &&$&$"2> ;A4/5<?? ???? A A A A A ;5< ;4<?? ???? AAAAA ? AA @ BC #(& "$D"$&$),"(&!"# &$% &&$$(&'()*+),(&("$) (&:-;4/5/6<1EF-631 ;4A/5/6??< A63????? A ? A A ? A ?? ?? AAA AAA A ;4/5<?? ;A4/6<?? ;A5/6< G??? AA43???AA4H ?A?AA?? ?A?A?A? ?A ?A AAA???? AAAA??? AA AA A ;4<?? ;5< A;6< 5??? 6 AAH ???? AAAA ???? AAAA ? AA ? AA 4 @ IJ&$"K '(#( $&,"+',+" $'()*+),(("$) ($&!+$) #J(&'&(& LC #(& "$D"$&$),"$!"# $% &&$$:-;4/5/6/7<1 ;4/A5/6/??7<PPP M M M M MM AAAA ???? PPPPPPPPPP M M M M M M P MM ;4/5/7A< ;5/6/7<OOO ; 4 / 5 / 6 < ; 4 / 6 / 7 < R R R R R R Q Q R R R Q Q R R R Q Q R R R Q Q N N N R R R Q Q R R R Q Q N N N R R R Q Q N N N R R Q Q NQNQQQQQQQQQ QQQQQQRQRQRQQRRQRRNNRNRNRNRN RRRRRRRNNRNRNRNRN RRRRRRRRROROROROOOO N N N N Q N N N ;4/5<QROOQROQRQRRRRR ;4/6<RQRQRQRQRRRNRN;4/7<RRRRRRRRRNRRN;5/6< QQQQQRQRQR;5/7< QQQQQRQRNQRN;6/7< OOOOORRRRRRRRRNNNNNRRRRRRRRRNNNNNRQRQRQRQRQRQRQRQRQ QQQQQQQQQNNNNN OOO NNNNRRRRRRRR NQNQNQNRQRQRQRQRQRQRR QQQRQRQRQRQRQRQRR NNNN ;7< ;4<PPPPPP ;5<?? ;6< PPPPPPP ??? AAAA MMMMMMMMMMMM PPPPPP?P? AAMAMMMMMM @M S"+$J J+*"$!"# $% &&$$(&K&("$&$8TE'(#DU"('()$&,$V,#( WXYZY[\]^_\`a]\bc\


23456473839 4

38 9 72638 9 8 33 !"##$%%!% !#&%'##( # )%*#)+,%-./-0/1%!%%-2(/) !"3!2%!#+,%!#2!%&%)!")#!!!#4!# %*#!# 5 = 7 7 7 7777 7 6999 >999 77< 9999 79797979 9 77 9 8 7? 777 7 7 :7 77@ 77 7 7 7 ;7 #(##)%*A 0B5C=C6C>C<C8C?C:C@DE#&' *')$& :.<&'%!:F8F<$'G!:2!< @.5&')%!@F?F>F5'G!@2!5 @H.<&'I%!'G!@2!< JKLMNONPMQR!SAC.T%*#!# UV)-WA #%$!1!)&1/WA !)$-./2-H0/ XV)-WA #%$Y1&'!!#/WA +(%!$/.- 01

Z[\]^_`^]abc^]`[de[f[f[gh_c\bie[[`eh[\[^[hjb^_h_^]\k\bie[[`eh^lh_^bm noKpqrstRuRvRw)I)%*#!##)*')! $52=) !1!)&'3!2I)$!!2 $))x!&)%*A  Y1 w));)!)&2!#Yy w)%*#)#+#z{|+ *')!}$~) !1!)&'~.€y$€)!1!)&'3!2I)$ !!2 $,)!x,$€Y1#%* w)%*S‚C.T&)%)y2)I%)!)w%* Y1)!1!) SAC.T%*#!#(&%A !))!1!)2 )!) ƒ„j[`[…ie[`_eh†bh‡ehjbj_[h[^ˆ‰_^b…[hjbh†[`[`j[[`Šh_†bm‹f[^ˆ`…[h[\†]`bf[ie[j[hŒ] ^ˆ‰_^b…[hjbh†[`j_[h[`„\beh[\[^[hjb^]‰_^]\…ie[†b_h†_f[†bh[\^ˆ‰_^bm fŽhj_†]b`[c]†_„h]\[d]c]^lh_^bk[\[^[hjb^_h_^]\m Z[hbj]c[^b`dbc^ˆ‰SAT]\^ˆ‰_^bf[\†bh‡ehjbA…[h[\†]`bf[ie[[‰_`j]…kdbc^lhSAT]\ ^lh_^bm ‘h[\[‡[^d\bie[’[^b`[`jef_]fb]hj[c_bc^[hj[hb[‰_`j[^ˆ‰SAT…^_[hjc]`ie[^lhSAT0;m JKLMNONPM“R!SAC.T%*#!#&”x%*#AE#!”)# #%##A UV)-WA #%$†bj]`ed[c_bc#”-•/'!!#/W” –—˜™š›™œ—›žŸ— ¡¢—£š™


01213456758494 5 491    !"#$%&'()*+!,,!-.. ) /&01'2"'13(%'1"&4&56&0(7#&&"#618(91263&%2(%:#6;65'(< =>?@ABCDEFEGEH IJKLMLNLOLPLQLRLSLTLUV.,,..W)IJNLOLQLRLSV X Y+!,,!-..)JKV Z! !+!*W !KWK!-.) [N\O,],) Y+!,,^..JSLUV _`,WSa]W!bS*c) S,ad,\*) e#164(#68(6f#69(92&6&"#$%&'(g"9&&"h628(<i(4&'("&69(68&"j1k01%4&!-.)l:0( %&$%&"&691%&'("'&42169&"#$m)n< /&01'2"'13(%'1l4&6(91%&'("$(%;63m)n10;65'(4&08(6f#69()8#164(&o2"91< e#164(#68(6f#69(92&6&'po2'(l&69(68&"91'k2g692&6&"#$%&'(l:8(26824&8(6g0<q6&0h092'( &f&'$0(r&'("8('(&0%&8;$%(8(6(&"82&%9(l$#&")92&6&"#$%&'($&%(6(92&6&'po2'(< e#164(&0"#$%&'(4&#68(6f#69($&%9&6&s81108(6f#69(l&69(68&""&%p91'k2g6&0'po2'(< t?uvwxwyvFz{|#&6(%4&6}EH,mL~n!+!.,H !~!!. !+!€,* *Y,,W !mL~n‚!+! ., ƒ„…?†‡ˆxwyv‰Š(4(8(6f#69(k2&6(%4&614(&"#68(6f#69(9(910'&69&(%4&614(l$#&"414("4(" &0&'&69("L‹ &0"#k8(6f#69(JL‹V92&6&';62'(<Œ2';6mJL‹VnI&69(68&"~‹l'2&69%1"7#& "2';6mJL‹VnI‹&69(68&"‹~< q0%&8;$%(8(6(&"82&%9(<|#"81#6&f&'$0(< =>?@ABCDEFEEY+!d.,!.,W.!!,W!+!.,W .,Ž., t?uvwxwyvFFEH,mL~n\m‘L~‘n+!., Hc(%4&6$%(4#89(’‘ b!X mL‘n~“”•–m‹L‹‘n"2~‹ :‘~‘‹‘— Hc(%4&60&o28(˜%p58(’‘ b!X ¡ ¢‹ £ œ ž mL‘n~™š› m‹L‹‘nŸ  I‹ :‘~‘‹‘— e01%1'&69&l"2mL‘n~“”•–m‹L‹‘n&69(68&"mL‘n~™š› m‹L‹‘n< ¤¥¦§¦¨©ª«¬©­®ª©¯°©


23456473839 4

38 9 72638 9 8 33  !"#$%&$'("#)%&)'*+,-+*.+,/0,1+*+2-3,4-+*53,1+,.3*"#$6#)%&789:'( "#$6#)%&;<='*+,.+,/0,1+*+2-3,4-+*> ?-3@A*5*!&$ (&) *+,B2-3,3*1+14C3*D23*E>F03,+*B2-3,3*G3,1+,.3*&;<= 3*0,+2-3,1+14CD23*E> F03,+2-3,G> H3@+*124.!B,IJKLMNOPQRKSTUVLMWXMMYORLMVZROLXSQOMPXVKRMYKSTUVLMORLMVMP[\STY]^PMLM_K SONOM_MRSTSTO`aMVQRbNOVOPZXMPMVMYORLMVYMcTSOdR\eSO` fOQMNOPMVZRTNMRYXdKRWXMPT"g$%g)'&;<= "h$%h)'MVQOVSMPg$&$h$` iMKNOPWXMYKRMYKSTUVMPLMORLMV` jMkMcTlKmnT"g$%g)'o#$6#) MVQOVSMP"g$%g)'&;<= "g$%g)']ZXMPPMLKYKPMdXVLKOZSTUVpg$qg$ ^g)&g)r` nTNbQRTSKmnXZOVdKNOPWXM"g$%g)'&;<= "h$%h)'^"h$%h)'&;<= "g$%g)'`sVQOVSMPPMQTMVMWXMg$&$h$ Mh$ &$ g$]LMLOVLMg$ qh$`tMLXSTNOPMVQOVSMPWXMg) &) h) Mh) &) g)]YOWXMTNZYTSKWXM g)qh)` uRKVPTQTlKmnXZOVdKNOPKvORKWXM"g$%g)'&;<= "h$%h)'^"h$%h)'&;<= "w$%w)'`xXMLMVLKRPMMVQOVSMP QRMPOZSTOVMPpVOMcSYX^MVQMPrm g$y$h$]MVSX^OSKPOg$y$w$]YXMdO"g$%g)'&;<= "w$%w)'` h$y$w$]MVSX^OSKPOg$y$w$ ^SOVSYXTNOPSONOMVYKOZSTUVKVQMRTOR` g$ qh$ Mh$ qw$`sVQKYSKPO]g) &) h) Mh) &) w)]LMLOVLMg$ qw$ ^g) &) w)]MPLMSTR] "g$%g)'&;<= "w$%w)'` nXZOVdKNOPKvORKWXM&$ ^&) POVURLMVMPQOQKYMP`nMKV"g$%g)'%"h$%h)'o#$6#)`zWX{ZXMLMV LKRPMQRMPOZSTOVMPpNXQXKNMVQMMcSYX^MVQMPrm g$y$h$`sVQKYSKPO"g$%g)'&;<= "h$%h)'` h$y$g$`sVMPQMSKPO"h$%h)'&;<= "g$%g)'` g$ qh$`sVQOVSMPLMZMVLTMVLOLMWXMg) &) h) Oh) &) g) PMQMVLR\WXM"g$%g)'&;<= "h$%h)'O WXM"h$%h)'&;<= "g$%g)'` xOR|YQTNO]PXZOVdKNOPWXM&$ ^&) POV}XMVOPURLMVMP]^PMK~#$6#) XVPX}SOV_XVQOVO lKS{O` fOPWXMLKNOPSOVMYSOV_XVQOLMQOLKPYKPZRTNMRKPSOORLMVKLKPLMYOPMYMNMVQOPLM€]MPLMSTR] QONKNOP ~$qg$o#$‚"g$%g)'o€ZKRKKYd|Vg)o#)ƒ„ nMK…qN{V"~$'`uONKNOPMVQOVSMP~)qg)o#)‚"…%g)'o€ƒ`aONO~)†q ‡]QTMVMN{VTNO`nMK bPQMˆ`sVQOVSMP"…%ˆ'qN{V"€'` ‰ Š‹ŒŽnTQMVMNOPSOV_XVQOPORLMVKLOP#$%#)%„„„%#‘]ZOLMNOPLMeVTRRMSXRPTlKNMVQMMY ORLMVZROLXSQO^MYORLMVYMcTSOdR\eSOMV#$6#)6’’’6#‘` nXZXMPQOLMeVTLOMYORLMVZROLXSQO&789: MV#$6’’’6#‘“$ PMLMeVMMV#$6’’’6#‘m "g$%„„„g‘“$%g‘'&789:"h$%„„„%h‘“$%h‘'*!"g$%„„„%g‘“$'&789:"h$%„„„%h‘“$'^g‘ &h‘% MPLMSTR]LMeVTNOPMYORLMVZROLXSQOMV"#$6’’’6#‘“$'6#‘` nXZXMPQOLMeVTLOMYORLMVYMcTSOdR\eSO&;<= MV#$6’’’6#‘“$ PMLMeVMMV#$6’’’6#‘m ™ "g$%„„„%g‘“$'y;<= "h$%„„„%h‘“$' U ”• – "g$%„„„g‘“$%g‘'&;<= "h$%„„„%h‘“$%h‘'—˜ "g$%„„„%g‘“$'q"h$%„„„%h‘“$'(g‘ &h‘„ nMKMYSOV_XVQO šq%…%ˆ%›%œ%%ž%Ÿ% %¡%¢%£%£%¤%%¥%¦%§%¨%©%ª%«%¬%­%®%g%h%wƒ% 01

¯°±²³´²µ°¶´·¸°¹º»°¼³²


01213456758494 5 491  !!"!!# $%!&! !!!# ' "!(%) *!+%"%,(!("-#.!! "" "!% !%!&/ 0"!!!"1!% !2# $ !!%"3%4!!! !!!1%!"% 3) !!#$ !5!"%(!35!!) ! !#6!%5!!1%!374%!#." !(,!!(!!8(,1# 9:;<=>?@ABACA DEFGHIJKLMEGJFNONPEGQKIJFJGRKEISTUEVWXYPJZHTE[K\]TEW^_` IJISTHIEGLRLKUHKIJPEKIJFSGSLP JFNabFUEFTJGc dEGJPJMJFUEGefg*hgeig*jihgkkkge*jigihge*gfhJGU\FEKIJFLIEGGJ[lFJPEKIJFPJZHTE[K\]TEmMHJFn UKLGoSJTEFJPEKIJFRKEISTUEFHF[SFLRLKJpLIJJPPEGJGTEMRLKLqPJa rJRSJIJsJKJFUEFTJGoSJPLRKERHJILIIJGJKEKIJFUEULPEqSJFEKIJFFEGJMLFUHJFJLPUEMLKJP EKIJFRKEISTUEa rHtuvefg*hgeig*jihgkkkge*jigihge*gfhwJFUEFTJGc bPTEFpSFUEIJTEULGHFxJKHEKJGTEFKJGRJTUELPEKIJFPJZHTE[K\]TEJGvefgfhgefgihgkkkgefg*hwmMHJFn UKLGoSJTEFKJGRJTUELPEKIJFRKEISTUEUHJFJSFLlFHTLTEULHFxJKHEKmoSJJGefgfha bPyF]MEmKJGRJTUELPEKIJFPJZHTE[K\]TEJGefg*hmoSJJGULMqHzFJPMyFHMEaDEFKJGRJTUELPEKIJF RKEISTUEJGefgfhmYFEUHJFJMyFHMEa DEFKJGRJTUELPEKIJFPJZHTE[K\]TEUHJFJSFJPJMJFUEMHFHMLPmoSJJGefg*hYSFJPJMJFUEMLZHMLPm oSJJGe*gfhaDEFKJGRJTUELPEKIJFRKEISTUEmUEIEGPEGJPJMJFUEGGEFMLZHMLPJGYMHFHMLPJGa rJLFL{EKLPEGTEFpSFUEGEKIJFLIEGe|e}hg~hYe|ehg~habFUEFTJGPEGIHL[KLMLGIJ€LGGJIJ|e}hO|eh TEFJPEKIJFRKEISTUEYJPEKIJFPJZHTE[K\]TEGEFKJGRJTUHsLMJFUJc e‚}gƒhƒ e}gh ‚‚ ƒƒƒƒ ‚ ‚ ‚‚e}gƒh ƒƒƒƒ e}gh ‚ ‚ ƒ ƒ ‚ ‚ ‚‚ ‚‚‚‚ ƒƒƒƒ ƒƒƒƒ ‚ ‚ ‚‚ ‚‚‚‚e}giƒh ƒƒƒƒ ƒƒƒƒ e}gih†† ‚ ‚ … ƒ ƒ ƒ ‚ ‚ ‚ †††† … ‚ ‚‚‚ ‚‚‚ ƒƒƒ ƒƒƒ ƒƒƒ … ‚ … ‚ … … ‚ ‚ ‚ ƒƒƒ ƒƒƒ egh e„gh egƒhƒ‚‚‚‚‚ ‚‚‚‚‚ ƒƒƒ ƒƒƒe‚„gh ƒ ƒ ƒ‚ ‚ ƒƒƒ‚‚‚‚ƒƒ ‚‚‚ƒƒƒƒ‚ƒ‚‚‚‚ ƒ‚ƒ‚ƒe„gh egƒhƒ‚‚‚ƒƒƒ egh e„gh ‚ ƒ ‚ ƒ ‚ ‚ ƒ ƒ ƒ ‚ ‚‚‚ ‚‚‚‚‚ƒƒ ‚‚‚ƒƒƒƒƒ ƒƒƒƒƒ ‚ ‚ egiƒhƒ ƒƒƒ ƒƒƒ ‚‚‚‚ ‚‚‚‚ e‚„gih egih†† e„gih †††† ………… ƒƒƒ ƒƒƒ ƒƒƒ ‚‚‚ ‚‚‚ ‚‚‚ ƒƒƒ ƒƒƒ ‚ ‚‚‚ ‚‚‚ …… eigh ƒƒƒ ƒƒƒeigh‚‚‚ ‚‚‚ ƒƒƒ ƒƒƒ ‚‚‚ ‚‚‚ ƒƒƒ ‚ ‚‚‚ eigh ƒƒƒeigh‚‚‚ ƒƒƒ ‚‚‚ ‚ eigih eigih ‡ˆ‰Š‰‹ŒŽŒ‘Œ’“Œ


23456473839 4

38 9 72638 9 8 33 !"#$%&'#$(&)!)*!+)),*!,! !#$%& $%-.&11 $%-/&11 $%-(&11 0 0 0 1 1 11 0 0 0 1 1 0000 11 0000 11 0000 11 $/-.&11 $2-.& $/-/&11 $2-/& $/-(&11 $2-(& 1111 0000 1111 0000 1111 0000 00 00 00 $.-.& $.-/& $.-(& 3+!!#$(& $/-(& $2-(& $%-(& $.-(& 01

$.-/&

$/-/&

$2-/&

$%-/&

$.-.& $/-.& $2-.& $%-.& )!4+!"#$%&'#$(&)!)5!67),8!,4+ #$%&9:4+):;?!)+)!#$(&< =!"$> -@ABCD&!E+F 1 1111 1 1 1 1 1111 0000000 1111111 0000000 1111111 0000000 1111111 0000000 1111111 0000000 1111111 0000000 0 0 0 0 0 0 $ ( . & $H-G&11 $ 2 / & $ / 2 & $ . ( & $ G H & 1111 0000 111111 0000 111111 0000 111111 0000 111111 0000 00 00 00 00 00 $2-.& $(-G&11 $/-/& $.-2& $G-(& 1111 0000 111111 0000 111111 0000 111111 0000 00 00 00 00 $/-.& $2-G&11 $G-2& $.-/& 1111 0000 111111 0000 111111 0000 00 00 00 $.-.& $/-G&11 $G-/& 1111 0000 111111 0000 00 00 $G-.& $.-G&11 1111 0000 00 $G-G&

IJIJ KLMNOPQRSJ

TUVWXYXZW[\]^)!E++))_+)!)9$`-@&)4++4+!)_+)7)) +*!E)7< ab$`-@&cdefgchijeklmn-op`qrcflhsgctldulgnvoskdeugctlrckjlfwefhlxn-oymulgnzo skif{tlrckjlfwefhlxn-oy| }~hcdcecnvocdhÂ&#x20AC;rc{fbrlulgksuglubcrsr n@nvoÂ&#x201A;o@nvo $n@Â&#x192;co@Â&#x192;&Â&#x201E;Â&#x2026; nvo@Â&#x192; Â&#x2020;Â&#x2021;Â&#x2C6;Â&#x2030;Â&#x160;Â&#x2039;Â&#x2030;Â&#x152;Â&#x2021;Â?Â&#x2039;Â&#x17D;Â?Â&#x2021;Â?Â&#x2018;Â&#x2019;Â&#x2021;Â&#x201C;Â&#x160;Â&#x2030;


010123456789 1

!"#$% & '()*)+,-,./0101213456"789:;<=9>?@;ABCAD:BE9=D@4B<9:FG:D>4:HD@9<AD::4I;49<9:E=BE49JDJ9:K O LB<M;>D>4ND O P GPGQ S8P58S R:B@4D>4ND O 5 G5GS8P5G8GSQ G8P RT:B=@4U< O 5 G58PQ VJ9MEB>9<@4D P GPQ W9MB:>=D@4U<K XY$Z[ &\Y]]5S858S !""S#$^Z_&`5!""S#8P5S8& a75S8$75S8^S75 S8&\$ e 7b f 7b cPd S7b g Pd 5S87bQ S7b \$5S8!""S#& a]X$hijjG7^% 7& k lmno*p)010121 qr34s 9:;<@B<t;<>B>B>DAM9<>9B=J9<DJBC9<>B<@9:s 9:;<=9>?@;ABrWDJB:"us :9>49<9v;9 PMwx5!"#8M49<>=D:v;9GPM?<5!"#8r yrzA@B<t;<>BB=J9<DJB5{"|89:;<=9>?@;ABrz<9:>9@D:B:9>49<9v;9P}~}5"8M49<>=D:v;9 GP}~5"8rW9ADM4:MDHB=MDC:4€u{9<>B<@9:5€8C@B<9AB=J9<JDJBEB=ADJ4N4:4T4A4JDJ 9:;<=9>?@;ABr3;E=9MB9?<‚MBN49<9<JDJBEB=9AM?<4MB@BMƒ<MƒA>4EABF9AMwx4MB@BMƒ< J4N4:B==9:E9@>4NDM9<>9r „r34s 9:;<@B<t;<>BC9<>B<@9:…5s89:;<=9>?@;ABrz<9:>9@D:B:;E=9MB9?<‚MBN49<9<JDJB: EB=AD;<4U<FAD4<>9=:9@@4U<=9:E9@>4NDM9<>9†9:J9@4=C‡ˆP‡‰ˆF‡GˆP‡Šˆr ‹r34Œ 9:;<Ž9:ED@4BN9@>B=4DAC9A@B<t;<>BJ9AB::;T9:ED@4B:N9@>B=4DA9:J9Œ 9:;<=9>?@;ABC @B<9AB=J9<JDJBEB=AD4<@A;:4U<rRv;?CJDJBJB::;T9:ED@4B:N9@>B=4DA9:Œ FŒ :9>49<9v;9 ŒŒPŒ‘Œ M49<>=D:v;9ŒGŒPŒŠŒr ’rzA@B<t;<>BB=J9<DJB@;FBJ4DI=DMDJ9“D::99: –”˜˜˜˜˜ – – ˜˜˜ ––– – š˜˜ •˜˜ – – – – ˜ – ˜˜˜ –––– ˜˜˜˜˜ – – – ˜ –– ˜ – › ~˜–˜˜  ˜ – ˜ – ˜ – – ˜˜˜˜ –––– ˜˜˜˜ –––– ˜ –– ˜ –– —˜˜˜ œ ˜˜˜˜ –––––– ˜ –– ™ žŸ Ÿ¡¢£¤¥¢¦§£¢¨©¢


23456473839 4

38 9 72638 9 8 33  !"#$"%&'()*!&+(),!-'&)*!-+&).!&'/)0!&+/). 12#34353464$4374 , 8 8 8 8888 8 &999 (999 88/ 9999 89898989 9 88 9 * 8< 888 8 8 :8 88= 88 8 8 8 ;8

01

!""#$"!>"$3#?,@/A$B46! #?*@=A"$C(DE$C;D FG43#H)?I0@JKLIM@NKLIN@OKLIJ@PVKLIM@QKLIR@SKLIR@PKLIO@SKATUV!34$ H3 3333"3U  23464$43743H4% IR@SYYK 8 8 Y 8888 YYYY YYY IO@SK YYY IM@QK99[[[[[ZZZZ8IR@PK99 8 9Z9Z99ZZZ[[[8[8[8[[[ 9999 8 8 Z 8 Z Z 8 Z 8ZZZZ 88 [[[[ IJ@PKWWW IN@OK IM@NK X X WWWWW X X WW XXXXXX I0@JK 2#\#$"!$4$])IJ@PK^)IN@OK2#34 4"3]^?IM@QKLIR@PKLIO@SKLIR@SKA_#$$\ 4!>4$344"!6>"$3]^ `abcdcefcdgIh@iKcdfjkcblmfnopcjbojmcdqrqod]@^shdctckgumrefc]i^dgpvdanodgp]'^)^p odgefckcwodp]i^dgpvdanodgp]+^)]xydqcmgkpzoqcwodkcmfzckrkcnokqcjqcjbkoqcnkcblmfnor zrkbgkqcnmojomgwgcjboqcnrdozckrmgojcddfzkcwooljuwox {rdg|fgcjbczkozodgmgajjodqrmojqgmgojcddfumgcjbcdzrkrefcqodozckrmgojcdqcujgqrdcjfj moj}fjbozfcqrjdckcndfzkcwovcnljuwoqcrn|fjrkcnrmgajqcokqcjcjcdcmoj}fjbox ~Â&#x20AC;Â Â&#x20AC;Â&#x201A;Â&#x192;Â&#x201E;Â&#x192;Â&#x2026;Â&#x2020;Â&#x2021;Â&#x2C6;Â&#x2021;Â&#x2C6;Â&#x2021;Â&#x2C6;4h#Â&#x2030;$3E343"4'5+Â&#x2030;4Â&#x160;4 4""343$4Â&#x2039;4!44Â&#x2039;4!3$"4534BÂ&#x152;"64$Â&#x2030;h3E$4 4Â&#x152; ]i^  ]'^)^Â? 2!Ih@iK334"4"$E$Â&#x2039;3434"'5+"Â&#x17D; Â&#x2039;4$ Â?Â?Â&#x2018;Â&#x2019;Â&#x201C;Â&#x201D;Â&#x2019;Â&#x2022;Â?Â&#x2013;Â&#x201D;Â&#x2014;Â&#x2DC;Â?Â&#x2122;Â&#x161;Â&#x203A;Â?Â&#x153;Â&#x201C;Â&#x2019;


010123456789 1

  !"#$#%&'#(&)*+,- &!.!/&!0#1!12#03."#4 (&%#%.$5! , #67$83!0$$90#$.:0#!$0$8 ;67$82&0(&<=<>< 0$!(&<,<"#.&%(&$#<?* @!0$$90#$.A&"!' (&<,BB,<C 0$"%$.(&<=B>B:(&B=<><2&0 (&= .!&00$811&.$ (&<>B)><=B- D#!$0$8A&"!' E#(&<,B:(&B,F3 1.$#3<=B>BB=F>FC!0!.G <=F><=)B=F->)<=B-=F>B=F>F %&'<,F HI"#4 E#(&11 <+B?* 8#$J.(& &")K<+BL-><=B 2&0(&<=)<=B->)<=<-=B><=B 0$!(&<,<=BM%$N# ."#&4 (&B,<=B A$<,OB,OP 1.$#3<=O>OB=O>OQC!0!.G )<=B-=O><=)B=O-><=O>O+ 11!1 11&.(&<=B,O R2#S%0$38 (&T!N)K<+BL-><UB )<UB-=<><=)<UB-><%&'<UB,< M%$N# ."#&4(&<UB,B A$O,<:O,BP 1.$#3O=<><:O=B>BQ 0$!(&G OU<>OU)O=<->O OUB>OU)O=B->O+ OU)<UB->)OU<-UB>OUB>O+ O=)<UB->)OU)<UB--=)<UB->)<UB-=))<UB-UO-><UB+ %&'O,<UB

V W50(& 0$!(&<=B>B $3: 5% $3<UB><3%&'"1#TE4#E.E%10#.$5! 1J!$!1%#%.$5! <,B $<UB><X W5004$9!(&%"#"$111$1"0!.$ "&111&.$#"#0$#1%14#.$5!3"& <=<><=Y<U)<=<-Z><+ %&'"1 10##%"#"$.$5!!0#$#"#0$!11(&% "#.$! =:U 0$N.!% "#"$11 .$0$83.!&00$8:14#.$5! C 0"#"$.$5!"#$01J!$#&!#0T.&%34$!1!1%#%.$5!1#1!34$!1!1% "#[ .$! =:U A$)*+,- &!#0T.&%:*0$!\7$31!0# 90"#]3$!0# (& $0$!T!$% 1!0# "#^A0$!!0!.3<=]>]3<U]><3<=^><:<U^>^ _!#0T.&%J!$0 $"#0$!\7$:T!$A$%#0T.&% $!J!$03"&10!#%!@ T3 "#/"%3)`+,-0$!T!$"#!0$!\7$a)b+,-!0$!!$T!$!$\7$C%#0T.&% )`+c- $!J!$0:0$!\7$:T!$C!0.3%\7$ ^$!0# (&%T!$ ] defgfhijklimnjiopi


23456473839 4

38 9 72638 9 8 33 01"&'2&3+-'4&')-5"67')-'+2"02&'2&3(()*+&,  !"#$%& '(  ) * + & , ./" -28 9( +&,2:&8( ;#<="02>(8?+ :&;@<="0/;A<="06 01

BCDEFGHHHI-'285(J-2,()*+&,-K!LM%6 '"NOPL#Q#RS#LMT."UOPR#V#L#S#RST."WOPR#Q#RM#LMT/"XOPR#V#L#Q#LMT6&258Y(J 2 5Z 222-'[ W\__ W\ W\ ^ ^ ^ _ ^ ^ ^ _ ^ ^ ^ _ ^^^^ ___ ^^^^ ^^^^ ^ ^ ^ N` ]__ ]a N\ ]__ ^ a ____ ^^^^N` ____ ^ a ^ ^ a ^ a __ ^^^^ __ ^ a ^^ ` aaa W U__ W U ____ W aaa ____ ^^^^^ ____ aa __ ^^^ bc

N bd

be

N

bf

N

7')-'+2"N /"X 2-'2&3(()*+&,-25K!LM%.J8')(2:&"U /"W '-,-2-'6"U '-22&3(()*+&,9-(:&,2&9(J-5V/L2Q.:&'-9()'+ "U6"W '-22&3(()*+&,-9-(:&,*'?J-5Q/RM >,V.:&'-9()'+ "W6gh)2:&"W.+-',-(5':&i(5 5K!LM%.2&'()*+&,-.9(-'22&3(()*+&,-5"W6 j "&'()*+&,-658+:&"2582)(83&)8>-289( +&,2:&8( ;#<#k="2>(8?+ :& ;@!<Ak%O!;@<%A!;@k% / ;A!<@k%O!;A<%@!;Ak%l mnopnpqrstuv"puwnqpxyzws{upxvpnp|wp;@!<Ak%$!;@<%A!;@k%} ;$ ;@<~ O ;$ !;@<%A!;@k%€ ;$ ;@k ‚ O ;@!<Ak%$!;@<%A!;@k%# <Ak$;@<~ O <Ak$!;@<%A!;@k%ƒ <Ak$;@k „…psr†vu†r‡{q†rupxvpnp|wp!;A<%@!;Ak%$;A!<@k%}ˆ{qxrnx{tupxvpnp|wpwnqpxyzws{pu …vuxqv‰wxvŠ{uv!;@<%A!;@k%$;@!<Ak%„!;A!<@k%$;A<%@!;Ak%} ˆ{q{xqr‹rqxptuv;@!<Ak%O!;@<%A!;@k%‹rqrzwrspu|wvpqr;#<#k="upxvpnp|wp !;A<%@!;Ak% O Œ!;A<%@;AŒ!;A<%@k ‹q{‹vp…r……vuxqv‰wxvŠr O Œ;@!;A<%AŒk@!;A<% ‹wpu@ puz{n†wxrxvŠr O Œ!;@;%A!;@<%AŒ!k@;%A!k@<% ‹q{‹vp…r……vuxqv‰wxvŠr O !;@;%A!;@<%A!;@k%A!<@k% ‹q{‹vp…r…ru{zvrxvŠr„z{n†wxrxvŠr O Œ;A!;@<%A!;@k%A!<@k% v…p†‹{xpnzvr„‹q{‹vp…r…ru{zvrxvŠr O ;A!<@k% Ž‰u{qzvn †vpnxqru|wpuv;A!<@k%O !;A<%@!;Ak%‹rqrzwrspu|wvpqr;#<#k="pnx{nzpuupŠpqvzr|wp ;@!<Ak%O!;@<%A!;@k%xr†‰v‘n‹rqrzwrspu|wvpqr;#<#k="} mu…pzvqt‰ruxrz{n|wpup…‘wnr…psru…{u‹{uv‰spu‹q{‹vp…r…pu…vuxqv‰wxvŠru‹rqr|wpup…‘sr{xqr} BCDEFGHH ’“”•–—•˜“™—š›“œž“Ÿ–•


010123456789 1

!"#$! %$%&'(')*"+% ,-.&' .(')//0 .,-.&'(/',-.&')//' $12,$!%3% 34 &5(5)6&5)5(6(5&5)6(5)5&6)5&5(6)5(5&' 7$%3$$%3(7)!$!  &5(5)6 (5&5)6 (5)5&8 9:;<'=>!"#"%,$7 +,,-7 -$7  ?"$@A*<B;A>!" CD ;E;D>'F>!"$G7G !"$ HIJK$G7%L!$" I%!" M$J0NO 7I0NOO:IP!$"%4 I6QR0.;S'S>';L'S>/6QO0.;S'S>';S'L>/6QT0.;S'S>';L'L>/6S8 7%QOUQT0S3QRV;QOUQT>0QR%;QRVQO>U;QRVQT>0IUI0I :3W4 IYYY X X X XXX YYYY X QRYY QO XQT YYYY XXX Y XXX S :3I JK$G73%Z7['\" $QR0.[/QO0.\/7QT0.[V\/7"+% QRV;QOUQT>0QR%;QRVQO>U;QRVQT>0.['\/ ]M34 LYYY LYYY X X X X Y X X Y X YYY X YYYYY X X X X X X ( ^__X ` ba )X b ___ b bb b ___ bbbbb b &YYY bbbb ___ bbb YYYY bbb ___ bbb Y bb b S S $"cdefeghi7jighklmgm:$1"% !":$,3% &n;(o)>0&nS0&' ;&n(>o;&n)>0Lo)0)8 pqrsrtuvwxuyzvu{|u


23456473839 4

38 9 72638 9 8 33 !"#$ %&&!'&(&!)!"#&&&"!!)& &*& & &$%&!&!!+#!)"#! &#!&&"!!)$ ,-./.01213456567689&!)!"#':&;<=<>?9(;@=A;@>:;B=A;B>$ %&&=A>$ C!D&EFGHIGJGKLG =A=@M;B=NA=@M;B>NAM=@;NBM=@>NAM>@;NBM>@=NA>@M;B=NA>@M;B>NA>O P 01

QRST/U.5656V6%&&&(W@XAW@YAZ':WBXAWBYA[':&"!'X\AY$ %&&*&'=@;A=@>AZ=B;A=B>A[':&"!';\A>$ ]S^412134_`689&!)(&*a:)&b(&!!Z:[!c #&d':;?9$8(=?9&&; ;@=AZ:;B=A[$ e&!&(&&&&$ fghIijGJHGklI=GlLJmnjopGjGJHnqG;GJHnJmGl;GlLJmnjopGjGJHnqG=r sntnHtioitHGklI9GlLJtGHumLpnqIlHtIgLHIhnv;LJGpGjGJHnqG9KLGHIGJGmnjopGjGJHnkGJHnJmGl GpmnjopGjGJHnGlwJImnxhGtstnonlImInJyryrz{r FI9GlLJtGHumLpnqIlHtIgLHIhnv;GlLJGpGjGJHnKLGHIGJGmnjopGjGJHnkqGJnHitGjnlont;|n;ip wJImnmnjopGjGJHnqG;r QRST/U.5656`6 }$8 9&*abZd:)&b[d'&&[&&Z$ ~$%!)MM€N<N&!)&$C‚?M€N#!ƒ(‚„M€…‚NA€ :‚†M€…‚NA‡$ˆ!!&!)!"#'&&‰&$ Š$%&*&:&&!)&$‹&"!'(& &&&&‰&$ Œ)'&&'&XY&&W&WY&& X:&WX&&Y$ %&&*&'&;>&&=$8&"!';&&‰&c &'(='(>$ Ž$8 9&&&&!&&*&'&&&!)c !"#'!&&$ $8 ‘&’c#!&D&ƒ&b‰&&!d&&!) "#!‘&!)&$ ˆ!#!'“ &"#!‘$8&(”• A–—˜<OOO<—™š &"“$%"!+&"‘$8 +"”A –—˜<OOO<—™ <—™›˜<OOO<—œš&&"&!!–—™›˜<OOO<—œš&& “$ ˆ(&&!+:+!!&"‘!!&"“' "“&!+&$ Œ)' “AžŸ :“A9 MZ<[N¡b!'¢€d&&(!!( !!&&¢€ &&“$ £¤¥¦§¨¦©¤ª¨«¬¤­®¯¤°§¦


01213456789 6 46  !"#$!%&'()#$$& *+&",!)$&-)$+$.)/" %)'0!)#) 1&%"%'()!%$&"2&%3#"%& '(4) )!#$$& 5)#"&+&"67!%$&68.8,867%)'%7809.:! )))%$& 67 .:<<< ; ; ; ; ; ; < ;;; ;;; <<< ; ; , ;;0 0<<< ;;6:<<<;;6= <;<;<< ;;<;<< ; ; ; ; ; <; < ; ; 7; ;;. 7<;<< .; ;;= <<<< ;;;; ;; ; ; < ;; ; 6; 6 67! .:! >?@A@BCDCEFGHGHIH1JK8L!2JM8L!)$+))N)%)JKOJM  &$9$)P 1%JK 2JM )#$)"Q%()JKOJMR)&$%))&#SJKOJM 4%)& TK8TM!UVK8VM!WTKUVK8TMUVM! TK8TM!XVK8VM!WTKXVK8TMXVM! 1%JK 2JM )#$)%)%Q%4)"Q%()JKOJM 1%JK 2JM )#$)$&)"Q%()JKOJM

YZ[Z \]^_`abcd_eff]_

ghihjh klmlnopqrorlsstunlvpwlunosrlxttpl

yz{FCDCEF|}H~€‚ƒ„…†‚‡ˆˆ€‚)#$%)%Q%42$& ‰Šz‹AŒ@GHH|H Ž$+"$+!"$&%$)%‘)’“Q” •0!".:!)’“Q)”–)’“Q”,!67! —€˜™…€š™‚€ˆ›„‚œž™€ˆ››‚Ÿ™‚†‚ †‚¡ ˜„›˜ ¢‚ ž˜ˆ …„‚€ˆ„†‚ £›˜ ˆ¤ ˜ž…¢‚ œ‚€…›ˆŸ‚„…ž˜ˆ ‚› ›™Ÿ„‚¢ˆ‚ ¡¢ˆ£žˆ €…›„‚›Ÿ‚žœ˜¥…›Ÿ„ˆŸ˜‚†…†‚›£™ €‚ƒ„…†‚‡ˆˆ€‚Ÿ™‚†‚†‚¡ ˜„›‚œ…¢ƒ˜¦ …Ÿ…„œ˜„ †‚€…›ˆŸ‚„…ž˜ˆ ‚›U§X¨ yz{FCDCEF|©ª«‚™ †…†‚¡ ˜ž˜¬ †‚€‚ƒ„…†‚‡ˆˆ€‚­H1® $+1&“)'® )S%))&$%)"U2X)'P ŽTUVU¯!WTUV!U¯8 TXVX¯!WTXV!X¯° •TUVWVUT8 TXVWVX¯° ±²³´³µ¶·¸¹¶º»·¶¼½¶


23456473839 4

38 9 72638 9 8 33     !"#$%&'()*+%,-&$./&( (( )) ) 01,2,3,4,*+&"#$%&*+%,-./&)5( 6789:;<:=>?@=AB@CDE<B7FEGH;:;=HE7IJKIL7=HECD;MB<EHNE7O

01

PQRSRTUVUWXYZ[Z\]^EKE7FE_E`=@aBHbZc&,+/'d-e&f2,4&ghh-&i5*+!'%h'3&$j  k l&mh$%2,3#n'joEME@;G:BCDEp qrqr))))) qrqr(((((k s tuvwSxRYZ[ZYZ yzh'$#4&2&mh$&-3h'{/'%h|}!'~-i3h'$#4&2,mh$-,$h&2,3#h'&$  €€k !'%h'3&$|}i3h'&$%,$h&2,3#h'&$&$/'d-e&f2,4&ghh-&l&&3hi&$&-d-e&f2,4&ghh-&md$ $#m-&‚,&"3&3#n'4&/'d-e&f2,4&ghh-&3h'/'&-&m&'%hƒ„&2&$&'%,2&mh$,&$%&d-e&f2,4& ghh-&3hmh… †n%&$&./&&$%&d-e&f2,4&ghh-&$&3h22&$h'4&3h'&-h24&'(‡) ˆ1/&$%h./&&-2h4/3%h4&d-e&f‹2,$4&ghh-&& $/'d-e&f2,4&ghh-&i%&'&mh$i,2,3,4,'‰m&2h ',%/2,-Š&-d-e&f2,4&ghh-&… ./&%#&'&Œ‹ &-&m&'%h$!'&$%&3,$hi-,$h&2,3#h'&$4&-d-e&f2, 4&ghh-&#&'&'4,4,$h2j Ž}kkk‹Ž}kkk‹ŽŽ}}kkk‹ ‹ Ž}kkk‹Ž}kkk‹ŽŽ}}kkk‹ ‹ Ž}kkk‹Ž}kkk‹k &,mh$-h$4#,e2,m,$4&,$$&4&…} 5…‘ )’))““ ))““ ’ “ ’ ’ ““ “ ’’’’ ““ ’’’’ ““ ))(““)’()““(’)) () )(““ ““““ ’’’’ ““’ ““’ ’’ ’’’’““ ’’’’““ (( )((““()((’() ““““ ’’’ ’’ ((( 1h4&mh$3hm,2,2-,$&$%2/3%/2,$4&d-e&f2,4&ghh-&4&…}5…‘3h'-,$4&”•–—˜5”•–—™˜ š›œžŸ ›¡Ÿ¢£›¤¥¦›§ž


01213456789 6 46   !"# ) $%((( & & ( & &&& ((( & $((( % ((( &&&&& ( && * ' +!,-."!"!,"!5/"01 20-,"."3!-!,"4 "","!,"!+!0 67,89 $%) & ((((( & & & (( && & $%*(( &$)(( &%) (&(&&(&( &(&(&(&( & ( && ( & $*(( %* &') (((( &&&& ( && '* 2.+!"+!:,8!-!96",4;<=>? >@ABCDE,FB<G<G>=C?H94!-'*"!.4"+!!-$%) ,-"!. IJKLMNMOLPQR3% ! 2ST%3,+!S!"S!" %UV'W XYZ[\]@^_`ab<cB=d>=eB=f>>?G<=CG>gB<f@<=<;h=@;>igB<DDC;C?<;>cjklF>G<;>cfC;m@n= G<o=@?D>cpf>;>cG<_ d>;>D>c<D<;<=f>c;@=@;CD<cG<Dd>=eB=f>_UV'Wq rsJtuvYwRxRxR3_ !,/!"4" y^_b!,/!"!z " {" 0| +!+!"",!.! 6 }^~'b".-~' JY€Jt[wRxRPR3%! E"42ST%UV'W6",4S-:‚, ,!-" ƒ=f<cG<G<;>cf?C?<Df<>?<;Cl„<C;>c<Dc@AB@<=f<D<;C… †Jt[wRxRPR3%! E"2ST%UV'W6","‡T%4"42"+! ‡aS ˆ",‰#ŠCcfCf>;C?<Dd>=eB=f>$‹ ŒVT%Ž'aSWlgB<<cG@cf@=f>G<D„Cdh>iFB<cS <cB=<D<;<=f>cB>kq]<f@<=<gB<B=<D<;<=f>;@=@;CDG<$‹ igB<<‘@cf<F>?c<?$‹ o=@f>k<cB=pf>;> G<%q ’ “CG>dBCDgB@<?<D<;<=f>ST%UV'WlG<=>fC?<;>cF>?”‹ CDd>=eB=f>G<f>G>cD>cpf>;>cG<%gB< c>=;<=>?<c>@ABCD<cgB<Sq ˆ",‰#if<>?<;C•q–q—k ˜™š›šœžŸ ¡¢ž£¤


23456473839 4

38 9 72638 9 8 33  !"#$%#&%'''%#( )*+,-!#$.#&.'''.#( */01-!2* 3+#452+6-52*-7!2* /680-*+6+,9!-.-52.-8882.-!9*30++:2;-7!<=6 >?60<+80@-!2:?6?6,0@-!2A* #B+06?2;-*C+,:#52:?#!#40?DE* #!#$*C,:+6F 01

<!-;-!-;G#$.HHH.#( IJ#;G#$.HHH.#(I!G#;#$I.G#;#&I.HHH.G#;#( I!#$% ?,?61?* K8,60++-!2:8,60:2L0,08B+* M08L002,08B+8?N02!O$.HHH.OP* C+,F O4!O4;2!O4;G#$.HHH.#( I!GO4;#$I.GO4;#&I.HHH.GO4;#(I% Q+?@R88B+>?,0?>?8B+,6,6888,6O4!#S 0?DT*30++:+6 "O$%'''%OP)U"#$%'''%#( )' KN0B?8+0?+06,?6V* W C++086,6XB?108Y?R6+:QZ!"#$%'''%#[)B+= 8,60:Z!$I+,??+8XF d \] X! 2`abcGZI % ^_ e 88M?8?+,6V<! ^f2* g+,X+6++?+,cGZI*30++:?D08?+8X h[:88i?D08B+*CB:+?B?108Y?X:j[ QcGZI, Z!"9%h%'''%i)60N* klmnopqrstsus vwxyz{|}~€y{~‚ƒ‚„~…€}~†yy‚~j‡w G9ˆ%9%9‰‰I ˆ ‰‰ ˆˆˆˆ ‰‰ G9%9%<‰‰IG9ˆ%<%9‰‰IG<ˆ%9%9I ‰‰ˆ ‰‰ˆ ˆˆˆˆ‰‰ ˆˆˆˆ‰‰ G9%<%<‰‰IG<%9%<IG<ˆ%<%9I ‰‰‰‰ ˆˆˆ ˆˆ G<%<%<I Š~y{‹Œ~‚y{ƒyy{{yzG9%<%<IŽG<%9%<IG<%<%9Iw|y€y{‘Œ€‚‹Œ|~~‚~~zy}|{|zy}~ G<%<%<IŽ’y~“~’‚yŽG9%<%9I’y}~y{‘y’y…€”ƒ‘|‚~z~‹Œ~{~’Œ~}~~•’~{€‘yy{Œ’~y }~ƒyy{w–z~{~‘€{yŽG9%<%9I!G9%<%<I.G<%<%9Iw xyz‘Œ€‚‹Œ|~yy~‚~~zy’y}—€y{˜€‘~‚y|{yw ™š›œžœŸš ž¡¢š£¤¥š¦œ


01213456789 6 46  !"#$%& !#"$%'&()*+, !"#$% ."#$222222 . . . . 22222 ..... . 24$ . $ # 5 5 5 5 00 51515115151555555 5151151515155555050000 111111 0 0 1 05055555 1 5555555 1 00 0 5 7 7 # $ / " # 7 7 7 7 .. 7777777777 77777777.7.7....3$ . . . . .7.7.7777777 777777777777 ....... . . . 7 7 . 7 . 7 7117 555"$1 -7111 4 5"6 0 1111 00000 551515115155555 5515115151555550505000 1 050555555 1 5555555 1 00 #22222 3 ...6 . 22222 . . . 2222 ....... " !#"$%



550500#"$11818188888888 5 5 5 5 5 5 555555 0000 111 888888888 5 5 5 5 3$:::7:7:7:7:7:7:7:77-#:::7:7:7:7:7:7:.7:.7.7.9$:::::::::.:.."$62222 . . . . .7.7777777777 7777:7:7:7:7:7:7:7:.:.:.:... :::::::::..:.:... ::::::::::2:22222 . . . . :: 2 . :: . :: 77 .. 77 42.:7.2:72:72:72:7::::: "$:77:7:7:7:::::..:.."-:..:::::::::.:.::.:."6..777777:7:7::7#" 777777:.7:.7:.:72.36 22222:::::::::..... ::::::::..... 7:7:7:7:7:7:7:7: 77777777 ..... 2222 .....::::::::: ..7.7.7.:7:7:7:7:7:7::: 777:7:7:7:7:7:7::: ..... 67 #88888888 31711 59 8888888 1111 00000 5555555555555 8888881 5005055555 " ;<*=(*>*#?3?6(**=*= *3$@*A=*=*=*<*'=3$B#C3C6D'= *='(**EB#$@*A=*=*=*<*;<* A*AF&G'&*=**=H'#C6B"$IB#$ D'A>&*A==*=*<*J(A !"#$%<)HK ;<*)#?3?6?9D**A(*((L'& *=HA=M=*=*<*D*=,-#B#C3C9'36B6C9' "$6B3C6C9 J(@(LF<)HK NO(*(*'AH*A<)HK'=((H(@ 0"11111 0 0 0 111 000 0 PQQ R TS QQQ T T T QQQ TTT QQQ TTT QQQ TTT $T UVWXWYZ[\]Z^_[Z`aZ


01

23456473839 4

38 9 72638 9 8 33  !"#"$%&'&( )*+*,-./0' 0)%1*2 3 &'"045!6#5!6$5#6$5!6#6$%

789878 :;<=>?<@AB@CDE@A>?<@AF??G@H<HA

IJKLMNMOLPQRS 2 '&( T* ' U,&T* 0*&''&( VWXY Z X% [0\Y *' ] )*2 '& T* ' U,&T*%^)'&_ \Y 5`VWXY Z X V0*&''&( ab cdJefghiRjRkR l%0*&''&( VWXZ X))0Vmno54pVm4o5n 2 '&( T*  4,&T*+ )'&" *)\q%^0*&''&( 0 )*/0&( Vmro5r% s%tVWXuZ X*0*&''&( Vmrvwo5r6w%^  'V 0*&''&( T*  x,&T* +Vy\u.%^0*&''&( "**_ mnvnozZ nv m4vnozZ 4v mnv4ozZ 4v m4v4ozZ 4b IJKLMNMOLi{R[Y)Vv|WXY Z X)&'V}|&VmrqvruvbbbvrYo}|mrqvruvbbbrYo0) mrqvruvbbbvrYoyX % ~€‚ƒ„‚…†‡ˆ…‰Šˆ‹ŒŽŠˆ„Š‚ƒ‚…‘ƒˆŽŠ\Y Œ„’‰ˆŠ“”……„•–Š…‡ˆŠ‚ƒ…0 —˜Š™‚…†…„‚…†‡„†ŽŠˆƒ…‘ƒ“Š“…ˆ‡…ˆ V6|mrqvbbbvrYo5VmrqvbbbvrYo6|mrqvbbbrYov Vš|mrqvbbbvrYo5VmrqvbbbvrYoš|mrqvbbbrYov VmrqvbbbvrYo5VmrqvbbbvrYov †ƒŽˆŠ‹Œ„†›ƒ†…œ„†™ƒ†……„ŠŠ‡„ƒ‚Š‚ƒ…‚…ŽŠŽ4œnˆ‡‚Žƒ‘Š†Ž• Y –…Ž…†…“Ž„’‰ˆŠ“”……„…„ŠŠ‡„ƒ‚Š‚ƒ…‹Œ‘Š„4Œ„†Ž…“X ˜œn„ ˆuŸŽ…•ŒŽ…‹ŒXY žŠœxY „†Ž…˜Ž†…‹Œ\Y ŽƒxY Ž…†…˜„…‹Œ…“ƒ‚‹Œ\Y Žƒ x „†Ž…• cdJefghiRjR R l%^**¡T\q &xu5¢*%£ _ nzZ n nzZ n nzZ 4 nzZ 4 4zZ n 4zZ 4 4zZ n 4zZ 4b  *0*&''& ¡ )¤'% s%^**¡T\u &¢"¤0 4¥*% _ mnvnozZ 4 mnvnozZ n mnvnozZ n mnvnozZ n m4vnozZ n m4vnozZ 4 m4vnozZ n m4vnozZ n mnv4ozZ n mnv4ozZ n mnv4ozZ 4 mnv4ozZ n m4v4ozZ n m4v4ozZ n m4v4ozZ n m4v4ozZ 4b ¦§¨©ª«©¬§­«®¯§°±²§³ª©


01213456789 6 46

 



 !"#$#%"&'()*+,-./0.1-.203)*4*5.*.6+7*89:*7;0.*7<006*+.+770<:**6/0.1-.20,4*=0:>+ :*/-:7;?+/0>07;@-*A B3);CD,EFGHIJ*.20./*7C*7-.+*89:*7;K.<006*+.+3 L3);MNHMO 70.*89:*7;0.*7<006*+.+7P*.20./*72+><;Q.6070.MNRMOPMNSMO TMN3 U 6+7*89:*7;0.*7<006*+.+7V-*7*+.*6*>*.2074*,P0/0>96*>*.2077-T07P6074*.0>;.+:*>07 WXYZ[\WZ]^ _`abcd&(e(f();,gFCHhHiJ70.*89:*7;0.*7<006*+.+7CPCRiPCShPI3 )0.6;2*:+6*7PCPiPi3 jW\kl[\mZ[Zn[Z]ZoY\[W\]Zpn[Z]XloZ]qllWZ\o\]rZsnWZ\[Zsl]W\olY\tXuoChlCvhn\[\W\Zpn[Z]Xuo CShrsXZoY[\]wxZx]\[Zsl]W\olY\tXuoCyhn\[\W\Zpn[Z]XuoCRh^ j]zrW\Zpn[Z]XuoqllWZ\o\CR{hSi|W\[Zn[Z]ZoY\[Zsl]tlslCy{hi|^ }xnlo~\sl]wxZYZoZsl]xotloxoYl,tlo€ZWZsZoYl]rZ]mZtX[r,g FCNHCOHHC‚J^jt\m\ ZWZsZoYlmZ,W Zƒ\sl]\\]X~o\[xoZWZsZoYlmZ„‚^…lot[ZY\sZoYZr\WZWZsZoYlC†WZ\]X~o\sl]W\ ]Y\‡l[s\r\t\m\Zpn[Z]XuoqllWZ\o\]lq[Z ‡xotXuoC†ˆ‰‚ Š ‰m\m\nl[C†{‹NHH‹†HH‹‚|g‹†^ŒZZ ZWtloxoYl,WZnlmZsl]k\tZ[tl[[Z]nlomZ[xo\‡xotXuo‰‚ Š ‰^ l[ZZsnWlr]X,gFCHhHiJŽtlo]XmZ[\sl]W\Zpn[Z]XuoqllWZ\o\CR{hSi|rWZtl[[Z]nlomZW\‡xotXuo qllWZ\o\ {GHGHG|Š GR{ISG|gGH {GHGHI|Š GR{ISI|gIH {GHIHG|Š GR{GSG|gGH {GHIHI|Š GR{GSI|gGH {IHGHG|Š IR{ISG|gIH {IHGHI|Š IR{ISI|gIH {IHIHG|Š IR{GSG|gIH {IHIHI|Š IR{GSI|gI xZ]YlwxZt\m\Zpn[Z]XuoqllWZ\o\mZYZ[sXo\xo\‡xotXuoqllWZ\o\rnlm[Zsl][Z‡Z[X[ol]\W\]‡xo tXloZ]sZotXlo\omlW\]Zpn[Z]XloZ]wxZW\][Zn[Z]ZoY\o^j]zrW\‡xotXuowxZ\t\q\sl]mZƒZ[n lm[z\ mZ‘oX[]Ztlsl’{CHhHi|g CR{hSi|^jkl[\rn\[\t\WtxW\[W\Xs\~ZomZxoZWZsZoYlmZ‰“ q\]Y\ ]x]YXYxX[ZoW\Zpn[Z]XuoqllWZ\o\CrhŽinl[Wl]ƒ\Wl[Z]ZoWl]wxZwxZ[Zsl]Zƒ\Wx\[rŽZ‡ZtYx\[W\] lnZ[\tXloZ]ZoZW”W~Zq[\mZ•llWZ‰^l[ZZsnWl ’{GHGHI|gGR{GSI|gGR{ISI|gGRIgI –uYZ]ZwxZZoZW—ZsnWl˜^™^šŽ\]Zk\ZsnWZ\mlZ]Y\‡l[s\mZmZ‘oX[xo\‡xotXuoqllWZ\o\^ }X\kl[\wxX]X›[\sl]ZsnWZ\[W\olY\tXuoXoY[lmxtXm\\oYZ[Xl[sZoYZrW\‡xotXuo’\mlnY\[z\W\‡l[s\ ’{CHhHi|gCy{hi|^ jW\kl[\mZZsnWZ\[Z]Y\olY\tXuokZsl]mZYZoZ[txXm\mlZooltlo‡xomX[tloW\]lnZ[\tXloZ]]xs\ Žn[lmxtYlkZtklZoœO^—o[ZW\tXuo\Wn[lmxtYlolk\Žn[lqWZs\rnxZ]ƒXsl]tlslW\lnZ[\tXuoS]Z tl[[Z]nlomZtloZWn[lmxtYlZoœO^}XoZsq\[~lrZoœO ]ZYXZoZwxZCRhgCyhyChrWltx\Wk\tZwxZ W\lnZ[\tXuoymX‘Z[\mZW\lnZ[\tXuoRrnxZ]IyIgGsXZoY[\]wxZIRIgI^\[\ZW[Z]YlmZn\[Z\]r \sq\]lnZ[\tXloZ]tlXotXmZoGyGgGRGžGyIgGRIžIyGgIRGŸ^—WtloYZpYlol]\tW\[\[”Zo t\m\t\]l]X\WZsnWZ\[ZW]zsqlWlyol]Z]Y\sl][Z‘[XZoml\W\]xs\ZoœOŸl\W]xn[ZslZo‰Ÿ^ l[ZZsnWlr]XmZtXsl]7*+’6+=-./;K.<006*+.+4+4+90:’{CHhHi|gChyhiZ]Y”tW\[lwxZol] [Z‡Z[Xsl]\W]xn[Zsl^—oY\Wt\]lr]ZYXZoZwxZ ’{GHIHI|gGvIyIvGgGyGgG ’{IHIHG|gIvIyIvIgIyIgI  !"#$#%"&&( 07*89:*7;0.*7<006*+.+770.*V-;?+6*.2*77;6+7/0::*790.4;*.2*7=-./;0.*7<006*+.+7 70.;@-+6*73);MN *MO 70.*89:*7;0.*7<006*+.+7*V-;?+6*.2*7*>96*+:*>07*67¡><060MNgMO3 ¢£¤¥¤¦§¨©ª§«¬¨§­®§


123453627289 3 927 8 6 1527 8 79 22

 !"#$!%&'! (&&)!' *+,*-+ &'!./%0)!'1!234(%5')& &') !"#$!%&'! *-+-*+,62 00

789:;<:=>8<?:@>A9B>C>D=:>;>EF>CGGHIDGB<9:GBGJ=<@>FG:;GBK LMNOPOQRS!'TUVTW ,TX 1$! !"#$!%&'! (&&)!' !'Y0$%()!2Z'1&'[!\ 6] TU-^TW-TX_`^TU-TW_-TX TUa^TWaTX_`^TUaTW_aTX b] TU-TW`TW-TU TUaTW`TWaTU c] TU-TU`TU TUaTU`TU d] TUa^TW-TX_`TUaTW-TUaTX TU-^TWaTX_`^TU-TW_a^TU-TX_ TUaTW`TU-TW e] TU-TW`TUaTW f] TU-TU`6 TUaTU`g TUag`g h] TU-6`6 TUa6`TU i] TU-g`TU j] 6`g g`6 klROPOQRS!m`n*Uo*Wo]]]o*pq2r'A<:;GDA!'Y0$%()! ! !)#$&s/[1&s!Y)%1!$)!V[s /'&[&'/'0$%()!s%t!$!'1!2 uS%m`n*o+ovqV!'1&'[! &'4%'1!$4*+vV*+vV*+v2w& &'4%'1!$4*+V*++'% *v*2 xyS!z/'4%'1!$4! 'Y0$%()!2Z'1&'[! zs!1!$4%'/'t/'[%{'(&&)!'|}~p  ~ ./!0)!6!'/'!)!4!'1&s!~p ,g!'!)$!1&2 €S!|}~W  ~)t/'[%{'(&&)!'ss#&$|^*o+_` *+2‚)$4!'1!*+! /' 4%'1!$42S!1%!'!./!|^6og_`6V4%!'1$ ./!|^gog_`|^go6_`|^6o6_`g2 ƒMyMO€& 4%'1!$4 &')& „1&4& s!)„)…!($†p2 ƒMyMO3&st/'[%{'(&&)!' !!"#$!s!t&$4‡'%[ˆ)0&!)&$s!'‰[&4& /4ˆ/#$!4&‰ s!4%'1!$42 Š>GHIDGB<?:CG=:>‹=:8<?:E99FG>:>89A9B=A>CGA<:;GDA DG8<EGGF:9AEDGCGt&$4'&$4) s%,/'1%0KŒ>D>>FF>DF>‹9DA>:9DA>FC<BŽ=:;<@>CG=:>‹=:8<?:E99FG>:>I9CGA9BGAIFG>DC9BA;9 C9BK ‘FID<AGD989:B<B;GG:G@>F=>DF>‹=:8<?:G:;9C9BF9BGFGAG:;9BCG~p’Ž9EBGD@>DG:8=>FGBCGGFF9B ;9A>GF@>F9D6K“>C>=:9CGGB9BGFGAG:;9BBG89DDGBI9:CG89:=:A<:;GDAK ‘FBG”=:C989:B<B;GG:’>I>D;<DCG=:>GHIDGB<?:E99FG>:>J=G:9BCG•:>>|’=;<F<–>DF>BGJ=<@>FG:8<>B C>C>BG:F>ID9I9B<8<?:—K˜K—I>D>;D>:B‹9DA>DF>GHIDGB<?:G:=:>B=A>CGA<:;GDAK €€™4& !"#$!$[&4& /#$!4&s!4%'1!$4)t/'[%{'(&&)!'ss#&$|^*o+_` *-+2 š2S%./!$!4& !4#)!$!)#$%4!$451&s&V!0)/4& )t/'[%{'!')& [/1$&!)!4!'1& s!~W2w& ./!s\ |^gog_`g-g`g |^go6_`g-6`6 |^6og_`6-g`6 |^6o6_`6-6`6 Z)!)!4!'1&^go6_ ![&$$!#&'s![&'!)4%'1!$4*+V!)^6og_[&'*+4%!'1$ ./!^6o6_ ![&$$!› #&'s![&'*+2œ&$1'1&1!'!4& ./!|^*o+_`*+-*+-*+2 žŸ ¡¢ £ž¤¢¥¦ž§¨©žª¡ 


01213456789 6 46  !!" #$%&'( )%*' )%+,*,+' -./0"/123 )%$'*'(*$%*%(' -./0"/43 )%'*%'*%'*%' -./0"/523 -./0"/3 )%'*%'*%'*%' -./0"/637 )%'*%'*%'



@M?9>?@N<9;OLM;CFP>;>QF>9MF@ 89:9;<;=;>?@:;AB B;CD>9C;ED;>EF9:;G:HIF?@C"@JKCL :;D>>R=;M@;>?M;STU V,JW@M@?M9L9M?;N9E9:9;<;=;>?@:;AB <;E@MM;CL@>:;D>=F>?;M=X9YDZ< L9M9;<YD;? @=9;<[9<@M,\JW@M?9>?@NE9:9=F>?;M= ;C?]:;?;M=F>9:@L@MD>>R=;M@E@=LM;>:F:@ ;>?M;STUB V,J^;>@?9M;=@CL@M/!_N:@>:;S`_`UBabNT<@M;LM;C;>?9M;=@CE@=@c$_( @cdN9<=F>?;M=:;?;M=F>9:@L@M;<>R=;M@_CFIDF;>:@;<EMF?;MF@9>?;MF@MJ W@M;e;=L<@N;<=F>?;M= %'fg?@=9;<[9<@M,;>$,&,&S&S(JWD;C?@YD;,U)$,,SS(h ?;>;=@CYD; %'fg;C;<=F>?;M=,UN@:FEi@:;@?M9j@M=9N%'fg)cbh)c$,U(J klmnopqrstsursvw"/xyz!/#$%&'()%*'0/!.{ "/!w#$%&'()%'*%'*%'!"/x"//!"/ .|#$%&'()c}*ch*cb~/w/ #$%&'()cb*ch*c} y/!"/x#$%&'()€ c$,&U&( ^;<9=FC=9j@M=9YD;?@:9jD>EFP>Q@@<;9>9C;;OLM;C9:;j@M=9R>FE9E@=@CD=9:;=F>?;M=N C;LD;:;LM@Q9MYD;?@:9jD>EFP>Q@@<;9>9C;;OLM;C9:;j@M=9R>FE9E@=@LM@:DE?@:;=9O?;M=J‚>9 ;OLM;CFP>:;;C?9j@M=9C;:;>@=F>9w"x/""z!/0J ‚>=9O?;M>;CD>9CD=9:;G<F?;M9<;CJƒ;E@MM;CL@>:;E@>D>9jD>EFP>Q@@<;9>9YD;[9<;,;>?@:@C <@C;<;=;>?@C:;AB C9<[@;>D>@N;>;<YD;[9<;SJKC?;;<;=;>?@:;?;M=F>99<=9O?;M=J

„…†…‡… ˆ‰Š‹ŒŽ‘’“Ž

K>;C?;9L9M?9:@D?F<F”9M;=@C<9CjD>EF@>;CQ@@<;9>9CL9M9;<:FC;•@:;EFMEDF?@C<PIFE@CJ–@C;<;=;>?@C Q]CFE@C:;;C?@CEFMEDF?@CC;<<9=9>!x/"J—YDH;=L<;9M;=@C?M;C?FL@C:;LD;M?9C<PIFE9CNE9:9 D>9E@MM;CL@>:F;>?;9D>9@L;M9EFP>Q@@<;9>9NT<9CE@=QF>9M;=@CL9M9:FC;•9MEFMEDF?@CYD;M;9<FE;> D>9C;MF;:;?9M;9CJ–9CLD;M?9CQ]CFE9C9;=L<;9MC@>˜ –9LD;M?9™š›YD;?F;>;E@=@;>?M9:9;<[9<@M:;D>9[9MF9Q<;Q@@<;9>9TLM@:DE;E@=@C9<F:9;< E@=L<;=;>?9MF@:;:FEi@[9<@MJW9M9D>9LD;M?9œž;=L<;9M;=@C;<CFIDF;>?;CH=Q@<@J % % –9LD;M?9Ÿ™  YD;?F;>;E@=@;>?M9:9;<[9<@M:;:@C@=]C[9MF9Q<;CQ@@<;9>9CNTE@=@C9<F:9 ;<LM@:DE?@:;ZC?9CJ–9C;>?M9:9CC;=D;C?M9>9<9F”YDF;M:9T<9C9<F:99<9:;M;Ei9JK=L<;9M;=@C;< CFIDF;>?;CH=Q@<@L9M9;C?9LD;M?9J %' %' –9LD;M?9š¡ ?F;>;E@=@;>?M9:9;<[9<@M:;:@C@=]C[9MF9Q<;CQ@@<;9>9CNTE@=@C9<F:9<9CD=9 :;ZC?9CJ–9M;LM;C;>?9M;=@C=;:F9>?;;<CFIDF;>?;CH=Q@<@J ¢¢¢ ¢¢¢¢¢¢ %' ¢ ¢¢ %*' ¢¢¢ ¢¢¢¢¢¢ klmnopqrstsuts£/¤"/"/!"!2.¥"/%'*%' %' ¢¢ ¢¢¢¢¢ % %'*%' % %' ¢¢¢¢ ¢¢¢¢¢¢¢¢¢ ' ¦x!.!.%'*%')$%*%('),+')'|y/¤"/"/!"§ /.!0//w"! ¨©ª«ª¬­®¯°­±²®­³´­


23456473839 4

38 9 72638 9 8 33  !"##$!%#  &!#!'# !!(! ) *#!%!+!,#!#(-# !" #$!%   .-'# !!(()*!$!(,'(!#!( !(/%010/!!#$! !- ()2!#!!(' !( !#!34561!( !(+$!#75##!6) 8!!!!!$!49:;<:;9=:<;>:;!#$!79:;)?#, #.!#!!@ AAA AAAAAA :<; : A AA 4 AAA AAAAAA :; :; 7 ;

01

2!#!!!#BCDEFEGHIEJ) K#13##$!!  .-'#L!(,'(!##! ! !##)* !!#ML(!!$!!!!$(!!##! .-'#:%;1N)O( #!(!#L%!( '(!)( (( !#! !(M#$!! !(!##@417) *#'!!#((4%'!!( !:!;%1(#!((!N)*!!!#! !!$!#$! ( !#! .-!#.@ 4Z \ N P Q RS AAA AAAAAAA 7 4 Y Z A AAA AAAAA ; PQRS 7 TSUVWSX AA AAA [ A A AAAA Y A A TSUVWSX A : A A A A AAAA : ; N 4Y 7Y 4Z 7Z \ [ 7Y<7Z /// / / / / // / //0 0 / 0 / 0/ / /0/ 0 / 0 / 0/ / /00 / 0 / / /0 0 0// / / 0 / 0/ / 0/0 0 / / 0 /0 0 00/ 0 / / 0 /0 0 000 / 0 0 / 00 0 ,!, !,#!#%\94Z 1[97Y<7Z) 2!#!!!#BCDE]^]EJ) _!3#((#( ! &!#!#!/1`)8,-$!!&!#! !#'!!'#:Z:Y:a !;Z;Y;a)8%!#!'#!4b4Z4Y4a) :a ;a :Y ;Y :Z ;Z

PQRS TSUVWSX

PQRS cdcSX

efgfhf ijklmlnoplqrstuvrplwrtxywwztorox

PQRS cdcSX

4a 4Y 4Z 4b

{!!('!!##,## !(#!,#!! !M'(! !|#'(!3!  !!},#!'(!, ! !"##$! !!(!( #!( !,(#(M(|#'(!) ~€‚ƒ„…ƒ†‡ˆ‰Š‹‚


01213456789 6 46   !" ##!##$ !#!% # ! &'($')*+&,-.#/$" ! ##!##/#0! !#1 $ !!!!# /!!! +2$ 3# $/ !##!4564 777 7777777 7777 77 46 7777777 777777777777777 777 7777777 7 7 777 6  #!46846846$#/!486$9# #/: !#$ !" !#!##$#"  9##!*# !#!-;#!!#<!    - $#!=/1$*  #<!!>?@AB*) #$!#<!C !#0!9$ # !D1!9E/!$D#D!##0$* !2# # # /##0$/#$ F#/!!9$# ? ##*GHIHJKLMHNOHPQR E #/9#<#!=/1$* #9##D #D" S#!=/1 !!$9 !# ## TU !9$V 9*WX 9YA!!9!##$*!!!*!F#$ 2#!!C#46 46 46 46 4 4 46 46 46 46 Z[ 6

Z

Z[ Z[ 6 Z Z[ 3# $#!U9$!!*46Z[\  !1$46Z[$ $46Z[$ D!$46Z[* 3$46Z[-;##! !!!!46Z[T4]4 #$[][/!$6]6 *Z]ZY;##<#!!##C!#<T /!C$!46Z[*46Z[Y$2#!!#.1#!$9$#!=/1 !$1!!!!## ##!*9!-&2##W-

^_L`Iabcdedfgdhijklimnopqirskljitilmuvirwipxymusilzpw{nkwulokksuiwil|}~456Â&#x20AC;46846Â }~4565ZÂ&#x20AC;~486~6Z86ZÂ }~4565Z5[Â&#x20AC;46Z[846Z[846Z[846Z[846Z[846Z[846Z[Â&#x201A; Â&#x192;Â&#x201E;Â&#x2026;Â&#x2020;Â&#x2026;Â&#x2021;Â&#x2C6;Â&#x2030;Â&#x160;Â&#x2039;Â&#x2C6;Â&#x152;Â?Â&#x2030;Â&#x2C6;Â&#x17D;Â?Â&#x2C6;


01

23456473839 4

38 9 72638 9 8 33                                     

 !"#$%&'#(!)*+#!,-&./#!&0&1$2%(()!34!%&41)(45&!+-!"1! 1!)#4#61!7!48&(+&!474!&*$4*9)(1()&*:;<(4#!!4741!)#44!7-40(-*!& =$1(+-(#&17(!!)5&!/#!4+-!1$#(!))$7!-)!5&!#$9!-!;>4?3!!)!'!*+)(#!)*+#!,-&./ +-)0&1$2#!#(4 -$%)!437!!*(4#(4@&(4@#61!7!434$7&#(4!)41!)#46;A474 #(41!)#4#)&.-&+-(#&17(!!)5&!#!4+-!1!!))$7!-)#$0!-!7!83:35&!##(!7(1!4 )!B+-!4$2%(()!;C%$*!7!3)(=$1(5&!!47*(4/1$!#(!4)7-40(-*1$2D DED3#(#!4!/!*+)!#()+-(+$!###$47-$%&7$3)#!9$1$2#!1(*+)!*!7-$(6 #!;F(4*+4#!,-&./1(47$7&6!&-!+-!4!71$2.-G91#!&0&1$2%(()!5&!6&# !1(7--)(4*$7!-*5&!+(#!*(4.-&+-; <!)*$4*0(-*34$!1(7-*(41&7-(@&(4@#61!7!430(-*#(3%$!&1&#-#(3%$!& )?!89)(1()&*:3+(#!*(44&47$7&$-)(4+(-&4()(+-(#&17(!!)5&!4!!)$*$)(4#(4)$7!-!)!4 5&!#$9!-!!!441&7-(1!)#4; A)(%'!7$(!47-7-#!.-&+-)(4@&(4@!!)*!(-=*!-(+(4$%)!#!%)(5&!436#!*6(-7*H(; I*(4(+7$*$"-)4#(40&1$(!45&!/!*(4-!+-!4!7#(*!#$7!*+4#!,-&./!!) !'!*+)(7!-$(-;A+-$*!-)&.-1(4$#!-*(4)0&1$2JKLMN L##+(-JOOD ; P&*+#!,-&./!4Q              6 !*(45&!+(#!*(4.-&+-!R%)(5&!43)(5&!#)&.-7-!44&*#(435&!4(36;A4 #!1$-3JOOD; I!*(47*%$S5&!+(#!*(4/1!-(7-4.-&+1$(!4!R%)(5&!4;T(-!'!*+)(3 UVWXYZX[V\Z]^V_`aVbYX


01213456789 6 46                     



    

!"#$$%&''!"#$$%&''( )*+!,!!-*!.*+/0!10.0!.* * 2(3!*!.!0!.+!4              !5"#$$%&''( 3!*!00!*!.!!.* 60!!+.7*!!+.!.*!() *+!,.8.*0*9!,.*!!0.!0*!(:.!- 7+!+.!!+!*;( 3!8.*!,-*!!.* 6<05"=>?@ >! "#$$$A%&A'A'A'A'A'A'A 3.!,*!!B!B*C7!+!4     A  A A

  

A 

 

!5"#$$$A%&''A( DEFGHGHIJKLMINDOPQKRSIT U0+*!-05*!!*C7!1* * 6!!<05 +!!0!*!*!0.!()*+!,.*/.!!+-605<05 *,1!0!20.<0!*;0.!-+()V0!-.. !0!.!*.6(:*/.!!WXY0Z[19..0!05(:*/.!! 0!.!.(:*,.* ./* !!0.!60 !!* *(:00!.!0.!! .-07! !!( \0+*!0!.05*/.!!( )+*!0* .*]-+-!00]+.(:*, <05+!!0!*!** .*,!*!0+.0!*,! !!0 0.B!B( ^_`a`bcdefcghdcijc


23456473839 4

38 9 72638 9 8 33  !!""##"$"%&"# ' "()"# *"#+,+ "#-+ ##  .' #"#"*"#"$#/%&"" "!+0)"# % 1.2"2#""*+# .#"% &#")3-#' *#  .% &"' ' -,"% 4# 0% 56789:;<=>=?@=ABCDCBEFGBHIJKLMMDBCKCNOPQNOPQNOPQNOPQNOP RCSCTIKUBGT DMGBFGBHBKUCTMHTBSICKUBVKCWCSBKCSBUGBHSXYIUMHLIKCGIMHZ[HUMHHMK\\\]^\\] ^^\]^^^_\^\Z`GSBKCTMHDCHWCSBKCHBKVKCWMDVTKC]HIUVCKSMBKFGITBGDVYCGDCaVBUIBKBbcVKMHc] CWMKUIKVCWIJKDCHaVBUIBKBKdcVKMHc_CHXHVWBHIeCTBKUBZ \\\ ^\\ \^\ ^^\ ^^^ RMTFCGCTMHDCWCSBKCSBDFGITBGKIeBDWMKDCHSBHBYVKSMZfBHVDUCaVBgC_dSBDCHaVBHBSIhBGBKWIC BKVKiKIWMSXYIUMZAVHUIUVITMHBHUBSXYIUMFMG/]DVBYMKMHaVBSC/\\_\/\Z RMTFCGCTMHDCHWCSBKCHSBDHBYVKSM_UBGWBGKIeBD]_eBTMHaVB\^\_^^\HBSIhBGBKWICKBKVKiKIWM SXYIUMZ[HUMSCDVYCGCDCWCSBKC/^\ZjMGiDUITM]WMTFCGCTMHDCSBDUBGWBGKIeBDWMKBDWVCGUM]DMaVB KMHSC^^/Z `GSBKCTMHUMSMHBHUMHSCUMHBKVKCKVBeCWMDVTKC_UMSCHDCHWCSBKCHSBBHUCWMDVTKCaVBgCK IKUBGeBKISMBKCDYVKCSBDCHBYVKSCDCHTCGWCTMHZ k\\\ /\\ k^\\ \/\ k\^\ ^/\ k^^\ /^\ k^^^ ^^/ fBFBUITMHCaVXBDFGMWBHMWMKDCHBYVKSCWMDVTKC k\\\ k/\\ //\ k^\\ k\/\ k\^\ k^/\ k^^\ k/^\ k^^^ ^^/ lCHWCSBKCHCHBDBWWIMKCGHMKBKUMKWBHDCHKMTCGWCSCH]BHSBWIG]//\_^^/]aVBHBWMGGBHFMKSBK WMKDMHUmGTIKMHP_NOZ 01

n!##o#"##+# #*+ 0#' #p"q*%r+- #*' + 0-"2#"#"#' (3p"q*+"#' 0 .#""# #*' -""#%s#" "q t'   #*, "# ""q ' #"#' "#." #*#*"o#"#% 1.2--#+!"#" #*$'  " ' #ut(# (##*%v-*." "*"+' ' '  #*#!#" "*"#% wxyz{|z}x~|€x‚ƒx„{z


01213456789 6 46 !"#$%&'#&($%$)$#*+,-$&.$/#!#*'0,1 234 234 234 234 234 4 5 5 5 5 23 5 5 6!#*/#!#$+,./*'%$!#*#*-#*"&#-,/%#*)##$#*"$&$&$&,$7$8 9*",:*-%#-#*%#--,/'!#*+,1 234;234;234;234;234<23;4



=>?@AB?CADEFDG?CFHDGD>I>@JKACA@JK>EAL M9$-$$N"&*'O)##$$234P;234P;234P;234P;234P;234P;234P Q$!#*$%&$%$&-/#%&$&,$N"&*'OO"%'!$!-'$%!:%#-#-R,'ST/U,*VW8 X$*/$-$*-)'%*/#&&*"#-'%*$/$-$,#-#*!'%&! *#YZZZ(YZYZ(ZYZY(YYZZ(YYYZ( YZZZWYYZY8["$&%'&-$*/#*%&,'!#*$%$)$1 \] ^_``` a ^_`S` _SS` \b ^_`_` c ^_S`` de ^`_`_ c ^_S_` ] fg ^__`` `_S_ d ^`___ S_`_ bf ^___` a ^__S` eg ^__`_ __`S [ $'h+,'&-$-/$-$,$-$*/$-$*!$&/$-$*i!#*/##/$-#,$*%&$*j/#,!$-$ 'h+,'&-$k#l!&#*j/#,!$/%&$k+,#*'-'/$/$-$/$-$/#/,$*!"$&$"$&$m#&!$& ,$/$-$$/#,!$+,%'!n*$$-&/i$8 ["$&%'&-$+,.*//'#$!#*$*/$-$*+,#*%n!$&/$-$*(+,*/#&&*"#-/##*"&#S -,/%#*23Po34Po234o2P8*%##*-$$*'0,'%%$)$1 234P 234P 234P 234P 234P 234P 234P 23P 5 5 34P 5 5 234 5 5 2P 5 5 5 5 p$"$&%'&-$%$)$*Q/O!##*%:&!'#*23PW2P%'+,$"$&/&$N"&*'O*'!"'7/$-$8 q'"&'!&###",*':&$!#*(#+,-$&.$/,)'&%#!'%&!234P(!'%&$*+,*'##i'/':&$!#* /#*0,-#(*&.$!'%&!234PjW#%&#*-#*!n*k+,'#+,-$&.$/,)'&%#8[+,#*%:&!'#* +,*##*l'/#*+,/,)&$$0,#-#*!'%&!*(**$!$F@JKFC?DE>BJrF@ABL *%/$*#(#*'!"'/$%*"&'!#**#23PW2P8 X#+,i$/!#*$i#&$*(-$%$)$$%&'#&('!'$!#*$*7$*-#-*%n#*'!"'/$%*"&'!#*( W$*/#,!$*-#-*%n#*!''%:&!'#*+,+,-$/,)'&%#*"#&*#*'!"'/$%*"&'!#*8*-/'&( *,"&'!'!#*$*7$*"&'!&$j/#&&*"#-'%$%:&!'#23PkW/,$&%$j/#&&*"#-'%$%:&!'#2Pk8 s$!)':*,"&'!'!#*$*/#,!$*"&'!&$(*0,-$(%&/&$(/,$&%$(+,'%$W*N%$8t#*+,-$%#/*1 234P 34P 5 234 5 WQ!#*+,'0'-#/,$+,'&$-#*-#*("#-!#*%&/,)'&%#*%#-#*#*!'%&!*8u#&%$%#( 234P;234P;234P;234P;234P;234P;234P<23P;2P;34P<23P;2P;234 q'"$&$#"%'!'h$&*%$N"&*'O)##$$!"n&$!#*#*!$"$*-v$&$,0i%-&.$!#*-#*m#&!$* -'m&%*-$0&,"$&$*/-$*/#w,#*w1 xyz{z|}~€}‚~}ƒ„}


23456473839 4

38 9 72638 9 8 33            

01

  

  

    

    





 !! "#$%!&!'!( )$*

+,-,., /0123140563178019:;<14<70;=:<405

>?@ABBCD?A@EFABAGA?HA@IAJD@KC@HDBLJDMEMFHCFGAHFA@ENAFHM@OLPCBM@QOM@ENAFHM@RSTQUV WSUXQEDGAJD@GC@AYMFBCFBNCHD@OLPCBD@QWA?OM@ABBCL?M?HAFCDFIAJD@A@HNGCMGDBLJDJC?CJCZMFAO ?[JAFDGAENAFHM@?ABA@MFCM@EMFMGC@AYMFHMOA@BCFBNCHD@\]C?AJ^MFPDQEMFMBD?@HFNCFHMOA@BCFBNCHD@A@ ?ABA@MFCDAJEOAMFHFA@HCED@GAENAFHM@OLPCBM@GC_AFA?HA@\>?A@HM@ABBCL?KMJD@MC?HA?HMFBD?@HFNCF BNMO`NCAFBCFBNCHDOLPCBDAJEOAM?GDJA?D@ENAFHM@GC_AFA?HA@QMN?`NA@AMMBD@HMGAMNJA?HMFAO?[JAFD GAa@HM@\ bDJA?ZMJD@FAGNBCA?GDAO?[JAFDGAENAFHM@GC@HC?HM@?ABA@MFCM@Mc\

defgfhijiklmnononp!#$q!rs%&!tuvwtxy!#$q!rs%&!zw{vwtx|&%q #!$!!&q$&&%r &!%$&%$&%qrs%&* {(q$!&%r}~MFMKAF`NAOM@ENAFHM@UVWSUX@D?@NBCA?HA@Q^M@HMBDJEFD^MF`NA€Q OD`NA?D@GCBA`NAEDGAJD@BD?@HFNCFN?MENAFHMRSTN@M?GDOM@ENAFHM@UVWSUX\>@HMENAFHM EDGF‚M`NAGMFBDJD@CPNAƒ  „„„ „„„„„„ … „ „„  „„ „„„„„„ †EDFHM?HDQN@M?GD[?CBMJA?HAENAFHM@UVWSUXEDGAJD@BD?@HFNCFBNMO`NCAFBCFBNCHD\ TAOMJC@JM_DFJMQWENA@HD`NA€@AENAGAKAF`NAN@M?GD[?CBMJA?HAOM@ENAHM@RSTW SUX@AENAGAGC@AYMFBNMO`NCAFBCFBNCHD\ ‡ ˆ‰Šlijiklm‹nŒ!)!$%!''!!*Œ |!Ž&%'!!v‘&( %s} €… ‘€’ >@GABCFƒ

““€ “€ “€ €“’ “‘“€ “‘€“ ‘“€“ ‘€“’ >@HD@DEAFMGDFA@@AGA?DHM?BDJDSRST”SUXRST•WSUV”SUXUV•FA@EABHCKMJA?HA\

defgfhijiklmnon‹n–!%$Ž&%r'!!#"#$!$! —%&!(q#$!$wzw{ ˜$#*wtu™* š›œžŸ ›¡Ÿ¢£›¤¥¦›§ž


01213456789 6 46    !"#!$%&'!(%&)$)"!&%*#)"%+,-. /0/1/0/2/3 /450/150/2506/2/72652573 %&8%)(+!&!#%8!%&9:;<:=#,%8%*%>#%&&%,')+)?*8!@*)"%*'%9A9BCD!#!&))E* FCGCG*!&8)%H,% ,+H,)%I,*JE*$!!+%*+#!8%"!&%>#%&@*)"%*'% !*%+!#%8!9A9BC B%+")&"I!"(#,%&'!H,%/0/K/</1506/K/7K65K578%8,)"!&H,%%+!#%8!9:= %&&,L)%*'%#%>#%& ,+H,)%I,*)E*$!!+%*C MC D&#,%'& !%&#!*8)%*'%&9A9B<9:=&%&,%+%*%#%&%*' !"!&)-,%. NNN NNNNNN /25 /5 /K5 /5 N NNN NNN NNNNN O,+H,)%8%+!& ),)'!&H,%P)"!&%*+Q% )E*GCGCR(! ,+H,)%!'!H,%&%*!&!,#!8%"!& S!8)&%T+!,&*8!@*)"%*'%+#,%'9A9BU!+#,%'9:=VCW&'#,%'&% !*&',<%8% I!"&%*)++ !*'*&)&'!%&('*'! !*+'%*!+!-J8%&%")!*8,'!%& !"! !*+&'X*)&"Y& %)%*'%&8%I$))E*8%")!),)'!&C

Z[\]\^_`ab_cd`_ef_


012345678

9        !"#$!$%%&'(!)&%

*+,-./-,0012+3/45-/054,+6/7,8,-.9:15:,8/.,57;/:,<7/=5->*81+1015:,,-./.,57;/.93589?/7 ,+@ABCD,+9+/7.;0985:,E,5+F/7:*98,7>*8.7/G/H5-97?12:,9+I75G8,4/05+501:50545,8JKLMNOPQ RONLSJTOUVOSROWXUYZSMOKZ[ \97/+.,,8]1?85^_```D8/019:/::,ab+1?-G,7?D,+c79-1/d71,+./8,-./G/:131:1:/,+09/.75 65+/-I57,87;5c7,?,8>e/G;/-1,.,I9,+.,-f9,0549+10/G/+,-./-7,?15+,-D./8g0545 -,49,-.7/,+,8:1G9H5>E5-F/G1./+.,-:,8/019:/:F/0;/+I/-,5-:541+10/8,-.7/./+:5 :,,+05+.7/79+/=574/:,0/41+/7I578/019:/:D0796/+:50/:/I9,+.,9+/-58/3,6Dg 7,?7,-/+:5/889?/7:,I/7.1:/> hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhh hhh hhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhh h h h h hhhhh hhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh h hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

c/7/7,-583,7,-.,I75G8,4/D*98,77,I7,-,+.28/-09/.7565+/-054509/.75I9+.5-Dg85-I9,+.,0545/71-./-f9,9+,+85-I9+.5-D./8g0545-,49,-.7/,+8/i?97/> jhhhhhhhhh

hhhhh hhh hh khhhhhhhhhhhhh hhhh hhhh hh lhhhhhh

m

no-/:,8/+.,3,7,45-02457,-583,7,8I75G8,4/> c57/F57/+5-f9,:/45-05+8/7,I7,-,+./012+f9,F165*98,7>*+,88/1+.,731,+,+09/.75I9+.5-p/85f9,:,+541+/7,45-3q7.10,-rD/-/G,7Dstutvtwg-1,.,/71-./-58/:5-f9,05+,0./+/8?9+5-:,85-3q7.10,-> *-.5:/I1,/8/-1?91,+.,:,i+1012+:,?7/=5> xyz{|}|~{€‚UZKQƒL„OSTUJQK…†t‡ˆ‰RLURO†Š‡SLU‹LUŒTUVLS‰ŒTUVL‹LUTUQQJNY‹Q‹YU Ž ‡‘ ’’“t”•“t”–†•— ˜N‹LUŒTUVL† SONONNQPQ‹LUŒTUVLRO™šKVY‹OS›QN‹LUŒTUVL‡ ‹LUŒTUVLRONQRLSLQKYSVQS‰ŠQNQ QJNY‹Q‹YUŽ œLSYPJNOPOUVOŽQJNY‹Q‹YUROYU‹YROU‹YQ[ žž


2345678992 3 4 65 7 5 6 !"#$#"%&'"$()*+",-+.+-!/# #--"%#$*''* #0# #1&'# $23-'*"!#1&'#4567898:8;<. #0# #1&'#$!$#"#1&'#=56>?8>@8>A8>B8>C8>D8>E< F!!%*!*G$**$*!"!$!$!%#-H 01

IJK>?L5IJK>@L56789< IJK>AL5IJK>BL5698:< IJK>CL5678;< IJK>DL5698;< IJK>EL56:8;<M NO>? P>@ QRSTRQUVTRQWVUXQYZXIJK>?L5IJK>@L[QXTO\XYZXQRS!$#"%!-!#"] ^SUVTRWVUYZXIJK>L56_<QXTO\X&!`#] aUbZSRQVZWRcXQ[VUTXdSOcZSbcVeR[SROS\UZPXSUVfRQOgOUOTVTTXYZXWXSbVUVTRQfVcVUXURQSOUVhRQ] iSWVU\VQR[URYZXVYZjkXlRQTXdSOTR\RlRZSbcVeRURTXSRlOSVS\RlR0&'*+-!/#] mnopqprostu+-!/#$*-*+*$#&#-*'!$#"&%!-K48=L.$#$4F="# #1&'#".1&'# # $#"!%*!*#"v8wx=y 4z {#1&'#4"!0! #1&'#$23-'*".!#1&'#= #1&'#$!$#".F!!"!%*!*#" vFw!%*!*#"$#0**#F #$#0**#|}"#&-}F}'!-+'}~z mnopq‚pros‚€‚!5K48‚=L&+-‚!/# #!%*!*G$**$*!IJzu"&,+-!/#$"& &2# ‚ † #  $ 4 ƒ4.= ƒ=F" 2  * „ !… & I K > L% ! ! & !  … & *  ->‡= z K > L5I +-!/#‚5K4 8‚= L$ J J €* 5K4 8=‚L"&" & , + ! / #$ & + ! / #5K 48 =L ." $ * … &  "&"&,+-!/# #0%'#"*$!$# >‡='!…&IJK>Lƒ4‚."‚2-*„!…&>‡=‚zˆ*‰#$#'-!/#-0!."*'*'#$#"#"!$#"…&'Š! F…&&23-'*"$4 z ‹ŒŽqpro‘ ^SQZgbcVeR\RlfUXWRXQW’\RlfUXWVlXSWXTXWXclOSVTRfRcXU\RS“ZSWRTX”•cWO\XQ]aQj[fVcVTXWXc– lOSVcZSQZgbcVeRTXZSbcVeRXSR\VQORSXQX—fUO\OWVcXlRQ˜SO\VlXSWXXU\RS“ZSWRTX”•cWO\XQTXTO\kR QZgbcVeR[QRgcXXSWXSTOXSTRYZXQXWcVWVTXUQZgbcVeR\RlfUXWR\RSTO\kR\RS“ZSWRTX”•cWO\XQ] mnopqpros™€!&+-!/#zu !0*#$#+*'&$š"&!"&"*G$!$#">?>@›››>œ.1&'# # &!"&"*G$23-'*"__?›››_œ '!"…&IJK>žL56_žŸ?8_ž<z '!!"#"$*…&!0*#>?>@›››>œ "& !0*#$23-'*_ !23-'*_œz NX\RSQOTXcVZS\VlOSRTXURSbOWZT\XcRTX_V_VVYZXU\ZPVQZ\XQO STX”•cWO\XQXQ_P\ZPVQZ\XQO S TXUVTRQXQ”V\jV] ¡VcVTVcZS\VlOSRXSZSbcVeR[XSR\VQORSXQTVcXlRQ˜SO\VlXSWXUVQZ\XQO STX”•cWO\XQ[PXS R\VQORSXQTVcXlRQ˜SO\VlXSWXUVQZ\XQO STXUVTRQ] ¢ WXQXYZXQO>?>@›››>œ XQZS\VlOSRTX£V_[XSWRS\XQ>œ>œŸ?›››>@>? XQZS\VlOSRTX_V£] ^S\VlOSRXSXUYZXSRVfVcX\XSUVTRQcXfXWOTRQQXUUVlV-#--*$#] ^ScX\RccOTRXSXUYZXSRkVP”•cWO\XQcXfXWOTRQ¤QVU”RX”XSWZVUlXSWXXUfcOlXcRPXU˜UWOlR¥QXUUVlV !0*#"*0%] ^S\VlOSRXSXUYZX\ROS\OTXSXUfcOlXcPXU˜UWOlR”•cWO\XQXUUVlV !0*# --!$#] ^ScX\RccOTRYZXXQVUV”Xh\VlOSR\XccVTRQXUUVlV *-&*'#] ^S\Oc\ZOWRYZXVQZ”XhXQ\VlOSRQOlfUXXQZS *#] ¦VQObZOXSWXWVgUVfZXTXVPZTVcVV\UVcVcXQWVQTXdSO\ORSXQ] §•cWO\XQ acOQWVQ cXfXWOTRQ cXfXWOTVQ agOXcWR ¢RlgcX ¨VlOSR ¢R ¨VlOSR\XccVTR ¢R ©X\RccOTR ¢R ¢R ¨Oc\ZOWR ¢R ¢R ¨VlOSRQOlfUX ¢R ¢R ¢R ¨O\UR ª«¬­®¯­°«±¯²³«´µ¶«·®­


012134546789 7 4 6467    !"##$%& '  ###$%#(&)*)##& +#&$ ,-./012345464789:;<=>?@8:=A:;BC;=9D=B>?E8F GH GI GJ GK GL GM GN GO GP GHQ R?:CS=:;T9GNGJGPGLGKGOGPGJ =:C9S?@;98<=A89B;DC<UVC=C9=GN S89GMWX8=:>=S8>>;<8YZC=:=A A?<8VC=C9=GJ S89GP ?Z?>=S=<8:[=S=:=9=AS?@;98W R?:CS=:;T9GHGJGPGOGKGJGN =:C9S?@;98<=A89B;DC<\VC=C9=GH S89GNW]:C9>=S8>>;<8YZC=: 9;9B^9A?<8:=>=Z;D=W_;9=@`?>B8Y=AS?@;98Z?:?<8:[=S=:Z8>=A[a>D;S=GJWX8=:Z8>D?9D8C9S?@;98 :;@ZA=W GJGKGOGP =:C9S?@;98:;@ZA=<=A89B;DC<bW R?:CS=:;T9GHGJGNGPGJGKGLGIGH =:C9S?@;98S=>>?<8<=A89B;DC<cW]:?<=@d:C9S;>SC;D8YZC=: 9;9B^9A?<8:==9SC=9D>?>=Z=D;<8WX8=:C9S;SA8Ye?VC==A[a>D;S=GJ :=>=Z;D=W f9=g=@ZA8<=S;SA8Z8<>h?:=>GHGIGLGPGNGJGHW ij202klmlno345454_=?p C9B>?E8W_CZ89B?@8:VC==q;:D=C9S?@;98<=r?GW]9D89S=:=q;:D=C9 S?@;98:;@ZA=<=r?GW s=@8:D>?S;T9F%'&#*)&#rtGHGIuuuGv tG$%)&##&)  #!"##$%##Gw+Gxyz{$|)##*GHuuuGwGx}HuuuGv # &rG$%#&~#&)&#)##))'& #&)$ € ij202klmlno345464_=?pC9B>?E8Ye:=?9reG<8:[a>D;S=:<;:D;9D8:W_CZ89B?@8:VC=D=9=@8:<8: S?@;98::;@ZA=:<;:D;9D8:<=r?GW]9D89S=:=q;:D=C9S;SA8=9pW ,-./012345434]9=A]g=@ZA8W‚WƒD=9h?@8:C9S?@;98<=A89B;DC<\VC=C9=GHS89GN„GHGJGPGOGKGJGN…W ]:D=S?@;9898=::;@ZA=YZC=:=A[a>D;S=GJ =:Dd>=Z=D;<8W]A;@;9?@8:A8:[a>D;S=:VC=:==9SC=9D>?9 =9D>=A?:<8:?Z?>;S;89=:<=GJ e8`D=9=@8:=AS?@;98GHGJGNYVC==:C9S?@;98:;@ZA=VC=C9=GH S89 GNW †8>8D>?Z?>D=YD=9=@8:<8:S?@;98::;@ZA=:VC=C9=9GJ S89GOYS8@8:89GJGKGO eGJGPGOW‡Z?>D;> <==:D8:<8:S?@;98:Z8<=@8:8`D=9=>=AS;SA8GJGKGOGPGJY>=S8>>;=9<8=9Z>;@=>ACB?>C98<=A8:S?@;98: VC=C9=GJ S89GOYe>=S8>>;=9<8?S89D;9C?S;T9=A8D>8=9:=9D;<8S89D>?>;8W XTD=:=VC=:;Z?>D;@8:<=A8:S?@;98::;@ZA=GJGKGOeGJGHGIGLGKGOe>=Z=D;@8:A8ˆ=Sˆ8=9=AZd>>?E8 Z>=S=<=9D=8`D=9=@8:=AS?@;98S=>>?<8GJGKGOGKGLGIGHGJ VC=98=:C9S;SA8YZC=:=A[a>D;S=GK =:Dd >=Z=D;<8„8=AA?<8GKGO…W_;9=@`?>B8YA?=q;:D=9S;?<=A8:<8:S?@;98::;@ZA=::h98:<?A?=q;:D=9S;?<= C9S;SA8Y?:?`=>YGJGKGLGIGHGJW ‡A?AC‰<==:D8:<8:=g=@ZA8::=<=g?S8@8=g=>S;S;8<=@8:D>?>A?Z>8Z8:;S;T9W‚WƒW Š.‹olmlno6Œ4_=?p C9B>?E8W_=<;S=VC=p =:S89=q8Y:;<?<8:reG<8:[a>D;S=:<=p =q;:D=?A @=98:C9S?@;98<=r?GW Ž‘’“”•’–—“’˜™’


2345678992 3 4 65 7 5 6  !"!#$%&!'(&$$)* +,-.&$"!+-/ &$)!0'$ * 1.'20&!'(&$&3!$("" $"!&!$4 "(&$ 565788859 $"!+-&$5959:688856 $"!-+4 &&' ; 56;5788859 $"!+-25;65;78885;< $"!-=&$ ; 56578885956578885< $"!+=4 >&&$0$.$%&$$& $)0$?"!!# &"&4 @ &!&$) !"$! $!$!0'$?A$" &B !&"! '(&$!!$C$!0'$4D!!&0!" EFGHFIJIKJEFIJLMNJ4

01

OPQRSTUVWXWYWZFI[\NJ]MGF[J^[\_`\JIKJ_]MaFb -6 -7 -f -g -c -d -e K\JIJK]J[EFGHFIJIKJ[EFIJLM[hi[KM[[FI -6 -7 -f -c

-d

jklk mnopqrstnturqnvntnwpnxut

-e

-g

&$$)'"'$)" !"&#&"!&"&$4@ & !&"&$ !"?& !!?4 yQz{|}|~{VW€JM`I_]MaFE`FEFI‚`IKFNJƒ„]K\EJ[J[…†‡-6ˆ-7ˆ888ˆ-9‰h€JNJŠIJ[`"&‹ !!2$$EFGF^MGMK]\ŒŽ 9‘’E`FEFJŠE\JIKJ“ˆ”’J[\_`M^M^I•GJ]FNJ^MNF[5–`J`IJI -—EFI-˜ ™J[NJE\]š–`JƒJ]\ŠEMI–`J›5’†‡-—ˆ-˜‰œh žŸQ ¡¢}|U{QŸ£ ¤4¥"&‹!!2$$!"&‹"(&$ $!!0-—$-˜ &"?(-˜$-—4 ¦4>&"3"&!$)!'(&$"&‹!!2$$!&4§&&  !&'"&$!!2$$42¨!" &$!!2$$ !""&$.&"&‹! "&$)©&0©:6¨©†A"&‹ ! "&$)"&‹0&$!#2$!$"$#$&0' ªª2&&"'ª$ª4"&‹0?& &!"&‹!&!! ‹!&$"?!#2«$"B4 ¬­®¯°±¯²­³±´µ­¶·¸­¹°¯


01213456789 4 874 4 4 64

 !"#$% "$&!'("")"*#!&!+," +"#$ -."!+)+*"/0"% !"#$1* %234,"&!5%&!6789:;3$<789:;41*"# &!0 "0 ="#$!+)"0>"?*"#!%@ A"#$!+)B+C%DE"" "%F+)!"#!%A 1+! !"!""$ GHIJIKLMLNOPQRQSQTUVWXYZ[V\]^X_]^]Y`XYa]bUcld[ae^UfUfg;hi;jikkki;lm_fUVnfXoVa[epbU Vb_V^UY^eVqrYa]Y^UfUs^]Ut^eUYaU7uiv9bUsVoVa[epn UfeZXVsVsYwoU[]bU^VoeY]fbUs]YZeaXbx yXUXYUY;3^]Y;4q zUo]fa[V^e{Y|}+""F !FDx:' !"?&! %F"#$ .!+"&!l€h !x~'$"0"x .:n $:nl‚! "/ &!ƒ34 ,""+!x l „ &!!;3;41&!ƒ34:…†h‡3…2…4 ˆ"+!x;3$;4 /‰!"+!x~' ;3$;50;4Š$"‹,"!+"!&! 50;$;4D * "+!x;3$;4"* 50;… Œ:'iŽikkkix "+!x~';3$;…*$ !*  B"+!'C;… $;4!+*# !" !/ 1*"&!,""+!x;3$;4 ‡3h2h4‡3j2j4kkk‡3l2l4:ƒ34 "&!E" ‘F&! #"5+)W+" ’ “”•OLMLNOPSQTUVW XYZ[V\]^X_]^]Y`XYa]bUcd[ae^UfUf–:g;hi;jikkki;lm_^X_]^]Y`XYa]bU sVb]fUf—:g8hi8jikkki8˜ mqTUbUtYUsV"#bUsZ[V\]W^]o]XYVoVa[epx™š yXU aeUYUUYsV›]fe^e{Y7uiv9XY'fe;3œž7849_ŸUY]a[]^Vf]q  ¡K”H¢£MLNO¤ ¥.""F50$¦*"#! ) 1*" ""+)! ! "" %$¦!"ˆ§B"/%$¦ !"C ¨1&!!+)+!&!+!"+!"# *"&!#!%!,%©!© .+)+*!%"/0"#1*% 7uiv9!"/0" 5 ~'B84 50;3C1*+) E # ª«¬­¬®¯°±²¯³´°¯µ¶¯


01

2345678992 3 4 65 7 5 6

   !"#$%&%' "(""#)*#%!+%")&,-" ./ .0

4/

40

41

.2 .3 .1 43 42 5!*!,6&#'%&, 7"%&8,9#:!,6&%9#,' "$")&,-"$#-%&%!+%";<#!%'7,&)="#6&-*!$#>,' ",() '?" %!9!+&,' "'*9@,""%'%A,!>,"%!+&%%((";B &%A%'6(=,'7 "+#%!%!#)*,(!C'%& $%8D&+#9%"%#)*,( !C'%& $%(,$";5E#"+%*!8D&+#9%%!9,$,*! $%%(("F.3 %!%(6&#'%& G40 %!%("%)*!$HI*%%"+? *!#$",(&%"+ $%8D&+#9%"; <#)*M#%!$ %!% "+,(J!%,=8 %' "I*M%6 $%' "&%!'7&,&("8D&+#9%"$%("%)*!$ )&,- 4/ KL ./M= M M *%6 &9,$,(,$ I*%*!%$"8D&+#9%".NG.O %!%( 40KL .3=41KL .2=42KL .1 G43KL .0=G+%!%' "I 6&#'%&)&,- +%!%' "*!(,$ I*%*!%("8D&+#9%".NMG.OM%!%("%)*!$; P%' "%!+!9%"I*%,'7 ")&,-"6 $%' "9!"#$%&,&("#)*,(%";Q C!#9 I*%("$#-%&%!9#,%"%( !'7&%I*%(%@%' "$,$ ,("8D&+#9%"FG,("(,$"HG(,-&',%!I*%("@%' "&%6&%"%!+,$;B%& +$ ( I*%$#),' ""7&%*!)&,- %"8?(#$ 6,&,%( +&; B,&,6&%9#",&*!6 9 '?"( I*%@%' "@%9@=8,' ",6 !%&(%!'7&%,("(,$"R 4/ V/ 40 VT ./ S/ .0 S3 ST SU S0 V2 V3 V0 VU 41 .2 S2 .3 S1 .1 43 V1 42 5!+!9%"=( I*%+%!%' ""!$"7#G%99#!%"WX YZ[ L Z[\ GW] Y^[ L ^[\=I*%%!%"+%9," "%&J,!R WX W] ./KL 4/ S/KL V2 .0KL 43 S0KL V1 .1KL 42 S1KL V0 .2KL 41 S2KL VT .3KL 40 S3KL VU STKL V/ SUKL V3 8%&#_9,!$ I*%"#`[aSbcdef.g%!+!9%"`[\aW]aSbbcdWXaebfWXa.bg; h:+%"%I*%%!%"+%9,"=(,,6(#9,9#:!WX $%+%&'#!,++,('%!+%,(,,6(#9,9#:!W]; 5"+ $,6#%,(,"#)*#%!+%$%_!#9#:!R ijklmnmolpqMrstuvwcaZf^bxwMcaZMf^Mbyz{|}u~z{zvu€‚Mu‚zvt{yt‚v‚Mytv‚u`[ x`[\ƒst y‚t„…twxw {zv‚{z†z}~z{{‚t‡‚{ˆtvyz{‰‚xt‚zvt{WX YZL Z xW] Y^L ^ ˆut{„…t€u}uuyu uyzSŠ^{t‹t}‚Œu„…t`[\aW]aSbbcdWXaebfWXa.bgyzvytdef.gc`[aSbƒ vˆuu{zŽy‚}t†z{„…tu{u€‚u‚zvt{WX xW] ~z}†uv…v#"' &_"' ytwuwMƒ ‘j’“”nmol• –;<#(")&,-"! +#%!%!(,$"6,&,(%("=%!+!9%"(,,6(#9,9#:!WX $%+%&'#!,$%-&',C!#9,,(, ,6(#9,9#:!W];—%,@J=I*%!&',('%!+%=6,&,$,&*!#"' &_"' $%)&,-""%$%C!#9,'%!+%9' ,9+C,"7&%("8D&+#9%"; ˜;<#WcaWXfW]b%"*!#"' &_"' $%w,wM%!+!9%"aaWXb™/faW]b™/b%"*!#"' &_"' $%wM, w; š›œžŸ ›¡Ÿ¢£›¤¥¦›§ž


0101234546735489 6 43  !" #$%&$!'# ()(*)! + + + ,,+ ,, , , , + + +, + ) #%&--#./)0 &12! 30 $.$%&-$2 0 #)0 !0 456784759:;<84=<><8?=><! @#%$)0 ! ABCDEFEGDHHIJ57;8<;4:K7K=:K4L:456784759:;<84=<><8?=><=4K7K<=K<=M87N<=4=<><8N<=OPOQR S5<=794=N7L:T7;8<;4:K7K=4RP=UT<=4RT7=794=N7L::T<98<V ABCDEFEGDHWIX:7O S5M87N<PYS56Z894L:K:OVX:K:?5::TM87K<K:YRPT<K:5<978:><=L<>< [\]Y^RL<><:T5_>:8<K:T7K<=`5<T7a<=bK:OcS:=<545L4K:59:=:5Y>d=e6:L:=:T5_>:8<K:T7a<= 45L4K:59:=:5YV f:5<978:><=;<8gh]O^L<><:T5_>:8<K:6Z894L:=K:i cS:94:5:5M87K<4MS7T7jVk;78948K: :=9<R;<K:><=L<5=98S48T7=SL:=4U5 gl]O^mgn]O^mgo]O^mpppmgh]O^mppp cS:TT7>78:><=qV rq0 O s%&YnmYompppmYt -u [\]Yn^v[\]Yo^vwwwv[\]Yt^xyum ) 0 %&.#z0 2 {%.) %&0 2 |}B~€HIHI‚I ƒV„5T<=M87N<==4MS4:59:= Yn Yo ˆn ˆo ˆ… Y† Y‡ Y… ˆ‡ ˆ† =:94:5:cS:[\]Y…^x[\]Y†^xyR[\]Yn^x[\]Yo^x‰R[\]Y‡^xŠV‹<89759<Rgl]O^xgn]O^xŒR go]O^xyRg…]O^xyRg†]O^xVŽ7=SL:=4U5K:M87K<=:=;<89759< ŒmŒmymymmŒmŒmppp ‹787:T<98<M87N<=:94:5:cS:[\]ˆ…^x[\]ˆ†^xyR[\]ˆn^x[\]ˆ‡^x‰R[\]ˆo^xŠVŽ7=SL:=4U5 K:M87K<=8:=ST97=:8T7>4=>7cS::5:TM87N<759:84<8V eVŽ7==SL:=4<5:=K:M87K<=K:T<=M87N<= + ,,+ + + ,, , , , + + +, + =<58:=;:L9467>:59:ŒmŒmŠmŒmŒmpppPŒmmymmŒmppp ‘’‘“”•–—”˜™•”š›”


2345678992 3 4 65 7 5 6  !"#$%#&'()* )+! ,-.!/0123!,4,!56"1'7 56"#$"1''8.!.,.!.!.  !!,!.!/..!./,/!9 !:,!!48.!;!!,!/!,4!!<!9 01

=>?@ABCDEDEFEGHIJKLMNOPHJQHJJKRSKMITMJRNOUHJV 1W aW aX `W _W aY aZ `X _X _Y 1X 1Y 1Z `Y `Z _Z 1[ 1\ a[ a\ 1] 1^ a] a^ `] `[ `\ `^ _] _[ _\ _^ bIQHJcSOTNHRNOUHJQOJScMJKdILMRNOLHJMJQOPKJPOefSMJTHLHJQHJghNTKcMJTKMIMIRNOLHijMJLMcKNe QOJScMJKdILMRNOLHJMJMIQHJcSOTNHcOJHJk%k%k%l%k%mmmnopKIMPqONRHeMQfNKPMNHeTMNcMNHrcSONTHJHI KJHPHNUHJrQHJKJHPHNsJPHJgKMIMILOLHJfHN 1W t* `[ t* _X 1X t* `] t* _] 1Y t* `\ t* _Y 1Z t* `Y t* _[ 1[ t* `^ t* _^ 1\ t* `Z t* _\ 1] t* `W t* _W 1^ t* `X t* _Z PKMITNOJuSMMQJMRSILHIHMJKJHPHNUHOIKIRSIHLMQHJHTNHJTNMJerOuSMMIMJTMJMRSILHIHvOrcKcQHJ LMQHIRKTSLiePKMITNOJuSMMIQHJHTNHJJwQHJvOrj1X1[1] fHNMxMPfQHno y4/ !,4!;!,!,!,!4!!<!4!,!, ,!..80! !4.;z4! 4!,!,!/.94/!!,!,!.!RNOUHJNMRSQONMJ.!/.{|{!!/. },.!4.;z4!~9,!!<!!!.!,4!84/,/!/!.!/.i9 ,!<!4,4!.!/!/!,/!49 €?‚ƒ„ƒ…‚D†EpMQQOPORNOUHcHPfQMTHLM{ghNTKcMJOQRNOUHjcHI{ghNTKcMJnuSMIHTKMIMghNTKcMJ IKQOLHJfONOQMQHJerLOLHJLHJghNTKcMJvOrSIQOLHuSMQHJSIMo‡KcvHLMHTNOUHNPOeJSPOTNKˆLM OLrOcMIcKOTHPOMQgOQHN‰cMNH‰MITHLHJQHJMQMPMITHJLMQOLKORHIOQrMQgOQHN‰SIH‰MIMQNMJTHo ‡KcvHRNOUHJMJSMQMLMIHTONcHPHŠ‹o =>?@ABCDEDEDE ŒMOPHJcSOQMJJHIQHJcKIcHfNKPMNHJRNOUHJcHPfQMTHJV  ŠW

  ŠX

   ŠY

    ŠZ

Ž‘’“‘”•“–—˜™š›’‘





   Š[


01213456789 67 571

  !



"#$%&'()$*+,-'.$/+,'-.$0+,1$)$.#.+,23&4+3+'5&'6+0#78)6-3#,#,9:;<:=<>>><:?@AB$)$3$0$C #'6)#D4E2,#$FGHIJK:GLAM#'#N+,0##,6$*+)N$&'$,#3&#'3-$F;<F=<>>><F?2O&#,#3+))#,1+'0#3+' .+,()$0+,0#.+,78)6-3#,0#.()$*+%A P+,1.$'6#$N+,,-0$0$&'$.-,6$0#E'QN#)+,'$6&)$.#,F;<F=<>>><F?2#R-,6#$.(Q'()$*+S,-'.$/+, '-.$0+,1$)$.#.+,T3+'E78)6-3#,6$.O&#.+,()$0+,0##,+,78)6-3#,,#$'#,6+,'QN#)+,'$6&)$.#,AU#' 3$,+0#O&##R-,6$23VN+1+0)W$N+,0$)&'()$*+3+'6$.#,3$)$36#)W,6-3$,A X'6#,0#)#,1+'0#)$#,6$,3&#,6-+'#,27$N+,$-'6)+0&3-)&'1+3+0#'+N#'3.$6&)$A YZ[\]^]_\`abcdefF;<F=<>>><F? ghijdklmnopqdreoqkdolsfF;<F=<>>><F? doqfe,&3#,-V'()tu3$ oldvlowdqfxyezn%olfre{noflre|no}eyerdrno~knfknfqfwn|dÂ&#x20AC; ywlkdoÂ&#x201A;H9:;<:=<>>><:?@Â&#x192;werpqd FGHIJK:GLi clF;<F=<>>><F? doqfeoqkdolsfxyÂ&#x201E;Â&#x2026;ke~Â&#x192;%doqfxyeznknfEÂ&#x20AC; ywlkdokqÂ&#x192;noxye|noonfrnow ymlfno |dreoqkdolsf~|lydmnopqd%doqfe)#$.-/$3-V'|dreoqkdolsfF;<F=<>>><F?i Â&#x2020;Â&#x2021;ZÂ&#x2C6;Â&#x2030;Â&#x160;Â&#x2039;`bÂ&#x152;bÂ?b Â&#x17D;iÂ?eoqkdolsf|dEw ymlfnoÂ?<Â?<>>><Â?doqfeoqkdolsfxyÂ&#x201E;Â&#x2026;keiÂ&#x2018;n|dmnoknfol|dyeyqfxyeznkqÂ&#x192;n knfqfwn|dÂ&#x20AC; ywlkdowldfdEdrdmdfwno~Â&#x192;kqÂ&#x192;nknfqfwn|dre|nododrknfqfwnÂ&#x20AC;ekÂ&#x2019;ni Â&#x201C;iÂ?eoqkdolsfD<D<D<D<D<DdoqfeoqkdolsfxyÂ&#x201E;Â&#x2026;keiÂ&#x2018;n|dmnoÂ&#x20AC;dyrnknfdrolxqldfwdxyezni :Â&#x201D;; Â&#x201D;:= :Â&#x201D;Â&#x2022; Â&#x201D;:Â&#x2013; :Â&#x201D;Â&#x2014; Â&#x201D;:Â&#x2DC; Â&#x2122;fxdfdyer~kqerpqldyoqkdolsfknfqffÂ&#x161;mdyn}ey|dqfnodoqfeoqkdolsfxyÂ&#x201E;Â&#x2026;kei Â&#x203A;iÂ?eoqkdolsfÂ&#x153;<Â&#x153;<Â&#x153;<Â&#x153;doqfeoqkdolsfxyÂ&#x201E;Â&#x2026;keiÂ&#x2122;rolxqldfwdxyezndoqfeyderl{eklsf|d|lkÂ?eoqkdolsfi :Â&#x2022;Â&#x201D; Â&#x201D;:Â&#x2013; :;Â&#x201D; Â&#x201D;:= Â&#x17E;iÂ?eoqkdolsfÂ&#x;< < <Â&#x153;<Â&#x153;<DfndoqfeoqkdolsfxyÂ&#x201E;Â&#x2026;keicldonozqdyefrnoxye|no|drnoÂ&#x20AC; ywlkdo|d qfxyezn~wdf|yÂ&#x2019;emnopqdreoqme|drnoxye|no|drnoÂ&#x20AC; ywlkdoÂ&#x20AC;er|yÂ&#x2019;eÂ&#x17D;ÂĄ~Â&#x192;dondolm}nol¢rd~}qdo oe¢dmnopqddoeoqmedolxqerer|n¢rd|drfÂ&#x161;mdyn|dre|noÂŁrnpqdoq}nf|yÂ&#x2019;epqddrxyeznwldfd oldwdre|noÂ&#x192;md|ln¤i ÂĄiÂ?eoqkdolsfÂĽ<Â&#x;< <Â&#x153;<Â&#x153;fndoqfeoqkdolsfxyÂ&#x201E;Â&#x2026;keijdodyrn~wdf|yÂ&#x2019;emnoqfxyeznÂŁolfre{noflre|no }eyerdrno¤knfklfknÂ&#x20AC; ywlkdo~Â&#x192;qfÂ&#x20AC; ywlkd|dxye|nÂĄiÂ&#x2018;dyndrxye|n|dqfÂ&#x20AC; ywlkdfn}qd|dody meÂ&#x192;nypqdÂ&#x17E;~}qdoknmnmqkÂ?n~qfÂ&#x20AC; ywlkd}qd|ddoweyqfl|nernokqewynydowefwdoi ÂŚ+,0+,Q.6-N+,#5#N1.+,'+,0$'0+,3+'0-3-+'#,'#3#,$)-$,1$)$O&#&'$,&3#,-V',#$()tu3$AB+) &'$1$)6#2.$,&N$0#.+,#.#N#'6+,0#.$,&3#,-V'0#§#,#)&''QN#)+1$)241+)+6)$23&$.O&-#)#.#N#'6+ 0#.$,&3#,-V'0#§#,#)N#'+)O&##.'QN#)+0#68)N-'+,A "-'#N§$)(+2#,6$,0+,3+'0-3-+'#,'+,+',&u3-#'6#,AB+)#5#N1.+23+',-0#)$N+,.$,&3#,-V'¨2Š2Š2 ÂŞ2ÂŞ2ÂŤAÂŹ$N+,$7#)O&#'+#,&'$,&3#,-V'()tu3$A ÂŹ#N+,O&#.$,&N$0#.+,68)N-'+,0#.$,&3#,-V'#,­2O&##,&''QN#)+1$)AX0#Nt,2ÂŽ$4,#-, 68)N-'+,4#.N$4+)0##..+,7$.#¨AB+)6$'6+2.$,0+,3+'0-3-+'#,O&#ÂŽ#N+,7-,6+,+',$6-,*#3ÂŽ$,1+) #,6$,&3#,-V'A "&1+'($N+,O&#ÂŽ&§-#)$&'()$*+3+',#-,78)6-3#,3&4+,()$0+,*&#)$'.+,#.#N#'6+,0#.$,&3#,-V'A "#$'#,6+,78)6-3#,:;<:=<:Â&#x2022;<:Â&#x2013;<:Â&#x2014;<:Â&#x2DC;AÂŻ$4&'+0#.+,78)6-3#,3&4+()$0+#,3-'3+2.&#(+#,6#78)6-3#0#§# #,6$)&'-0+$.+,3-'3+)#,6$'6#,A"&1+'#N+,O&#0-3ÂŽ+78)6-3##,:;A°,0#3-)26#'0)W$N+,Âą ²³´¾´œ¡¸šº¡Ÿ¸¡½ž¡


2345678992 3 4 65 7 5 6          !""#$"%"&$ '&!(")"*&)+,-.$/+*+0#$""01/+&"2"/3+1-40!"'&!(""0!5 $ )+13$"*+6 +/$")"$ &0" *$ +507+&83!+1!""+0)+0'&!("0)"*&)+9-7+&"2"/3+1 6-4 !+("01"0!+0)"" $ &0": '&!("050-;++ +/$")" $ &0"1308 (0/+03))"00+1#$" "0!$ )+1 6 6 #$" "0!$ )+1 6-""+0"!+("0< 01



 



  ='"+0#$"3+0'&!("0 6 !"" *&)+:1($)+)""&> !""&*&)+?@""0!A+&%"+0'0!+#$"30$("0B CDEDEDFDFDG +"0*&5H(-7"&+"0!A+&)"&/&+)+ '"&0"(+!&+0+ +$ *&A+(+ 30(+)(+"0&"#$"&)0/&"(" +0"&$6/&5(!(I+#$"'+0%("&"0)&$ !+)+50/&"(0+/&)"!"&&0$ 0$("0B ))"0$  0$("0B *&5H(-7&"0!+1 "("0!+0"30*$"!"&"0$3!)+JKLMKNOPQRQSTU'"3VUWXQYZ[\D\D]]]D\^ _`[a_bZacd`eZ`fgZhia`[j_h[kZalY_mi`n[giao_Z Zajp`iheZ`[eiaZ`iheZ`eZbhZbcZ`jZqZaeZbchq\r\r]]]r\^ so_Z\tul v`ji`bZaZaj[a_bZacd`Zanhpwb[acqsadkiacqkiZak[a_bZacd`\xGD]]]D\yz{xGD\yz{D]]]D\^l |}~KMO€‚ƒ„ I(+)(B \tu3+#$" +0)(""0#$" +/$")"%"&$ '&!("($6+*&)+0"6+&+*$33 8"&+)"'&!("0-."+0#$"0"0!+ +0")130$("0B +"0*&5H(13$"*+"0!+ +0$/+" *$  &"0!&((B7+)&>+0(+/&+&" $ /&(/+030$\…]]]…\^ "0$ 8"&+/&1/$"00"+0#$" 0"00$"0/&30$("0B +"0*&5H(-7"&+ +"0 "("0&+&"3†&"0(+/&+(B1/$"0" "3 /&+("0+#$"'+0)&1)"!"(!&"+0"0(&($ 0!(‡Zgiajh[bcd`ˆ @"+0!&"+0" /&"&3$*&#$"0"‰0!"$ *&A+Š!3#$"3+0*&)+0)"0$0'&!("00+ \x GD]]]D\yz{xGD\yz{D]]]D\^1"!+("0"‰0!"$ *&A+Š‹!3#$"3+0*&)+0)"0$0'&!("00+ \D\D]]]D\^."Š$ !3*&A+160$/+*+0#$""3(+2$ !+)"'&!("0)"Š"0ŒDD]]]DyzDyz{D]]]^Ž1 6#$" • xG 0G–—–\ ‘’“” \\’’{ 0\t—–uxG { "0)"(&1 ‘“”\xG˜ ‘“”\xG˜ ]]] ‘yz“”\yz{xG˜ ‘yz{“”\yz{˜ ]]] ‘^“”\^ ™+&+0"!+("0"3*&A+Š‹š)")+$ $"'+'&!("›3*&A+Š163+03)+0Œ›DŽDŒ›DŽD]]]Œ›DyzŽ4 !+("0< œžŸ ¡Ÿ¢£¡¤¥¦§¨© Ÿ


01213456789 67 571   !"#$%&'%()*#+,-,...,/01 2'3*&$%$'%()*#+,-,...,/0 4&&5"&$%""%+&$&"%$''%4& "#$%&'()*#+16%* &"% -,-7,...,/0/081 2'3*&$%$'%()*#+/08,...,9: "%4&(&*#&$%1 6%* &"%"5%; <)*#+   ... /0 /08 ... 9: =*&$%  - ... /08 /08- ... 9 2$+#*45%"+%"*&$%"3*&>%&*&'?'%3*&$%$()*#+%"'% )*5#"%$'& +#@",-,...,91 A+B*%+&5"%"3&5%? "5%"3*&>%C+%"+%"D"%$()*#+E,-,...,9F &' ?GG1 2%#3"#H+&?'()*#+ !"#$%& ()*#+1<&5%&&"&'#I&*"*#5*'3&*'+&%" ?%()*#+%"-,7,...,/081 2"%"+#'#5#"&5%$'3*&>%C'()*#+ J %$%'%'&$%?#"+#$""%K"5%" "(%3*&>%+J%+%"D"%$()*#+E-,...,9FJ"'?'3*&$%$'%()*#+-,...,/08 4&$#5#"#$%""%L4&'#5#"&$%''&$%?'%"& %()*#+*&" MJ'3*&$%$' 5&"#"#3&'16%* &"%45%+%"*#$%"3*&>%CN+%"OPQ()*#+J+J%3*&$%%" -PQ,...,/08PQ,/08-,...,91 R%#&5%&4%*&"'+&%$?'+%"D"%$()*#+&'%?!"#$%'()*#+ "% '+%"D"%E-,...,/08F12"+&%"%%$5%*#*'*&I%"&5#"%?&+&K&5%$4&+*1 S%?(&5%&4&+* *&">%*5&*'3*&>%C"%*%3*&>%+%"'%5#5%()*#++%"'%5#5% 3*&$%$+&$&()*#+*%?'%()*#+&'%?!"#$%'3*&>%&"'%()*#+-,...,/081 6%?'+%"D"%$()*#+&'%?!"#$% "%'+%"D"%E-,...,/ 8F$K 4&K*&'3T"()*#+$+%"D"%&'?"%!"#$%J$K4&K*&'3T"()*#+$0'+%"D"% E/08-,...,9F&'?B)"#$%1 U&"%()*#+GJV*+#(&5"1W"5%; X"()*#+G+%"YZ[Z\Q?"%!"#$%%*"'&$%&'()*#+ L"%]# ''&$%E,GFM1 X"()*#+V+%"\YZ^ZO?!"#$%&'()*#+L"5%''&$%E,VFM1 2'3*&$%$G5&J%*%#3&'?'3*&$%$V1 6%*'%?&+&K&5%$$+#*$K4&K*"()*#+?)"#$%&G*%?"%)"#$%& VL$"%*&B$+#*#%$%()*#+&'?!"#$%G(#*&"#$% &5K#)"&VJ%? &$5!V!"#$%&'3*&$%$V*B&5&J%*?'$GM1 W"5%"%"+""*%3*&>%C '%'&$%E,VFJEG,F5#"*&?"%!"'%'&$% E,GF"#EV,F1 2'#5#"&5%%$%'&$%LE,VFJEG,FM$'3*&>%CJ'&_&$#5%'%'&$%E,GFEV,F1 *&>%C%()*#+ `&>%*5&+%"3#5%""(%3*&>%CN+%"'%5#5%()*#+?'3 #""'%5#5%3*&$%?"'3*&>%CJ&4%*&'()*#+!"#$%"CN& %$%'%()*#+$' +%"D"%E-,...,/ 8F?&K&""#$%"'3*&>%C&J&$5!!"#$%&'()*#+GL? !"5#5%+%0"D"%M1 2%?45%4+4%'%*#5%5#"*&?$"()*#+$'+%"D"%E-,7,...,/ 8F?"% !""#$%&1a&"$%%J&"%%+**&*%+$5%&'#5#"&*'()*#+ J %$%'%0'&$%? #"+#$"")'1 b cdefghijklkmknopqrosturvwowxqyuyz{zp|tqztwo}qyopszyvq~uzzpqrrzÂ&#x20AC;us qzyto zpqrvwoxsÂ&#x201A;y oyvzwsqwÂ&#x192;Â&#x201E;owvspqr ztÂ&#x20AC;woÂ&#x2026;qC Â&#x2020;Â&#x2021;Â&#x2C6;Â&#x2030;Â&#x2C6;Â&#x160;Â&#x2039;Â&#x152;Â?Â&#x17D;Â&#x2039;Â?Â?Â&#x152;Â&#x2039;Â&#x2018;Â&#x2019;Â&#x2039;


00

123456788192 3

54 6 4 5        

 !"#$%&'#$%&'()#$%&'#$%&'*)#$%&'#$%&'#$%&'#$%&'+,-. /01/)20 "3451(6(6*6*6+6+6+6+ "10 "34517.8930, :0 0;0."17.0<31 4/=./43)3"> 7.0; .81?6+6+6@6+6+6+, : 1A.4.2"70.!"2=./43 /8"14;02 =./43 )) >,B.01<.0 /7.0<1/.312431C"1/;=./43)>2 4 7.0;)A.;<.0!"2 =./43 0;>031/ 0 01)) >, D2 =./43 0;>031/ 0 52E0>; ;231C"1/F666G,B0 "1=./43;/ 31C"1/!"1/="14;A."120;0 HA.CA2)/0 I)>"1=./43!"1/=1 31C"1/>!" 00;>031/0)A.CA2 H ;34.) 47"41;201/03451!"E "0;1 20;/.03451)J'*>K'LI, M"30 "1=./43!" 00;>031/0 >12 00,-.CA2)', N24410 2 20; F6G>F6G)>0O0;4 F6G>F6G,N12;4P"C 47"41/.A.Q 1/0 2 20; !"24410 312R10;431/41"0)>2 20; !"0O0;4 31/.0S;P2,                   0E.0/1 "17.0<312 4 =./43 !"2;A0./4;0)30;0=./43/41247.0;) A.2=./43 /8"14;0/. =./43 ;231C"1/F666G,T13./01/)0) >, /8"14;0"1=./43;<".0;31C"1/HI,T2=./43!"<02/0;231C"1/F666G /41247.0;!"2=./43 0E.01 .R0130.4.024S0.1417U130P4H5241/.30P40. 2 =./43  >I,-.0 0A.3;./02>3E ;43E120;/.03451, N1/13)24410 2 20; F6G>F6G)>0O0;4 ; 20; 1")0 0P.)F6G> F6G,                   0RE 317"4;"17.0<312431C"1/;=./43 !"2=./43V)30;0=./43/41 247.0;!"127.0<V)A.0E.0)2=./43 /8"14;02 =./43 )) >, W40E.0 "A.44 ;27.0<V2=./43)>/; 2 20; !"4134;11 1 !";027.0<         XYZ[\][^Y_]`aYbcdYe\[


01213456789 67 571   !"#$%&&% !"'()()(*()()() +,-./01/1-2/23421526,7810261-0242569/,5:.;9362/42-9</,-<;2-9=/2-1/1>5.?;,@ A,5,2-4178,54961-02</,-<;2-9=/BC(BD(EEE(BF@G9-<-23262/41-/12-4./1502/,01-731-1502/,61026,H15,62/157,-IJ<2-<81/05261-J<2-2492/2J<2BCKBDKEEEKBF@ L8,5495022-4,-<;2-9=/:156,61-3,-<;2-9=/BDM)(EEE(BNOPCM)(BNOPD(EEE(BF@Q-4,-<;2-9=/ -21R492/22/01-24,8,-SQ/8596253<>,5723969/,61-238596254 T569/1@Q/-2></013<>,57,31-BC 4T569/1--9><92/42-3252-4,61-U@ G93,52-8<2-4,,-92-4,-<;2-9=/2-1/1>5.?;,3,;1/1;261-72/41/;2--,R5261--9BC(EEE(BF 2>5.?;,@V,-102/1;1/1;253,752824961-23851;2-18,5,2-4,/<2W,-<;2-9=/@ V1612/;,0,8,-1W,61-09-69/<H2/0174,/41234,6,X1023,-<;2-9=/;16123W,31502-<-4T569/1-7 2/<//Y6251?/941028,-1-42569/,5261-@ Z[\]^_`abcbab def"&%"gh(h(h(h#iijkelm%&% !&in&"e fj&&%%#%"g%""&%m"h#$o &)%&!"""ep%"gqhM)r(qhM)r(h#&"# )()(hes%"gii&""jke t&ui&h()()ves%""%m"!"un)()v$%& !"""#%u$%%%"g*(*ve s"gijk#$w ""e xepw%"gy(z(z(h(h()#iijkelm% &%!&i&&""e y z z h h ) s%""%y$%y!"""e ' ' ) ) * sj&&es%""%'$%'!"""e h * * * s%""%h$%h!"""e M) M) * w%%&"gijk#mm&w !"&"% ode{#%"g&m"&m&jke |e}w%"gz('('(h(h()#iijkm%&!" ~"melm%wj&%|eede z ' ' h h h ) ) * ) ) * )

h ) s%""%z$%z!"""e ) ) s%""%h$%h!"""e ) ) Â&#x20AC;&e ) * s%""%m")$%""!"e ) * Â&#x20AC;&e * * s%""%)$%""!"e M) *  w %mM)e f"&%"gz(z('(h(h(h()e m%""gjke z z ' h h h ) s%""%z$%z!"""e ' h ) ) h ) Â&#x20AC;&e ' h h ) ) ) s%""%'$%'!"""e ) ) * ) ) Â&#x20AC;&e ) ) ) ) * s%""%)$%!"""e * ) ) * Â&#x20AC;&e ) ) * * s%""%)$%""!"e *** Â&#x201A;Â&#x192;Â&#x201E;Â&#x2026;Â&#x201E;Â&#x2020;Â&#x2021;Â&#x2C6;Â&#x2030;Â&#x160;Â&#x2021;Â&#x2039;Â&#x152;Â&#x2C6;Â&#x2021;Â?Â&#x17D;Â&#x2021;


2345678992 3 4 65 7 5 6  !"#$%&' ()*+,-./+01)232,2/+0),.0)42056,7.8.1)28292/+0.*854.:+28*;+420+.,32;5+;7<92/+0882-.:+ .),.0)42056,:242;+0=(.>2/+0*+;3.,3+1)28.0)42056,20-;?@4.=A+0*8.,32./+02,4+,3;.;),-;.B+ :2B+;/.1)28+0-;.:+0:20)0CD;3542002.,8+03D;/5,+0:28.0)42056,= E.5:2.205;;24+;;52,:+8.0:5035,3.00)4205+,201)2,+09.,5:+.*.;2452,:+.8;2CD07<2,4.0.*.0+ 5;4+,03;)<2,:+),-;.B+2,281)202/.32;5.85428.0)42056,4+;;20*+,:52,32= F.;.203+72,4.:.*.0+78+1)29.42/+020.G.:5;),CD;35421)28+),5;2/+0.3.,3+0CD;354204+/+ ,+05,:54.0)-;.:+= HIJKLMNOPQPQPR!STSTUTVTVTVTW "X!"%&#Y!Z$ [!##$ \"Y!]T]T]' ^!_!` ` ` \a!!a$Zb$\\$  a' dcf dgc cde hY#!WTWT]T]'i$ j!Zb$k \! "$lm"#n #[!# de' dcf dgc cde doc p$WTWTWTWT] "#ZqTWTWT]mY!!$ $b!"!$n'i$$ Y!jZb$Zmdrn  \m#[!# dgn' dcf dgc cde doc cdr s$mtTtTqTWTWn#!UTVTVTWTWTW'i$$ Y!j Zb$mdun v \$Zb$k k\`#$Z!$'R!!$ #[!# de dg \df' dcf dgc doc cdr cde 01

cdu #w$! !STSTUTVTVTVTW "#ZxTyTtTtTVTWjz \ !k$b!"$%$'i$$ j!Zb$md{n z \" $%Zb$vmdun|m#[!# den\Zb$km# [!# do \dfn' cd{ doc

cde

dcf

dgc

cdr

cdu $a! \Y!$a}Zb$ \\STSTUTVTVTVTW' ~€‚ƒ„…ƒ†‡ˆ‰Š‹‚


01213456789 4

 



 !"#"$!%&'()*+,-./*0121-)3145-2*67-18)9,:)/);,-/)21//781)-):<,)*=*/)2)->181;:1; :*81;4 5-27/2,7>18)9,:)/);,-2*67-18)9,:)/<,));2)//*814 5-./*0121-,-27/2,7>18)9,:)/);,-./*018)9,:)/4 ?@ABCD%'E'F' G1-;78)/*61;:1;./*01;

H IN H IPIL H IM

IQ I O

IK

H

RK RL R P H RO RQ H RJ RJT RS RM H RN H

H IJ H U*;,2);7V-WXWYWZW[W\W]W^W_);,-2*67-18)9,:)/)-):=/76)/./*01`67)->/*;<,)a\aXa^aYaZa_a[a\ba]ac );,-27/2,7>18)9,:)/)-):;).,-814 deDBDf"#"$!%'E'F'()*+,-./*0149->1-2);;7+>7)-),-27/2,7>18)9,:)/`):./*818)2*8*gh/>72) );=*/`67)->/*;<,);7+>7)-),-2*67-18)9,:)/`+>7)-))3*2>*6)->)81;gh/>72);8)./*8176=*/ i)3*2>*6)->):1;gh/>72);81-8))6=7)j*k>)/67-*):2*67-1l4 m)61;>/*27V-n opq+rstuqvwpspxyrpzpsp{w|rs}~u}r~zwp€rxpuor‚wstq{w|yrpyrpup{w|ƒpu}rqxp|pxtuqw prsƒ„uz~}p…†p|p}~u†ƒq{w|q}wszqu}rqszw|xqw|~s}~psps~}‡wƒ„uz~}pˆquqp|zw†zw{q{w| px}~u}r~zwp€rxpu†‰xwup}wuup{w|p{‚pŠqswpsrsƒ„uz~}pyrpsw|pqpxyrpp|zq{w|}ws|~puqsw ‹wsvwu{pxwup}wuup{w|ƒq{w|}wszqswxw|xqw|yrp|ws~s}~pszp|ps…Œ‡wuq~ps†}qqƒpŠyrp ‚q|p{w|‚wu…sw|ps}wszuq{w|}wsw|xqw|~s}~pszp|ps„x†‚wupxyrpxxptq{w|q…‰‚wupxyrp |qx~{w|p…ˆwuzqszw†pxsŽ{puwzwzqxpxqw|~s}~pszp|ps…|pupxwxppxsŽ{puwpƒp}p|yrppx }~u}r~zw‚q|p‚wupxƒ„uz~}p… o~xwyrpzpsp{w|p|rs}q{~swp€rxpuyrpp{‚~pŠqps‰zpu{~sqps…†q‘q~{w|qxtuqvwrsxqw yrprspxw|ƒ„uz~}p|‰…’psp{w|pszws}p|†}wsp|zpsrpƒwxqw†rs}~u}r~zwp€rxpupspxsrpƒwtuqvw €xtuqwp}qqƒ„uz~}pp|pszws}p|‚qu Œxpx~{~squpxxqwyrp‡p{w|q‘q~w†pxtuqwpzww|xw|ƒ„uz~}p||p{qsz~psp~trqx†|qxƒwpxpxw| ƒ„uz~}p|‰…yrp~|{~sr‰pps“ˆwuzqszw†p|zw|w|ƒ„uz~}p|zpsustuqw~{‚qu†‰pxup|zwzpsus tuqw‚qu ” ?@ABCD%'E'•' –49-):=/76)/./*018):)—)6=:1*->)/71/`>)-)61;<,)˜*k81;gh/>72);8)./*81™`,-gh/>72)8) ./*81šk81;gh/>72);8)./*81›4œ18)61;g)/2V61):2*67-18)9,:)/<,)>)-*61;)6=)j*ž* )-,-18):1;gh/>72);8)./*81>/);k>)/67-*ž*)-):1>/14 9-):;).,-81./*018):)—)6=:1;)>7)-)<,)>181;:1;gh/>72);>7)-)-./*81›4 Ÿ4(721-;78)/*61;):./*01<,)/)=/);)->*ž*):=/1ž:)6*8):1;=,)->);8) ¡-7.;ž)/. £¢¢¢¢¢¢¢¢

¢¢¢¢ ¢¢¢¢ ¢¢ ¢ ¤¢¢¢¢¢¢¢¢¢¢¢¢¢ ¢¢¢¢ ¢¢¢ ¢¢¢¢¢¢ ¢¢

¦

¥

§¨©ª©«¬­®¯¬°±­¬²³¬


01

2345678992 3 4 65 7 5 6 !"#$%"#&!"#$'()$*+", !"#$ -#"$$, . !/ ,",$0*"(1"# *-"2*#$*-$ 34 !2"! *,5 (

6789:;<:=9>?@A9?B<A<C??7A7:@D<@E@D@F>7>?GD@H9=7?G@>?A<DA><=99>?A@8<?9B7I>J7DK L7@89:@A9?=<?>@A<C?F>77:=@A9?B<A<C?7:=@8M<N?:>OA<7?=7K PQRSQTUVWXWYWZ#[ !"#\, .(0  ,[ !"#\$0*"5**!"#$$,#$# +",-#"( ]?=7:B7E@:@D@J@B789:=D@A<C?B7J=79D78@^;7@89:7J:<G><7?=7J78@K _QTUVWXWYWZ#[ !"#\ *,#$#+",!"#$#"`(0  ,[,  ,",a-"#  ,,*b( c"#,5 dIJ7G<89:>?;ND=<A7A>@JF><7D@ef egKh>7:=9F>77JGD@B9B7e7:8@i9DF>7`^ =98@89:>?J@B9F>7<?A<B@7?egKj7@N:=7kg^iel 7J9=D9;ND=<A7:9MD77JF>7<?A<B7kgKh9BDm@B@D:7 7JA@:9B7F>7egfel^7?A>i9A@:9i@=7?BDm@89:7JD7A9DD<B9K h>7:=9F>7el =<7?7GD@B98@i9DF>7`^B7M7n@M7D9=D9J@B9<?A<B7?=7A9?elKj7@N:=7kl^ieo 7J 9=D9;ND=<A7:9MD77JF>7<?A<B7Kp7?789:7?=9?A7:7JA@8<?9B@B9E9DJ@:>A7:<C?B7;ND=<A7:egeleo iJ@ :>A7:<C?B7J@B9:kgklK q9?=<?>@89:7JED9A7:9@n9D@A9?eo n@:=@F>7:7D7E<=@@JGr?;ND=<A7s:<?D7E7=<D?<?Gr?J@B9tKI? A>@?=97:=99A>DD@^i@n@MD789:7?A9?=D@B97JA<DA><=9F>7M>:AuM@89:s9M;<@87?=7^7:=@89:n@MJ@?B9 B7GD@H9:A9?>??r87D9O?<=9B7;ND=<A7:iB7J@B9:tK v c"#,5 dsp79D78@wKxKyt 6@D789:J@B789:=D@A<C?E9D<?B>AA<C?:9MD77J?r87D9B7J@B9:K IJED<87DA@:97:E@D@GD@H9:A9?>?:9J9J@B9Kj<7JGD@H97:A9?7z9^=<7?7>?:9J9J@B9^i7JGD@B9B7J r?<A9;ND=<A77:E@D^J@r?<A@E9:<M<J<B@B7:F>77JGD@H9:7@ e{ k 7?A>i9A@B9^7JA<DA><=9B7I>J7D7:7JA@8<?9eeK j>E9?G@89:F>7@n9D@F>7=7?789:>?GD@H9A9?7z9^A9?|J@B9:^i7?7JF>77JGD@B9B7A@B@;ND=<A7 7:E@D^i:>E9?G@89:=@8M<N?F>77JD7:>J=@B97:A<7D=9E@D@A>@JF><7DGD@H9A9?7z9A9?87?9D?r87D9 B7J@B9:K h9D7JJ78@ED7A7B7?=7^E>7:=9F>77JGD@B9B7A@B@;ND=<A77:8@i9D9<G>@JF>7}B7B>A<89:F>7 7z<:=77?[>?A<DA><=9K IJ<8<?@89:B7[=9B9:J9:J@B9:F>7<?=7D;<7?7?7?7JA<DA><=9^i?9:F>7B@>?GD@H97?7JF>7=9B9: J9:;ND=<A7:=<7?7?GD@B9E@DsE>7:B7A@B@;ND=<A7:7n@?7J<8<?@B9>??r87D9E@DB7J@B9:F>7<?A<B7? 7?NJtKIJGD@H9D7:>J=@?=7?9=<7?7F>7:7DA9?7z9^E7D9A@B@>?@B7:>:A98E9?7?=7:A9?7z@::mJ97:K ]B78u:^A@B@A98E9?7?=7A9?7z@B7M7=7?7D@J87?9:>?;ND=<A7E9D7JF>7:7E@:@7?7JA<DA><=9K h@D@A@B@>?@B77JJ@:F>7=7?G@@J87?9:>?J@B9^=7?789:>?A<DA><=9B7I>J7DKj7@?7:=9:A<DA><=9: l~o~~€Kh@D@A@B@>?9B77:=9:A<DA><=9:^=7?789:>?;ND=<A7eF>7=@8M<N?7:=u7?7JA<DA><=9K ‚7A9DD789:7?=9?A7:7JA<DA><=9KI?A>@?=9JJ7G>789:@@JGr?;ND=<A7e^<?:7D=@89:7JA<DA><=9^ iA9?=<?>@89:A9?7JA<DA><=9Kƒ77:=@H9D8@^@JA7DD@D7JA<DA><=9n@MD789:D7A9DD<B9=9B9:J9:J@B9: B7JGD@H9[>?@:9J@;7„^7:B7A<D^=7?BD789:>?A<DA><=9B7I>J7DK v …RSR†US‡RVWXWYWZ#[ !"#\, .(0  ,[ ,#$0*"5*[ .#,#$+",$!"#$-#"( ˆ‰QTŠ†RVWXWVW ) $"#*!!"#\ ‹ŒŽŽ‘Œ’“”Œ•–—Œ˜Ž




01213456789 4   











     !"#"# $%&'(#)) * &'+%,-"./"# $%&'(#)))) * &' +%,-"0)!'&%,#"# $%&'(# * &'+%,-"123"!"&"-"#"# $%&'(#&'+%,-"4,%) #,5!"#6'#&('%('&"-7%28,!"#,("&%,%"2 9,%,#&")5#(,!"#('%('&"(,'%,)4"%:!4"))*'!',!"#"# ,-"#'&%'#&('%('&"2;"#-,&"(#+%,<"     







    &'=,4,%&- $%&'(>-"#("!4"&#("6,##",##'+'&#?    







    -"#(,#@!"#-("&%,%('%('&"-7%27#+-"+%,<")#&('%('&"#%A,2 8,!"#,("&%,%"4%'!%"29,%,")@,(!"#("!"@'('!"#,4%'('4'"2 B#(,!"#('%('&"-'(@"+%,<")4"-%A,#%/'!',!"#"#,-"#'&%') *"#-,&"(#+%,<"   





   &'-"#("!4"&#("6,#29,%,(,-,,-,##<C('("&%,%('%('&"-7%27 ('%('&"-,4%'!%,("!4"&#)!'&%,#-,#+-,#2 D $%&'(("!E&%"#('%('&"# * #)!'&%,# $%&'(("!E &%"#('%('&"# * 4"-%A,#% =">2 F("%%!"#&"(#('%('&")*,+,%,"# $%&'(#@!"#+'-"'#%&,!"#"# ('%('&"#-(,-,,-,#("!4"&#("6,#2 GHIJGHIJ 8"!"#*,,+%,<"-4,%&'-,27$+'!"#('%('&"=>),'!',%" -''-A,,+%,<"-"#("!4"&#("6,#2K(,-,,-$#&,#&"!,!"#,@"%, $%&'(("!E(" LMNONPQRSTQUVRQWXQ


2345678992 3 4 65 7 5 6  ! " ##$%&'("&)% '*+''%+,%. !4/ #. 0 / #156 # 2 3 #1 0 7 ! 2 #1 ##45 8 967 ## #. 9 / . :'*+&;':+<% 01

=>?@AB@CD>BE@FGHGI?JC@DKL?HBAI?MCG>DK>CKDNODO?C@LHDP?OGKMCGJDQGI?JMCGABG@GC@>DIB@? ?>BH>CBA?OGRCKGHNC@ADK>DIB@?S TUVWXYZ[W\]^U]_X` a?I?G@AHDODNAG@GI?JC@LHDP?bSa?I?JDKBODNO?JJC>GJB?@GJcd ecfNMCGJ?@KDJJC>GJB?@GJOG FgHAB>GJeKDO?JOGK>DIB@?QCJ>DO?S hSiBA?O?JK?JFgHAB>GJJ?@OGLHDO?jDHNGKGLBI?JC@FgHAB>G>CDKMCBGHD SiBbABG@GO?JFgHAB>GJOG LHDO?BIjDHGKGLBI?JC@?OGGJA?JFgHAB>GJS kSlD>GI?Jcd m ecf mnoS pSiBbABG@GJEK?D NOGFCGKFGcd ecfNeAGHIB@DS qSiBrDeC@s@B>?KDO?tMCGB@>BODG@ NKKDIDI?JuDK?AH?FgHAB>GO?@OGB@>BODGKKDO?tvMCBADI?J OGbGKFgHAB>G eGKKDO?teFDI?JDKjDJ?wS xSiBrDeIyJOGC@KDO?tMCGB@>BODG@ NGKGLBI?JC@?OGGJA?JOGP?HIDMCGDKMCBADHK?GKLHDP?b JBLDJBG@O?>?@Gz?S{KDIDI?JtDOB>r?KDO?euDK?AH?FgHAB>GG@GKMCGB@>BOGtS |S=}DOBI?JuDK~@DKOGcd etDK~@DKOGcfS SaDIQBDI?J j?HueF?KFGI?JDKjDJ?€S

‚ƒ‚ „…†‡ˆ‰Š‹Œ†Žˆ‘

R@KDJG>>BE@D@AGHB?HGJACOBDI?J>Cy@O?G@C@LHDP?j?O’DI?JG@>?@AHDHC@>DIB@?MCGHG>?HHBGHD A?O?JK?JKDO?JC@DJ?KDFG“SR@GJADNjHGAG@OGI?JGJACOBDH>?I?HG>?HHGHA?O?JK?JFgHAB>GJC@DJ?KDFG“S ”]•–Y—Y˜–™š›b&;œ>DIB@?OGlDIBKA?@%:') ) œ>BH>CBA?OGlDIBKA?@%':'))ž) Ÿ%  œ&;'¡%'%LHDP?OGlDIBKA?@LHDP?rDIBKA?@BD@? ¢£][¤UW™›¥›¦›§'%&&;.¨

¨0

u.¨ ¨u0

©.¨

©¨0

¨©8

ª.¨

ª¨0

¨ª8

¨8 u#¨ ¨u8 ©#¨ ¨©2 ª#¨ ¨ª2 *(+%&;&;'¡%œ'¡% # . 0 8 #«¬)­ %('¡%%(+'%%¬%'¡%ž# . 0 8  *&'&;%%'¡%žu#u0u.u8 ®'%)%Ÿ&¯ '¡%(+'¬<%'''u8 ž'"'   °±²³´µ³¶±·µ¸¹±º»¼±½´³


01213456789 5 7   !"#$%&'() *##*+',- ./.0.1.2.3' ,454$%&6#*+'78#5 *!"*&( *(9 :2 6:1 ;)<'#5#*(9 :2:356 *(9:3:15"$)#=3 #9*' >?!"$%$"*6#"@#*"5!"#' ,5@$"#?#*+6#*"' ABCDEFGHIJKDCL MNOPQRSNOTUTVRWTXOYNPZTWN[ZT\][RRZ]WZN]QRXO^T\]UQR[[R_RXO\RP_TPTWXRP`OZOP_RW N[\]P\R`aWQ]ZOb[ROP_RP]YUOSNOOUZT\][RZR[QO[cTXRPUTXRP_TWTUOURPb[]SNOZR[QO[cTUTdRPe fN_R[XWO\RP_RWQT[QRO[OPQTPOZZ]g[SNOQRXRPURPcWThRPSNO][QOW`]O[O[[RQ]O[O[[]UTdRP[]UTXRP _TWTUOURPe ^O\RP`]PQRO[OUOiO\_URT[QOW]RWbSNOP]VTjN[`aWQ]ZOXOcWTXRkbO[QR[ZOPOUcWThR[ROPXO ^T\]UQR[e MRWRQWT_TWQObP]N[cWThRZR[l`aWQ]ZOPOPXO^T\]UQR[bO[OUZ]WZN]QRXO^T\]UQR[][QOW`]O[O[l UTXRPeMRWQT[QRbN[cWThRXO^T\]UQR[ZR[l`aWQ]ZOPQ]O[OTU\O[RPlUTXRPe m[QN]Q]`T\O[QObZNT[QRP\nPUTXRPQO[cTN[cWThRZR[N[[o\OWRXO`aWQ]ZOPpiTXRb\nPhnZ]UPOWn _RXOWO[ZR[QWTWN[Z]WZN]QRXO^T\]UQR[eqOWO\RPTZR[Q][NTZ]g[SNOP]QO[O\RPOU[o\OWRPNpZ]O[QOXO UTXRPbO[QR[ZOPQO[O\RPcTWT[Q]dTXTUTOr]PQO[Z]TXOZ]WZN]QRPXO^T\]UQR[e sDJEDtGuvwvxvyz"$%#l)#' {'y4**6$"!"/3|l}k~|l}~€5#$%&' 'yl‚ƒ6 #* *)#*6#„#!"…†|=~€…†|‡~‚l5#z "$%*+' ˆ#?‰ ^TcT\RPO[_W]\OWUNcTWUTXO\RPQWTZ]g[XOUTPOcN[XT_TWQOeMWRYO\RPSNOP]z[ROPN[cWThRXO ^T\]UQR[bVTjTU\O[RPXRP`aWQ]ZOP[RTXjTZO[QOPQTUOPSNOUTPN\TXOPNPcWTXRPOP\O[RWSNOle fN_R[cT\RPO[QR[ZOPSNOzOPN[cWThRSNO[ROPXO^T\]UQR[eŠ‹TX]\RPN[UTXRTUcWThRef]P]cNO P][POWXO^T\]UQR[b`RU`O\RPTT‹TX]WN[UTXRbjTPŒPNZOP]`T\O[QObVTPQTSNOO[ZR[QWO\RPN[cWThRXO ^T\]UQR[efOTŽ=/=3 OUoUQ]\RUTXRSNOVO\RPT‹TX]XReUcWThRRYQO[]XROPN[cWThRXO^T\]UQR[b jOUZ]ZURXO^T\]UQR[XOYOZR[QO[OWTUUTXRŽefOTO[QR[ZOPX]ZVRZ]ZURŽ=0=2‘‘‘=’e “UT\O\RP” TUcWThRSNOVO\RPRYQO[]XRiNPQRT[QOPXOT‹TX]WOUUTXRŽe MTWTZTXT•O[QWOƒjlb`T\RPT`OWSNO[R_NOXO[OPQTWP]\NUQn[OT\O[QOURPUTXRP=–—/ jŽ=–O[OU cWThR”e f]•ƒbO[QR[ZOP=–—/=3ŽbSNO[ROPQnO[”e f]•‚˜bO[ZTPRXOSNOOPQN`]OWT[T\YRPUTXRPb_RXWŒT\RPZR[PQWN]WOUZ]WZN]QRXO^T\]UQR[ Ž=–=–™/‘‘‘=’=–—/=–—3‘‘‘=0Ž SNO[RZR[Q]O[OTUUTXRŽbURZNTU[ROP_RP]YUOb_NOPOUcWThR” [ROPXO^T\]UQR[e šO[O\RPO[QR[ZOPSNOO[OUcWThR”bPO`OW]pZTSNO…†|~€…†|Ž~›lbjZR\RzOPN[PNYcWThRXO ”bO[QR[ZOPO[zPO`OW]pZTUT\]P\T_WR_]OXTXe^O\RPO[ZR[QWTXRO[QR[ZOPXRP`aWQ]ZOP[RTXjTZO[QOP QTUOPSNOUTPN\TXOPNPcWTXRPOP\O[RWSNOlbZR\RSNOWŒT\RPe œO\RPQWO\RPTVRWTUT_W]\OWT_TWQOe fOT[j=X RP`aWQ]ZOP[RTXjTZO[QOPeqT\RPT_WRYTWSNO…†|~€…†|=~‚le fOTzž|Ÿž ¡ž~OUPNYcWThRZR\_UOQR¢`OWXOp[]Z]g[£¤¥XOzhRW\TXR_RWQRžXRPURP`aWQ]ZOPXOz P§T’—3 U`Rj= ePQOcWThROPN[PNYcWThRXO¦’—3b_RWQT[QROU[o\OWRXOUTXRPXOz OP\O[RWR]cNTUSNO ¨§’—0¨e 3 MR WRQWT_TWQOb©¡©©¡ž©€…†|~€…†|=~¢_NOPOUUTXR=[ROPQnO[¡¥bUNOcR |l}k~|l}~€ª©¡©©¡ž©€…†|~€…†|=~ª |l}~|l}ƒ~€…†|~€…†|=~   «¬­®­¯°±²³°´µ±°¶·°


2345678992 3 4 65 7 5 6  !"#$%&!"#&%'( !"#&%&!"#)% * !"#&%+"#$&#!"#)%,-. * !"#&%!"#$&#"-)%-. * !"#&&%&-. * &"#.&-. * / 0 123456735839:43;39;5;37<=;3/>?8@353543673/357<=A4898B 1839:43;39;535C@43;8;33/D$&/(E/('E38@88;34553<7 ;B FGHIJKLMNONPN QRSTUV/WXXYZ[$\VXT]W\T^ZT_V\V`aWT^bW['RcVXd]\W`ZVd[^a\TeVf"#$Rg^XYZ[\VU[^TUVd U[[d][a\TeV[d&/(E/('R hVZTZVdWXij\]`k[Zld_^VWX`ZVdTWX^TUVkWT^bW`[\TU[f"#$Rg^a\TeV\[dW^]TX][XV[dU[ mTZ`^]VXnoW[dpT_WXij\]`k[U[a\TUVERh[X[ZVd[X]VXk[dWXa\TeVkVX/ij\]`k[dn$&/(E/( 'E^TUVdn_bW[XV[dpTZ`^]VX`TXVR qV\]TX]Vn^TZ[rV\kV]TdVs\[[^XYZ[\VU[^TUVdoT\TTd[aW\T\bW[WXa\TeV[dU[mTZ`^]VX[d^T UTUT[X[^][V\[ZTR tRu[Tv *w$x&xyyyx"zn{ *w|$x|&xyyyx|"z_}~{  wwxz~x€vzUTUToV\}|"* w$x"z_}|*wx-$zoT\TE‚ƒ‚/(ER h[X[ZVdTd„WXa\TeVU[mTZ`^]VXkVX/ij\]`k[d_/^TUVdR …Ru[T† WXa\TeV\[aW^T\U[a\TUV‡_ˆij\]Š`‹kŒ[dRS`kpVa\TeV]`[X[WX]V]T^U[E‰^TUVdRqT\Tˆ ij\]`k[dn^TkV]ToT\T[^XYZ[\VU[^TUVd[d & '*'R u`X[ZsT\aVn[X]T^kTdVoVU[ZVdi[\bW[^TdWZTU[^Vda\TUVdU[kWT^bW`[\oT\[rTU[ij\]`k[d[d ˆRqV\]TX]VnoVU[ZVdTd[aW\T\bW[U`kpVa\TeV[dpTZ`^]VX`TXVR 01



Ž ‘’“”•–—˜™“’š˜›•–

œHžŸ Ÿ¡žM¢Nu[T†*vx{WXa\TeVRu[U`k[bW[†[ds`oT\]`UVd`oVU[ZVdU[dkVZoVX[\v[XUVd dWskVXrWX]VdU`drWX]Vdv$ _v& U[eV\ZTbW[]VUV^TUV`Xk`U[[XWXij\]`k[U[v$ _[XWXij\]`k[U[v&R £Xa\TeV†*vx{d[U`k[s`oT\]`UVkVZo^[]Vd`[ds`oT\]`UVn_oT\TkTUT$ €v$ _& €v& [¤`d][ WXYX`kV^TUV|€{]T^bW[}¥|*w$x&zR ¦<=288;@49335C@493433;3348;39@;89;3v$ Dv&B 18†357<=288;@493339673v$ 833@;89§ Dv& 833@;89/3@35 ;3345†@4f¨©"B FGHIJKLMNªN«N QRcVXd`U[\TZVd^Vdd`aW`[X][da\TeVd &¬ ¬) $¬ ¬.

­&¬ ¬­) ­$¬ ¬­.

®Œ ®Š ®¯ ®$ ®& ®. ®)

°±²³´µ³¶±·µ¸¹±º»¼±½´³


01213456789 54

78   !" #$%&'()*'+*,-&.()*.+*/-"0!1#!2$%%$% %$%3!%24!&' %24!&. 5%!6%$% %"7#% !"8!$%&' &. !#!5 9.:." &'();'-&.();.+;,+;/+;<+;=+;>-"? 4$%% !#!#9':=" %! !"7#%$%%!26! 3%!24!)@'+@.+@,+@/-( &'A&."@' 1%! !3%"B%$%&'"#$%@. C&. D%@' @. 1 %!%!E@,C&. D2E"F!24 %3%!6#%!%!" GHIJKLJMNOMOMPQMRSNPITSLNSUSQSUOMQJVSUJWNTMHPIKQSXPIYJZSQOJTPI[ \]^_]`abcdcecBf(g&+hi%"f !#6#f! %!" jNOMITMTMRPIOQSQMHOMPQMRSkMSRPIMHIJKLJMNOMHMRSlULmSTMRPIOQSUJWNIMTMnSUPRPMnMQUJUJP[ o]`abcdcecBf% !6!3%!24&(&'A&."B% $%*'*.ppp*q %f$%*'C&'")*'+*,+*<+rrr-s&' )*.+*/+rrr-s&." 86tuvMPQMRSw xMSRPIMNZQJRMQHLKSQyLMIJfUPNOJMNMUJUHPITMHPNKJOLTJRZSQMNOPNUMIfNPMIYJZSQOJTP[ zLZPNKSRPIyLM*'*.ppp*q{'*q *' MILNUJUHPTMHPNKJOLTJRZSQlMITMUJQl| (}~€ZSQSSHKN ~C‚[ zJfXLMQSYJZSQOJTPlOMNTQƒSRPIyLM*'+*,+ppp+*.„…' MIO†NMNMHRJIRPILYUPNnLNOPTMHSZSQOJUJWNl RJMNOQSIyLM*.+*/+ppp+*.q +*' MIO†NMNMHPOQPILYUPNnLNOPTMHSZSQOJUJWN[ GNUPNOQSRPIMNOPNUMILNk‡QOJUMu*'wyLMMIO†IJRLHO†NMSRMNOMMNHPITPIILYUPNnLNOPIlHPULSHNP MIZPIJYHM[ ˆSKSRPIHSTMRPIOQSUJWNTMHQMUƒZQPUP[GITMUJQlILZPNKSRPIyLMMHKQSXPNPOJMNMUJUHPITMHPNKJOLT JRZSQlmkMSRPIyLMMNOPNUMIfMIYJZSQOJTP[ xSRPIS‰SUMQHSTMRPIOQSUJWNMNMHUSIPTMyLMMHKQSXPIMSUPNMŠP[‹SIPTMNPIMQHPlIMTMnSUPRP MnMQUJUJPSTSZOSQHSTMRPIOQSUJWN[ zMSNŒm*TPIk‡QOJUMITMf[MŽNJRPIMHNRMQPgŒ+*iUPRPHSRMNPQHPNKJOLTZPIJYHMTMHPI USRJNPIyLMLNMNŒUPN*[‹HSQSRMNOMlIJgŒ+*i(MNOPNUMIMŠJIOMLNUSRJNPIJRZHMyLMLNMŒUPN*[ GHMKJRPILNk‡QOJUM*‘C&lmTMŽNJRPIHPIUPNnLNOPI’ &'()*C&“g*‘+*iMIZSQ-+ &.()*C&“g*‘+*iMIJRZSQ-r GIUHSQPyLM&(&'A&. myLM&'”&. (•[xMSRPIyLMULSHyLJMQHSTPTMfLNMLNk‡QOJUMTM&' UPNLNk‡QOJUMTM&.[ zMS–LNHSTPJNUJTMNOMUPNHPIk‡QOJUMI@m@—lmIMSN(g*‘+@im˜(g*‘+@—i[GNOPNUMIZLMTMN TSQIMOQMIZPIJYJHJTSTMI’ (˜€[GNOSHUSIPlLNPMIZSQmMHPOQPMIJRZSQ[™PQOSNOPlMHHSTPUPNIJTMQSTPLNMLNk‡QOJUM TM&' UPNLNk‡QOJUMTM&.[ ˜(€[xSHMHPRJIRPSHPTJU‰PMNMHUSIPSNOMQJPQ[ š›œœžŸ ¡¢Ÿ£¤ Ÿ¥¦Ÿ


01

W

2345678992 3 4 65 7 5 6 !"!#$$%&&'%&($&($"!")&)$*!& !% +"%,)')&"!$!%)&)$*!& -.-/-0111-234-.-/5111-2535 6%!&)),"$$"!")&)$*!&!% 7$%!$"!%!'%&$8& ,!9$&!"!$: ;<-/=-0=111=-2>?<-/5-05=111=-25>@ 6($$"!")-.-/111-2-25-25A/111-/5-.&)$*!&BCD' !$)$*!&!% E<-/=-0=111=-2>?<-/5-05=111=-25>F@ G!&()!'#)%,$$"!")8&)!!$)9!"%!& 7$%!)*'5!-HI<-/=-0=111=-2>?<-/5-05=111=-25>$$"-H-H57 "!%5! L$$"',!$KML,!$LMK7$)%!" $ H- "$KF -.-/111-J5-HN/11J1-2$"!$$-. "$-23&)$*!&$')") $%!,)7$)*$&O$&)!P Q8)RL55)-H5I<-/=-0=111=-2>?<-/5-05=111=-25>7$ )"'%& )"!")-H-HN/111-2-2-2A/111-H-H' !$)$*!&BSTLUCD'&"!'$$V !%

XYZ[Z\]^]_`abcbdbefghijklgmnopqglrpsntnjqglrptpujv/wv0xeiqnjkgynz{if|v/|}w|v0|~x jrnjtfzÂ&#x20AC; ephrpfjfijtgypjnsf gypÂ&#x201A;rnjÂ&#x192;fjrnjtfz|}T~|Â&#x201E;Dx ephfzijklgmnsf gypÂ&#x201A;rnjÂ&#x192;fjrnjtfz}~x ephfztnyqÂ&#x201A;frnw|}T~|Â&#x201E;DÂ&#x192;fjrnjtfzhrpfjfijtgypjnsf gypÂ&#x201A;rnjx ephfztnyqÂ&#x201A;frnw}~Â&#x192;fjrnjtfzhfzijklgmnsf gypÂ&#x201A;rnjx G&"!#$&Â&#x2026;"Â&#x2026;"!"!

Â&#x2020;Â&#x2021;Â&#x2C6;Â&#x2021; Â&#x2030;Â&#x160;Â&#x2039;Â&#x152;Â?Â&#x17D;Â?Â?Â&#x2039;Â&#x2018;Â?Â&#x17D;

7$""!#$&!)*P%&$%$&$)%)$ Â&#x2019;Â&#x201C;Â&#x201D;`]^]_`Â&#x2022;Â&#x2013;befgh ijklgmnxÂ&#x2014;jglfqlfzfjrgtpujsfh zfsptfqÂ&#x201A;gjgzpÂ&#x201A;nzÂ&#x2DC;Â&#x2122;lrptfzwÂ&#x201A;nzÂ&#x201A;gsnzzf fjtifjrlgjrnsnzfjijqÂ&#x201A;gjnÂ&#x192;wÂ&#x201A;gzÂ&#x201A;Â&#x161;jfgz{iflfqlfzfjrgjsnzÂ&#x201A;gsnzspzrpjrnzjnzftnlrgjx Â&#x2014;jklgmnzfsptfqÂ&#x201A;gjnzpgsyprfijglfqlfzfjrgtpujqÂ&#x201A;gjgx Â&#x203A;Â&#x153;Â&#x201C;Â?[Â&#x17E;ZabÂ&#x;bdb  xÂ&#x201A;klgmn¥¢ fzqÂ&#x201A;gjnÂ&#x192;qifzgsyprfijglfqlfzfjrgtpujqÂ&#x201A;gjgx ÂŁ ÂŁ

ÂŁ ÂŁ ¤xÂĽigÂ&#x201A;{ipflqnÂ&#x201A;pfslnrpfjfgzntpgsnijklgmnxÂŚnzÂ&#x2DC;Â&#x2122;lrptfzznjÂ&#x201A;nzÂ&#x2DC;Â&#x2122;lrptfzsfÂ&#x201A;qnÂ&#x201A;pfslnÂ&#x192;wÂ&#x201A;nzÂ&#x201A;gsnzziz glpzrgzxzrfklgmnfzzpfyqlfqÂ&#x201A;gjnx §nlf¨fyqÂ&#x201A;nÂ&#x192;fÂ&#x201A;klgmntnllfzqnjspfjrfgÂ&#x201A;rfrlgfslnfz¥¢xÂ&#x201A;klgmntnllfzqnjspfjrfgÂ&#x201A;tionfz Šª­Ž¯ª°Ž¹²ª³´¾ªœ­


01 213456789 5 78

 !  ""#$%$&' ()*+),-./0/123456/78$9 :;<%$=>?@$;>A#>;8B>CD@$E8E>&F$@;GE8%>H8 IJ%KL#8&MN$@;GE8%>H8@$H>&AO$@;GE8%>H8#$%$&H8:;$%8?%8&8;K$#LP;?@$;$CQ;K>;#8&FRNSOTUC Q;<8;8%$@M&L98&:;<%$=>?@$;>MAV8&8@;GE8%>H8#>E?>;8;K8&#>;8B$&8;K>;#8&FRNSOTWSVC X8E>&K%$#LP;YZ""["' \2]6[!["^_`!  _"FTW!NTW_OTU!" FTU!NTW_OTW'ab" ""`' c" !]_d!_9 !]dSW'cF!N_O["e!_" 9' \f g9'  "`' 5h!9h  hh9 59 h]'i""F!N_Oh["eh!_ 'chF T F2^""[e6jN T NRWT d2^" "6_OTORW2 ! ` 6' \!  FRNSOTFhRkNhSWlSkOhSWlTFhRNhRWSOhSWTFhRNhSOhTU !^!^4"' g9[' 5!"m'n'o9`[eW' c9hh h" e_ e'\  F TFRW!NTNRW_OhTO2"`6' pq  FRNSOTU' i"2]6r"r' s t*+*u-+v*./0/1/Q;:;?>@L8H%>M&LF8&8@;GE8%>H8IJ%KL#8&wN8&8@;GE8%>H8$%L&K$&AO8&8@;GE8%> H8#$%$&8;K>;#8&FRNSOTUC xy),zu*./0/{/ |}~~€‚ƒ„…†‚‡ˆ


2345678992 3 4 65 7 5 6  !"#$%&'!$%()$#$&'*+ !,-(./-0$,1/23-(102(-4 5!6$7*89:4.0;6*#* !,1/23-4 <=#$%#$!> !$?@%$A!%9$%$%$%$% $$>A$$A!A! B!$A#$ !#$!$%$A!9.CAD$$%$%"$$%$B6#$ !*+ ! ,1/23-4 B6#$%#E !AD$A!%A%$FGFH#$% !%% *8I. !FJKL$$9*+ ! F,-4/M L$$9$%$$>A$$A!%N%$B$#$H#$%9. $#!#$$N#$$%$H#$%%$*9!% $#H%%$L$$9#68 ! N3-4/M B!!.%$?,1/23-4$6#$ ! 4/1/2 4/-4-O :2 :- :2 : F N F N 4 / B6#$ !FJK.NJKG!$>A$$A!#E#EA!$IBPP$N $#$ FD!#!E##.$ !K9%9NJ(.FJ(%>#$ !Q R ' .PS R P'9 !A$ :2 :- :2 :R :2 :- :-O :RTU 4 / F N ( ( 4 / $!#$6 L$$9#$%$$6%%V N-KW%%$$EA!$ $#$ :2 :- :2 :-O :- :1 :-O /- 0F M K F 4 / / F 0 01F L$$9FX09$ !$%$$6%%F [\ -0L!$ !N3-4/%%!#$ !3-(9.%%$ !F,-4/ YIF-K$/- ZZ]\ #68#$`'!,-(%$A!!%$ ^IF-(_ !>/- ` -:49.%!>%%!#$ !3-7.,-0%$A! $%$ aIF-@_"$9/-KT9.$$3-4T.,-:4%$$%$ F-Kbc$%$A! !9$#6%$%F.N#$$6d %%N YIN-K$.$"#$c%$%$ ^IN-(_"$$!%%$_"$/-:49$ !# !3-0.,-7 #$"6%$%!6$ aIN-@W$EA$$_ !>/-KT9%%$%3-:4.,-4T%$ $%$%%$

01

efghijhkfljmnfopqfrih


01213456789 5 78

!"#!$%!&!$'(#)!'(#*!'"##!'+,-!%'./012320.456+ 78!'-%(9:;<=>?<@@<=<ABA<C>CDEF<G<A<<@FH=DA>CD@<C>?IEDCD@J=JK<FCJGL<G<A<M> =DN>ACJGL>M<@FH=DA>CD<AJ?K<?IED?>FOA>FKDA<CD@<G<A<P Q?G@<A>IED<@F>KDFDA@<R>?FJ@<C>?S<A<@D@>?MD@BA<C>CDGE<@IEJDAG<A<D?=<T>A>JBE<@IED.PU< ?E=<CD@>?BA<C>?CDK>C<?@<?G<A<??DAVDFK>FGD?=<T>A>JBE<@IED./P W>A>KA<S<AKDM<@?E=<A@>?BA<C>?CDK>C<?@<?G<A<?D?K<=>?G>FK<FC>C>?XDGD?D@FH=DA>CD@<C>?M SED?G<C<@<C>D?OA>FKDA<G>=HFCDC>?G<A<?PYDFD=>?DFK>FGD?IED./012P U<>KA<CD?JBE<@C<CD?G>F?DGEDFGJ<CD@YD>AD=<ZP[P\MSED? 1]452^/0452^ 1.2]45 .2 ]_ 60.452 ]_ 20.456` a QF@<CD=>?KA<GJbFCD@G>A>@<AJ>?DL<FEKJ@JR<C>C>?LDGL>?cIEDK>C<G<A<KJDFD<@=DF>?KAD?@<C>? IED?>FOA>FKDA<TD@YD>AD=<ZP[P\PdJCDEFBA<O>SECJeA<=>?<?DBEA<AIEDG<C<G<A<KJDFD<@=DF>?f @<C>?IED?>FOA>FKDA<MDFK>FGD?@<?C>?CD?JBE<@C<CD??DKA<F?O>A=<Ag<FDF f/012h if51j20fi451j` klmnop8!'%!8"!qr#!'!'st 3suvu !'!"#!'+ ,#!st-8!'r4]w+7'"#!$'-*xr20.yw56]z+q8!'$'(8q! r2]{|+}!--!$st !"*'"#!+ (-(#()8!'#8('8&"'(9"suvu$3"'-!r4]6$!q-*x8!'r20.y656]{1$ #!%#!'"!%!-*(%%(9#$3rsuvu -(z#*!'+ (8q!$"!'suvu q("-(*!$!-(%(%#!'*#!(-*(8"$#!!"*~q%'r '-*#(8(-*'"!.#*!'+€!8!8x(8!$~3%-!#*!' !-()!'%!%*%+,'-%'!$ -8!'r'("#!'(‚%xr iƒ51j20ƒi651j ]_ 120{6 r'q8!'r!'%(-!+ 7*%(8!'"!--!rsuvu !'"#!+ ;<=>?<G>FKJFE<JbF<C<AEFKD>AD=<IEDXJDFD<CDGJAF>?IEDMD?DFGJ<@=DFKDM@>?HFJG>?BA<O>?F> S@<F>??>F@>?XJ?K>?DFD?KDDN=S@>MD?CDGJAMst TsuvuP„FKD?MLD=>?CDJFKA>CEGJA@<?G>FKA<GGJ>FD?DF BA<O>?P …m†‡ˆ‰‡Š‹!+ŒG>FKA<GGJbF?J=S@D*'#'#-*!*(*-(‚%*!' -(%'*3%-'+ ŒG>FKA<GGJbF*'%**%!-%%(!''(8"#'+ klmnoŠ€!'(*8!'#!'!' 4 4u ‘ ‘u 4Ž 4 ‘Ž ‘ (#"(8!(*-(‚%8!'#!'-(%'4Ž 34 !q-8!'#! 4u 4Ž]4 4 ’“”•”–—˜™š—›œ˜—ž—


2345678992 3 4 65 7 5 6 !""# $%&'!&()%*+, -+./- )+. -+0#123& 4+6 +.5+0 4 4+6 +,5+. 4 4+0 +,4

01

789:;<=>:<><?@?ABC:AD:EFC:<ABD@=>BEDD<G=HA:=IBEJ@KFE=@8<I:A8<A=H@:=IBEJ@KFE=@L 78>E9@8;EA=D@=H<D<@=A8HAHEBAF8<I:<A=>A>A@BA9EL MNOPNQRSTUTVWX:BE>@Y8Z<[T\]#$](/-!/^3- (_` _6a6# bcNQdeOSTUTfTg&]hj 4i. 4i i,j4 i4, . 4 4i6j i6 4i` 4i0 4i0j i`j4 $/)&%*ikikjl/'&m3& _`/23&2(#n&( 2(# o&3*(&%2(&h o&&3]&&%*/-2&2i6  i`/-i0 i0j#$23& 4i.j 4i i,j4 i4, . 4 4i6j i6 4i` 4i0 4i0j i`j4 p)&%*i. i0/i6 i6j -i` i`j/-!i0j i65i6j#$ h i4.j 4i.j 4i.5i0 4i.5i0 i i 4i6j5i6 4i6j5i65i0j i,j4 4, i,j4 4, i`j5i`4

4i0j

i`j5i`4

qrstuvtwrxvyzr{|}r~ut




01213456789 5 78    !

 !" #!#!" $%&'()*+',#-#. /%0'(%,#-# 123%45%( %,#-# %3)23&3)*331(%%33 33#4. 6789:;<=7>?@8@@A@B@8CD;@DCAA<EF<F;87GHA<=7DC:A7FAC?;7GCI8@J7GH@:K LMNOPQPROSTUV+ )*3.V)%03 WXWXYYYXWZ.[\%3)*33%03)*]^5_% %)33^1%5_%`W`4&]]^3%% 1(%]%543^3+.$3)*3&35_%%3 %03+%'3*23. abMcdefgUhUiUj%3)*

 k  k W k# W  k"  %5%33)%W ]W.$3)*3&l5_% ] 1 4&]313+4.m3%*2W ]W&333%l35_% ]. $3)*3n kooooooooooooooo ooooooooooooooo o o o o o o o  oooooooooo oo oooo ooooooooooooooooooooooooooooooook o o o o o o oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooo k oooooo ooooooooooooooooo# ooooooooooooo  k" m5%'33)*(3)*%%%3. pH@FG7q@B:@=7DGCGH@:GCHFI8@J7>q@AC=7D8CJC8CFA<@@DH8C?8CDCF;@A<EF?:@F@KrD;7CD@Ds ?78tHCC:GH@:GCHFI8@J7GC?CFGCGC:@8C?8CDCF;@A<EF?:@F@tHC;7=C=7D>A7=7?7GC=7DuC8CFC: D<IH<CF;CCvC=?:7K abMcdefgUhUwUx%%3%)*&]5'33 333%.$3)*%y5_%1XX#X" ]4]y3& 335_%1&#&"&# ]4.[%33 %)*zn # # "     



{|}~}€‚ƒ€„…€†‡€

"


2345678992 3 4 65 7 5 6 !"#$ %#&'()&*!+&*,

01

........................................ ....... .......... . . . . . .. ....... ..... ......... .............................................

-

...................................... ........ .......... . . . . . . .. ........ ..... ......... .............................................

-

-

-

#(# *!/ &*()&0%& ()&12&3! 4&&*#5$%5(!67% ......8 ......8 ....9 ....9 ........... ........... .................8 . ...................8 . . . . . . . . . . ........ . . . . . : : . . . . . > . . . . . . . . . . . . .... 8 . . = >........ 8= 8<-..................... 8; ..................-. ...... . . . .......... . . 8 . 8 . < . . ...................; ............................. .............. 2*!?@, A:A:-A= -A9 A-= -A< -A9 A;A;-A< # *@% *&*&B$C &D! E #)$&* %$@C%## F@GG&C8:!

HIJI KLMLNOPQRSTUVNOWLX

YZ[\]^]_\`abEcdefghi&*!jCcCklfm n%n 7%*##oph% qreoidsAgtuAvdtkewivdkeAi! xyz{|}~€}{y{‚}nƒ~zy{€}{y{‚}|~€}}„~ƒ…zz†‡€z€‡ˆ{k}‰y~Šz€~~ƒzƒ‡‹{z„y{€}}„z €z|zŒ„‚‡€~|~c…|~Ž}„z‰y~|}ƒŒ„‚‡€~ƒz|z€~{‚~ƒ{}‚‡~{~{~‡ƒ}€}}„‘ ’~zz{“~„}€„}”‚‡€}|~c…}„~†„~ƒ~{‚z„~}ƒ€}}•eciz€z„|‡{z|~~{}„€}{y{‚}n †z„z~‰y~~–‡ƒ‚~y{z€}}„z€‡ˆ{|~c‘ —˜Z™š›œabbžb Ÿ!?&* - - %2#()  2!E ¡¢! '!?&% ¡&*£¤ ¥%()$ %2#()#2! ¦!j§C(&*$&*2 ¡¢% #&*$%2C% ¡(¢! E &*$%Cfdf9¨f:%() f9%2()f:!?#()2 C! ©ª«¬­®¬¯ª°®±²ª³´µª¶­¬


012134546789 674   !"#$%&"'()*+()$* ,!"-."%/0"'"01&'"0"".234&-".0 2-.&5 -"-0 67 0&##.."898%'#"&& '"."."'"##"#0 - # 9.& #!"0 2#"'"##"'"!"& '"0/&6#&&"'".":.-".0 &6" &"#&01#."%;& 2<=>?%@--.AB C-""..&#"1#" '"0-.'#" 1.'"0-&'" . :.'D-"'"#&.&#""'&"EFGF &/0"'"01&'". H%A0" "-." IJKLJLMNOPQLRLMSTJNMLOJUSLMVWMVSXRTWVQLYJKMNZVL[WVS\OTWNQV]^NMNLOOVP_NSV[N_NOLMJV[ QLO\VOTJVSTVWMVSXRTWV] `abcdedfcggh !"Aijkl 0" #"&-"m)ni* ./0"#'"."'"#&&% '"i'"."%2&.!" opaqrstuhvhwh <!"2& .0".#"x2".7"y&"'m)nz*{| }20"'".".!"E$ A#-"0"#i'"."%&"'- "#."6~&' -"#0".'.2 #."i'"."%0&2- ."&"-"#0".&."iz &&:.-'-"#.-"#'&""#'&"'2m)E$ni*{i)iz* €:.%&2m)Eni*{ i)iz*‚‚‚)iƒ„z*… 2D##'2† + ƒ% m)En†*{|%0&2m)Enƒ*{ƒ‡ˆ"&&"%./0"'"0 &'"#E ƒ  !"'A'"0-"&'"‰"n$nŠŠŠn‹ &"'m)ni*{ m)ni*‚ m)$ni*‚‚‚m)‹ ni* ˆ"&&"%".0&0" &#.'"."'"#."!"'"‰" ,!"'"ƒ6~&'%2'0"0-.%&"'m)ni*{i)iz*Œ :#'%{)nŽ*#"#{n$nŠŠŠn‘AŽ{’n’$nŠŠŠn’Œ‘A“”)’•*{•n•–‘ :&'"%- . '"."'5#'"i'"."%-"#0"..220"- %A- .&"#."6~&'&0"iz-".##x&"#0 ". 2;A0".#" - •Œy:.-'-"#.-"#'&""#'2m)ni*{i)iz*Œ —JRL[QL_LMW˜SVWNOWYONMLO\VOTJVSTVWMVSXRTWVQLYJKMNZVPMLNOT™NSV[ON[TKYTLJRLWVJ[RMYWWT˜J] šNQVYJKMNZVPRVSNSV[YJONQV’›œYLJV[LNYJON™VœYLYJNOV[_žMRTWL[Ÿ ]IJRVJWL[LO KMNZV¡ L[LOKMNZVWVJOV[ST[SV[_žMRTWL[œYLP\LMVNOœYL[LOL¢NœYTRNQVLOONQV’P LOKMNZV£¡ L[LOKMNZVœYLML[YORNQLTQLJRT¤WNMLJ¡ OV[_žMRTWL[Ÿ ] ¥at¦aq§uhvh¨h  !"%AŸA#"6~&' #A'& ’..#"2.":&"' m)¡ni*{m)ni*„m)£¡ni* …0"&'5©ªNSV[NQL[WVS\VJLMLOWVJ«YJRVQLON[\V[T¬OL[WVOVMNWTVJL[QL¡ WVJiWVOVML[LJ QV[[Y¬WVJ«YJRV[POV[WYNOL[OV[TQLJRT¤WNMLSV[WVJON[WVOVMNWTVJL[QL ON[QL£¡ ML[\LWRT_NSLJRL ›WVJiWVOVML[]I[RVP«YJRVWVJLO\MTJWT\TVQLON[YSNPJV[QNMXONMLONWT˜JœYL¬Y[WNSV[] ^YL[RVœYLLJ¡OV[_žMRTWL[Ÿ JV[VJNQ NWLJRL[PYJNWVOVMNWT˜JQL¡\YLQLRLJLMLJOV[_žMRTWL[ Ÿ QLOST[SVWVOVMVQLQT[RTJRVWVOVM] ­TRTLJLJQT[RTJRVWVOVMPOVœYLRLJLSV[L[YJNWVOVMNWT˜JQLOKMNZV›V¬_TNSLJRLPRVQNWVOVMNWT˜J QLL[YJNWVOVMNWT˜JQL¡]^VMRNJRVPON[WVOVMNWTVJL[LJON[œYLŸ RTLJLJQT[RTJRVWVOVM\YLQLJ TQLJRT¤WNM[LWVJON[WVOVMNWTVJL[QL] ®¯°±°²³´µ¶³·¸´³¹º³


2345678992 3 4 65 7 5 6 ' !""##$%&'()*+,# "#!"#$%&(%#"-##"##$%&(#!"). /#0,$,%1#23&4567 23&(456823&'(456 "#,%" 9"%,9%"-#:#9"%,9%-#:9,!"; <#%1=>)?##-@A,) 01

BCDEFGHIJKJIJLMNMOPQRSPTUMNSMVWXMUPYVZ[MQWOMN\RN\O\VXMN\SRWSPVWQPWUNWQ]XPUW^\_V`NMaW \VU\NNMV^W\S`NMaW\VXN\UWNUb\X\Oc dceMQWOMUMSU_SMN\SRWSPVWQPWUNWQ]XPUW^\_VUPUSW^\SWV`PX_^fc g g g g8 g g h7 7 5358i6j85358i6358k6 g g g g g 7 5358i6l5m8k5ni85nko 7 5358i635m8p5np6q rceMQWOMUMSU_SMNWXNWRWSPVWQPWUNWQ]XPUWc g g g g g g 8g g g g g g g g g g g g8 7 8 7 sg8ks g7 g g g g g g g g g g g g g g g g 7 5358i6358k6358p6s58ks5358i6358k6358p67 5358i6358k6m358p6q

tuvwu xyz{|}~

€##$"%%",,#%-#:##%9)‚:" "%#%,1€,#,ƒ„„… †‡ˆ‰ "##A%%=#)#- # ""#„%+#",#"%%#""#%%##%#) ŠD‹ŒŽŒ‘J’V9\O_V`NMaWUWV\“W”_\VWXP\V\UPUSWOc ’V`NMaW”_\VWX\V`MUPUSWOO\^\VWQPVM!"c •M^W_V`NMaWUWV\“WZ_VO_–`NMaWO_—WO\^PU\9-#%OPXP\V\XW^WOSWO[˜NXPU\O—\O_V ]N–WSc ™$!""9,"%#€#%,##) š,"#%9""1 -"› œHFHžŽŒIJŸ JŸJ¡W^W`NMaWUWV\“WXP\V\_V]N–WS`\V\NM^WNc /"#%"#%##%-"#"#%#$%A#A) ¢DE£IJŸ JŸJ¤\M&_V`NMaWUWV\“W”_\UWVXP\V\_VUPUSWc¥VXWVU\OZOP”_PXMQWO_VW^\SWOSM^WO^\S UPUSW\S`NMaWOP`_\OP\V^WUWV\“Wc ¦"#% #=""1› §¨©ª«¬ª­¨®¬¯°¨±²³¨´«ª


01231456789

!"#$%&'()!'%* +",#-'./0%123456789:87;8<468=>;4:7?3@A89;83>9:46783:;ABA49CD>834957:858;EAE97357 D>868:858;5A5FG53>HF;4I7J>8D>864E75:;48;38K43:4LM 7LNONPQ77H3:45:8CD>86864;38:4<HAR5 >5468<73:;4EAS53A5K4E8;>376883:8:87;8<4CD7;A56>EEAS5P T5;849A646C97J>8B4<734D;7H4;83J>8-&'(.%U!'#VW$"%-"%&'./.!#"#$%&'( )!'%CX83:797K4;8<73D7;A56>EEAS585UP Y4;4UZ[89;83>9:46783:;ABA49<85:8EA8;:7CD>834957K4H8;9467357D>8685E;>\4;38P ]>D>83:789;83>9:467EA8;:7D4;4U9768<73:;4<73D4;4U^_P ]A:858<73>5F;4I73A5EAE973E75U^_94673C98J>A:4<73>59467X573;83>9:4>5F;4I7D9457`D>83 57:A858EAE973X:A858U94673aPb957:858;EAE973576ABA6849D945785;8FA7583CD7;97J>8673D>5:73 E>4983J>A8;4D>8685>5A;38D7;>549c584PY7;:45:7C899467J>84d46A<73D768<736AH>e4;973A5J>8 E7;:845A5F>5768973X48fA3:85:83P g hijk"'l$%&'(.%"m.%Uno-/."#*p%-%."#l"#$%!#/qV#0!#/ql-/"%" Ur_!'#* +",#-'./0%1]>D75F4<73J>8l83>5s;H79PT5:75E8383>5F;4I7D9457CX895G<8;768;8FA7583 85J>8386ABA6889D945783_PY7;89:87;8<4tPuPv38:A858J>8Urw^_ZxC97J>8A<D9AE4J>8wZUr_P y8EcD;7E4<85:8C3>D75F4<73J>8:858<73>5F;4I7E758f7E75UBR;:AE83XUr_94673P]A57I>8;4 >5s;H79CD76;c4<737H:858;>5s;H79F858;467;J>A:456794673C97J>857364;c4>5s;H79E75UBR;:AE83 X<857368Ur_94673C97E>495783D73AH98P g T93AF>A85:8:87;8<457364>54E4;4E:8;A\4EAS568973s;H7983P z{{|jk"'l$%&'(.%Uno-/."#q#/%!'#)''!"!#%/!'}#*p%-%."##%"W$/n'!"%-"#1 ~*l"#$%!* *+#no-/."#.$'!"#W$/"'"#-%$%/#)$%€%/..',/%#/,)!"* *l"#.%"mq)"#/!"W$/-',#$%!'"‚'"#"!* ƒ*l%-/"%"./.!#q)"#/!"'„'/,#$%!'-"%'!&€%./.!* …*l-/"%"Ur_!'#* T368EA;C973s;H7983375973<857;83F;4I73E758f73C7973<4X7;83F;4I733A5EAE973P QS:838:4<HAR5J>8D4;4943E4;4E:8;A\4EA758338F>564C:8;E8;4XE>4;:4578358E834;A73>D758;J>8 89F;4I757:A85894\735A94673D4;498973CD>83688994338686>E8P +",#-'./0%1†48J>AB4985EA485:;8vX‡X494K8<73BA3:7Pˆ4<734B8;J>897385>5EA4673vC‰CtCŠ 3758J>AB4985:83P _Z‹ x ]>D75F4<73J>8l83>5s;H79PT5:75E8383E758f7C9>8F764673673BR;:AE83E>4983J>A8;4K4X>5 E4<A57J>8973>58PY7;94D;7D73AEAS5tPvPvCK4X>5E4<A573A<D9885:;84<H73BR;:AE83P]AK>HA8;4 <s368>57C85:75E8389F;4I7E75:856;c4>5EAE97`B8;D;7D73AEAS5tPvP‰aCX83:75783D73AH98CD>83 l83>5s;H79P xZ‹ Œ Y>83:7J>864673673BR;:AE83E>4983J>A8;4K4X>5E4<A57`3A<D98aJ>8973>58C89F;4I783E758f7P T9A<A54<73689F;4I7l >59467E>49J>A8;4P]>D75F4<73J>883:89467>58973BR;:AE83XŽP T5:75E83C8589F;4I7;83>9:45:8`J>8994<4;8<73l a57K4X5A5FG5E4<A57J>8>54XŽP T3:78343cD7;J>868K4H8;>5E4<A57J>8>5A8;4XŽ:856;c4<73>5E4<A573A<D98J>8>5A;c4 E75Ž85l C97J>857364;c4673E4<A5733A<D983J>8>585E75Ž85l89J>8K8<7385E75:;467 ‘’“”“•–—˜™–š›—–œ–


2345678992 3 4 65 7 5 6 !"#$%&'&(')**+&*,-&*(./ 0 *'$ %&+& 1 &&2&**3+1 &/*$ 456 7 8 '*1 ,& $9*+'&:$!;$!+'&/*1 &  &2*&/*3$%&+*$ <=* $%&>'+"#$9*+&*,-&*"#(* ***'*$?+"#+&+1 '*&&2 '&*&-* 3$ @(.&***'*&*,-&*+&2&* A'&'*) :$!$BC$ 756 D E1 *&&1 *3+**&F F&.A'&&*C$ %&* 2&3+(.&/*,-&*"#1 *F *'&0$ %&/**=& "#+&2&/0+&  *&(')**$ %&+&2*3$ G

01

HIJKLMKNIOMPQIRSTIULK


012345678

9    !"!#$%&# ' ()!! #($* +(, &!! - ' ,&!! '  !  ,&!./ !.--  ##!'  0' (!.$ ' !!, #,1!,  $2 #3!434 $5' .& #'  &)$6,'  #3 78 +9#3+#:;<=<>>><7?=@$6'  #+($ A/#,' /1)# "&#! B, +9 ##' ' +#/ C$ *D,!"9"#$

EFGF HIJKLKMNONPNQJRONMLNSKQJNK TUVUVU WXYZ[Y\Y]^_YZ[`abYcZd_e[`abYcZ

fghihjklkmnopqpqB*!Cprstu3vw3xyz{|zu}~uz{yÂ&#x20AC;{}~uz{ s{ys|Â&#x20AC;Â&#x201A;Â&#x192;3vÂ&#x201E;3xÂ&#x2026;Â&#x2020;Â&#x2021;Â&#x2C6; Â&#x2030;uzu|s{43vÂ&#x160;3x4Â&#x2026;43v4Â&#x2039;43x4Â&#x2C6; Â&#x152;(1' ")!!$5,' 0 9, 0.' #:;<=<>>><Â??=@+:7<7Â&#x2039;=<>>><7Â&#x2039;Â??=@+($ 6!!! 81#$6,' 3v<3x<>>><3Â&#x17D;  ##B,3Â?Â&#x201E;3Â?Â&#x2026;Â&#x2020;!Â&#x2018;Â&#x2019;Â&#x2026;Â&#x201C;C 43vÂ&#x160;3xÂ&#x160;>>>Â&#x160;3Â&#x17D;4Â&#x2026;43v4Â&#x2039;43x4Â&#x2039;>>>Â&#x2039;43Â&#x17D;4 6!!!. 0"Â&#x201D; rÂ&#x20AC;~utÂ&#x2022;Â&#x201A;Â&#x20AC;Â&#x2013;sÂ&#x201A;ttÂ&#x201A;st{sÂ&#x2022;~sysÂ&#x201A;stÂ&#x2014;Â&#x20AC;Â&#x2DC;tÂ&#x201A;ys7v Â&#x2122;zÂ&#x201A;Â&#x2013;t{Â&#x192;w~ut{sÂ&#x161;~uyttÂ&#x201A;st{sÂ&#x2022;~sysÂ&#x201A;stÂ&#x2014;Â&#x20AC;Â&#x2DC;tÂ&#x201A;ys7x Â&#x2122;zÂ&#x201A;Â&#x2013;t{Â&#x192;wÂ&#x2014;t{yz{tÂ&#x201A;st{{zuÂ&#x20AC;u|zÂ&#x2013;Â&#x2022;tÂ&#x20AC;Â&#x203A;Â&#x2014;s{Â&#x192;suzu|s{Â&#x153;tw7vÂ&#x2039;7x Â&#x2122;zÂ&#x201A;Â&#x2013;t{ysÂ&#x201A;stÂ&#x2014;Â&#x20AC;Â&#x2DC;tÂ&#x201A;~utysÂ&#x2014;t{yz{tÂ&#x201A;st{Â&#x2C6; 6!! +(,! ' ' ##,'  !$Â?",",9' ##$ 6Â&#x201D; fghihjklkmnopqpÂ&#x17E;prstu3v w3x yz{|zu}~uz{Â&#x2C6;Â&#x2030;uzu|s{43vÂ&#x160;3x4Â&#x2026;43v4Â&#x2039;43x4?43vÂ&#x201E;3x4Â&#x2C6; 1$Â?' ' 13vÂ&#x160;3x, ! !' 13v +!!' 13x,' 43v4Â&#x2039;43x4$Â? Â&#x; 


123456782957

 

                 !" #   !$  %! &'  ( )*+,-./0123456   789:;8:"< %89:8:7=   7 9 >   9 7  ?  @  ! A   !   9 7  ? " @  ; 789:;8:;89:B

C!C ! 

 ( ; 7 9>>9 7 ?>>? 7 >? D 00

EFGHIJKLMNMNMO0+,-0P*.*/+240/Q1R04.,-4S+*/,-*4./*TUTVV-,4QW2*4P2X2-2WY*-Z,/[QW2*4 P2X2-2WY*-Z,/\] ^*04 U Y,-4S+*/,-_R*-,4+SY.2ZY,-P*[U\/*-Z*1.2X0+*4.*] .2*4*1241R*4.0*Y*+*4.,`P*-P*[aTb0-.0[acVdQ+2*4./0-_R*e .2*4*\\`P*-P*\aTb0-.0\a\\d]f,/,./0Z0/.*Q -,4 Y,-+SY.2ZY,-P*gQYR*h,.2*4*Tg*Y*+*4.,-`P*-P*gaTb0-.0gaTgd]f,/.04., ; 7  >  ?  7cV>\\?Tg7gi 6 &&!!$!      !j !$  !$   %C"6   

 Z/2412Z2,P*241YR-234*k1YR-234 lmKIKnopoqrLMNMstu!!&! !!$v w!$xM^*04yyaaayz 1,4{R4.,-]|4.,41*-5 ;;aaa;z 7 }z ~ ? } ~ ~ >aaa>8?T:„… } ~ aaa~ >aaa ~

€~‚~ƒ€z



ƒ

>8?T:z…aaaz

€~‚†††‚~‡€z



‡

ˆ   !$ &!!&! !!$v w!$  ' &!!$"u  ‰7T   

!!   ! B& ! &  ‰C   ' &  ‰>TC&!  ;;aaa;z;z…78;;aaa;z:;z…"ˆ   !$   

 "Š  '   ' &  [ \" ;;e 7 ; > e ? 8;:e 7 7  >  ?  > e ?‹8e:;8e:7 7  >  ?  > e ? e > e ? 8e:8e:Œ7 7  >  ?  > e ? e ? e > e 7 7  >  > e ?  ? e ? e > e EFGHIJKLMNMMO0+,-0X*/1R04.,-4S+*/,-*4./*TUTTT-,41,+ZR*-.,-`Y,_R*4,-P0/Ž24+*P2 0.0+*4.*1RŽ4.,-4S+*/,-Z/2+,-b0U+*4,/*-_R*TTT] )0P,_R* TTT‘ TTQ-*.2*4*_R*-2R44S+*/,+*4,/,2hR0Y_R*TTT*-1,+ZR*-.,Q.2*4*R4 P2X2-,/Z/2+,+*4,/_R*TT]f,/.04.,Q-*/Ž+SY.2ZY,P*[Q+SY.2ZY,P*\Q+SY.2ZY,P*c,+SY.2ZY,P*i] ’,4-2P*/0+,-*4.,41*-5 7“”S+*/,-1,+ZR*-.,-+SY.2ZY,-P*[•7“[a–—[˜–˜cc•]f,/.04.,  7c™] 7“”S+*/,-1,+ZR*-.,-+SY.2ZY,-P*\•7“\a–—[˜–˜\i•]f,/.04.,  7\g] e7“”S+*/,-1,+ZR*-.,-+SY.2ZY,-P*c•7“ca–—c˜–˜[[•]f,/.04., e 7[T] š›œžŸ ›¡Ÿ¢£›¤¥¦›§ž


012134567689 9 9 5 98796 596  !"#$#%&'()&)*+$,-./00*1, 234567%&'*)&)*8$9:!/."!/. *8,; .!.<.9=/> 045?0**@0450#@065?0#@0650+@0?50A, 04565?0A@045650(@045?50*@065?50*@4565?5B, -./9""!: 04C6C?C0D+1EA7E(*E*1FGD*8E**E#E#E+EAFEDAE(E*E*FGH*(+G+*E#8* I"!9/*J***K.J8*/9""/"""!:K.J(L/! M *//!!/!N,

OPQPRP STUVWUXUYZ[\XTYZ]W^YP_`TU`WUYV[a

bcdedfghgijklmlknopqrsqtquvwxtpuvyszu{l|./4}6"/~/,I//90460040%060, €y‚zƒ„…q†rwxtpqrsqtquw‡qrzyqzqˆƒ„wrzw„y‰sxƒpuŠ‹uu…‡zƒrzwŒ‡qyq‡q†pƒ„u‡ƒswpyrƒvwŽ „u‡zpƒsqrvww‡zwwsuŒvw…wp‚ƒ„u‡wrsurzpƒpyrƒ…q‰wssqrwrzpwH}*}%%%}‘G*$‰H}*}%%%}G *$H}*}%%%}‘G*$Š’‡zƒ…q‰wssqrˆwrvp‚ƒvƒvƒtup“”• D“„v}“vqˆF ’‡zwtpqrsqtqutywvw–wrwpƒxq—ƒp‡wƒzpw‡u„˜‡sur™yrzu‡Œzwrq†rvu‡wwrvqsusƒ‡uš 046%%%›0040%060%%%0› 0 ’xtpqrsqtquvwxtpuvyszutuvp‚ƒwryrsqƒp‡wzƒ„…q†rsu„u‡q–ywš |!/...""!œ!"!./"MN../!œ.9"<.:K.J‘4 <." .!ž..!...9J‘6<.".!ž..3/"...9//K.J‘4‘6<.". ..., Ÿ ¡¢e£dklml¤l ¥,¦..œ./..."!</"/.:!/!."/K.,2..."3!/. =!/.!§/ .""!œ!"!/..,I/."./"K./.!§// 4!=!!"."M*9¨9(N,-./9/"..A%A%A%A%A%A%A%A%A%A%A%A%A%A A 1#8(L7L, §:!*}¨}($/.=!/.!§/!///" /~/  J."!/. A4, ©,I/ !.".!.!§/œ!3/."..ª./"."ª3!J/« /./M.œ .¬­¬N,|!/!"./~/ ®H}*}(}A}1}+}7}#}8}L$ ¯°}±}²}³}´}µ}¶}·}¸}¹}º}»}¼}½}¾}¿}À}Á}¨}Â}Ã$ ."..ª. "!"/!Ä./////"®®®®¯¯¯J ."!/. *H%(*? L(7*HHHHMÅ!/.=!J!§// /~/"!=.ª.J ®®®®¯¯¯N Æ,¦.....//"7!<.9!/=!/.!9/!// ./!.HH,2 //...ª!."/.":!!/." ..<.!3!/> *HHÇÇÇ *ÇHHÇÇ *ÇÇHHÇ *ÇÇÇHH 2.4 . /~/" /" .<.*HHÇÇÇ96 . /~/" /" .<.*ÇHHÇÇJ.ªK.., ÈÉÊËÊÌÍÎÏÐÍÑÒÎÍÓÔÍ


01

234567893 68                            !  " # $ %&'(&)%*%&)(&+%*%&+(&,%*-. &'(&) " /000112 %&'(&+%*%&'(&,%*%&)(&,%*3. &'(&+ " /000012 %&'(&)(&+%*%&)(&+(&,%*3 %&'(&)(&,%*%&'(&+(&,%*%&'(&)(&+(&,%*/ 4   5675 $ %&'8&)8&+8&,%*9:::;<9-:-:-:3:3:3;:93:3:/:/;</*=3</:></*/?   $@/?A " B  $ 00

CDEDFDGHIFJIGFKLMINOPKGFKOKDMINOPDMJFQDHIQKIGIR STUVUWXYXZ[\]^]_]`&@a   b c A  &a %a%ded f  5ghJODGiLEDHjJI%&%*k l%a%*mnoDMPpLqLFIPHIJGLMIEDHQPLFKrGLOLPQKPMINL PIOPIHIGQLFKrGMIJGGsEIPDEIGDPjJImt IGuLHImn vDHDQPDHLjJpIEONILPIEDHINOPKGFKOKDMINOPDMJFQDn wLINIFFKrGMIJGLLONKFLFKrGxy&z a ODMIEDHMK{KMKPNLIGk IQLOLHnCLMLIQLOLFDGHKHQIIG MI|GKPNLKELiIGMIFLMLJGDMINDHINIEIGQDHMI&}OLPLNDFJLNQtIGIEDHmODHKuKNKMLMIH~JGLODPFLML INIEIGQDMIanoDPQLGQD}INGsEIPDODHKuNIMILONKFLFKDGIHIHm n €IqIFqD}HK&*‚'ƒ‚)ƒ„„„ƒ‚t …}MLPJGLLONKFLFKrGxy&z aIHIjJK{LNIGQILMLPJGINIEIGQDMI a†a†„„„†a~IGFDGFPIQD}ININIEIGQD9x9‚';ƒx9‚);ƒ„„„ƒx9‚t;;n ‡ ˆU‰ŠYXZ[‹ŒGDFLHKDGIHHIPIOPIHIGQLLNFDGJGQDMILONKFLFKDGIHMI&IGaFDEDae}IHMIFKPR ae *xy&z aŽxIHLONKFLFKrG… CDGIHQLGDQLFKrGHIQKIGIjJIae*%a%dedn ‘’“V”U\]^]\]•$– b 5 xy/ƒ3ƒ=ƒ-ƒ—ƒ>ƒ˜ƒƒ?ƒ/0ƒ//ƒ/3ƒ/=ƒ/-…<z /ƒ™ƒ3…   A  B =',  @B– š  ›LEDHL{IPQLEuKœGFJLGQLHLONKFLFKDGIHKGlIFQK{LHODMIEDHMI|GKPMIJGFDGJGQDLDQPDn STUVUWXYXZ[\]^]]`&   k  @a   m cA

 @š&am9m</;„„„9m<k:/; f  5gvrQIHIjJIHKk žmGDIŸKHQIGKGiJGLLONKFLFKrGKGlIFQK{Lxy&z anoDPQLGQD} HJODGMPIEDHjJIk mn hJODGiLEDHjJI&*‚'ƒ‚)ƒ„„„ƒ‚t …noLPLMLPJGLLONKFLFKrGKGlIFQK{Lxy&z aGIFIHKQLEDHMLP x9‚';ƒx9‚);ƒ„„„ƒx9‚t ;n oLPLINIiKPx9‚';QIGIEDHJGQDQLNMImODHKuKNKMLMIHn¡NHIPxKGlIFQK{L}OLPLINIiKPx9‚);QIGIEDH m</ODHKuKNKMLMIH~OJIHGDODMIEDHqLFIPNLEKHELINIFFKrGjJIOLPLx9‚';n€INLEKHEL¢DPEL}OLPL x9‚+;QIGIEDH9m<3;ODHKuKNKMLMIHnCDGQKGJLGMDFDGIHQIPL£DGLEKIGQD}NNIiLEDHLjJIOLPLINIiKPx9‚t ; QIGIEDHm<k:/ODHKuKNKMLMIHnoDPQLGQD}INGsEIPDMILONKFLFKDGIHKGlIFQK{LHIHm9m</;„„„9m<k:/;n vDQIEDHjJIIGINFLHDMIjJIkžmNLIŸOPIHKrGLGQIPKDPIHQLEuKœG{¤NKML}OJIHJGDMINDH¢LFQDPIH IHm<m*0n ‡ ¥¦§¨©ª¨«¦¬ª­®¦¯°±¦²©¨


012134567689 9 9 5 98796 596   ! "#$%&$'&()*+'()%*,*-&'&.)/0!"123412! /23/5 "5 6/ 7" /38239:36692"3/5 !"1234/"1;2/7"62"<7"12/0!"123487/9="/23 12! ;!"123;819/23>238239:36692"33/9?;"69"4:9"" " 17;@ /23A !"123B9/234:9""2;/""C73D"B9/2 E! "#$%&$'&()*++&)%*,*-&'&.)/0!"123412! /23/5 "5 6/ 7" /38239:3 6692"3/5!"1234/"1;2/7"62"<7"12/0!"1234"287/9"/2 8;6;7"!"12 !F3/7" G@>238239:36692"33/9?;"69"4:9"" " 17;@ /23!"123 B9/234:9""2;/""C73D"B9/2 HI)JK*%(L*#$%&$'&()*+'()%*,*-&'&.)L*0*I*K*)-(+M-(K$L(+L*5*)5*+&NO$I$0PQHI)JYZK*%( L*#$%&$'&()*++&)%*,*-&'&.)L*0*I*K*)-(+M-(K$L(+L*5 *)5 *+0R0STUVVVR0S5WTUX [Y\P] ZQ ^_`abcde f ; D6;7" C79"94/:!23B9;7" 931 /Tg!"123"1;23A !"123/7"62"<7"1262"hiT4j4kl2"82;1"124G;9692"362";pq81969m"/h!"123 12! /23/Tg"Tgn"o!;2121/8239:3 87313382;1"12h  En"7" 6;;; 8;19698"hr8;32" 3nB" /2;;69:7" !/ /2;243B7"/2639s6/2 7" !/ /81 t1;6;639s6/27" !/ /:;2"6 n"o!;2/?2;! 3/9?;"13"C7387/";8;19;3!/362;;382"/ "o!;2/ G;9692"339";81969m"/hr!"123412! /23/h"hf2;1"123hrVhgVhhXhukvw

xyzy{y |}~€‚€~€ƒ„…}~†}ƒ‡†

ˆO)‰O*+O*)O)'&$L(,O*L$,$%*'*%-%&#&$IM*+'()#*)&*)-*%*'(%L$%I(M,O*+L*ŠIL*LO'&%*K(+$INO)$+ '()+*'O*)'&$+Q ‹ŒcacdŽ%&)'&,&(L*I,$I(K$%‘9C7;!23;8;19;02:<123"56<34t0’5"12"63 !"237" 6< D /62"1";k2!F32:<123 “.-*+*‰O*%*,$%-&%(”•*-(+*)'$•$+*+*‰O&#$I*)-*$L*–)&%O)$$,I&'$'&.)L*I'()•O)-(L*(”•*-(+*) *I'()•O)-(L*I$+'$•$+I$&K$N*)L*O)*I*K*)-()(+L&'**)‰O*'$•$+*'(I('$‘Q—*'&%‰O*O)$'$•$ -&*)*L(+(K˜+(”•*-(++*-%$LO'**)‰O*I$$,I&'$'&.))(*+&)™*'-&#$,O*+*+(+L(+*I*K*)-(+-*)L%š$) I$K&+K$&K$N*)‘QHI,%&)'&,&(L*I,$I(K$%+**)O)'&$%š$*)-()'*+› 90’5 "2œ931" 896692"39"t619G3/7"62"<7"12/6;/9" 0"7"62"<7"12/6;/9"  5 ^_`abcd 91"!237"B;782/rww8;32" 3i:31; 62"1";hžvl/:D:;/23C76:;" 67!8Ÿ23!93!2/ i39!8;t67"/212/36:;"3767!8Ÿ23l n"3163236<33;"6/ 7"2/23/3/ Ÿ24!9"1;3C7232:<123 ;8;19;32" 38;32" 3 E  !23 62!8;2:;C767C79;"o!;2" 17;19"7"!o198237t2C736;912"3931! /69! 31F?2;! /2o"96!"182;6;23t7"23 f ; 31243 0¡¢t62"39/;!23230WT"o!;23" 17;339B79"13£ ¤pXT¥¤¦XTwWT¥¤§XTw¦WTwWT¥VVV¤Y¨pXTwY WVVVWTwWT 67t œ8;39m"":3/69! 31F?2;! / o"96!"182;7"23 ©/769!233123!"123!m/7230i3/69;462"39/;!233123"o!;23 "ªYl>:D:;  !"23/23C7629"69/"i3/69;4¤« ¬¤­R!m/5Ul39®¯°319"C7Tw«WTw«¨pWVVVWTw­\p 3!o1982/0± œ8;39m"/69! /31"o!;231F?2;! / 82;®6;23t°S®7"23 ²³´µ´¶·¸¹º·»¼¸·½¾·


234567893 68         ! !! !!! !!!! !!!!! !!!!!! !!!!!!! "#  $# !%&!%&! ##### '!!!!(!!!!) *# +,  * - * * *. '# #-*/ #  *0# * .-*11   *# 2 -*# *# 3456476888649:01*  ;545 ;745<47 888888888 ;9 45<47<888<49 #  $#01.*  *#=9 2 >#* *0#> ;?0* '45<888<4?  *# 2>#@ 0* *#=9A3):B* *0##* * > 2*;? ;C*';C(;? 4?D5<888<4C *# E$*'-  ?G5 *F   #    *0* # * 45!647!)68884? !) 

01

HIJKJLMNMOPQRSRTUVWXYZX[X\]^_[`_\a`Wb^Y^W`_Xc`]\dR2'  *.-*e  - 0    - F #*  fe  * ghiX`a^Yj^klXfe Y\^l^Yj^W\kl^j\a`^_Yma^W\^Yj^W\XYa^]X`j`a^Yj^ln[^WX\Wo pqrsKtJQRSRuR 2* >#v)) 0# #'F 1!v>#  1v))f!v!6&www .  '#.F .  !x   >#y#z 

{|}| ~€‚ƒ„…‚ƒ†‡

ˆYl^ZZX\Y^l`Yj^WX\W^l^ljn]X`a\lZ‰a\k]^nYZ\YŠnYj\]^^_^a^Yj\l[\]‹`a\l^ŒjW`^Wek]^ \Wa`Žn^^_\W]^Y^YŽn^l^^ŒjW`‹`Y_\l^_^a^Yj\ln^W`lXbYXZ`jXi\oˆY^lj`jW`j`W^a\l]^^YZ\YjW`W Z‰a\^ŒjW`^We ^_^a^Yj\l]^nYZ\YŠnYj\Žn^jX^Y^k[^W\`\W`Y\Xa[\Wj`^_\W]^Y^YŽn^l^^_XŠ`Yk lXY\mYXZ`a^Yj^_`Y`jnW`_^c`]^^lj\l^_^a^Yj\lo ˆYj‘WaXY\l]^Z\YŠnYj\lkY\l[W^b”n9Y–j`a\lZn’Yj\llnhZ\YŠnYj\l]^Z`W]XY`_e jX^Y^nYZ\YŠnYj\ Z\Y^_^a^Yj\lo“`”9a\ l`]^Y\j`W[\W `j`_Z`YjX]`]o ˆl’ZX_i^WŽn^ —–!k[n^lZ`]`Z\Y•ŠnYj\]^Z`W]XY`_”j X^Y^nYmYXZ\lnhZ\YŠnYj\Z\Y)^_^a^Yj\lk `l`h^Wk^_Z\YŠnYj\i`Z‹\o˜^_`aXla`\Wa`l^jX^Y^Žn^ 99–!U[n^l^_mYXZ\lnhZ\YŠnYj\]^Z`W]XY`_ ]^nYZ\YŠnYj\]^^_^a^Y”j9\–l^l^”_[9W\–[X\Z\YŠnYj\do [n^lZ`]`lnhZ\YŠnYj\]^e ^_^a^Yj\l]^j^WaXY`]^\Wa` ™`ahX‘Y^l’ZX_i^WŽn^  mYXZ`nYlnhZ\YŠnYj\]^(e• ^_^a^9G• Yj\lUZ\YZW^j`a^Yj^k^_]^_\l^_^a^Yj\lŽn^Y\[^Wj^Y^Z^Y`‘_dš iXZ^i^Wl`o – ” 9 – ”9– V\Wm_jXa\knY`j^WZ^W`[W\[X^]`]W^^W^Yj^`^lj\lYma^W\lY\l]XZ^Žn^”9D5 •  •G5 < • o ›`c\Y^a\l^lj\m_jXa\o œn[\Yb`a\lŽn^3ž56ž768886ž96ž9D5:^lnYZ\YŠnYj\]^Z`W]XY`_<!kšŽn^W^a\li^WZn’Yj\l lnhZ\YŠnYj\l]^e ^_^a^Yj\ljX^Y^o Ÿ ¡¢£¤¢¥ ¦¤§¨ ©ª« ¬£¢


01213456789 748

  ! " # $#% *="23 &'()*+,- )*+,.-/0$%#1 %$  4),5)657775)*8$%/9 % :;<, % /0 %#1 %$" $%>#' :%*=% 14),5)657775)*:8*+, /9= %?%%@  :$ * =C:*=#D A   %  /0$      $    %  %  %      %          B %/ ; 0%$$%$ %%$;$;<, @/ ; EFGHGIJKJLMNOPOQORSTU"5V-WXYU"ZV[\U]YUXS^ _V` Va " B "abV2"ca dSeY^]fTXghUij%% %@$ @/ 9%%VBk#'$%:%"BV %l $%%VB3m *o $%%% $% *n=B nop*<nq r%kZrZV/%" $ 3'V/ o 0: % *+,=B : * =C:*= B *o *o C ;op*<;q ; ;<, ; p;<,qop*<;+,qo*o o p *<;+, *o ; B ;op*<;+,qoC ;op*<;+,qqo p;+*<;+,q B *o;o p*<;+,qo *+,qo B ;opp*+, '$%%"Bk"BVC3%<;q o%/ s tuvwHxGNOPOQO y[\zU{eSfY|S^}~XYU}U]Y^XYU€SzSeSU]Y^|SzXYU}U]Y4)55‚5ƒ5„8S^ _…` …a …7‡ € B €a†aB €a B3k ˆ^]Y^^YUi 4)58 4)5‚8 4)5ƒ8 4)5„8 45‚8 45ƒ8 45„8 4‚5ƒ8 4‚5„8 4ƒ5„8 ‰h]S^SŠ}S|SS^]Y^3k^Y~XYU}U]Y^‹TŒ:,=B‡Š}SXYU]gSUSUTzSzSeSU]Y„ 4)5„8 45„8 4‚5„8 4ƒ5„8 Œ:6=BŽŠ}SUYXYU]gSUSUTzSzSeSU]Y„ 4)58 4)5‚8 4)5ƒ8 45‚8 45ƒ8 4‚5ƒ8 [\zU{eSfY|SXT|SUT^|SV~g]^Š}SXYU]gSUSUSTX]TeSU]S"}UY^‘Œ’Yf]TU]YV2"XSfY^“S^:;*=[ ”TfT}^]g•XTfS^]TT•feTXghUU}eSfTeY^zY^V~g]^|S^|S3‹T^]TV[\zS–gf}UTXT|SUTSUS^]T^ XYU|gXgYUS^S^SŠ}g—TzSU]ST]YeTf}U^}~XYU}U]Y|SzXYU}U]Y435€57775V8XYU" SzSeSU]Y^[ ˜[RT~SeY^Š}*S^g S^}UXYU}U]YXYUVSzSeSU]Y^™SU]YUXS^ ]gSUS€* ^}~XYU}U]Y^‘zT^šz–S~fT^ |S›YYzSœ Œbc^YUg^YeYfžT^“[dS|}XgeY^SU]YUXS^Š}S™’TfTX}TzŠ}gSfV-W^S—Sfg•XTŠ}S _V` * _V` _V` _V` Ÿ * € B r B k C 3 C777C V n ¡ ¢[R}’YU–TeY^Š}S}U|S’Tf]TeSU]YS^]šžYfeT|Y’Yf£e}SfS^Œ¤‹Ye~fS^™Œ^SŠ}gSfSžYfeTf}UT XYeg^ghUXYUXgUXYegSe~fY^™|SžYfeTŠ}S‹TŒTTzeSUY^}U‹Ye~fSŒ}UTe}SfSUzTXYeg^ghU[ ¥TeY^T|S]SfegUTfX}TU]T^’Y^g~zS^XYeg^gYU:S,¦^’ }S|SUžYfeTf^SXYUS^T^XYU|gXgYUS^[”TfTS^]Y™ —SeY^SU’fgeSfz}–TfŠ}S’}S|SUžYfeTf^S =B‡†Ž¨’Y^g~zS^XYeg^gYUS^XYU…egSe~fY^[dS §

©ª«¬«­®¯°±®²³¯®´µ®


01

234567893 68

,    !" #$! % &   '!()! * !  +    &()! -.!  & !') %   /012 2 /34  + ' ! ! 5 !  ' ! 4 ( % ! % 6 78% %   9 )!6:78%    ()! 6;78%      !6<=+ + !   ! >;?<>@ ) + 6 >:>/01>;A>>:B;>><A>;A?<AC.!    6

>;?<>>:>2>D;?<EA>>:>2>;AF<A>>:>2D>;A>G><A>E/012DGE/ HIJKILMNOPOQRSTUVTWXYTZ[\]UW\U^O_ ;  

 `@abcd ;-e ' !  + !fdg ` !h + 6 np np np i np DaGcEi  j fo akciqk  fr ai G f aiqscGtttG ff ci klm u ! 46vXYTWUwxVXy\z]ZX{XVTWUw|UV\]Y}yy\z]T]f~ XVXfrUfTZVTw}ZxXYUTwxV\Â&#x20AC;\XZWTÂ&#x2026;]ixTy \TVxU~ Â }|U]Â&#x201A;XWUwÂ&#x192;}TwTÂ&#x20AC;TV\Â&#x201E;yXÂ&#x192;}TDaGcEi klmikaiqkck~Â&#x2020;]xU]yTwÂ&#x2021;

DaGcEiÂ&#x2C6;s DaGcEDaGcEi atDaGcEi GctDaGcEi iaiqkckGtttGiciÂ&#x160;  aÂ&#x2039;Â&#x2030;imai Gisaiqs cGt t t G k i i aiqkÂ&#x2C6;sckqsGtttGi aciqsGiciÂ&#x152; Gc im ai GtttGkqs iqs i         i aicGtttG i aiqkÂ&#x2C6;sckGtttG i aci G  imiaiÂ&#x2C6;s i aiqkÂ&#x2C6;skckGtttGi aci iGiciÂ&#x2C6;s G m aicGtttsGkqs iqs i Â&#x2039; i Â&#x152;aiqkÂ&#x2C6;sckGtttGÂ&#x2039;iGi Â&#x152;aci GiciÂ&#x2C6;s imaiÂ&#x2C6;sGÂ&#x2030;isGimÂ&#x160;aicGtttG ikGkqs i iqs i iÂ&#x2C6;siÂ&#x2C6;sqkckGtttGiÂ&#x2C6;saci GiÂ&#x2C6;sciÂ&#x2C6;s iÂ&#x2C6;s iÂ&#x2C6;si iÂ&#x2C6;s m a G s a cGtttG k a i iÂ&#x2C6;s Â&#x192;}TTwZXTÂ?|VTw\z]Â&#x192;}T[}wyÂ&#x17D;[XWUw~ Â? Â?Â&#x2018;ILÂ&#x2019;Â&#x201C;JNOPOPO Â&#x2022;-e 

Â&#x201D;-_ ) + DaGcEÂ&#x2022;aÂ&#x2022;Â&#x2022;G acÂ&#x2022;Gc % %' % )  ! ' !!%  !  % )     %   + m  Â&#x2022;  ! + Â&#x2022;sÂ&#x2013;-. ! Â&#x2014;'  9   + 6 np np np np np np DaGcE 9r aG 9 aÂ&#x2DC;cG 9 aÂ&#x2122;cÂ&#x2022;G 90 aÂ&#x2022;cÂ&#x2122;G 9/ acÂ&#x2DC;G 99 caG9aÂ&#x2DC;cGraÂ&#x2122;cÂ&#x2022;GraÂ&#x2022;cÂ&#x2122;G9acÂ&#x2DC;Gc Â&#x161;-e  h  % a,cÂ&#x2122; DaGcEsm ,09Â&#x2122;

Â&#x203A;Â&#x153;Â?Â&#x17E;Â&#x; Â&#x17E;ÂĄÂ&#x153;¢ £¤Â&#x153;¼Œ§Â&#x153;¨Â&#x;Â&#x17E;


01213456789 748

 !"$ !"$ !"$ + + # % & %'''% " ()&%&* (, -./0



123422567258963834:;<2;6=>696;8:?>6?@:?46;8"8A898?463B6;89638A8C<7D=3<?E:8<?F:G2 8A67;8?8?E:838B:8;8?8A8C<7A638A898?463=G3<?E:8B:8;2?78B84<738A638A898?463HI3A6E:838 AA292JJKLJMN"DDHO63BA2?4829632>6?4<?:2><P? 8A>2368?8AE:8A638A898?463B:8;2?78B84<738HQ678@89BA6=48?89638?:?2>2@2R6A2376@23=?8C723G RA2?>23=G8S4728963TR6A23HUV:W?4238S472>><6?83;<34<?423B6;8963782A<X27YH Z847242=;8:?>6?@:?46;847838A898?463[\]^_^`ab8A8C<7>:2476=B:;<c?;63878B84<7A638A898?463= G3<?E:8<?F:G28A67;8?8?E:8A638A8C<963Hd2<C:2AA28S472>><P?]_`_ E:8]__`He6f?<>6E:8 <9B674283E:83852?8A8C<;6:?2R6A276@2=;63R6A23?8C723G:?2RA2?>2H I?8348>236=A23B63<RA838S472>><6?8336?[3:B6?8963E:848?89632A98?63>:2476R6A23;8>2;2 >6A67bg ]]]] ]]]_ ]]]` ]]__ ]]_` ]]`` ]___ ]__` ]_`` ]``` ____ ___` __`` _``` ```` 83;8><7=:?4642A;8&hH Q2728?>6?4727:?2i6792;8C8?872A<X278346=j2963283>7<R<7A23E:<?>8B63<RA838S472>><6?83>696 3<C:8g ]]]]kk ]]]k_k ]]]kk` ]]k__k ]]k_k` ]]kk`` ]k___k ]k__k` ]k_k`` ]kk``` k____k k___k` k__k`` k_k``` kk```` Gj8963E:8>2;28S472>><P?834W;84879<?2;2B67A2B63<><P?E:86>:B2?A23;63k8?A2>2;8?2llllll IA?f9876;8B63<><6?83E:8E:8;2?2A2<XE:<87;2;8A23;638E:<3?63<?;<>2?A2>2?4<;2;;8R6A2376@23m 8A?f9876;8B63<><6?83E:8E:8;2?8?478A23;638E:<3?63<?;<>2?8A?f9876;8R6A23?8C7239<8?4723 E:88A?f9876;8B63<><6?832A2;878>52;8A23;638E:<3?63<?;<>2?A2>2?4<;2;;8R6A23RA2?>23Hn3o= >6A6>2?;6A238E:<38?A23B63<><6?83,GT?63E:8;2lklkll=A6E:8?63;2:?2R6A276@2=:?2R6A2 ?8C72G;63R6A23RA2?>23H Q:8346E:88?478A2338<3B63<><6?83B6;8963>6A6>27A23;638E:<3;8pqrs( &hi67923;<i878?483 6R48?8963E:838B:8;8?52>87:?4642A;8&h8S472>><6?83;<i878?483H Z<4:c96?638?8A>236C8?872AHZ:B6?C2963E:848?8963:?>6?@:?46>6?"8A898?463=E:8B6;7o2? 387R6A23;8">6A6783;<i878?483=G8S4728963D8A898?463[383:B6?8E:8;8>2;2>6A6752G2A98?63D R6A23bHI34683A6E:838AA292JJJLJM"D DHQ272 ;84879<?27>:2?423>69R<?2><6?83>6?78B84<><P?52G=<;8?4<t>2963>2;2>69R<?2><P?>6?A28A8>><P?;8 A2B63<><P?;8Du&8E:<3;8:?4642A;8"%Du&B63<RA83B63<><6?p8+vwxy 3HIA?sf98p7+vwxy 6;8>6s9R<?2><6?83>6? ( H 78B84<><P?;8"8A898?463=4692;63;8D 8?D 783:A423878?46?>83 w

+xy

z{|}~Â&#x20AC; Â&#x201A;Â&#x192;Â&#x201A;Â&#x201E;Â&#x201A; Â&#x2026;Â&#x2020;JJJJMk%Â&#x2021;%Â&#x2C6;%Â&#x2030;( &Â&#x160;Â&#x2039; Â&#x152;Â?LLÂ&#x17D;Â?L-JL KÂ?Â?-Â?J.Â&#x2018;NÂ?.Â&#x2019;JÂ&#x201C;Â&#x2019;JJMLÂ&#x201D;J JJMJJMÂ?kÂ&#x2022;Â?Â?Â&#x2021;Â&#x2022; -Â?Â&#x2C6;Â&#x2022;J.Â&#x2030;Â&#x2022;Â&#x2018; Â&#x2013;Â&#x2022;LÂ&#x2019;JJp Â&#x2022;JJJLJMT &Â&#x160;&Â&#x160;Â?Â&#x152; yÂ&#x2014;qs(hÂ&#x2DC;# Â?L-/Â&#x152;JJÂ&#x2122;MÂ?LÂ&#x2122; Â&#x152; Â&#x152;.-&Â&#x2013;JÂ?k (ku&Â?Â&#x2021; (Â&#x2021;u&Â?Â&#x2C6;Â&#x2122;(Â&#x2C6;u&Â?Â&#x2030;Â&#x2122;(Â&#x2030;u&Â? Â&#x161;Â&#x203A;Â&#x153;Â?Â&#x153;Â&#x17E;Â&#x; ¥¢Â&#x;£¤ Â&#x;ÂĽÂŚÂ&#x;


23456 7893 68  !"#$ %& &             ./0 12' '( ) &   *+,-./ 3   "&456   &    789#2:5;456<12=  > &?@ ?   ' A'B% >   74  ;>=#  % 4 C '3 & ?  ) &% @*%/+0 & @    %  &4   &  &74 74" - 81:5' D'E              F!' E G&  % ? H I     ) &   &    6" )

&   &    7"#*J9  !"# & ' K,L./0 *M0 7N ) &     ( ) &   & 6  K K * 0 * 0 / ,L ./ L &     /   &   / 8N ) &  *M,L./0 *7 -0 5"#  O   J9       >         !"  M M *+,L./0 *//0 44

   '(  " ) &    & +   +  F!

*M0*L0*-0*P0*Q0*R0*S0*+0*/K0*//0 K / M L - P Q R S + 7857674O7O1852444 OO6 E !<<<'(  "T6"# &   &    F!  % &     &    !'U J%  " &   &    ! &    &    F!' 3 V% " O" 8" 7    &    F!"  % &     O" 8" 7" 8"&    !' W J%  "      &    !;% V% " 7"  7" 4" O="    % &  &    F!;   " 7" 7" 4=' 3   "   9   ) &    &    !'( ) H X!2<7Y X7OY 7OZ 7O[77[76[!Z 7O[77[76 ! ! !Z[8Z 8[O[!Z 8[O O[77[76 OO6 U  ?  @   &  '

01

\]^] _`abcdefghi`j

klmnopnmqqrslmnoturpvmwxnypnzxvwpnurzmvmlomnumxvumlpvyxnmymwmloxnumtlqxl{tlox|}pux tlqxl{tlox~ qxlmymwmloxnÂ&#x20AC;tlp mvwtopqrslml~ mntlpxvumlpqrslumyxnmymwmloxnum~|Â&#x201A;ovp zxvwpumumÂ&#x192;lrvtlp mvwtopqrslml~ mnqxwxtlpp yrqpqrslÂ&#x201E;rÂ&#x2026;mqorÂ&#x2020;p~Â&#x2021; ~| Â&#x2C6;xvm{mw yxÂ&#x20AC;nr~ Â&#x2030;7Â&#x160;OÂ&#x160;8Â&#x2039;Â&#x20AC;Â&#x152;pÂ&#x2026;nmrn mvwtopqrxlmnml~ Â?tmnmqxvvmn xlumlqxlypnnmrnzxvwpn umxvumlpvyxnmymwmloxnum~|Â&#x17D;nopnnxlÂ? 7O8 78O O78 O87 87O 8O7 Â?pnnmrnÂ&#x201E;rÂ&#x2026;mqqrxlmnum~ ml~ nxlÂ? Â&#x2018;Â&#x2019;Â&#x201C;Â&#x201D;Â&#x2022;Â&#x2013;Â&#x201D;Â&#x2014;Â&#x2019;Â&#x2DC;Â&#x2013;Â&#x2122;Â&#x161;Â&#x2019;Â&#x203A;Â&#x153;Â?Â&#x2019;Â&#x17E;Â&#x2022;Â&#x201D;


01213456789 4



                                             ! "#$#%&''(&!&)& '!&#%&!**&+!, $#'.&/&'*0#,)&&1)&+&2*&+0*&3'!(')+#&&,#/)**&3' ! (*##&#&$+#, 4 ,0()+! (*##%&#&$+# , 4 , "#$+#-.+&3'5) *)*!&* #%&!!#! *'##&0$"6)*27829:;777<7:=2>?*/@(*#!'!&'**&+!)&&1)&+)&! */)&!)*&+ (' '(+#!-A'1(*0&('/)&+!)@&+5' (!'!&'**+'!* (*"' BCDCA ' '!&'*0)(&/6)!#+#&/)#*! 6) ('&&* (*"'0'#"#&!)& !**&&/'#+0$'*#E*F'!&#&(#"*G 'H H' 'H 'H 'H 'H H' H' 'H 'H 'H 'H 'H H' 'H 'H H' H' H' H' H' H' H' H' I6)! '!&#&!**+'!'H! *)/' * # '!&#%&!**+' !MN' J* 6)')*+ !#&+'"#'KK&KHKL-A'+&+0**+'!' ()!&'!&'! +#&+M =:<5' !# O#6)##P' Q' +)!#'!)&+5' (!'!&'**+'!* (*"' ''0+&R !'S0#!#+#&/)#*!*+'K'K)&++*!'!&#&!#5'&+-O#&"'/U0 ! !!**! *)/' )& * '!&#%&!**+'!DCDC-T&&+&)&++*! MM =V '!&#&!#5'&+W+' 5' !'E&'+')*+!#/)G A ' '!&'**+'!BCDC0#+)&('#'*)/'*!KK-.+(!Q'*!XNMY 5' !#5'&+XN-YZ& E#+)!*!KK0**KK0(' *6)+&!(#"#*#!!A'+&+0Q$ M 7<=:<5' !#5'&+!*'*-[ (##%&!* K'K6)! !+'#&! (' * !* KK$*KK'!&'**+'!DCDC0#+)&('#'*)/'*!KK0 6)(!Q'! XNYA5''! #5'&+-A)+6)+!+'#& **)/'&6)&**+'K'K0&*)#6)Q$ M# &'!'!&'**+'!DCDCO#+)P&&*/&'*\]^_^`abacdefgfhfijklmnColpqjrsrmrolpjmCtupsCvr2lwxrslpyvrzsuklpvu{rDrmsrp|}rtsukl: ~CjmslsCtvr2U lwxrslpyslvlprttlpumvupsumnjuwtrp|}rtsukl<~C2M lwxrslpyCpÂ&#x20AC;~CpsCrtsuklzyvrt qjr~C2Â lwxrslp|Â&#x201A;mslmBrprtmÂ&#x192;orDlslsCtvrlDvrmCBulmrpvrrpslplwxrslprp 2> 2U>2M>7772Â > }rolpsDCBuÂ&#x201E;mÂ&#x2026;Â&#x2020;/)*6)QQQ &+0(!'E&'*!!5' !#5'&+-O)(&/6)+!*"1+&!#+#&/)#"*-.&+&0(!'!&'*!2>5'  !#5'&+-O#&"'/0!+!+0! 2U>'!&#&')*+ '* # *&*2U "1+!*+#(:6)+@&''!&!&+'S-A'+&+0#&#!'*2U"1+!*+#( :#&!#+#&/)#"*+&)&++*!Â&#x2021;Â&#x2021;Â&#x2C6;Â&#x2030;Â&#x2C6;Â&#x160; E&&!!* # 5' 0! 2M>'!&#&!*"+&#!')*+ '* # * &*2M "1+!*+#(<6)+@&#&+'"#!&+'**Â&#x2021;Â&#x2C6;-A'+&+0&#!'&!+"#P& *2M "1+!*+#(<#&!#+#&/)#"*+&)&++*!Â&#x2021;Â&#x2030;Â&#x2C6;Â&#x2021;Â&#x2039;Â&#x2C6;Â&#x160;(#+#&!*'E&#&+0**/ 6)*&3'!'!&#&!#5'&+Â&#x2021;Â&#x2030;Â&#x2C6;Â&#x2021;Â&#x2039;Â&#x2021;Â&#x2C6;Â&#x2C6;Â&#x152;Â&#x152;Â&#x152;Â&#x2021;Â?Â&#x2C6;Â&#x17D;Â?Â?Â&#x2018;Â?Â&#x2019;Â&#x201C;Â&#x201D;Â&#x2022;Â&#x2013;Â&#x201C;Â&#x2014;Â&#x2DC;Â&#x201D;Â&#x201C;Â&#x2122;Â&#x161;Â&#x201C;


234567893 68  ! (")+# $%&&'%$#  )* , ,

0

1$"#2  -'.$#$/  ( *+

 ## ##  )3) )4 5.  ," #6 78728722/8 722:::;38  / 9 ::: ; <  = : >2?= : >22/?= :::>22:::2;3?=A = =>2?=/=>22/?=9=>22/29?= ;=@= =/=:::;= B'  , C D&'  #  E &%&F# ,&#$%  $; 

 #$%/ %G$FHI#(& J &'#  ))*+, K&()3)  # + * ,

2 % /  ## $#  5 .% #  #&,)4 & # 78728 722:::2;38 A =/= ; =:::;=  / ::: E ####%##L #   F  % MHI$%N % #  F #  ,&#MHI$%NH

OPQRSTUVWXWYWZ[\[]^_`abcd^eafbg^d[_hid[jbdck]^_`k\`^`bdcb_b`bgba\^g[a\blbdbebg[mn `bdcb_opb]^_b`bq`aqbdg[`ab\cb_r^d]b_gk_ck\cb__[ja[g[\d[jbdckdosbdb[_c^h`^\_kg[db]^_qb_ `bdcb_`^]^qb_l^qb_hbqb_ta[ubita[gk_cdklakd[\v`beb_wmj^d`bgba\^g[q^_eafbg^d[_hia\b tak\cbj^dqb_0@`bdcb_ta[ta[gb\_k\d[jbdckdo x[cdbcb[\c^\`[_g[gk_cdklakdmn^le[c^_gk_ck\faklq[_[\`k\`^`beb_cb]lky\gk_ck\faklq[_hg[r^d]b ta[[\qb_`abcd^jdk][db_ubibv^le[c^_i[\qbzqck]bubib0@o{q\z][d^g[r^d]b_g[ub`[dq^[_ |@= v=v=v=v=0@=A!}!~!Â&#x20AC;!~v@Â&#x20AC;Â&#x20AC;v0~v !}Â&#x20AC;@ 01

Â&#x201A;QÂ&#x192;Â&#x201E;Â&#x2026;Â&#x2020;Â&#x2026;Â&#x2021;Â&#x201E;VÂ&#x2C6;Wx[bÂ&#x2030;Â&#x160;hiÂ&#x2039;/Â&#x2039;:::Â&#x2039;;Â&#x2030;Â&#x160;cbq[_ta[Â&#x152;/Â&#x152;:::Â&#x152;;Aox[g[Â?\[[q`^[Â?`k[\c[ ]aqck\^]kbq()* )4)Â&#x17D;Â&#x17D;Â&#x17D;)Â?+`^]^ 7  8A =  / :::; =/=:::;= D#FA0&( ) +A()+A()+ D# `^[Â?`k[\c[_lk\^]kbq[_

)* )4

)*

)4

D $.#L #6 Â?QRÂ&#x2018;VWXWYWx[bÂ&#x2030;Â&#x160;hiÂ&#x2039;/Â&#x2039;:::Â&#x2039;; cbq[_ta[Â&#x152;/Â&#x152;:::Â&#x152;;AÂ&#x152;!o{\c^\`[_ 8 7 Â&#x152;! 8 Â&#x2019;; 7  A  / :::; NÂ&#x201C;  / :::N2!:::; Â&#x201D;_kjbdbbqfz\Â&#x2022;[\cd[!iFhÂ&#x2013;ra[dbkfabqb`[d^h[q_a]b\g^jbdbMAÂ&#x2022;Â&#x2014;bqgdÂ&#x2DC;bkfabq][\c[`[d^Â&#x2122;o Â&#x161;Â&#x203A;Â&#x153;Â?Â&#x17E;Â&#x;Â? Â&#x203A;ÂĄÂ&#x;¢£Â&#x203A;¤¼ŒÂ&#x203A;§Â&#x17E;Â?


01213456789 4 !"# $ % ,-$ % ,-...-$ % ,/ %&'(%) ***%+ %& %)'(***%+ %& %) ***%+'( %0 %0 / 1%&'(2%0 0%)0***%+0- %&01%)'(20***%+0-...- %&0%)0***1%+'(20/ % %0 % %0 / %&0%%)&0%0 ***%+0- %&0%))0***%+0-...- %&0%)+0***%+0/ 1%3(20 )3***3%+2%0 / 1%&3% %&0%)0***%+0 / %&0%)0***%+0/ , / $%& %%3( ) ***%+



4

567869:;<=<>?@ABCDE#F!AC DFG<HIJKKJLMNO(POQP...OR SITUM VWXSYLZ[J ` X a% % % \O(-OQ-...-OR]% / ^ O(&OQ) ...OR+ X . . .X X ( Q R %&3%)3***3%+_% bDcCAdBDef!FDgDBCAdhAB!c#eef!ijDBDX/kFBd#FDcAdeBAlh#dce dChFC!"# \O(-OQ-...-O%](/O(-OQ-...-O% h#dFDdm!eDdnABCDdchA!BkeACAd#CDco!mCBAd!D#BDFddk-p-...-p?"#cDF#qDBDF d#CD!cAO(Glp-k-...-p?"#cDF#qDBDFd#CD!cAOQGrDdsd#edtDC!i #hA!qDCAd"#FBd#FDcAdeBAhDBD#!uhA!!XrtDCAdDcCAdBDBFAhDBDX-kiv!A!ed d!"# \O(-OQ-...-OR]%3(/\O(-OQ-...-OR]%\O(-OQ-...-OR]/w.\O(-OQ-...-OR] cA!cw/\O(-OQ-...-OR]%i xDcAdX(PXQP%3( ...XR SYDFd"#X(-XQ-...-XR /%&X-k l FeA%+ye%!&c O%(&O%%Q+) ...O%R+ ! '( % % '( ) ) -OR] dAz!cB{d#CD!cAFAdeAye!dcO OQ ...O$R lO( %OQ .,..$OR rD%dsgDdD, \O%(&-O Q-... !dtDF! % '(% ***% l % % '(***% O($O%Q) ..%.O%R+'(,!wijABghfddc!c#eef!ldAdeA$ye(%3( r %& %) ***%+'( lrd#d#CDldqm!FFCDhBec!d %& %) ***%+,i 4 & ) + & ) + '(, |}69~7;<=<€<UK‚VJWƒVW$„3„ „'( / kp…W…JW‚ JKT† ‚-p-p ‡-k-p ‡-p-k k-‡-p k-k-k k-p-‡ p-‚-p p-‡-k p-k-‡ p-p-‚ ˆMKWKKW\O-‰-Š]„ VkpJWTUKWKK ‚‹ O„‰ŒŠŒ- ‚‹ OQ‰(ŠŒ- ‚‹ OQ‰ŒŠ(- ‚‹ O(‰QŠŒ- ‚‹ O(‰(Š(‚‹p‹p‹ ‡‹k‹p‹ ‡‹p‹k‹ k‹‡‹p‹ k‹k‹k‹ -k‹p‚‹‹‡‹O(‰ŒŠQ- p‹‚‚‹‹p‹OŒ‰„ŠŒ- p‹‡‚‹‹k‹OŒ‰QŠ(- p‹k‚‹‹‡‹OŒ‰(ŠQ- p‹p‚‹‹‚‹OŒ‰ŒŠ„ WM \O-‰-Š]„/O„-‚OQ‰-‚OQŠ-‚O‰Q-O‰Š-‚OŠQ-‰„-‚‰QŠ-‚‰ŠQ-Š„ vFABCDC#F!AC DF!DCzŽ!#!DcCAdBDef!eACz!DABDi \O(-OQ-...-OR]% /\O(-OQ-. ‘..-OR’]\O(-OQ-. ‘..-OR’]...\O(-OQ-. ‘..-OR’] “&

“)

•–—˜—™š›œšžŸ›š ¡š

“”


234567893 68  -./!"#"$  !!

  %&$!!    % ' ()  %*+"$,$      0$  $!  1 $ $

  $2) '"3!) "4 56$"!  &56$ "!   ' (!$6 * + ,6 &"3!) '3!) $6 $!     7#!  !" 8= 98%?:%::% ;$ 9  4!"1:::2<' 3!#! ) $  7* - . >>>/ 7   011

@ABCDECFAGEHIAJKLAMDC


Fundamentos logicos ´ de la programacion ´ J. I. Garc´ıa Garc´ıa P. A. Garc´ıa S´anchez J. M. Urbano Blanco ´ D  A, U  G


CAP´ıTULO 1

Introduccion ´ Todo el mundo tiene una idea intuitiva y natural sobre el significado de la palabra “logica”. En el discurso cotidiano o´ımos expresiones tales como “´esto ´ es logico” y “tal cosa no tiene logica”. Segun ´ ´ ´ esta idea se designa como logico ´ al pensamiento correcto y coherente con determinados principios o valores. Toda persona (y quiz´a algunos animales) tiene una logica natural y un sentido ´ comun ´ que le conduce en su pensamiento y le ayuda a tomar decisiones. Ya las civilizaciones de la Antiguedad y principalmente los griegos se preocuparon ¨ por el estudio del razonamiento; estos ultimos designaron como “las cosas ´ logicas” a aquella ciencia o tratado que versaba sobre el pensamiento en s´ı, ´ sobre sus formas y leyes. As´ı la logica es la ciencia o disciplina que estudia de ´ manera formal y rigurosa los m´etodos y principios del razonamiento. Los seres humanos nos expresamos y comunicamos mediante el uso de los denominados ´ lenguajes naturales. Estos son inapropiados para el estudio de la logica ya que ´ est´an llenos de redundancias, ambiguedades y adem´as contienen aspectos muy ¨ dif´ıciles de formalizar; adem´as frases tales como preguntas y ordenes carecen ´ de un valor de verdad. Por ello se requiere la confeccion ´ de un lenguaje formal que contando con ciertas reglas expl´ıcitas permita formar enunciados. A pesar de que la logica es una materia que no requiere una gran base o experiencia para ´ su estudio, es muy importante la representacion ´ que se adopte en el proceso de formalizacion ´ y estudio de la misma. Desafortunadamente, una de las primeras dificultades en el estudio de la logica es la existencia de diferentes simbolog´ıas. ´ La falta de uniformidad en la notacion ´ empleada por parte de los distintos autores complica a veces la comprension ´ de los textos existentes. Nosotros hemos intentado seguir en estas notas aquellas notaciones y nomenclaturas que a nuestro parecer se adaptan mejor a los alumnos a los que van dirigidas. El objetivo del curso es el de presentar algoritmos y procedimientos para la deduccion ´ autom´atica de un determinado hecho a partir de una base de conocimientos prefijada. La consecucion la vamos a secuenciar ´ de este proposito ´ de la siguiente forma. El primer tema de este curso ser´a el estudio de la logica de proposiciones, ´ en la cual existen unos enunciados atomicos o indivisibles, los cuales pueden ´ tener un valor de verdad verdadero o falso, y que se combinar´an mediante ciertas reglas para producir nuevos enunciados. Dos cuestiones nos van a interesar en este tema: el aspecto sem´antico en el cual se relaciona el valor de 1


2

´ 1. INTRODUCCION

verdad de los nuevos enunciados con los valores de verdad de aquellos de los que procede, y el aspecto sint´actico en el cual nos centramos principalmente en las reglas que rigen la obtencion ´ de nuevas verdades a partir de otras ya conocidas o supuestas. En este primer tema se da la aproximacion ´ m´as burda a la resolucion ´ del problema de obtener consecuencias a partir de una base de hechos conocidos. Eso no impide que sirva de base a las herramientas que se presentar´an m´as adelante en el curso. Precisamente por haber empezado con una aproximacion ´ tan simple, veremos que existen situaciones en las cuales la logica de proposiciones no resulta adecuada, sobre todo cuando hemos de ´ tener en cuenta la estructura interna de las frases del lenguaje natural. Para solventar estos problemas introduciremos la logica de predicados de primer ´ orden que ampl´ıa o extiende a la logica de proposiciones mediante el uso de ´ los cuantificadores, t´erminos y predicados, as´ı como una vision ´ m´as completa acerca de las interpretaciones de los enunciados. Pondremos especial e´ nfasis en la idea de consecuencia logica (que es el nucleo y motor del curso) y de incon´ ´ sistencia de un conjunto de formulas; y veremos como el hecho de estudiar que ´ ´ una formula (enunciado) es consecuencia logica de un conjunto de enunciados ´ ´ dados es equivalente a probar que un determinado conjunto es inconsistente. En el siguiente tema nos preocupamos de ver que la inconsistencia de un conjunto de formulas se preserva si hacemos una serie de transformaciones ´ en las formulas que lo componen. Estas transformaciones tienen como obje´ tivo la simplificacion ´ y normalizacion ´ de los enunciados que intervienen en el problema original. Una vez que reduzcamos al m´aximo (lo que se traduce en la pr´actica en desmenuzar al m´aximo los enunciados originales), presentaremos en el siguiente cap´ıtulo t´ecnicas para probar la inconsistencia de un determinado conjunto de formulas ya normalizadas. Por ultimo, haremos una ´ ´ pequena ˜ introduccion ´ del tipo de resolucion ´ conocido como resolucion ´ PROLOG, centr´andonos en la estrecha relacion ´ que tiene con lo estudiado a lo largo del curso. Creemos que el profesional de la inform´atica ha de tener un conocimiento solido y claro de la logica como herramienta de ayuda en su toma de decisiones ´ ´ y en la implementacion ´ de aplicaciones diversas. Las conexiones de la misma con temas tales como Teor´ıa de Automatas, Circuitos Digitales, Bases de Datos, ´ Verificacion ´ de Programas, Inteligencia Artificial, etc son patentes y por tanto justifican m´as que de sobra la inclusion en el curr´ıculum de los ´ de la logica ´ estudios de inform´atica.


CAP´ıTULO 2

Logica ´ proposicional 1.

Enunciados y conectivas

El objetivo de la Logica es el estudio de las deducciones. Deducciones que ´ se hacen a partir de un conjunto de afirmaciones o enunciados dados. Por enunciado vamos a entender una frase que sea susceptible de ser verdadera o falsa. En una primera aproximacion ´ solo ´ vamos a tener en cuenta que un enunciado puede estar formado por otros enunciados que est´an conectados entre s´ı, siendo el valor de verdad del enunciado en cuestion ´ dependiente directamente de los valores que tengan los enunciados que lo componen. As´ı, por ejemplo, el enunciado “este cap´ıtulo es interesant´ısimo y el d´ıa est´a nublado” ser´a cierto s´ı y solamente s´ı los enunciados “este cap´ıtulo es interesant´ısimo” y “el d´ıa est´a nublado” son ambos ciertos. Si alguna de las dos cosas falla entonces el enunciado es falso. En este ejemplo, la part´ıcula y es la que conecta dos enunciados para formar uno nuevo. A estas part´ıculas las vamos a llamar conectivas u operadores l´ogicos. Las conectivas m´as importantes que vamos a usar aparecen en los siguientes ejemplos. 1. 2. 3. 4. 5. 6.

Es tarde y viene lloviendo. Comes o hablas. Vas a la playa o a la montana. ˜ Si viene tu hermano, (entonces) haremos una fiesta. Pepe canta cuando viene Mar´ıa (si viene Mar´ıa, entonces Pepe canta). No vamos a la playa.

Como estos ejemplos ponen de manifiesto, estas conectivas pueden aparecer escritas de forma distinta. Una implicacion ´ no tiene por qu´e aparecer en la forma “Si algo entonces otra cosa”, puede aparecer como “algo implica otra cosa”. Lo mismo pasa con el resto de las conectivas. Simbolizaremos los enunciados usando simplemente una letra. Aparte, vamos a escoger un s´ımbolo para cada una de las conectivas: para el y usaremos ∧; para el o, ∨; para la negacion ´ ¬; y para la implicacion ´ →. (Algunas veces usaremos la conectiva que significa equivalencia y la denotaremos por ↔.) De esta forma al enunciado “es tarde y viene lloviendo” lo podemos simbolizar por p∧q, siendo p “es tarde” y q “viene lloviendo”. Un enunciado que no est´e compuesto de otros enunciados es un enunciado at´omico. 3


4

´ 2. LOGICA PROPOSICIONAL

Tomamos un conjunto {p1 , p2 , . . . pn , . . .} a cuyos elementos vamos a llamar proposiciones atomicas ´ o variables proposicionales (las cuales se usan para simbolizar enunciados atomicos). ´ Una proposicion ´ la definimos recursivamente de la siguiente forma. 1. Toda proposicion es una proposicion. ´ atomica ´ ´ 2. Si α y β son dos proposiciones, entonces ¬α, α∧β, α∨β, α → β y α ↔ β tambi´en son proposiciones. 3. No hay m´as proposiciones que las generadas aplicando un numero ´ finito de veces las reglas anteriores. Debemos matizar que las reglas anteriores para definir proposiciones han de ir acompanadas de unas reglas adicionales de precedencia entre conectivas, ˜ as´ı como el uso de par´entesis para evitar ambiguedades. Tomamos el convenio ¨ de que la negacion ´ tiene precedencia sobre el resto de las conectivas, que la conjuncion ´ y la disyuncion ´ tienen igual precedencia y ambas tienen m´as precedencia que la implicacion. ´ De esta manera, al escribir a → b∧c estamos refiri´endonos a la proposicion ´ a → (b∧c) y no a (a → b)∧c. Convenimos adem´as que el s´ı y s´olo si (↔) es la conectiva con menos precedencia. Se deben usar tambi´en par´entesis cuando nos encontramos con operadores con la misma precedencia. Si aparece escrito a → b → c con a, b y c proposiciones, entonces tenemos que matizar si nos referimos a a → (b → c) o a (a → b) → c (ya que ambas son proposiciones distintas; hay por tanto que especificar claramente cu´al es la premisa y cu´al es la consecuencia en una implicacion). ´ Lo mismo ocurre si escribimos a∧b∨c, ya que al no haber par´entesis, no sabemos si es una conjuncion ´ (y) de dos proposiciones o una disyuncion ´ (o). Al igual que antes, las proposiciones a∧(b∨c) y (a∧b)∨c son distintas, y la expresion ´ a∧b∨c no es una proposicion. ´ Hacemos constar que existen otras notaciones en las cuales se elimina la ambiguedad sin recurrir a los par´entesis. Por ejemplo esto ocurre con la no¨ tacion y logico polaco J. Lukasiewicz, ´ polaca o prefija (en honor al filosofo ´ ´ 1878-1956), en la cual las conectivas u operadores preceden a los argumentos a los que se aplican. Si bien esta escritura resulta propicia para implementaciones en un ordenador, da como resultado expresiones de dif´ıcil lectura para un ser humano. 2.

Interpretaciones

Dada una proposicion ´ a, e´ sta simbolizar´a un determinado enunciado. En principio su valor de verdad depende del valor de verdad de los enunciados atomicos que la componen, y de las conectivas que en e´ l aparecen. En lo que ´ sigue, y por razones de simplicidad, vamos a denotar verdadero por 1 y falso por 0. Hemos escogido como conectivas ¬, ∧, ∨, → y ↔. Precisemos un poco m´as qu´e valor sem´antico les vamos a proporcionar, a saber, vamos a interpretar el


2. INTERPRETACIONES

5

valor que para nosotros tienen dichas conectivas. Supongamos que a y b son dos proposiciones. 1. ¬a es cierto si y solo ´ si a es falso. 2. a∧b es cierto si y solo ´ si a y b son los dos ciertos. 3. a∨b es cierto si y solo que en el lenguaje ´ si al menos a o´ b es cierto. Notese ´ hablado el o que se utiliza en la mayor parte de las ocasiones es distinto (ver los ejemplos de la seccion ´ anterior). El o de dos enunciados es cierto cuando alguno de ellos es cierto, pero no se contempla, en general, como cierto cuando ambos son ciertos. De esta forma el o del lenguaje hablado es un o exclusivo, en el sentido que excluye la posibilidad de que las dos enunciados sean ciertos a la vez. El o que hemos adoptado se conoce como o inclusivo. 4. a → b es falso solo ´ cuando a es cierto y b es falso (verdadero en el resto de los casos). 5. a ↔ b es cierto si y solo ´ si ambos son ciertos o ambos son falsos. Podemos esquematizar lo dicho en las siguientes tablas: ¬ 0 1 1 0

∧ 0 1 0 0 0 1 0 1

∨ 0 1 0 0 1 1 1 1

→ 0 1 0 1 1 1 0 1

↔ 0 1 0 1 0 . 1 0 1

La primera columna simboliza el valor de verdad de a y la primera fila (salvo en el caso de la negacion) ´ el de b. E 1. Comprueba que 1. a∧b ≡ ¬(¬a∨¬b), 2. a∨b ≡ ¬(¬a∧¬b), 3. a → b ≡ ¬a∨b, 4. a ↔ b ≡ (a → b)∧(b → a), donde ≡ significa “tiene el mismo valor de verdad que”. A la vista de este ejercicio, podr´ıamos haber introducido nada m´as que las conectivas ¬ y ∨, definiendo despu´es el resto en funcion ´ de ellas. Lo mismo ocurre con el ¬ y el ∧, y con otros conjuntos de conectivas. Un conjunto de conectivas verificando esta propiedad se conoce como conjunto de operadores funcionalemente completo. Existen adem´as otras posibilidades a la hora de elegir las conectivas b´asicas, como puede ser considerar el o exclusivo (∨), la negaci´on del o (NOR) o la negaci´on del y (NAND). E 2. ¿Cu´al es la expresion ´ del o exclusivo en funcion ´ de ¬ y ∨? Recordemos que Z2 es el cuerpo de los enteros modulo 2, a saber, el conjunto de los restos posibles al hacer la division ´ de un entero por 2. As´ı, el 0 denota el conjunto de todos los enteros pares y 1 el de los impares. Las dos operaciones


6

´ 2. LOGICA PROPOSICIONAL

que dan estructura de cuerpo a Z2 son aquellas que hereda del anillo de los enteros Z, y e´ stas son la suma y la multiplicacion. ´ Sus tablas de operar son las siguientes. + 0 1 × 0 1 0 0 1 0 0 0 1 1 0 1 0 1 Notese que la tabla de multiplicar es la misma que la “tabla” del conector ´ ∧. Sin embargo, la tabla de sumar no es la misma que la de ∨, pero solo ´ se diferencia en que 1 + 1 = 0 mientras que el o de dos proposiciones ciertas lo hemos interpretado como cierto. (De hecho, la tabla de sumar corresponde con el o exclusivo.) Para conseguir la tabla del conector ∨ debemos “sumar” o superponer las tablas de la suma y la multiplicacion, ´ con lo que queda que el valor de verdad de a ∨ b es la suma de los valores de a y b m´as el producto de sus valores de verdad (donde las cuentas de suma y producto se hacen modulo ´ 2). Es f´acil observar que el valor que tome ¬a es el resultado de sumarle al valor de a el 1. El lector puede hacer uso de lo probado en el segundo apartado del Ejercicio 1, para corroborar la formula que hemos obtenido antes del valor ´ de verdad de a∨b. De forma an´aloga, pero ahora usando el tercer apartado de dicho ejercicio, se puede deducir la expresion ´ de → en funcion ´ de la suma y el producto usando que a → b ≡ ¬a ∨ b. Por lo que el valor de verdad de a → b se calcula sumando 1 al valor de a y al producto de los valores de a y b. Por ultimo, ´ es f´acil deducir que el valor de verdad de a ↔ b es la suma de los valores de a, b y 1. Al realizar los c´alculos anteriores hay que tener en cuenta que para todo x ∈ Z2 se verifica que x2 = x y x + x = 2x = 0. Queda patente que nuestra eleccion ´ de denotar cierto o verdadero por 1 y falso por 0 no era arbitraria, ya que de esta forma podemos expresar los valores que hemos dado a las conectivas en funcion ´ de la suma y multiplicacion ´ en Z2 . Lo visto hasta ahora en esta seccion ´ motiva la siguiente definicion. ´ Una interpretacion ´ es una aplicacion ´ I que va del conjunto de las proposiciones en Z2 = {0, 1} y que cumple las siguientes propiedades: 1. I(¬a) = 1 + I(a), 2. I(a∨b) = I(a) + I(b) + I(a)I(b), 3. I(a∧b) = I(a)I(b), 4. I(a → b) = 1 + I(a) + I(a)I(b), 5. I(a↔b) = 1 + I(a) + I(b). Dada una proposicion ´ p, si I(p) = 1 (respectivamente I(a) = 0), diremos que p es cierta (respectivamente falsa) bajo la interpretacion ´ I, o bien que I interpreta a p como cierta (respectivamente falsa). Si I(p) = 1 tambi´en se dice que I satisface a p. El lector puede observar que el valor que toma una interpretacion ´ I para cualquier proposicion ´ depende exclusivamente del valor que toma I en las


2. INTERPRETACIONES

7

proposiciones atomicas, o dicho de otra forma, si dos interpretaciones toman ´ el mismo valor para cualquier proposicion entonces son la misma ´ atomica, ´ interpretacion. ´ As´ı pues, dar una interpretacion ´ no es m´as que asignar un valor de verdad a cada proposicion, ´ y como las conectivas tienen asignado un determinado valor sem´antico, dicho valor de verdad depender´a de como ´ interpretemos las proposiciones atomicas. ´ E 1. Sea I una interpretacion ´ tal que I(a) = I(b) = I(c) = 1. Bajo esta interpretacion ´ interpretamos (y valga la redundancia) la proposicion ´ a ∨ (b ∧ c). Tenemos I(a ∨ (b ∧ c)) = I(a) + I(b ∧ c) + I(a)I(b ∧ c) = I(a) + I(b)I(c) + I(a)I(b)I(c) = 1 + 1 × 1 + 1 × 1 × 1 = 1, o sea, bajo la interpretacion ´ I, la proposicion ´ a ∨ (b ∧ c) es cierta.



E 2. Si α → β es falsa bajo una determinada interpretacion ´ I, ¿qu´e podemos decir sobre el valor de verdad de δ = (α → (γ → β))∨¬((α∧γ) → (¬β∨γ))? Observamos que I(α → β) = 0 si y solo ´ si I(α) = 1 y I(β) = 0. Desarrollando I(δ) y substituyendo I(α) e I(β) por su valor, obtenemos que I(δ) = 1 + I(γ). Concluimos que bajo la interpretacion ´ I el valor de verdad de δ coincidir´a con aquel que tenga ¬γ.  Dada una proposicion, de combinaciones distintas de los valores ´ el numero ´ de verdad de las proposiciones atomicas que la componen es finito, de hecho, ´ si en dicha proposicion el numero de ´ intervienen n proposiciones atomicas, ´ ´ n esas combinaciones es 2 . As´ı, el numero de interpretaciones posibles de dicha ´ proposicion ´ es a lo sumo 2n , y si las ponemos todas juntas obtenemos lo que se conoce como la tabla de verdad de la proposicion ´ dada. Por ejemplo, la tabla de verdad de (a ∨ b) ∧ b es a 0 0 1 1

b a∨b (a ∨ b) ∧ b 0 0 0 1 1 1 0 1 0 1 1 1

(la segunda columna corresponde a un c´alculo intermedio, por lo que en esta tabla est´a tambi´en incluida la tabla de verdad de a∨b). Dos proposiciones a y b son logicamente ´ equivalentes si tienen el mismo valor de verdad bajo cualquier interpretacion ´ (hecho que denot´abamos hasta ahora por a ≡ b).


´ 2. LOGICA PROPOSICIONAL

8

3.

Tautolog´ıas y contradicciones

Existen proposiciones que son ciertas sea cual sea el valor de verdad de las proposiciones atomicas que la conforman. Por otro lado tambi´en existen pro´ posiciones que son siempre falsas bajo cualquier interpretacion. ´ Por ejemplo, si I es una interpretacion ´ arbitraria, I(a → (b → a)) = 1 + I(a) + I(a)I(b → a) = 1 + I(a) + I(a)(1 + I(b) + I(a)I(b)) = 1 + I(a) + I(a) + I(a)I(b) + I(a)I(b)2 = 1, lo que quiere decir que el valor de verdad de a → (b → a) es verdadero independientemente de los valores de verdad de a y b. Por el contrario a∧(¬a) es siempre falsa bajo cualquier interpretacion. ´ Una proposicion ´ es una tautolog´ıa cuando es cierta bajo cualquier interpretacion. ´ Lo contrario de tautolog´ıa es que exista una interpretacion ´ bajo la cual la proposicion ´ sea falsa. En este caso diremos que la proposicion ´ es refutable. Una proposicion ´ cuando ¬p es una tautolog´ıa. Lo ´ p es una contradiccion contrario de ser una contradiccion ´ es ser satisfacible, a saber, si existe una interpretacion ´ bajo la cual es cierta. E 3. La proposicion ´ a → (b → a) es una tautolog´ıa. La proposicion ´ a ∨ b es satisfacible y refutable. La proposicion ´ a ∧ ¬a es una contradiccion. ´ Si a y b son logicamente equivalentes, entonces a↔b es una tautolog´ıa. ´



En el siguiente ejercicio se muestran algunas tautolog´ıas con nombre propio. No es nuestro proposito mencionarlas todas, sino hacer que el lector ejercite ´ un poco el c´alculo de interpretaciones. E 3. Demuestra que las siguientes proposiciones son tautolog´ıas. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

Ley de doble negacion: ´ ¬¬a → a. Leyes de simplificacion: ´ (a ∧ b) → a, a → (a ∨ b). Ley de conmutatividad de la conjuncion: ´ (a ∧ b) → (b ∧ a). Ley de conmutatividad de la disyuncion: ´ (a ∨ b) → (b ∨ a). Ley de Clavius: (¬a → a) → a. Ley de De Morgan: ¬(a ∧ b) → (¬a ∨ ¬b). Segunda ley de De Morgan: ¬(a ∨ b) → (¬a ∧ ¬b). Ley de inferencia alternativa: ((a ∨ b) ∧ ¬a) → b. Segunda ley de inferencia alternativa:((a ∨ b) ∧ ¬b) → a. Modus ponendo ponens:((a → b) ∧ a) → b. Modus tollendo tollens:((a → b) ∧ ¬b) → ¬a.


´ 4. CONSECUENCIA LOGICA

4.

9

Consecuencia logica ´

Supongamos que sabemos que son ciertas las siguientes afirmaciones: 1. Si llueve, Pepe se pone contento. 2. Est´a lloviendo. Est´a claro que, a partir de estas afirmaciones, podemos deducir que Pepe se va a poner contento. El hecho de poder afirmar que Pepe se ponga contento es una “consecuencia logica” de los dos hechos que ya conoc´ıamos. Describa´ mos el ejemplo anterior de otra forma. Sean a y b dos proposiciones e I una interpretacion ´ tal que I(a) = I(a → b) = 1. Usando las propiedades que debe cumplir I, tenemos que 1 = 1 + I(a) + I(a)I(b), y substituyendo el valor de I(a) en esta igualdad, obtenemos que 1 = 1 + 1 + 1 × I(b), de lo que concluimos que I(b) = 1. Dicho de otra forma, si se interpretan a y a → b como ciertas, a la fuerza b tambi´en es cierta. Dado un conjunto de proposiciones Γ ∪ {α}, decimos que α es consecuencia logica ´ de Γ, o que Γ implica sem´anticamente a α, y lo denotaremos por Γ |= α, si para toda interpretacion ´ bajo la cual todas las proposiciones de Γ son ciertas, se tiene que α tambi´en es cierta bajo esa interpretacion. ´ Si Γ = ∅, escribimos |= α en lugar de ∅ |= α. El lector deber´ıa comprobar que escribir |= α equivale a decir que α es una tautolog´ıa. Segun de {a → b, a}, y lo denotamos ´ esta definicion, ´ b es consecuencia logica ´ {a → b, a} |= b. Abusando un poco de la notacion, ´ a veces tambi´en escribiremos a → b, a |= b. El siguiente ejercicio nos permite decidir cuando una proposicion ´ es consecuencia logica de un conjunto dada. ´ E 4. Dado un conjunto de proposiciones Γ ∪ {α}, son equivalentes: Γ |= α, para toda interpretacion ´ I, Y ( I(β))(1 + I(α)) = 0. β∈Γ

S. I, entonces todas las ´ arbitraria ´ Si tomamos una interpretacion Q proposiciones de Γ son ciertas bajo I si y solo ´ s´ı β∈Γ I(β) = 1 (esto se debe a que estamos haciendo las cuentas en Z2 ), y el que e´ sto fuerce que I(α) = 1, se puede escribir como Y I(β))(1 + I(α)) = 0,

(

β∈Γ

ya que el producto es cero si y solo ´ si uno de los dos factores es cero, y en caso de que sea el primero, entonces I no es una interpretacion ´ bajo la cual


´ 2. LOGICA PROPOSICIONAL

10

todas las proposiciones de Γ son ciertas. As´ı pues, si I hace ciertas todas las proposiciones de Γ, el primer factor debe ser uno, y para que el producto sea cero, tenemos que 1 + I(α) = 0, o equivalentemente, I(α) = 1.  Hacemos notar que la consecuencia logica tambi´en puede verse utilizando ´ tablas de verdad. E 4. Resolver {p∨q → r, ¬r} |= ¬q aplicando el criterio dado en el ejercicio anterior y usando tablas de verdad. Otro criterio que nos va a facilitar la tarea de comprobar la implicacion ´ sem´antica es el siguiente. R 1 (Teorema de la deduccion). Dado un conjunto de proposiciones ´ Γ ∪ {α, β}, las siguientes afirmaciones son equivalentes: (1) Γ ∪ {α} |= β, (2) Γ |= α → β. D. ´ tal que I(γ) = 1 para ´ (1) implica (2). Sea I una interpretacion todo γ ∈ Γ. Tenemos que probar que I(α → β) = 1. Distinguimos dos casos, dependiendo del valor de verdad de α bajo la interpretacion ´ I. Si I(α) = 0, entonces I(α → β) = 1 + 0 + 0 × I(β) = 1. Si I(α) = 1, entonces I(γ) = 1 para todo γ ∈ Γ ∪ {α}, y por (1), esto significa que I(β) = 1. De esta forma I(α → β) = 1 + 1 + 1 × 1 = 1. (2) implica (1). Supongamos que I es una interpretacion ´ tal que I(γ) = 1 para todo γ ∈ Γ ∪ {α}. Tenemos que demostrar que I(β) = 1. Por hipotesis, ´ tenemos que en particular I(γ) = 1 para todo γ ∈ Γ. Usando (2), esto lleva a que I(α → β) = 1. Ahora bien, tambi´en por hipotesis sabemos que I(α) = 1, por lo ´ que 1 = I(α → β) = 1 + 1 + 1 × I(β) y en consequencia I(β) = 1.  Veamos con algunos ejemplos como se puede utilizar este resultado. ´ E 5. Supongamos que nos piden probar que para cualesquiera dos proposiciones a, b y c, la proposicion ´ (a → (b → c)) → ((a → b) → (a → b)) es una tautolog´ıa, o lo que es lo mismo, demostrar que |= (a → (b → c)) → ((a → b) → (a → c)). Usando el Teorema de la deduccion ´ e´ sto es equivalente a probar que {a → (b → c)} |= (a → b) → (a → c), que a su vez equivale a {a → (b → c), a → b} |= a → c, y e´ sto ultimo es lo mismo que ´ {a → (b → c), a → b, a} |= c.


´ 4. CONSECUENCIA LOGICA

11

Sea ahora I una interpretacion ´ tal que I(a → (b → c)) = 1, I(a → b) = 1, I(a) = 1. Entonces 1 = I(a → b) = 1 + 1 + 1 × I(b), por lo que I(b) = 1. Substituyendo I(a) e I(b) en 1 = I(a → (b → c)), obtenemos que 1 = 1 + 1 + 1 × I(b → c) = 1 + 1 + 1 × I(c), por lo que I(c) = 1. Si hubi´esemos usado directamente la definicion ´ de tautolog´ıa, tendr´ıamos que haber demostrado que I((a → (b → c)) → ((a → b) → (a → c))) = 1 para cualquier interpretacion  ´ I, lo cual es bastante tedioso (int´entese). E 6. Probemos ahora que |= (¬a → ¬b) → ((¬a → b) → a). Segun ´ el Teorema de la deduccion ´ (usado dos veces), esto es equivalente a probar que {¬a → ¬b, ¬a → b} |= a. Sea pues I una interpretacion ´ tal que I(¬a → ¬b) = I(¬a → b) = 1. Entonces I(¬a → ¬b) = 1 + I(¬a) + I(¬a)I(¬b) = I(a) + (1 + I(a))(1 + I(b)) = I(a) + 1 + I(a) + I(b) + I(a)I(b) = 1 + I(b) + I(a)I(b) I(¬a → b) = 1 + I(¬a) + I(¬a)I(b) = I(a) + (1 + I(a))I(b) = I(a) + I(b) + I(a)I(b), por lo que 1 + I(b) + I(a)I(b) = I(a) + I(b) + I(a)I(b). Cancelando en ambas partes de la igualdad concluimos que I(a) = 1.  E 7. Demostremos que ((α → β) → α) → α es una tautolog´ıa. El problema se puede resolver f´acilmente comprobando que la tabla de dicha proposicion ´ est´a formada ´ıntegramente por unos: α 0 0 1 1

β α → β (α → β) → α ((α → β) → α) → α 0 1 0 1 1 1 0 1 0 0 1 1 1 1 1 1

El lector deber´ıa intentar resolver el problema usando el teorema de la deduccion,  ´ comparando en este caso cu´al de los m´etodos es m´as r´apido. E 8. Sobre cuatro cin´efilos A, B, C y D, habitantes de Rarilandia, pais con un solo ´ un cine de una sola sala, se sabe lo siguiente: Si A decide ir al cine, B tambi´en ir´a. Sobre C y D se sabe que no les gusta ver una misma pel´ıcula juntos. B y C, o van al cine juntos, o no va ninguno de los dos. Si A no va al cine, entonces B y D s´ı quieren ir. ¿Quienes estar´an en el cine esta noche? Si X es un individuo, representaremos por x la proposicion ´ “X va al cine”. De esta forma la informacion ´ dada en el enunciado se puede representar como:


´ 2. LOGICA PROPOSICIONAL

12

“Si A decide ir al cine, B tambi´en ir´a”: a → b. “Sobre C y D se sabe que no les gusta ver una misma pel´ıcula juntos”: ¬(c∧d). Si en vez de esta formula, escribi´eramos (¬c)↔d, estar´ıamos represen´ tando la informacion ´ dada en el enunciado, as´ı como el hecho de que siempre uno de los dos (y solo ´ uno) habr´ıa de estar presente. “B y C, o van al cine juntos o no va ninguno de los dos”: b↔c. “Si A no va al cine, entonces B y D s´ı quieren ir”: (¬a) → (b∧d). Los datos que nos dan se esquematizan en las proposiciones que acabamos de describir y ya que sabemos que al interpretarlas como los enunciados de los que proceden e´ stos son verdaderos, obtenemos que (tomando como I(x) = 1 si y solo ´ si “X va al cine”) I(a → b) = 1, I(¬(c∧d)) = 1, I(b↔c) = 1, I(¬a → b∧d) = 1, lo cual se reescribe como 1 + I(a) + I(a)I(b) = 1, 1 + I(c)I(d) = 1, 1 + I(b) + I(c) = 1, 1 + (1 + I(a)) + (1 + I(a))I(b)I(d) = 1, o bien I(a)(1 + I(b)) = 0, I(c)I(d) = 0, I(b) = I(c), I(a) + I(b)I(d)(1 + I(a)) = 1. De esta forma I(a) = 0 o´ (1 + I(b)) = 0. Si I(a) = 0, entonces de la ultima ´ ecuacion ´ obtenemos I(b)I(d) = 1, con lo que I(b) = I(d) = 1, y por la segunda obtendr´ıamos I(c) = 0, lo que al usar la tercera ecuacion ´ contradice que I(b) = 1. As´ı I(a) = 1 y por tanto 1 + I(b) = 0, o lo que es lo mismo, I(b) = 1. Por la tercera ecuacion, ´ sabemos que entonces I(c) = 1, y por la segunda que I(d) = 0. Notese ´ que todo esto no entra en contradiccion ecuacion. ´ con la ultima ´ ´ Por tanto, bajo las hipotesis dadas, a, b y c son ciertos y d es falso. Tenemos as´ı que a, b, c y ¬d ´ son consecuencia logica de las hipotesis {a → b, ¬(c∧d), b↔c, ¬a → b∧d}. ´ ´ Es interesante observar que si la segunda sentencia la hubi´esemos repre´ sentado como (¬c)↔d, la solucion es ´ del problema hubiera sido la misma. Esto consecuencia de que {(¬c)↔d} |= ¬(c∧d).  E 9. Sobre cinco enunciados A, B, C, D y E se sabe lo siguiente: 1. Si A, C y D son los tres falsos, entonces B es falso. 2. C es verdad, o bien, A es verdad si y solo ´ si B es verdad. 3. Si C es verdad o A es falso, entonces: D es verdad, B es falso y el enunciado (b) es falso. 4. Si A es verdad entonces, cuando B es falso C es verdad. 5. A es verdad y E es falso, o bien A es falso y E es verdad. A partir de la informacion ´ dada, ¿qu´e podemos decir sobre el valor de verdad de cada uno de los enunciados A, B, C, D y E? La informacion ´ del enunciado se puede representar de la siguiente forma: 1. B → (A∨C∨D),


´ 4. CONSECUENCIA LOGICA

13

2. C∨(A↔B), 3. (C∨¬A) → (D∧¬B∧¬(C∨(A↔B))), 4. A → (¬B → C), 5. (A∧¬E)∨(¬A∧E). Observamos que la variable E solo ´ aparece en la quinta afirmacion. ´ Si construimos la tabla de verdad para las cuatro primeras sentencias (una tabla con 16 filas), observamos que el valor de verdad de las cuatro a la vez es 1 solo ´ en dos casos: (A, B, C, D) = (1, 1, 0, 0) y (A, B, C, D) = (1, 1, 0, 1) (esto es, solo ´ existen dos interpretaciones que hagan los cuatro primeros enunciados ciertos a la vez). Concluimos que la respuesta final es: “A y B son verdad, C y E son falsas, y sobre D no se puede afirmar nada”.  E 5. El senor ˜ P´erez, empadronador de la isla de Tururulandia, tiene como objetivo el censar la poblacion ´ de dicha isla. La tarea no es f´acil debido al hecho de que la poblacion ´ se divide en dos grupos bien distinguidos: los honrados y los embusteros. Los honrados siempre dicen la verdad, mientras que un embustero solo ´ es capaz de producir mentiras. El gobierno de la isla encarga como trabajo al senor ˜ P´erez la ardua tarea de contar los honrados y embusteros de la isla. He aqu´ı cinco de los muchos problemas con los que se encontro´ nuestro empadronador. 1. Llama a la puerta de una casa, en la que sab´ıa a ciencia cierta que viv´ıa un matrimonio, y el marido abre la puerta para ver quien es. El empadronador le dice: “necesito informacion ´ sobre usted y su esposa. ¿Cu´al de ustedes, si alguno lo es, es honrado y cu´al un embustero?,” a lo que el hombre de la casa respondio´ “ambos somos embusteros,” cerrando la puerta de golpe. ¿A qu´e grupo pertenece cada uno de ellos? R. ´ Usemos p para denotar “el marido es honrado” y q para “la mujer es honrada” (esto tiene otra lectura: p se interpreta como “el marido es honrado”, o bien, I(p) = 1 si y solo ´ si “el marido es honrado”). Una persona de la isla es honrada si y solo ´ si lo que dice es cierto. As´ı, lo que sabemos que es cierto se simboliza por p↔¬p∧¬q. De esta forma I(p↔¬p∧¬q) = 1, por lo que 1 + I(p) + I(¬p)I(¬q) = 1. Simplificando, obtenemos (I(p) + 1)I(q) = 1, con lo que I(q) = 1 (la mujer es honrada) e I(p) = 0 (el hombre es un embustero).  2. La segunda casa que visita tambi´en est´a habitada por un matrimonio. Al llamar a la puerta y formular la misma pregunta que antes, el marido responde: “Por lo menos uno de nosotros es un embustero,” cerrando a continuacion ´ la puerta. ¿Qu´e es el marido y qu´e es la mujer? 3. Visita una tercera casa, y en las mismas condiciones de antes, recibe la respuesta: “Si yo soy honrado, entonces mi mujer tambi´en lo es.” ¿Qu´e es el marido y qu´e es la mujer?


14

´ 2. LOGICA PROPOSICIONAL

4. En la ultima casa que visita, pues ya estaba cansado de partirse el coco, ´ la respuesta es “Yo soy lo mismo que mi mujer.” ¿Qu´e es el marido y qu´e es la mujer? 5. De vuelta a su casa se encuentra con tres individuos, A,B y C, en la calle, y pensando en que quiz´as pod´ıa tener m´as suerte con ellos decide preguntarles qu´e son cada uno de ellos. Le pregunta al primero, A, y no entiende la respuesta, ya que en ese momento pasa una de esas motos que hacen un ruido ensordecedor y no corren nada. El segundo, B, le aclara que lo que ha dicho el primero es que es un embustero, pero el tercero, C, le advierte que no haga caso del segundo, B, ya que es un embustero. ¿Puedes deducir algo de lo ocurrido? E 6. Un pa´ıs est´a habitado por gente que se clasifica en dos tipos: los veraces, que siempre dicen la verdad, y los mendaces, que siempre mienten; adem´as, a las preguntas que se les hace solo ´ responden con un monos´ılabo (“s´ı.o “no”). Un turista llega a una bifurcacion ´ de una carretera en la que no hay indicaciones, salvo un cartel que anuncia la proximidad de un hotel, y un habitante parado en la misma bifurcacion. ´ Si el turista quiere ir al hotel, ¿qu´e pregunta debe hacer al ind´ıgena para que e´ ste con su respuesta “s´ı.o “no”le indique el camino que debe seguir? Justificar la respuesta. 5.

Demostracion ´

Dado un conjunto de hipotesis, nos podemos preguntar si una cierta propo´ sicion del conjunto dado. Esto podemos resolverlo ´ es o no consecuencia logica ´ haciendo uso de lo expuesto en la seccion ´ anterior. Supongamos ahora, que lo que pretendemos es dar una consecucion de razonamientos que nos ´ “logica” ´ lleven de nuestro conjunto de hipotesis hasta lo que queramos probar como ´ cierto a partir de e´ ste. Dichos razonamientos deber´an ser v´alidos en algun ´ sentido que tendremos que matizar de antemano. Tambi´en parece logico el ´ permitir el uso de una serie de verdades que se conozcan o fijen como ciertas, a las que vamos a llamar axiomas. Esto que estamos exponiendo no es otra cosa que el concepto de demostracion: ´ una consecucion ´ de razonamientos que nos llevan de un conjunto de hipotesis y axiomas prefijados a una nueva proposi´ cion Como acabamos de indicar, antes ´ que es consecuencia de dichas hipotesis. ´ de introducir el concepto de demostracion, ´ debemos introducir los axiomas del c´alculo proposicional cl´asico. El conjunto de axiomas que vamos a introducir consta de tres patrones o esquemas de axioma; cada uno de ellos engloba a infinitas proposiciones que son instancia de dichos patrones. La eleccion ´ de estos patrones no es unica, e incluso el numero de e´ stos puede variar (a veces ´ ´ en la literatura el conjunto de axiomas se toma como el conjunto de todas las tautolog´ıas). A continuacion ´ definimos lo que vamos a entender por axioma. Un axioma del c´alculo proposicional cl´asico es un elemento del conjunto S A = 3i=1 Ai , donde


´ 5. DEMOSTRACION

15

1. A1 = {α → (β → α)|α, β proposiciones} (leyes del afortiori), 2. A2 = {(α → (β → γ)) → ((α → β) → (α → γ))|α, β proposiciones} (leyes autodistributibas de la implicacion ´ o leyes de Frege), 3. A3 = {(¬α → ¬β) → ((¬α → β) → α)|α, β proposiciones} (leyes cl´asicas de reduccion ´ al absurdo). Como hemos visto en los ejemplos de las secciones anteriores, todo axioma es una tautolog´ıa. La unica regla que en principio vamos a utilizar para realizar ´ deducciones a partir de proposiciones ya probadas es la siguiente. En la seccion ´ anterior probamos que {a, a → b} |= b, esto es, si se suponen ciertos a y a → b, entonces b es cierto. Todo esto se puede entender de la siguiente forma: si tenemos a → b, entonces siempre que nos encontremos con a, lo podemos reescribir como b. Juntamos ahora todas estas ideas para dar el concepto de demostracion. ´ Sea Γ ∪ {α} un conjunto de proposiciones. Una prueba, deduccion ´ o demostracion ´ (formal) de α a partir de Γ (al cual llamaremos conjunto de hipotesis) ´ es una sucesion ´ α1 , . . . , αn , tal que 1. αn = α (el ultimo paso de la demostracion ´ ´ es lo que queremos probar) y 2. para todo i ≤ m se cumple alguna de las siguientes condiciones: a) αi ∈ Γ ∪ A, b) existen j, k < i tales que αk = α j → αi (en este caso decimos que αi es el resultado de aplicar modus ponens a αk y α j ). A las proposiciones α1 , . . . , αn las llamaremos pasos de la demostracion. ´ Diremos que la proposicion ´ α es deducible de Γ, o α se puede demostrar a partir de Γ, o Γ implica sint´acticamente α, si existe una demostracion ´ formal de α a partir de las hipotesis Γ. Escribimos Γ ` α para simbolizar este hecho. ´ En el caso en que Γ sea el conjunto vac´ıo (no asumimos hipotesis alguna), ´ escribiremos simplemente ` α y diremos que α es una teorema del c´alculo proposicional cl´asico o una ley logica ´ cl´asica. E 7. Sea Γ ∪ ∆ ∪ {a} un conjunto de proposiciones. 1. Si α ∈ Γ, entonces Γ ` α. 2. Si Γ ` α y Γ ⊆ ∆, entonces ∆ ` α. Como el lector posiblemente haya observado ya, tanto en la definicion ´ de axioma como en la de demostracion, ´ todas las proposiciones implicadas contienen solo ´ la conectiva → y la negacion. ´ Esto es debido al hecho de que ∧, ∨ y ↔ se pueden poner en funcion ´ de → y ¬ ({¬, →} es un conjunto funcionalmente completo). E 10. Sean α, β, γ y δ proposiciones. 1. {β} ` α → β. 1 β, hipotesis. ´


´ 2. LOGICA PROPOSICIONAL

16

2 β → (α → β) ∈ A1 . 3 α → β, modus ponens 1, 2. En este caso, los pasos de la demostracion ´ son tres: α1 = β, α2 = β → (α → β) y α3 = α → β. 2. {¬α → β, ¬α → ¬β} ` α. 1 ¬α → ¬β, hipotesis. ´ 2 (¬α → ¬β) → ((¬α → β) → α) ∈ A3 . 3 (¬α → β) → α, modus ponens 2,3. 4 ¬α → β, hipotesis. ´ 5 α, modus ponens 3,4. 3. {α → β, β → γ} ` α → γ. 1 α → β, hipotesis. ´ 2 β → γ, hipotesis. ´ 3 α → (β → γ), del paso 2, aplicando el ejemplo 1. 4 (α → (β → γ)) → ((α → β) → (α → γ)) ∈ A2 . 5 (α → β) → (α → γ), modus ponens 3,4. 6 α → γ, modus ponens 1,5. Notese que en este ultimo ejemplo, el paso 3 no es exactamente un paso ´ ´ de una demostracion, ´ pero sobreentenderemos que en realidad estamos insertando los pasos correspondientes a los que se hace cita. De esta forma, cada vez que demostremos un teorema, nos permitiremos insertarlo en nuestras demostraciones como un paso m´as, entendiendo as´ı que estamos incluyendo en la demostracion ´ todos los pasos correspondientes a la demostracion ´ del teorema insertado.  6.

Algunas leyes y reglas logicas ´

Hacer demostraciones formales haciendo uso exclusivo de la definicion ´ puede resultar largo, tedioso y desmoralizador. Para facilitar la tarea damos a continuacion cl´asicas que facilitan las ´ un conjunto de reglas y leyes logicas ´ demostraciones, y constituyen de hecho un conjunto de t´ecnicas de demostracion ´ formal. Vamos a demostrar las m´as importantes y el resto (no menos importante) las proponemos como ejercicio. La diferencia esencial entre una ley y una regla logica estriba en que las leyes son sinonimo de teoremas, y las ´ ´ reglas son herramientas de inferencia que nos sirven en las demostraciones para construir nuevos pasos a partir de pasos anteriores, tal y como ocurre con el modus ponens. Como veremos a continuacion, ´ asociada a casi toda ley existe una regla, la cual se puede entender como la aplicacion ´ de la ley en cuestion ´ en un contexto pr´actico. R  1 (ley de identidad). Para cualquier proposici´on α se tiene que

` α → α.


´ 6. ALGUNAS LEYES Y REGLAS LOGICAS

17

D. ´ es la siguiente: ´ Una posible demostracion 1 2 3 4 5

(α → ((α → α) → α)) → ((α → (α → α)) → (α → α)) ∈ A2 , α → ((α → α) → α) ∈ A1 , (α → (α → α)) → (α → α), modus ponens 1,2, α → (α → α) ∈ A1 , α → α, modus ponens 3,4. 

El teorema que exponemos a continuacion, ´ el teorema de la deduccion, ´ es la formalizacion ´ de un m´etodo de prueba bastante usual en Matem´aticas: frecuentemente, cuando deseamos establecer una implicacion ´ de la forma α → β, adjuntamos la premisa α al conjunto de hipotesis iniciales y a partir de ´ ah´ı intentamos establecer la conclusion ´ β. R 2 (Teorema de la deduccion ´ o de Herbrand, 1930). Dado un conjunto de proposiciones Γ ∪ {α, β}. Si Γ ∪ {α} ` β, entonces Γ ` α → β. D. ´ Vamos a demostrar que para cualquier n natural, si existe una demostracion Γ ∪ {α}, entonces Γ ` α → βn . Esto de´ β1 , . . . , βn con hipotesis ´ mostrar´ıa el enunciado del teorema. La demostracion ´ la hacemos por induccion ´ sobre n. Llamemos β a βn . 1. Si n = 1, pueden darse los siguientes casos: a) β es un axioma, en cuyo caso la demostracion ´ de α → β a partir de Γ es: 1 β, axioma. 2 β → (α → β) ∈ A1 . 3 α → β, modus ponens 1,2. b) β ∈ Γ, en cuyo caso la demostracion ´ es la misma que en el caso anterior pero cambiando el primer paso, poniendo β ∈ Γ en su lugar. c) β = α, en cuyo caso, por la ley de identidad ` α → α, por lo que trivialmente γ ` α → α. 2. Asumamos como hipotesis de induccion ´ ´ que el resultado es cierto para las demostraciones de longitud estrictamente menor que n, y prob´emoslo para las de longitud n. En esta situacion, ´ aparte de los casos anteriores, aparece un cuarto caso: β = βn se obtiene aplicando modus ponens a dos proposiciones anteriores en la secuencia. En este caso deben aparecer proposiciones de la forma βi = γ, β j = γ → β, con i, j < n. Esto quiere decir que existen demostraciones de γ y γ → β de longitudes estrictamente menores que n, lo que nos coloca en la hipotesis de induccion. ´ ´ As´ı del hecho de que Γ ∪ {α} ` γ, y Γ ∪ {α} ` γ → β, se tiene que Γ ` α → γ y Γ ` α → (γ → β). Sea δ1 , δ2 , . . . , δk una sucesion ´ tal que δ1 , δ2 , . . . , δl sea una deduccion ´ de α → γ, y sea


18

´ 2. LOGICA PROPOSICIONAL

δl+1 , . . . , δk una deduccion ´ de α → (γ → β) a partir de Γ. Haciendo δk+1 = (α → (γ → β)) → ((α → γ) → (α → β)) ∈ A2 , δk+2 = (α → γ) → (α → β), modus ponens k, k + 1, δk+3 = α → β, modus ponens l, k + 2, obtenemos que δ1 , . . . , δk+3 es una demostracion ´ de α → β con conjunto de hipotesis Γ. ´  La vuelta atr´as del teorema de la deduccion ´ se demuestra aplicando simplemente modus ponens. Tenemos de esta forma el siguiente resultado. R 3. Dado el conjunto de f´ormulas Γ ∪ {α, β}, son equivalentes: 1. Γ ∪ {α} ` β, 2. Γ ` α → β. Con el teorema de la deduccion ´ podemos demostrar la regla de reduccion ´ al absurdo, otra herramienta importante para simplificar las demostraciones. R 4 (regla de “reductio ad absurdum” cl´asica). Dado el conjunto de proposiciones Γ ∪ {α, β}. Si Γ ∪ {¬α} ` β y Γ ∪ {¬α} ` ¬β, entonces Γ ` α. D. ´ si Γ ∪ {¬α} ` β y Γ ∪ {¬α} ` ´ Por el teorema de la deduccion, ¬β, entonces Γ ` ¬α → β y Γ ` ¬α → ¬β. Por un razonamiento an´alogo al hecho en el Ejemplo 10 (punto 2), tenemos que Γ ` α.  A continuacion cuya demostra´ enunciamos algunas reglas y leyes logicas ´ cion ´ damos para que el lector se acostumbre a la forma de demostracion ´ en el c´alculo proposicional cl´asico. El lector notar´a que aparecen reglas y leyes con el mismo nombre. Las letras α, β y γ representan proposiciones como viene siendo costumbre, y Γ es un conjunto de proposiciones. R 5 (leyes de silogismo). 1. ` (α → β) → ((β → γ) → (α → γ)), 2. ` (β → γ) → ((α → β) → (α → γ)). D. ´ Demostremos la primera, ya que la segunda se demuestra de forma an´aloga. Probar ` (α → β) → ((β → γ) → (α → γ)) es, por el teorema de la deduccion, ´ lo mismo que probar que {α → β} ` (β → γ) → (α → γ). Usando una vez m´as el teorema de la deduccion ´ tenemos que probar eso es equivalente a probar que {α → β, β → γ} ` α → γ,


´ 6. ALGUNAS LEYES Y REGLAS LOGICAS

19

lo que equivale a

{α → β, β → γ, α} ` γ, lo cual es f´acil de demostrar, ya que basta con usar un par de veces modus ponens.  C 1 (regla del silogismo). Si Γ ` α → β y Γ ` β → γ, entonces Γ ` α → γ. R 6 (ley de conmutacion ´ de premisas). ` (α → (β → γ)) → (β → (α → γ)). D. ´ ´ Vamos a hacer de nuevo uso del teorema de la deduccion para probar esta ley. Probar ` (α → (β → γ)) → (β → (α → γ)), equivale a probar

{α → (β → γ)} ` β → (α → γ),

que equivale a

{α → (β → γ), β} ` α → γ, y que por ultimo es lo mismo que probar que ´ {α → (β → γ), β, α} ` γ. Apl´ıquese modus ponens un par de veces y se obtiene una demostracion ´ de este hecho.  C 2 (regla de conmutacion ´ de premisas). Si Γ ` α → (β → γ)), entonces Γ ` β → (α → γ). El lector observar´a que algunas leyes son dobles (como las del silogismo vistas anteriormente). Esto se debe precisamente a la regla de conmutacion ´ de premisas. Las dos leyes de silogismo son equivalentes v´ıa esta regla. R 7 (ley de doble negacion). ` ¬¬α → α. ´ D. ´ probar ` ¬¬α → α, es ´ Por el teorema de la deduccion, equivalente a probar que {¬¬α} ` α. Usemos ahora el teorema de reduccion ´ al absurdo (regla de reductio ad absurdum cl´asica) para probar este hecho. Tomemos como Γ = {¬¬α} y como α el propio α. Tenemos pues que Γ ∪ {¬α} ` ¬α (lo cual es trivial, ya que una hipotesis siempre es una deduccion ´ ´ del conjunto de hipotesis de partida) y que ´ Γ ∪ {¬α} ` ¬¬α por la misma razon. ´ De Γ ∪ {¬α}, se deduce una proposicion ´ (en este caso ¬α) y su negacion, ´ por lo que aplicando el teorema de reduccion ´ al absurdo, se tiene que Γ ` α, lo que concluye la demostracion.  ´


20

´ 2. LOGICA PROPOSICIONAL

C 3 (ley d´ebil de doble negacion). ` α → ¬¬α. ´ D. ´ basta con probar que ´ Por el teorema de la deduccion, {α} ` ¬¬α. Usemos el teorema de reduccion ´ al absurdo para probar este hecho. Partimos por tanto de {α, ¬¬¬α} y tenemos que llegar a demostrar una proposicion ´ y su negacion. ´ 1. ¬¬¬α → ¬α, ley de doble negacion. ´ 2. ¬¬¬α, hipotesis. ´ 3. ¬α, modus ponens 1,2. 4. α, hipotesis. ´ As´ı pues hemos demostrado α y ¬α. Por el teorema de reduccion ´ al absurdo, {α} ` ¬¬α.  E 8 (regla de “reductio ad absurdum”minimal o intuicionista). Si Γ ∪ {α} ` β y Γ ∪ {α} ` ¬β, entonces Γ ` ¬α. E 9 (leyes de Duns Scoto). 1. ` ¬α → (α → β). 2. ` α → (¬α → β). E 10 (principio de inconsistencia). Si Γ ` α y Γ ` ¬α, entonces Γ ` β. E 11 (leyes d´ebiles de Duns Scoto). 1. ` ¬α → (α → ¬β). 2. ` α → (¬α → ¬β). E 12 (principio de inconsistencia d´ebil). Si Γ ` α y Γ ` ¬α, entonces Γ ` ¬β. E 13 (ley de contraposicion ´ fuerte o “ponendo ponens”). ` (¬β → ¬α) → (α → β). E 14 (ley de contraposicion ´ “ponendo tollens”). ` (β → ¬α) → (α → ¬β). E 15 (ley de contraposicion ´ “tollendo ponens”). ` (¬α → β) → (¬β → α). E 16 (ley de contraposicion ´ d´ebil o “tollendo tollens”). ` (α → β) → (¬β → ¬α). Las leyes de contraposicion ´ tienen una utilidad especial a la hora de eliminar negaciones no deseadas de sitios clave. Supongamos que nos piden probar que ` ¬(a → b) → a. Usando el teorema de la deduccion, ´ equivale a probar que {¬(a → b)} ` a. Si usamos ahora la regla de reduccion ´ al absurdo, tendr´ıamos que ver que a partir de {¬(a → b), ¬a} podemos demostrar una proposicion ´


´ 6. ALGUNAS LEYES Y REGLAS LOGICAS

21

y su negacion ´ (int´entese). El problema de tener una negacion ´ que afecta a una implicacion, ´ nos impide usar modus ponens con e´ sta. Veamos otra forma m´as sencilla de afrontar este problema. Notese que al aplicar contraposicion ´ ´ a ¬(a → b) → a, obtenemos ¬a → (a → b), que precisamente es una de las leyes de Duns Scoto. As´ı, una demostracion ´ directa de ¬(b → a) → ¬a ser´ıa: 1 ¬a → (a → b), ley de Duns Scoto. 2 ¬(a → b) → a contraposicion ´ (tollendo ponens) aplicada a 1 (con esto entendemos que hemos escrito la ley tollendo tolens apropiada y hemos hecho modus ponens con 1). E 17 (regla de prueba por casos). Si Γ ∪ {α} ` β y Γ ∪ {¬α} ` β, entonces Γ ` β. E 18 (ley d´ebil de Clavius). ` (α → ¬α) → ¬α. E 19 (ley de Clavius). ` (¬α → α) → α. E 20 (regla de retorsion, ´ regla de Clavius). Si Γ ∪ {¬α} ` α, entonces Γ ` α. Como ya comentamos con anterioridad, en el conjunto de axiomas que hemos dado no aparecen ni la conectiva ∧ ni la ∨. Debido a que sem´anticamente a∨b tiene el mismo valor de verdad que ¬a → b y a∧b tiene el mismo valor de verdad que ¬(a → ¬b), entenderemos siempre que a∨b y a∧b son abreviaturas de ¬a → b y de ¬(a → ¬b), respectivamente. E 21 (leyes de adjuncion). ´ 1. ` α → α ∨ β. 2. ` β → α ∨ β. E 22 (reglas de adjuncion ´ o de introduccion ´ de la disyuncion). ´ 1. Si Γ ` α, entonces Γ ` α ∨ β. 2. Si Γ ` β, entonces Γ ` α ∨ β. E 23 (ley conmutativa de la disyuncion). ´ ` α ∨ β → β ∨ α. E 24. 1. ` α ∧ β → α. 2. ` α ∧ β → β. E 25 (reglas de simplificacion Si ´ o de eliminacion ´ de la conjuncion). ´ Γ ` α ∧ β, entonces Γ ` α y Γ ` β.


´ 2. LOGICA PROPOSICIONAL

22

E 26. ` (α → γ) → ((β → γ) → (α ∨ β → γ)). E 27 (otra regla de prueba por casos). Si Γ ∪ {α} ` γ y Γ ∪ {β} ` γ, entonces Γ ∪ {α ∨ β} ` γ. E 28 (ley de Peirce). ` ((α → β) → α) → α. E 29.

` α → (β → α ∧ β).

E 30 (regla del producto o de introduccion Si ´ de la conjuncion). ´ Γ ` α y Γ ` β, entonces Γ ` α ∧ β. E 11. Supongamos que cambiamos nuestro conjunto de axiomas A3 por A03 = {(¬α → ¬β) → (β → α)|α, β proposiciones }. En esta situacion ´ nos preguntamos si dada una proposicion ´ α, e´ sta es un teorema en el sistema L formado por A1 ∪ A2 ∪ A3 si y solo ´ si lo es tambi´en en el sistema L0 formado por A1 ∪ A2 ∪ A03 . Observemos que en el sistema L0 tambi´en siguen siendo v´alidos tanto el teorema de la deduccion ´ como la ley del silogismo, ya que en sus demostraciones no intervienen elementos de A3 . Para probar lo anterior, basta ver que el conjunto de teoremas de L coincide con el conjunto de teoremas de L0 . Claramente por la contraposicion ´ fuerte (Ejercicio 13) se tiene que todo elemento de A03 es tambi´en un teorema de L, por lo que todo teorema de L0 tambi´en lo es de L. Veamos ahora que todo teorema de L lo es tambi´en en L0 . Probemos que `L0 (¬a → ¬b) → ((¬a → b) → a) o equivalentemente que {¬a → ¬b, ¬a → b} `L0 a (el s´ımbolo `L0 tiene el mismo significado que ` salvo que el conjunto de axiomas considerados es ahora A1 ∪ A2 ∪ A03 ). En primer lugar demostremos que {¬a → a} `L0 a (ley de Clavius para L0 ): 1. ¬a → a, hipotesis, ´ 2. ¬a → (¬¬(¬a → a) → ¬a) ∈ A1 , 3. (¬¬(¬a → a) → ¬a) → (a → ¬(¬a → a)) ∈ A03 , 4. ¬a → (a → ¬(¬a → a)), silogismo de 2 y 3, 5. (¬a → (a → ¬(¬a → a))) → ((¬a → a) → (¬a → ¬(¬a → a))) ∈ A2 , 6. (¬a → a) → (¬a → ¬(¬a → a)), modus ponens 4,5, 7. ¬a → ¬(¬a → a), modus ponens 1,6, 8. (¬a → ¬(¬a → a)) → ((¬a → a) → a) ∈ A03 9. (¬a → a) → a, modus ponens 7,8, 10. a, modus ponens 1,9. Para finalizar solo ´ nos queda ver que {¬a → ¬b, ¬a → b} `L0 a: 1. ¬a → ¬b, hipotesis, ´


´ ESPECIFICA ´ 8. BIBLIOGRAFIA

2. 3. 4. 5. 6. 7.

23

¬a → b, hipotesis, ´ (¬a → ¬b) → (b → a) ∈ A03 , b → a, modus ponens 1,3, ¬a → a, silogismo 2,4, (¬a → a) → a, ley de Clavius en L0 , a, modus ponens 5,6. 

7.

Teoremas de coherencia y adecuacion ´ de la logica ´ proposicional

En este cap´ıtulo hemos introducido dos conceptos fundamentales: el de tautolog´ıa y el de teorema, relacionado el primero con las interpretaciones y el segundo con las demostraciones en la logica proposicional. Si α es un teorema ´ (` α), entonces por definicion ´ existe una demostracion ´ α1 , . . . , αn de α. A α1 no le queda m´as remedio que ser un axioma. Y como hemos probado ya, todo axioma es una tautolog´ıa. El segundo paso a la fuerza debe ser tambi´en un axioma, y por tanto una tautolog´ıa. El tercero es o bien un axioma o modus ponens de los dos primeros, que ya sabemos que son tautolog´ıas. Hemos visto que si a y a → b son tautolog´ıas, entonces tambi´en lo es b, por lo que el tercer paso de la demostracion ´ tambi´en es una tautolog´ıa. De la misma forma se prueba que todos los pasos de una demostracion ´ de un teorema son tautolog´ıas, por lo que α en s´ı es una tautolog´ıa. Lo que acabamos de demostrar es lo siguiente. R 8 (Teorema de coherencia). Sea α una proposici´on. Si ` α, entonces |= α. La otra implicacion ´ tambi´en es cierta, aunque su demostracion ´ se sale de los objetivos de este curso. As´ı pues, toda tautolog´ıa es un teorema de la logica proposicional. Aceptaremos sin demostracion ´ ´ el siguiente teorema, cuya demostracion ´ el lector puede seguir en (1). R 9 (Teorema de adecuacion). Sea α una proposici´on. Si |= α, entonces ´ ` α. E 31. Consideremos un conjunto finito Γ. Usando los teoremas de coherencia y adecuacion ´ y los teoremas de la deduccion ´ pru´ebese que Γ ` α si y solo si Γ |= α. 8.

Bibliograf´ıa espec´ıfica

(1) A. G. Hamilton, Logic for mathematicians, Cambridge University Press, 1978 (Cap´ıtulos 1 y 2). (2) E. Mendelson, Introduction to mathematical logic, Chapman and Hall, 1997 (Cap´ıtulo 1).


CAP´ıTULO 3

Logica ´ de Primer Orden. Sem´antica 1.

Introduccion ´

En el cap´ıtulo anterior estudiamos las deducciones que se pueden hacer a partir de un conjunto de enunciados dados. Estos enunciados los esquematiz´abamos con letras, en el caso de que fuesen atomicos, o bien con letras y ´ conectivas en el caso de que fuesen compuestos. Esta primera aproximacion ´ es bastante rudimentaria, y si queremos analizar otro tipo de deducciones vamos a tener que enriquecer el lenguaje a utilizar para representar o simbolizar los enunciados. A modo de ejemplo, supongamos que son ciertos los enunciados: “Todo hombre es mortal” y “Socrates es un hombre”. De estas dos suposicio´ nes, se deduce que “Socrates es mortal”. Ahora bien, no podemos deducir la ´ mortalidad de Socrates usando tan solo ´ ´ los conocimientos adquiridos en el cap´ıtulo anterior, ya que con ellos es como si llev´asemos unas gafas con una graduacion ´ que no nos permite desmembrar los enunciados (que tambi´en son comunes en el discurso cotidiano) de forma que podamos aplicar otro tipo de reglas de deduccion. ´ Segun ´ lo estudiado hasta el momento, “Todo hombre es mortal” es una proposicion que podemos denotar por p; “Socrates es ´ atomica, ´ ´ un hombre” es otra proposicion que podemos denotar por q; y por ´ atomica ´ ultimo “Socrates es mortal” es otra proposicion que vamos a denotar ´ ´ ´ atomica ´ por r. Est´a claro que segun de ´ lo visto hasta ahora, r no es consecuencia logica ´ p, q. El enunciado “Todo hombre es mortal”, lo podemos reescribir de la forma “Para toda cosa, si esa cosa es hombre entonces es mortal”. De este modo se parece algo m´as a los enunciados matem´aticos y deja entrever que necesitamos un lenguaje en el que deben de haber cuantificadores (el “para todo” del ejemplo), variables (la “cosa” del ejemplo), constantes (“Socrates” en el ejem´ plo), predicados (como el de “ser hombre” en el ejemplo), y las conectivas de la logica proposicional. Adem´as, aunque en este ejemplo no aparezcan, tam´ bi´en necesitaremos s´ımbolos de funcion, ´ que nos permiten designar objetos de forma indirecta en nuestros enunciados, por ejemplo “el padre de Manolo es geologo”. ´ 2.

Lenguajes de primer orden

Antes de presentar la forma en que vamos a recoger las ideas expuestas en la introduccion, ´ necesitamos describir el conjunto de s´ımbolos que vamos a utilizar en dicha representacion. ´ 25


26

´ ´ 3. LOGICA DE PRIMER ORDEN. SEMANTICA

Un lenguaje de primer orden L tiene por alfabeto los siguientes elementos. Variables, que las denotamos por x1 , x2 , . . ., as´ı como x, y, z, . . .. El conjunto de todas las variables lo llamamos Var(L). Constantes, que las denotamos por c1 , c2 , . . .. Usaremos tambi´en las letras a, b, c, . . .. Cons(L) denota el conjunto de las constates de L. S´ımbolos de funcion, ´ que los denotamos por f11 , ..., fik , . . .. El super´ındice indica la ariedad, esto es, el numero de argumentos a los que se aplica ´ la funcion. ´ Usaremos para simplificar a veces f, g, h, . . .. El conjunto de todas las funciones de L lo simbolizaremos por Func(L). j S´ımbolos de relacion, ´ que los denotamos por R11 , ..., Ri , . . .. El super´ındice indica la ariedad. Usaremos siempre letras mayusculas. El conjunto ´ de relaciones lo denotamos por Rel(L). Operadores logicos: ¬, ∨, ∧, →, ∃ (cuantificador existencial), ∀ (cuan´ tificador universal). Aunque no se diga expl´ıcitamente, tambi´en vamos a hacer uso de par´entesis y comas para hacer m´as legibles las palabras formadas con este alfabeto. Normalmente obviaremos la ariedad de las funciones y de los s´ımbolos de relacion ´ para no hacer pesada la notacion. ´ Una expresion ´ del lenguaje de primer orden L es cualquier palabra formada con los s´ımbolos anteriormente expuestos. Entre las posibles expresiones que se pueden formar, distinguiremos t´erminos, a´ tomos y formulas. Los t´erminos ´ har´an el papel de los objetos en el lenguaje hablado. Los formulas vendr´an a ´ representar los enunciados y los a´ tomos las formulas que son m´as elementales ´ o indescomponibles. Los t´erminos del lenguaje L se definen recursivamente de la siguiente forma. 1. Toda constante es un t´ermino. 2. Toda variable es un t´ermino. 3. Si f es un s´ımbolo de funcion ´ de ariedad n y t1 , .., tn son t´erminos, entonces f (t1 , .., tn ) es un t´ermino. 4. Todos los t´erminos se generan aplicando las reglas anteriores un nume´ ro finito de veces. El conjunto de los t´erminos de un lenguaje de primer orden L se denota por Term(L). Ejemplos de t´erminos: manzana, pera, padre(Juan), a, f (a, g(a)). Como ya se ha dicho, sirven para designar objetos. Con los s´ımbolos de funcion ´ “construimos” nuevos objetos a partir de otros objetos. La expresion ´ f (a, f (b), c) no es un t´ermino ya que el s´ımbolo de funcion ´ f no puede tener a la vez ariedad 1 y 3. Aunque hayamos hecho distincion ´ entre las constantes y los s´ımbolos de funcion, ´ e´ stas se pueden considerar como s´ımbolos de funcion ´ 0-arios, es decir, como s´ımbolos de funcion ´ que no se aplican a ningun ´ argumento.


2. LENGUAJES DE PRIMER ORDEN

27

Una formula ´ atomica ´ o a´ tomo es una expresion ´ de la forma R(t1 , . . . , tn ), con R un s´ımbolo de relacion ´ de ariedad n y t1 , .., tn t´erminos. Ejemplos de formu´ las atomicas: ESGRANDE(manzana), ESMAYOR(Pepe,Juan), TIENEUNPA´ RAGUAS(Pepito), ESLASUMA(5,3,2), LLUEVE. Las formulas ´ de L se definen recursivamente como sigue. 1. Todo a´ tomo es una formula. ´ 2. Si ϕ y ψ son formulas, entonces ¬ϕ, ϕ ∨ ψ, ϕ ∧ ψ y ϕ → ψ son formulas. ´ ´ 3. Si ϕ es una formula y x es una variable, entonces ∀xϕ y ∃xϕ son ´ formulas. ´ 4. Las formulas se generan aplicando las reglas anteriores un numero ´ ´ finito de veces. Denotamos por Form(L) al conjunto de todas las formulas del lenguaje L. ´ E 12. Las siguientes expresiones son formulas: ´ ∀x∃y(R(x, f (y)) ∧ P(a, z) → R(y, f (x))) R(x, y) → ∀zQ(z, x, y) Las siguientes no lo son: R(x, y) ∨ R(x) Q(x) ∧ f (x, a) La primera no es formula debido a que R no puede tener ariedad 1 y 2 a la vez. ´ La segunda no lo es porque f (x, a) no es formula.  ´ Al igual que hemos hablado de funciones 0-arias, tambi´en podemos hablar de relaciones 0-arias, y de esta forma la logica proposicional, por decirlo de ´ algun de primer orden. Comentamos ´ modo, queda inmersa dentro de la logica ´ adem´as que existen otras logicas de orden superior en las que se permite ´ cuantificar no solo ´ variables, sino tambi´en predicados y s´ımbolos de funcion. ´ Una frase como “para todo numero natural x, existe una funcion ´ ´ f :N→N tal que f (x) = 2x”, se escapa de nuestros lenguajes de primer orden. E 13. Veamos como podemos traducir a lenguajes de primer order ´ algunas frases cotidianas. “Es necesario tener valor y preparacion ´ para escalar montanas”. ˜ Usaremos los siguientes predicados con los siguientes significados: V(x) : x tiene valor, P(x) : x tiene preparacion, ´ E(x) : x escala montanas. ˜ Una forma posible ser´ıa: ∀x(E(x) → (V(x)∧P(x))). “No es oro todo lo que reluce”. Usaremos O(x) : x est´a hecho de oro, R(x) : x reluce. Una posible solucion ´ es: ∃x(R(x)∧¬O(x)), o bien ¬(∀x(R(x) → O(x))).


´ ´ 3. LOGICA DE PRIMER ORDEN. SEMANTICA

28

“Solo ´ rugen los leones”. Definimos R(x) : x ruge, L(x) : x es leon. ´ Solucion ´ posible: ∀x(R(x) → L(x)). “El gato del hermano de Pepe se llama Lulu”. ´ Consideramos el predicado LL(x, y) : x se llama y, as´ı como las funciones g(z) : gato de z, h(z) : hermano de z, y los s´ımbolos de constante que aparecen en el enunciado: Pepe, Lulu. ´ Podemos escribir: LL(g(h(Pepe)), Lulu). ´  3.

Ocurrencias libres y ligadas. Variables libres y ligadas. Sentencias

Consideremos el enunciado: “para todo x existe y tal que x+y = 0”. Podemos denotar por R la relacion ´ binaria que simbolice que la suma de sus argumentos es cero. Una posible formula que recoge este enunciado ser´ıa ∀x∃yR(x, y). ´ Ahora bien, notese que ∃yR(x, y) sigue siendo una formula bien formada. La ´ ´ diferencia con la anterior es que hemos dejado de cuantificar universalmente la variable x. Se dice que x ha quedado libre en esta nueva formula. Al traducir ´ un enunciado del lenguaje hablado en formula, es dif´ıcil, y de hecho nada ´ comun, ´ poder “dejarse” una variable libre. Pues bien, estas ideas son las que se analizan a continuacion. ´ Veremos m´as adelante la importancia que tiene esta diferenciacion ´ entre variables que aparecen libres y aquellas que no lo est´an. El radio de accion ´ de un cuantificador es la formula a la que ese cuantifica´ dor afecta. As´ı, el radio de accion ∀xψ es ψ, y el de ∃x en ´ de ∀x en la formula ´ ∃xψ es ψ. E 14. En la siguiente formula, ´ ∀x(R(x) ∧ ∃yQ(x, y)) el radio de accion ´ de ∀x es R(x) ∧ ∃yQ(x, y), y el de ∃y es Q(x, y).



Una ocurrencia de una variable x en una formula ψ es una aparicion ´ ´ de x en la escritura de ψ. Una ocurrencia de una variable x en una formula ψ es ligada ´ si o bien aparece inmediatamente detr´as de un cuantificador, o bien aparece en el radio de accion ´ de un cuantificador (universal o existencial) cuya variable acompanante sea x. Una ocurrencia de una variable es libre si no es ligada. ˜ E 15. En la formula ´ ∀x(R(x, z) ∧ ∃y∀zQ(x, y, z))


4. ESTRUCTURAS E INTERPRETACIONES

29

todas las ocurrencias de x est´an ligadas; la primera de z es libre y la segunda ligada; y la unica ocurrencia de y es ligada.  ´ Una formula es una sentencia si todas las ocurrencias de todas sus variables ´ son ligadas. Por lo comentado antes, todas las formulas que proceden de traducir un ´ enunciado (sin truncar) del lenguaje hablado tienen todas sus variables ligadas, y por tanto son sentencias. 4.

Estructuras e interpretaciones

Supongamos que tenemos la formula ∀x∃yR(x, y, a). Esta formula la po´ ´ dr´ıamos “interpretar” como “para todo x existe un y tal que x ∗ y = a”. Para ello, lo que hemos hecho es darle un significado al predicado R. Ahora bien, est´a claro que este enunciado es cierto dependiendo de donde se muevan las ´ variables x e y. Si tomamos como “dominio” un grupo del cual escogemos x e y, y a como el elemento neutro de dicho grupo, esta propiedad no es otra que la existencia de elemento inverso para cada elemento del grupo, y por tanto es verdadera. Sin embargo, si tomamos por dominio el conjunto de los numeros ´ enteros y por elemento a el 1, tenemos que ese enunciado es falso. As´ı pues, el valor de verdad de una formula depende del valor que demos a los s´ımbolos ´ de relacion, as´ı como ´ funciones y constantes que aparecen en dicha formula, ´ del dominio en donde se tomen sus variables. Una L-estructura E es una tupla (D, {cEi }, { f jE }, {REk }), donde: 1. D es un conjunto no vac´ıo llamado dominio o universo de la Lestructura, 2. a cada constante ci de L le corresponde un elemento cEi de D, 3. a cada s´ımbolo de funcion ´ f jn de L le corresponde una aplicacion: ´ f jE : Dn → D, 4. a cada s´ımbolo de relacion de L le corresponde una aplicacion ´ Rm ´ k REk : Dm → Z2 . Para que la notacion ´ no sea tan engorrosa identificaremos cEi con ci , fiE con f jn y REk con Rm . k Consideremos ahora la formula R(x, y) y supongamos que interpretamos R ´ como “ser igual a”. Al dar una L-estructura no damos valores a las variables, pero est´a claro que R(x, y) ser´a cierto solo ´ si x e y son iguales. Por tanto, si asignamos a las variables x e y el mismo valor, tendremos que R(x, y) ser´a cierto bajo la interpretacion no solo ´ dada. Para interpretar una formula, ´ ´ hay que dar valores a los predicados, s´ımbolos de funcion ´ y constantes en un dominio dado, sino que tambi´en hay que asignar unos valores a las variables (como veremos m´as adelante solo ´ importan las variables que aparecen libres).


30

´ ´ 3. LOGICA DE PRIMER ORDEN. SEMANTICA

Una asignacion ´ en el lenguaje L en una determinada L-estructura E es una aplicacion ´ v : Var(L) → D, donde Var(L) es el conjunto de variables de L y D es el dominio de E. Toda asignacion al conjunto de los t´erminos del ´ se extiende de forma unica ´ lenguaje L de la siguiente manera: v0 : Term(L) → D definida como   c si t = c ∈ Cons(L),    0 v(x) si t = x ∈ Var(L), v (t) =     f (v0 (t1 ), .., v0 (tn )) si t = f (t1 , .., tn ), (aqu´ı ya hemos identificado cE con c y f E con f ). De esta forma a cada t´ermino del lenguaje L le podemos asignar un valor en D. A partir de ahora, vamos a identificar v con su extension ´ v0 , ya que v0 queda un´ıvocamente determinada una vez se conoce v. Dada la asignacion ´ v, definimos v(x|a) como la asignacion ´ que actua ´ sobre todas las variables como lo hace v, excepto posiblemente sobre x, a la cual le asigna el valor a ∈ D. De igual forma se define v(x1 |a1 , . . . , xn |an ), que ser´ıa igual que v en las variables y < {x1 , . . . , xn } y v(x1 |a1 , . . . , xn |an )(xi ) = ai para i ∈ {1, . . . , n}. Estamos ya en condiciones de definir formalmente lo que vamos a entender por interpretacion que no es otra cosa que una extension ´ de una formula, ´ ´ “natural” de las interpretaciones que vimos en el cap´ıtulo anterior para la logica proposicional. ´ Una L-interpretacion ´ es un par (E, v), con E una L-estructura y v una asignacion ´ para E, junto con una aplicacion ´ Iv : Form(L) → Z2 , que verifica las siguientes propiedades. 1. Iv (R(t1 , . . . , tn )) = R(v(t1 ), . . . , v(tn )), con t1 , . . . , tn t´erminos, R un s´ımbolo de relacion ´ n-ario de L (la primera R que aparece es un s´ımbolo de relacion ´ del lenguaje L, mientras que la segunda es la relacion ´ n-aria E R ). 2. Iv (¬ϕ) = 1 + Iv (ϕ), para toda formula ϕ. ´ 3. Iv (ϕ ∨ ψ) = Iv (ϕ) + Iv (ψ) + Iv (ϕ)Iv (ψ), para cualesquiera formulas ϕ y ψ. ´ 4. Iv (ϕ ∧ ψ) = Iv (ϕ)Iv (ψ), para cualesquiera formulas ϕ y ψ. ´ 5. Iv (ϕ → ψ) = 1 + Iv (ϕ) + Iv (ϕ)Iv (ψ), para cualesquiera formulas ϕ y ψ. ´ 6. ( 1, si para todo a ∈ D se veri f ica que Iv(x|a) (ϕ) = 1. Iv (∀xϕ) = 0, en caso contrario.


4. ESTRUCTURAS E INTERPRETACIONES

7.

( I (∃xϕ) = v

31

1, si existe a ∈ D tal que Iv(x|a) (ϕ) = 1. 0, en caso contrario.

Los apartados dos al quinto de la definicion se ´ recogen la idea de como ´ deben interpretar las conectivas. Obs´ervese que es exactamente igual a la definicion proposicional. El caso base es el primer ´ de interpretacion ´ en logica ´ apartado, al igual que lo eran las proposiciones atomicas en la logica proposi´ ´ cional. Lo que viene a decir el caso base es que una formula atomica es cierta si ´ ´ y solo ´ si los elementos que son asignados a los argumentos que acompanan ˜ al s´ımbolo de relacion ´ est´an relacionados mediante la relacion ´ que se le asocia a dicho s´ımbolo de relacion. los dos ultimos apartados de la defini´ Por ultimo, ´ ´ cion ´ corresponden a la interpretacion ´ de los cuantificadores. El sexto apartado dice que ∀xϕ es cierta en la L-estructura en la que nos encontramos y bajo una determinada asignacion, ´ si para cualquier valor que le asignemos a la variable x (de ah´ı el cambio de asignacion ϕ es cierta en la ´ de v por v(x|a)) la formula ´ L-estructura dada con la nueva asignacion que esta nueva asignacion ´ (notese ´ ´ es igual que la anterior salvo que a la x se le ha asignado el valor a). El s´eptimo apartado es an´alogo al anterior. E 16. Considera el lenguaje L definido por: Cons(L) = {a, b, c, d, e}, Func(L) = { f, g} ( f monario, g binario), Rel(L) = {P} (P binario), y la L–estructura E, dada por: D = Z5 a = 0, b = 1, c = 2, d = 3 y e = 4 g = + (suma en Z5 ) y f (x) = 2 × x P = {(0, 0), (0, 1), (0, 2), (0, 3), (0, 4), (1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (2, 3), (2, 4), (3, 3), (3, 4), (4, 4)}. Responde a las siguientes cuestiones: (a) Dada la asignacion ´ v : Var(L) −→ Z5 x 7→ 0 y 7→ 3 interpreta la formula: ´ ∃x(P(x, y) ∧ P(g(e, x), f (y))) (b) Para cualquier asignacion ´ v en E, calcula Iv (ϕ) donde ϕ es:


32

´ ´ 3. LOGICA DE PRIMER ORDEN. SEMANTICA

() P(a, f (b)) ∨ P(c, f (d)) () ∀x∃y(P(x, y) → P(g(x, x), f (y)))  S. ´ (a) Observemos en primer lugar que la variable x aparece ligada mientras que la variable y aparece libre. Por tanto la formula dada vendr´ıa a decir algo ´ como: “existe un elemento x en Z5 tal que P(x, 3) y P(4 + x, 2 × 3)”. Puesto que a la hora de interpretar, la aritm´etica se est´a realizando en Z5 , podemos reemplazar 2 × 3 por su valor reducido que es 1, con lo que la formula nos dir´ıa que: ´ “existe un elemento x en Z5 tal que P(x, 3) y P(4 + x, 1)”. Si tenemos en cuenta la forma como se interpreta el s´ımbolo de pre´ dicado P, observamos que e´ sta no es casual; de hecho corresponde a una relacion ´ de orden total ≤ definida en Z5 , de manera que 0 < 1 < 2 < 3 < 4. Por tanto, la formula inicial significa: ´ “existe un elemento x en Z5 tal que x ≤ 3 y 4 + x ≤ 1”. De todos los elementos de Z5 menores o iguales que 3, observamos que tanto x = 1 como x = 2 verifican adem´as la segunda condicion ´ (de hecho son los unicos). ´ As´ı pues, la formula se interpreta en la estructura dada como VERDA´ DERA. (b) () La formula se interpreta como ´ “a ≤ 2 × b o´ c ≤ 2 × d”, es decir, “0 ≤ 2 × 1 o´ 2 ≤ 2 × 3”, o bien ”0 ≤ 2 o´ 2 ≤ 1”, lo cual es cierto, por lo que la interpretacion ´ es VERDADERA. () Ahora estamos diciendo que: “Para todo x existe y tal que, si x ≤ y entonces x + x ≤ 2y”, lo cual es VERDADERO, pues para cada valor que tome x basta tomar el mismo valor para y.  E 32. Sea la formula ´ ∀x∃yP( f (a, x), y) y la L-estructura dada por D=Q a = 3/2 f = + (suma)


5. VALIDEZ Y SATISFACIBILIDAD

33

q

g(q) = 4 + 5 P =≤ 1. Para una asignacion dada. ´ arbitraria, interpreta la formula ´ 2. Para la asignacion ´ v : Var(L) → Q x 7→ 1 y 7→ 2 calcula v(g( f (x, y))). E 33. Probar que la formula ´ ∀xP(x, f (x))∧∀y¬P(y, y)∧∀v∀w((P(u, v)∧P(v, w)) → P(u, w)) es satisfacible. Probar que solo puede ser satisfacible en estructuras con dominios no finitos. 5.

Validez y satisfacibilidad

Dada una formula, e´ sta puede ser cierta bajo cualquier interpretacion, ´ ´ o ser cierta bajo interpretaciones en determinadas L-estructuras. Recu´erdese del tema anterior que entre las proposiciones distingu´ıamos tautolog´ıas, proposiciones satisfacibles, proposiciones refutables y contradicciones. El an´alogo a estos conceptos se recoge en las siguientes definiciones. Una formula ϕ de L es v´alida en una L-estructura E si para toda ´ asignacion ´ v en E se verifica que Iv (ϕ) = 1. Una formula de ϕ de L es universalmente v´alida si es v´alida en toda ´ L-estructura. Una formula ϕ de L es satisfacible si existe una interpretacion ´ ´ (E, v) tal que Iv (ϕ) = 1. En este caso se dice que ϕ es satisfacible en E. Una formula ϕ de L es refutable si ¬ϕ es satisfacible. ´ El que una formula sea satisfacible en E no implica que sea v´alida en E. ´ Claramente la otra implicacion ´ s´ı se da. E 17. Sea ϕ la formula ∀xR(x) → R(a). Veamos que ϕ es una formu´ ´ la universalmente v´alida. Para ello consideramos una L-interpretacion ´ (E, v). Tenemos que Iv (ϕ) = 1 si y solo ´ si 1 + Iv (∀xR(x)) + Iv (∀xR(x))Iv (R(a)) = 1. Distinv guimos dos casos: I (∀xR(x)) = 0 e Iv (∀xR(x)) = 1. En el primero nos queda que Iv (∀xR(x) → R(a)) = 1 + 0 + 0 × 1 = 1. Supongamos ahora que Iv (∀xR(x)) = 1, esto es equivalente a que Iv(x|b) (R(x)) = 1 para todo b ∈ D (con D el dominio de la L-estructura E). En particular tomando b igual a a nos queda que Iv(x|a) R(x) = 1 lo que hace que R(a) = 1, de ah´ı que Iv (R(a)) = 1 y por tanto Iv (∀xR(x) → R(a)) = 1 + 1 + 1 × 1 = 1. Consideremos ahora la formula φ = R(a) → ∀xR(x) e interpret´emosla en ´ cualquier L-estructura E que cumpla que su dominio tiene un solo elemento.


34

´ ´ 3. LOGICA DE PRIMER ORDEN. SEMANTICA

Si tomamos (E, v) una interpretacion ´ en esa L-estructura, tenemos que Iv (φ) = 1 + Iv (R(a)) + Iv (R(a))Iv (∀xR(x)). Al tener el dominio de E un solo ´ elemento, es f´acil deducir que Iv (∀xR(x)) = Iv (R(a)) y de ah´ı que Iv (φ) = 1 + Iv (R(a)) + Iv (R(a))Iv (R(a)) = 1, por lo que la formula φ es v´alida en todas las L-estructuras ´ cuyo dominio tenga un solo ´ elemento. Tomemos ahora la siguiente L-estructura E dada por: D = N, a = 0, R = ser igual a cero. Sea v una asignacion φ: ´ cualquiera sobre E e interpretemos la formula ´ Iv (φ) = 1 + Iv (R(a)) + Iv (R(a))Iv (∀xR(x)) = 1 + R(0) + R(0)Iv (∀xR(x)) = 1 + 1 + 1Iv (∀xR(x)). Esto hace que Iv (φ) dependa del valor de Iv (∀xR(x)). Sabemos que Iv (∀xR(x)) = 1 si y solo ´ si Iv(x|b) (R(x)) = R(b) = 1 para todo b ∈ N, lo que ser´ıa cierto si todo numero natural es igual a cero, pero e´ sto no ocurre. Por tanto, Iv (∀xR(x)) = 0 y ´ v de ah´ı I (φ) = 0.  E 34. 1. Prueba que ∀x(P(x) → P(x)) es universalmente v´alida. 2. Prueba que R(x, y) es satisfacible y refutable. 3. Prueba que ∀xP(x) → ∃xP(x) es universalmente v´alida. 4. Prueba que ψ∧¬ψ es una contradiccion. ´ 5. Prueba que ϕ → (ψ → ϕ) es universalmente v´alida (haz lo mismo con los patrones de axioma del c´alculo proposicional A2 y A3 ). 6.

Consecuencia Logica ´

Al igual que hicimos en su momento con la logica proposicional, nos dispo´ nemos a introducir el concepto de consecuencia logica. La idea es b´asicamente ´ la misma, pero en el caso de lenguajes de primer orden es un poco m´as complicada. Dec´ıamos que una proposicion de un conjunto de ´ era consecuencia logica ´ proposiciones si el hecho de que todas esas proposiciones fuesen ciertas forzaba que la proposicion ´ dada fuese cierta. Por tanto, la traduccion ´ directa del concepto de consecuencia logica es que una determinada formula es consecuencia ´ ´ logica de un conjunto de formulas si, siempre que bajo una interpretacion ´ ´ ´ e´ stas sean ciertas, la formula dada tambi´en sea cierta bajo esa interpretacion. ´ ´ Dado un conjunto de formulas Γ ∪ {ϕ}, decimos que ϕ es consecuencia ´ logica ´ de Γ, o bien que Γ implica sem´anticamente a ϕ, y lo notaremos Γ |= ϕ, si y solo ´ si para toda L-interpretacion ´ (E, v) verificando que Iv (γ) = 1 para todo γ ∈ Γ, se tiene que Iv (ϕ) = 1. Si Γ = ∅ entonces escribiremos |= ϕ en lugar de ∅ |= ϕ. El lector puede comprobar que |= ϕ equivale a que ϕ es universalmente v´alida.


´ 7. TEOREMA DE LA DEDUCCION. LEMA DE COINCIDENCIA

35

E 18. Sean ϕ y ψ dos formulas. Veamos que {ϕ, ϕ → ψ} |= ψ. Tome´ mos (E, v) una interpretacion ´ de forma que Iv (ϕ) = 1 = Iv (ϕ → ψ). Entonces v 1 = 1 + 1 + I (ψ), por lo que Iv (ψ) = 1. Esto es, siempre que ϕ y ϕ → ψ sean ciertas bajo una determinada interpretacion,  ´ entonces tambi´en lo es ψ. E 35. Prueba que {∀x(P(x) → Q(x)), ¬Q(a)} |= ¬P(a). 7.

Teorema de la deduccion. ´ Lema de coincidencia

A continuacion ´ enunciamos el teorema de la deduccion, ´ cuya demostracion ´ dejamos al lector. Este teorema no necesita presentacion, ´ ya que su utilidad quedo´ patente en el cap´ıtulo dedicado a la logica proposicional. ´ R 10 (Teorema de la deduccion.). Dado Γ ∪ {ϕ, ψ} un conjunto de ´ f´ormulas. Son equivalentes: Γ ∪ {ϕ} |= ψ, Γ |= ϕ → ψ. Consideremos la formula ∀xR(x, y). Si nos fijamos en la definicion ´ ´ de interpretacion cuantificada, nos damos cuenta de que, a la hora de ´ de una formula ´ interpretar, el valor que se le asigna a la x poco importa, ya que es substituido por todos los valores posibles del dominio o universo de la estructura en la que estamos interpretando. Lo realmente importante, aparte del valor que le asignemos a R, es el valor asignado a la variable libre y. Esta idea se recoge en el siguiente teorema. R 11 (Lema de coincidencia.). Sea ϕ una f´ormula tal que todas las variables que aparecen libres en ella son x1 , . . . , xn . Sea E una L-interpretaci´on. Son equivalentes: 1. Iv (ϕ) = 1, 0 2. para toda asignaci´on w, si w0 = w(x1 |v(x1 ), . . . , xn |v(xn )), entonces Iw (ϕ) = 1. En una sentencia no hay variables libres, y por tanto si tenemos una interpretacion ´ y cambiamos los valores de las variables que queramos en la asignacion ´ asociada a la interpretacion, ´ no vamos a alterar los valores de las variables libres, ya que no las hay, y por tanto el valor de la interpretacion ´ de la sentencia dada no se altera. Este hecho se recoge en el siguiente corolario. C 4. Dada una sentencia ϕ y E una L-estructura, son equivalentes: 1. ϕ es v´alida en E, 2. ϕ es satisfacible en E. Si tenemos una interpretacion, ´ entonces una sentencia podr´a ser cierta o no bajo esa interpretacion. ´ Si es cierta, eso quiere decir que es satisfacible en la L-estructura donde estamos interpretando, y por el corolario anterior, es


´ ´ 3. LOGICA DE PRIMER ORDEN. SEMANTICA

36

v´alida en esa estructura. Si por el contrario es falsa, entonces su negacion ´ es cierta, con lo que aplicando el mismo razonamiento anterior tenemos que su negacion ´ es v´alida en la L-estructura. C 5. Dada una sentencia ϕ y E una L-estructura, entonces es cierta una de las siguientes afirmaciones (y s´olo una) 1. ϕ es v´alida en E, 2. ¬ϕ es v´alida en E. Lo interesante de estos resultados es que la interpretacion ´ de una sentencia no depende del valor que asignemos a las variables, sino de la L-estructura en s´ı. E 36. Sea E una L-estructura. Sea ϕ ∈ Form(L). Si x1 , . . . , xn son todas las variables que aparecen libres en ϕ, entonces equivalen: 1. ϕ es v´alida en E, 2. ∀x1 . . . ∀xn ϕ es satisfacible en E, 3. ∀x1 . . . ∀xn ϕ es v´alida en E. E 37. Sea E una L-estructura. Sea ϕ ∈ Form(L). Si x1 , . . . , xn son todas las variables que aparecen libres en ϕ, entonces equivalen: 1. ϕ es satisfacible en E, 2. ∃x1 . . . ∃xn ϕ es satisfacible en E, 3. ∃x1 . . . ∃xn ϕ es v´alida en E. E 38. Demuestra que: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

|= ¬∀xψ ↔ ∃x¬ψ, |= ¬∃xψ ↔ ∀x¬ψ, |= ∃xψ ↔ ¬∀x¬ψ, |= ∀xψ ↔ ¬∃x¬ψ, |= ∀xψ ∧ ϕ ↔ ∀x(ψ ∧ ϕ), si x no es libre en ϕ, |= ∃xψ ∧ ϕ ↔ ∃x(ψ ∧ ϕ), si x no es libre en ϕ, |= ∀xψ ∨ ϕ ↔ ∀x(ψ ∨ ϕ), si x no es libre en ϕ, |= ∃xψ ∨ ϕ ↔ ∃x(ψ ∨ ϕ), si x no es libre en ϕ, |= ∀xψ ∧ ∀xϕ ↔ ∀x(ψ ∧ ϕ), |= ∃xψ ∨ ∃xϕ ↔ ∃x(ψ ∨ ϕ), |= ∀xϕ(x) ↔ ∀yϕ(y), y la variable y no aparece en ϕ(x), |= ∃xϕ(x) ↔ ∃yϕ(y), y la variable y no aparece en ϕ(x).

Cuando escribimos |= ϕ ↔ ψ, lo que estamos diciendo es que ϕ y ψ tienen el mismo valor de verdad bajo cualquier intrerpretacion. ´ En el tema de Logica Proposicional dec´ıamos que cuando esto ocurr´ıa, entonces ϕ y ψ eran ´ logicamente equivalentes (o sem´anticamente equivalentes). ´


´ ESPECIFICA ´ 9. BIBLIOGRAFIA

8.

37

Inconsistencia

En lo sucesivo, nos vamos a centrar en el problema de intentar resolver el problema Γ |= ϕ. Para ello vamos a transformarlo ligeramente introduciendo el concepto de inconsistencia y viendo la relacion ´ que tiene con consecuencia logica. ´ Un conjunto de formulas Γ se dice inconsistente si no existe (E, v) de forma ´ que (Iv )∗ (Γ) ⊆ {1}, es decir para toda interpretacion ´ I, existe ϕ ∈ Γ tal que v I (ϕ) = 0. La siguiente proposicion, ´ cuya demostracion ´ es bastante sencilla (y que dejamos al lector), pone de manifiesto la relacion e ´ entre consecuencia logica ´ inconsistencia. R 12. Sea Γ ∪ {ϕ} un conjunto de f´ormulas. Equivalen: 1. Γ |= ϕ, 2. Γ ∪ {¬ϕ} es inconsistente. En los proximos cap´ıtulos nos centraremos en transformar el conjunto de ´ formulas en otros que conserven la inconsistencia y que sean m´as sencillos de ´ estudiar. Daremos algoritmos para determinar, en algunos casos, la inconsistencia de esos conjuntos de formulas m´as sencillos, resolviendo as´ı, de forma ´ parcial, el problema de determinar si algo es consecuencia logica o no de un ´ conjunto de formulas dadas, a saber, si un determinado enunciado es una ´ deduccion de un conjunto de hipotesis dadas. ´ logica ´ ´ Hacemos notar que existe una correspondiente teor´ıa axiom´atica y sint´actica para la logica de predicados de primer orden. El alumno interesado puede ´ consultar la bibliograf´ıa. 9.

Bibliograf´ıa espec´ıfica

(1) Manuel Ojeda Aciego, Inmaculada P´erez de Guzm´an Molina, Logica para ´ ´ la computacion de primer orden), Agora, 1997. ´ (vol. 2, Logica ´ (2) Ignacio Jan´e, Ramon ´ Jansana Ferrer, Calixto Badesa, Elementos de logica ´ formal, Ariel filosof´ıa, 1998. (3) Joaqu´ın Aranda, Jos´e L. Fern´andez, Jos´e Jim´enez, Fernando Morilla, Fundamentos de logica matem´atica, Sanz y Torres , 1999. ´


CAP´ıTULO 4

Formas normales 1.

Introduccion ´

En el cap´ıtulo anterior vimos como Γ |= ϕ es equivalente a que Γ ∪ {¬ϕ} sea inconsistente. En el presente cap´ıtulo nos proponemos hacer transformaciones en un conjunto de formulas, de manera que dichas transformaciones no alteren ´ el car´acter de inconsistencia del conjunto que estamos transformando, y con la ventaja adicional de que las transformaciones dan lugar a formulas m´as ´ “simples” que las del conjunto de partida. 2.

Forma normal prenexa

La primera de las mencionadas transformaciones va a consistir en “extraer” los cuantificadores de forma que e´ stos queden al principio. Conseguiremos as´ı un conjunto de formulas que est´en en forma prenexa. ´ Una formula ϕ est´a en forma normal prenexa si es de la forma C1 x1 . . . Cn xn M, ´ donde Ci = ∀ o´ ∃ y M es una formula sin cuantificadores. ´ Vamos a ver que siempre es posible encontrar, para cualquier formula dada, ´ una formula que sea equivalente (en el sentido que a continuacion ´ ´ vamos a precisar) y que est´e en forma prenexa. De este modo podremos transformar nuestro conjunto de partida en un conjunto de formulas que est´en en forma ´ prenexa. Recu´erdese que dos formulas, ϕ y ψ, son sem´anticamente equivalentes si y ´ solo ´ si |= ϕ ↔ ψ, y lo denot´abamos por ϕ ≡ ψ (esto es, ϕ y ψ son sem´anticamente equivalentes si y solo ´ si Iv (ϕ) = Iv (ψ) para cualquier interpretacion ´ (E, v)). El siguiente teorema nos asegura que la transformacion ´ antes mencionada se puede llevar a cabo. R 13. Para toda f´ormula ϕ existe otra f´ormula ϕ∗ en forma normal prenexa sem´anticamente equivalente a ϕ. La demostracion ´ de este teorema se hace usando el Ejercicio 38 del tema anterior. Ese ejercicio da un m´etodo para calcular la forma prenexa equivalente a una formula dada. Los cuatro primeros apartados de dicho ejercicio nos ´ permiten alternar los cuantificadores con las negaciones, extrayendo as´ı los cuantificadores y dejando dentro a las negaciones. Los apartados quinto al octavo nos permiten ir extrayendo cuantificadores. Notese que si no se da que ´ x no sea libre en ϕ, podemos usar los apartados und´ecimo y duod´ecimo para 39


40

4. FORMAS NORMALES

renombrar la variable x por otra que ni siquiera aparezca en ϕ, con lo que nos aseguramos que no sea libre en ϕ. Los apartados noveno y d´ecimo son optimizaciones de los apartados quinto y octavo respectivamente. El teorema anterior nos permite conservar el car´acter de inconsistencia de nuestro conjunto de partida una vez que hayamos substituido las formulas que ´ lo componen por formulas equivalentes en forma prenexa. ´ C 6. Dado un conjunto de f´ormulas Γ, consid´erese el conjunto Γ∗ formado al escoger una f´ormula en forma normal prenexa para cada f´ormula de Γ. Entonces Γ es inconsistente si y s´olo si Γ∗ es inconsistente. E 39. Sea ϕ una formula y x una variable sin ocurrencias libres en ´ ella. Probar que |= ϕ ↔ ∀xϕ y |= ϕ ↔ ∃xϕ. El ejercicio anterior nos permite quitar cuantificadores innecesarios al calcular formas normales prenexas. E 19. Sea ϕ la formula ∀x∃y∃xR(x). Claramente ϕ ya est´a en forma ´ normal prenexa pero usando el ejercicio anterior nos queda que ϕ es equivalente a la formula ∃xR(x) que es m´as sencilla que la anterior y que ser´a la forma ´ normal prenexa de ϕ que usaremos. E 40. Transforma las siguientes formulas en forma normal prenexa: ´ 1. ∀x(P(x) → ∃yQ(x, y)), 2. ∃x(¬∃yP(x, y) → (∃zQ(z) ∧ R(x))), 3. (∃x∀yP(a, f (x, y)) → ∃xR( f (x, b))) ∧ P(b, a) 4. ∀x∀y(∃zP(x, y, z) ∧ (∃uQ(x, u) → ∃vQ(y, v))), 5. ¬∃x(P(x) → ∀yQ(y)), 6. ∀xP(x) → ¬∀y∃z(∀yQ(y, z) → ∀u∀v∀yR(u, v)), 7. R(x, y) ∧ (∃yP(y) → ∀x∀wQ(y, x, w)), 8. ∃x(∀xP(x) → (R(x, a) ∨ ∀yP(y))) ∧ ∀x∃y(R(y, f (x)) → P(x)). 3.

Forma normal de Skolem

La segunda transformacion ´ que vamos a hacer consiste en “eliminar” los cuantificadores existenciales de manera adecuada para que el conjunto resultante sea inconsistente si y solo ´ si lo es el de partida. Lo que vamos a introducir no es otra cosa que una de las formas normales de Skolem, la que conserva la inconsistencia. En principio no nos interesa m´as que el estudio de esta forma de Skolem, y para nosotros ser´a la unica que vamos a considerar. ´ Dada ϕ ∈ Form(L) en forma normal prenexa. Una forma normal de Skolem de ϕ es una formula obtenida al ir substituyendo cada variable xi cuantificada ´ existencialmente por f (xi1 , ..xil ), donde f es un s´ımbolo de funcion ´ con ariedad l que no aparece en ϕ ni ha sido usado hasta el momento para la substitucion ´ de otra variable, y xi1 , .., xil son las variables cuantificadas universalmente que


3. FORMA NORMAL DE SKOLEM

41

preceden a ∃xi en la escritura de ϕ (de no haber ninguna, la substitucion ´ se hace por una constante a que no aparezca en ϕ). Cuando vayamos a transformar formulas que est´en en un conjunto dado ´ en sus respectivas formas de Skolem, buscaremos los s´ımbolos que aparecen en la definicion que ´ de modo que no est´en en ninguna de las otras formulas ´ aparecen en el conjunto. Este matiz viene justificado por el Ejercicio 42. E 20. Una forma de Skolem de ∃x∀y∃z(R(x, y) ∧ Q(z, y, x)), es ∀y(R(a, y) ∧ Q( f (y), y, a)), ya que a ∃x no le precede ninguna variable cuantificada y a es un s´ımbolo de constante que no aparece en ϕ y no ha sido usado hasta el momento; y porque a ∃z le precede la variable cuantificada universalmente y, y el s´ımbolo de funcion ´ f no aparece en ϕ y no ha sido usado hasta el momento.  Al “skolemizar” de esta forma perdemos la equivalencia sem´antica, pero la inconsistencia, que es lo que nos interesa ahora, se conserva. Si tomamos una forma normal de Skolem de cada elemento de Γ∗ , obtenemos el conjunto que vamos a denotar por Γ∗∗ . R 14. Dado un conjunto de f´ormulas Γ, si construimos Γ∗∗ como antes se ha indicado, entonces Γ es inconsistente si y s´olo si Γ∗∗ es inconsistente. No vamos a dar la demostracion ´ de este teorema, pero vamos a intentar motivarla poniendo un ejemplo. Supongamos que queremos probar que el conjunto {∀x∃yϕ(x, y)} es inconsistente (por ϕ(x, y) vamos a entender una formula ´ en la que las variables x e y aparecen libres). Si calculamos una forma de Skolem de ∀x∃yϕ(x, y) tendremos ∀xϕ(x, f (x)) (en ϕ(x, y) hemos substituido todas las ocurrencias libres de y por f (x)). Est´a claro que si no hay ninguna interpretacion ´ para la que ∀x∃yϕ(x, y) sea cierta, eso quiere decir que no hay ninguna para la que ∀xϕ(x, f (x)) sea cierta. Si por el contrario ∀x∃yϕ(x, y) fuese cierta bajo una interpretacion ´ dada Iv en una determinada estructura E, eso quiere decir que para cada a en el dominio de la estructura existe un ba (de esta forma indicamos 0 la posible dependencia de a) en ese dominio tal que Iv (ϕ(x, y)) es cierta, con v0 = v(x|a, y|ba ). Como el s´ımbolo de funcion de ´ f no aparece en la formula ´ partida, podr´ıamos transformar la estructura de forma que para cada a, f E (a) valga ba , y dejando el resto de la estructura igual. De esta forma, ∀xϕ(x, f (x)) es cierta en la nueva estructura bajo la misma interpretacion. que la ´ Notese ´ equivalencia sem´antica se pierde porque alteramos artificialmente la estructura para que la formula se haga cierta. De hecho, es f´acil encontrar ejemplos de ´ estructuras e interpretaciones donde las dos formulas tomen valores de verdad ´ distintos, pero lo que s´ı aseguramos es que si la formula de partida es cierta ´ en una determinada estructura bajo una determinada interpretacion, ´ podemos modificar la estructura haciendo que la forma de Skolem sea tambi´en cierta.


42

4. FORMAS NORMALES

E 41. Calcula las formas de Skolem de las soluciones del Ejercicio 40. 4.

Forma clausular

La ultima transformacion ´ ´ que vamos a hacer consiste en “partir” las formu´ las que tenemos en otras m´as simples. Para ello vamos a restringirnos a formu´ las que sean sentencias (recu´erdese que una formula es sentencia si todas las ´ ocurrencias de sus variables son ligadas). Aunque esta restriccion ´ parezca desmesurada, como ya comentamos al hablar de ocurrencias libres y ligadas, en el lenguaje hablado no se dan las variables libres, y por tanto normalmente partimos de un conjunto de sentencias a la hora de estudiar su inconsistencia. Los trozos en los que vamos a partir nuestras formulas (ya en forma de Skolem) ´ van a ser cl´ausulas, concepto que definimos a continuacion. ´ 1. Un literal es una formula atomica o la negacion atomi´ ´ ´ de una formula ´ ´ ca. 2. El cierre universal de una formula ϕ cuyas variables con ocurrencias ´ libres son x1 , . . . , xn , es ∀x1 · · · ∀xn ϕ. 3. Una cl´ausula es el cierre universal de una disyuncion ´ de literales. As´ı pues, si C es una cl´ausula, entonces C es de la forma ∀x1 · · · ∀xn (L1 ∨ . . . ∨ Lm ), con Li literales. De ahora en adelante al escribir las cl´ausulas omitiremos los cuantificadores universales que las preceden, escribiendo de esta forma L1 ∨ . . . ∨ Lm en vez de C, sin olvidarnos de que todas las variables est´an cuantificadas universalmente. Dada una sentencia, podemos encontrar una formula equivalente a ella ´ en forma normal prenexa. Claramente esta nueva formula tambi´en es una ´ sentencia, y si calculamos una forma de Skolem asociada a ella, e´ sta sigue siendo una sentencia. Obtenemos as´ı una formula del tipo ∀x1 · · · ∀xn M, con M ´ una formula libre de cuantificadores. Usando ´ ϕ ∨ (ψ ∧ χ) ≡ (ϕ ∨ ψ) ∧ (ϕ ∨ χ), para cualesquiera ϕ, ψ, χ formulas; ´ ϕ → ψ ≡ ¬ϕ ∨ ψ, para cualesquiera ϕ y ψ formulas; ´ Leyes de De Morgan; podemos transformar M en una formula equivalente a ella, de manera que e´ sta ´ sea conjuncion de literales, a saber, ´ de disyunciones ´ ^_ M≡ ( Li j ). i

j

Si adem´as tenemos en cuenta que ∀x(ϕ ∧ ψ) ≡ ∀xϕ ∧ ∀xψ, para cualesquiera ϕ y φ formulas, y x variable, ´ tenemos que ∀x1 · · · ∀xn M ≡ C1 ∧ · · · ∧ Cm , con Ci cl´ausulas. Dada ϕ una sentencia, sea ϕ∗ una formula equivalente a ella en forma ´ ∗∗ prenexa. Sea ϕ una forma de Skolem asociada a ϕ∗ . Podemos encontrar como


4. FORMA CLAUSULAR

antes C1 , . . . , Cm verificando ϕ ≡ ∗∗

m ^

43

Ci .

i=1

El conjunto {C1 , . . . , Cm } es una forma clausular de ϕ. El motivo por el que tomamos el conjunto de las cl´ausulas en vez de la conjuncion ´ de ellas es porque, en realidad, a la hora de estudiar inconsistencia podemos partir las formulas que sean conjuncion tal como ´ ´ de otras formulas, ´ prueba el siguiente ejercicio. E 42. Dado el confunto de formulas {ψ1 , . . . , ψn }, son equivalentes: ´ {ψ1 , . . . , ψn } es inconsistente. {ψ1 ∧ · · · ∧ ψn } es inconsistente. Usando este resultado, es f´acil de demostrar el siguiente teorema. R 15. Dado un conjunto de sentencias Γ, si consideramos el conjunto Γ resultante de considerar para cada f´ormula de Γ, una forma clausular suya, y luego tomar la uni´on de todas ellas, se tiene que Γ es inconsistente si y s´olo si Γ0 es inconsistente. 0

Tenemos pues que si el conjunto de partida es un conjunto de sentencias, probar su insconsistencia es equivalente a probar la inconsistencia de un conjunto de cl´ausulas. La ventaja de este hecho es que las cl´ausulas son formulas ´ de estructura sencilla. Obs´ervese tambi´en que en virtud del Ejercicio 42, cada vez que calculamos la forma de Skolem de una formula del conjunto de partida Γ, la eleccion ´ ´ de los nuevos s´ımbolos de constante y de funcion, ´ por la que substituiremos las variables que aparecen cuantificadas existencialmente, tiene que ser tal que e´ stos no aparezcan en el resto de las formulas de Γ. ´ E 21. Sea ϕ la formula ∃z(∀x∃yR(x, a) ∨ ¬∃x∀y(P( f (y), z) ∨ R(x, y))). ´ Los pasos que damos para calcular una de sus formas normales prenexas son los siguientes: 1. ∃z(∀x∃yR(x, a) ∨ ∀x∃y(¬P( f (y), z) ∧ ¬R(x, y))), 2. ∃z∀x∃y(R(x, a) ∨ ∀x∃y(¬P( f (y), z) ∧ ¬R(x, y)), 3. ∃z∀x∃y(R(x, a) ∨ ∀x1 ∃y(¬P( f (y), z) ∧ ¬R(x1 , y)), 4. ∃z∀x∃y∀x1 ∃y(R(x, a) ∨ (¬P( f (y), z) ∧ ¬R(x1 , y)), Podriamos decir que con el ultimo paso ya hemos conseguido una forma ´ normal prenexa de ϕ, pero el ejercicio 39 nos permite dar un paso m´as y obtener la formula ´ ∃z∀x∀x1 ∃y(R(x, a) ∨ (¬P( f (y), z) ∧ ¬R(x1 , y))) que es equivalente a ϕ, es m´as sencilla y sigue estando en forma normal prenexa. En este caso para calcular la forma de Skolem de esta ultima formula hemos ´ ´


44

4. FORMAS NORMALES

de usar una constante y una funcion ´ que no aparezcan en nuestras formulas. ´ Suponiendo que ni b ni g han sido usadas, podemos decir que la formula ´ ∀x∀x1 (R(x, a) ∨ (¬P( f (g(x, x1 )), b) ∧ ¬R(x1 , g(x, x1 )))). es una forma de Skolem de ϕ. Por ultimo, la formula anterior es equivalente a ´ ´ ∀x∀x1 ((R(x, a)∨¬P( f (g(x, x1 )), b))∧(R(x, a)∨¬R(x1 , g(x, x1 )))), de donde

{R(x, a)∨¬P( f (g(x, x1 )), b), R(x, a)∨¬R(x1 , g(x, x1 ))} es una forma clausular de ϕ. E 43. Calcula la forma clausular de las soluciones del ejercicio 41.


CAP´ıTULO 5

Unificacion ´ y Resolucion ´ 1.

Introduccion ´

En temas anteriores abordamos el problema de encontrar un algoritmo para demostrar Γ |= ϕ. Para ello trasladamos dicho problema a demostrar la inconsistencia del conjunto de formulas Γ ∪ {¬ϕ}, el cual fuimos transformando ´ sucesivamente en conjuntos que conservaban la propiedad de inconsistencia, llegando al final a un conjunto de cl´ausulas. Nos proponemos en este tema dar algoritmos para determinar la inconsis´ tencia de un conjunto de cl´ausulas. Estos se basan en intentar deducir la cl´ausula vac´ıa a partir del conjunto original de cl´ausulas, haciendo uso del principio de resolucion regla de inferencia en nuestras deducciones. ´ como unica ´ 2.

El principio de resolucion ´ sin unificacion ´

En esta seccion ´ introducimos el principio de resolucion ´ para un conjunto de cl´ausulas en su version ´ m´as elemental, que no es otra cosa que una extension ´ del modus ponens. M´as adelante veremos que esta version ´ del principio de resolucion ´ no es aplicable muchas veces, debido a que los literales de las cl´ausulas se diferencian en algun ´ t´ermino. Trataremos pues de salvar este obst´aculo m´as adelante, siempre que sea posible, y dar as´ı el principio de resolucion ´ para la logica de primer orden. ´ Consid´erense las siguientes cl´ausulas (donde LC1 es el unico literal tal que ´ C ¬L1 ≡ L1 ): C1 ≡ L 1 C2 ≡ LC1 ∨ L2 La cl´ausula C2 se puede escribir como L1 → L2 . Por tanto, haciendo uso de modus ponens, tenemos que {L1 , L1 → L2 } |= L2 . El siguiente resultado generaliza este hecho. que

R  2. Dadas las cl´ausulas L1 ∨ · · · ∨ Ln , LC1 ∨ L02 ∨ · · · ∨ L0m se tiene {L1 ∨ · · · ∨ Ln , LC1 ∨ L02 ∨ · · · ∨ L0m } |= L2 ∨ · · · ∨ Ln ∨ L02 ∨ · · · ∨ L0m .

En lo sucesivo, si C es una cl´ausula y L es un literal que aparece en C, notaremos C − L a la cl´ausula que tiene todos los literales de C excepto L. En el 45


46

´ Y RESOLUCION ´ 5. UNIFICACION

caso en que C = L, a C − L lo denotamos por , y nos referimos a ella como la cl´ausula vac´ıa. E 22. 1. Sea C ≡ R(x, y) ∨ P(a, f (a, z)), y sea L ≡ P(a, f (a, z)). La cl´ausula C − L es la cl´ausula R(x, y). 2. Si tomamos C ≡ Q(a) y L ≡ Q(a), entonces C − L es la cl´ausula vac´ıa.  Principio de resolucion ´ sin unificacion. ´ Dadas dos cl´ausulas C1 y C2 , y dos literales L1 y L2 de C1 y C2 respectivamente, de forma que LC1 coincide con L2 . La cl´ausula C1 − L1 ∨ C2 − L2 es una resolvente de C1 y C2 . E 23. Sean las cl´ausulas C1 ≡ ¬P ∨ Q ∨ S C2 ≡ ¬Q ∨ R. La unica resolvente que existe de C1 y C2 es ¬P ∨ S ∨ R. ´



E 24. Sean las cl´ausulas C1 y C2 : C1 ≡ P ∨ Q C2 ≡ P ∨ R. En este caso no existe resolvente de C1 y C2 .



Por lo visto antes, se tiene el siguiente resultado. C 7. Dadas dos cl´ausulas C1 y C2 , una resolvente C de ambas es una consecuencia l´ogica de C1 y C2 . Si C1 = L1 y C2 = L2 = LC1 , entonces C1 − L1 ∨ C2 − L2 es la cl´ausula vac´ıa. Notese adem´as que el conjunto {L1 , LC1 } es inconsistente. ´ Dado un conjunto de cl´ausulas Γ ∪ {C}, una deduccion ´ de C a partir de Γ es una sucesion ´ finita de cl´ausulas C1 , .., Ck tal que Ck = C y Ci (i < k) es, o bien un elemento de Γ, o bien una resolvente de dos cl´ausulas que le precedan. Una deduccion ´ de  a partir de Γ se llama refutacion, ´ o prueba de Γ. De ahora en adelante diremos que C se deduce o deriva de Γ si existe una deduccion ´ de C a partir de Γ. Por el corolario anterior se tiene que C 8. Si la cl´ausula C se deduce del conjunto de cl´ausulas Γ entonces Γ |= C. La demostracion ´ de este hecho se hace teniendo en cuenta la definicion ´ de deduccion ´ y aplicando induccion ´ para usar el corolario anterior. Adem´as hay que tener presente el siguiente hecho: si  se deduce de Γ eso es porque existe una sucesion ´ de cl´ausulas C1 , . . . , Ck = , y por tanto  es resolvente de dos cl´ausulas Ci y C j . Por la definicion ´ de resolvente se tiene a la fuerza que Ci y C j son literales y que uno es la negacion ´ del otro. Sea L dicho literal, tenemos


´ SIN UNIFICACION ´ 2. EL PRINCIPIO DE RESOLUCION

47

pues que Γ |= L y que Γ |= LC , y por tanto Γ debe ser inconsistente. Se tiene as´ı el siguiente resultado. C 9. Si  se deduce de Γ, entonces Γ es inconsistente. Por ahora, con la definicion ´ de resolvente que tenemos, el rec´ıproco no es cierto. Para eso debemos introducir unificacion. ´ E 25. Consid´erese el conjunto (1) (2) (3) (4)

P∨Q∨R ¬P ∨ Q ∨ R ¬Q ∨ R ¬R

       Γ.      

De (1) y (2), podemos obtener una resolvente (5) Q ∨ R De (5) y (3) obtenemos (6) R De (6) y (4) obtenemos (7)  Por tanto Γ es inconsistente.



E 26. Demostrar que {P∨Q, P∨¬Q, ¬P∨Q, ¬P∨¬Q} es inconsistente. (1) (2) (3) (4) (5) (6) (7)

P∨Q P ∨ ¬Q P ¬P ∨ Q ¬P ∨ ¬Q ¬P 

hip. hip. P.R.(1), (2) hip. hip. P.R.(4), (5) P.R.(3), (6)

Donde hip. es abreviatura de por hip´otesis y P.R.(n), (m) es abreviacion ´ de resolvente de las formulas (n) y (m).  ´ E 44. Prueba que: 1. 2. 3. 4.

|= ((R → Q) → R) → R, |= R → (Q → R), |= (R → (Q → P)) → ((R → Q) → (R → P)), |= (¬R → ¬Q) → ((¬R → Q) → R).


48

´ Y RESOLUCION ´ 5. UNIFICACION

3.

Unificacion ´

Supongamos que tenemos las cl´ausulas C1 ≡ P(x), C2 ≡ ¬P(a). En este caso no podemos aplicar el principio de resolucion ´ que vimos en la seccion ´ anterior, ya que no hay dos literales L1 y L2 de C1 y C2 de forma que L1 = LC2 . Notese adem´as que si en C1 substituy´esemos la variable x por ´ el t´ermino a, entonces s´ı que ser´ıa posible encontrar una resolvente de las cl´ausulas resultantes. Una substitucion ´ es una aplicacion ´ σ : Var(L) → Term(L) (al igual que ocurr´ıa con las asignaciones podemos ver a σ como una aplicacion ´ σ : Term(L) → Term(L)). El objetivo en esta seccion ´ es, para un conjunto de literales, ver si se puede encontrar una substitucion ´ que haga que todas las im´agenes de los literales de ese conjunto bajo la substitucion ´ sean iguales. En el ejemplo anterior, el conjunto de literales a unificar es {P(x), P(a)}, y si tomamos la substitucion, ´ σ, que aplica la variable x al t´ermino a y deja las dem´as variables inalteradas, tendremos que σ(P(x)) = σ(P(a)) = P(a). En su momento convenimos no escribir los cuantificadores delante de las cl´ausulas, por lo que C1 es en verdad ∀xP(x). Notese adem´as que {∀xP(x)} |= P(a), y que en consecuencia se tiene que ´ {C1 , C2 } |= ¬P(a) y {C1 , C2 } |= P(a), y que por tanto {C1 , C2 } es inconsistente. Por convenio denotaremos a la substitucion ´ x1 7→ t1 , .. . xn → 7 tn , y → 7 y, si y , x1 , . . . , xn ,

(con xi variables del lenguaje L y t j t´erminos del mismo lenguaje) como (x1 |t1 , .., xn |tn ), y a la substitucion ´ identidad como ε. Sea σ = (x1 |t1 , .., xn |tn ) una substitucion ´ y C una cl´ausula. σ(C) es la cl´ausula obtenida de substituir simult´aneamente cada ocurrencia de la variable xi , i ∈ {1, .., n}, por el t´ermino ti en C. Obs´ervese que {C} |= σ(C). E 27. Sean σ = (x| f (a, b), y|z) y C = P(x, g(b), y, g(z)), entonces σ(C) = P( f (a, b), g(b), z, g(z)).  E 28. Sean σ = (x|y, y|x) y C = P(x, g(b), y, g(z)), entonces σ(C) = P(y, g(b), x, g(z)) y σ2 (C) = C.  Una substitucion ´ σ se dice que es un unificador para el conjunto de literales Γ = {L1 , . . . , Ln } si #σ∗ (Γ) = 1, a saber, σ(L1 ) = · · · = σ(Ln ). En tal caso diremos que Γ es unificable.


´ 3. UNIFICACION

49

Una vez que tenemos un unificador para un conjunto de literales, en general, podremos construir a partir de e´ l infinitos unificadores para dicho conjunto de literales. De entre todos los posibles unificadores habr´a algunos que son m´as simples que el resto. Un unificador σ se dice unificador principal si para cualquier otro unificador θ existe una substitucion ´ λ de forma que θ = λσ. E 29. El conjunto {P(a), P(x)} es unificable por el unificador (x|a), el cual es el unico unificador existente y por tanto principal.  ´ E 45. ¿Cu´ales de los siguientes unificadores son principales para el conjunto Γ = {P(x), P(y)}?: σ1 = (y|x), σ2 = (x|z, y|z), σ3 = (x|y, y|x) y σ4 = (x|a, y|a). A continuacion ´ exponemos dos m´etodos distintos para decidir si un conjunto de literales es o no unificable. 3.1. Algoritmo de unificacion. ´ El problema que nos planteamos en esta seccion ´ es el de dar respuesta a la pregunta de si un determinado conjunto de literales es o no unificable. La utilidad de la resolucion ´ de este problema se dejo´ entrever al principio de la seccion ´ anterior (de hecho, nos basta con resolver el problema para literales). Notese que en el ejemplo 29 el conjunto de t´erminos que hace que los dos ´ literales sean distintos es {x, a}. La definicion ´ que damos a continuacion ´ recoge esta idea. El conjunto de discordancia D de un conjunto no vac´ıo de literales W se obtiene localizando el primer s´ımbolo (contando de izquierda a derecha) en el cual algunos de los literales de W deja de ser igual al resto, y luego extrayendo las subexpresiones de cada uno de los literales de W que empiezan en dicho s´ımbolo. Nos encontramos ya en condiciones de exponer el algoritmo de unificacion, ´ que es una herramienta para decidir si un conjunto de literales es o no unificable y, en caso de que lo sea, proporciona un unificador principal para dicho conjunto. Algoritmo de unificacion. ´ 1. H´agase k = 0, Wk = W (el conjunto de literales dado) y σk = ε. 2. Si #Wk = 1 (Wk es un conjunto unitario), entonces σk es un unificador principal para W, y por tanto finaliza el algoritmo. En caso contrario calculese el conjunto de discordancia, Dk , de Wk . ´ 3. Si hay elementos vk y tk en Dk tal que vk es una variable que no aparece en el t´ermino tk , ejecutese el paso 4. En otro caso, el conjunto W no es ´ unificable, y por tanto finaliza el algoritmo. 4. H´agase σk+1 = (vk |tk )σk y Wk+1 = (vk |tk )∗ (Wk ). 5. Increm´entese k y ejecutese el paso 2. ´


50

´ Y RESOLUCION ´ 5. UNIFICACION

E 30. Determinar si el conjunto W = {P(x, y), P( f (z), x), P(u, f (x))} es unificable, y en caso de serlo determinar un unificador m´as general para dicho conjunto. 1. W0 = W, σ0 = ε. 2. #W0 , 1. D0 = {x, f (z), u}. 3. x no aparece en f (z). 4. σ1 = (x| f (z)), W1 = {P( f (z), y), P( f (z), f (z)), P(u, f ( f (z)))}. 5. #W1 , 1. D1 = {u, f (z)}. 6. u no aparece en f (z). 7. σ2 = (u| f (z))(x| f (z)) = (x| f (z), u| f (z)), W2 = {P( f (z), y), P( f (z), f (z)), P( f (z), f ( f (z)))}. 8. #W2 , 1. D2 = {y, f (z), f ( f (z))}. 9. y no aparece en f (z). 10. σ3 = (y| f (z))σ2 = (x| f (z), u| f (z), y| f (z)), W3 = {P( f (z), f (z)), P( f (z), f (z)), P( f (z), f ( f (z)))}. 11. #W3 , 1. D3 = {z, f (z)}. 12. W no es unificable por aplicacion ´ del paso 3 del algoritmo.  E 31. Hacer lo mismo para para W = {P(a, x, f (g(y))), P(z, f (z), f (u)}. 1. W0 = W, σ0 = ε. 2. #W0 , 1. D0 = {a, z}. 3. z no aparece en a. 4. σ1 = (z|a), W1 = {P(a, x, f (g(y))), P(a, f (a), f (u))}. 5. #W1 , 1. D1 = {x, f (a)}. 6. x no aparece en f (a). 7. σ2 = (x| f (a))(z|a) = (x| f (a), z|a), W2 = {P(a, f (a), f (g(y))), P(a, f (a), f (u))}. 8. #W2 , 1. D2 = {u, g(y)}. 9. u no aparece en g(y). 10. σ3 = (u|g(y))σ2 = (x| f (a), z|a, u|g(y)), W3 = {P(a, f (a), f (g(y)))}. 11. #W3 = 1, y por tanto W es unificable. σ3 es el unificador m´as general. 


´ 3. UNIFICACION

51

El siguiente teorema da sentido a lo que venimos haciendo en esta seccion. ´ R 16 (Teorema de Unificacion). Si W es un conjunto finito de literales ´ no vac´ıo y unificable entonces el algoritmo de unificaci´on se para en el segundo paso y el ultimo ´ σk es un unificador m´as general para W. E 46. Decidid si son unificables o no las siguientes parejas de literales y si lo son dar un unificador principal: 1. W1 = {R(x, f (x)), R( f (y), y)} 2. W2 = {R(x1 , y1 , z1 ), R( f (g(x, y)), g(v, w), y)} 3.2. Sistemas de ecuaciones en t´erminos. Dados los literales L1 y L2 , para que sean unificables es necesario que ambos vayan negados o bien ambos sin negar, y que adem´as empiecen por el mismo s´ımbolo de relacion. ´ Esto es, L1 y L2 deben ser, o bien L1 = R(t1 , . . . , tn ); L2 = R(t01 , . . . , t0n ), o bien

L1 = ¬R(t1 , . . . , tn ); L2 = ¬R(t01 , . . . , t0n ). Queda claro pues que L1 y L2 son unificables si y solo ´ si existe σ tal que 0 σ(ti ) = σ(ti ) para todo i = 1, . . . , n. Esta idea da lugar a la siguiente definicion ´ y forma de resolver el problema de la unificacion. ´ Una ecuacion ´ e en un lenguaje L es una pareja de t´erminos de L. Es decir, (t1 , t2 ) con t1 , t2 ∈ Term(L). La ecuacion ´ (t1 , t2 ) la escribiremos como t1 = t2 . E 32. La ecuacion ´ (x, y) que la escribimos como x = y. La ecuacion ´ ( f (x), g(x, y)) que la escribimos como f (x) = g(x, y).  Una solucion ´ de una ecuacion ´ (t1 , t2 ) es una substitucion ´ σ que cumple σ(t1 ) = σ(t2 ). E 33. Las substituciones (x| f (x), y| f (x)), (x|y) y (y|x) son soluciones de la ecuacion  ´ x = y. Sin embargo, la ecuacion ´ f (x) = g(x, y) no tiene solucion. ´ Un sistema de ecuaciones E es un conjunto finito de ecuaciones. Es decir, E = {e1 , e2 , . . . , en }. E 34. {x = y, f (x) = g(x, y)} es un sistema de dos ecuaciones.



Una solucion ´ de un sistema de ecuaciones es una substitucion ´ σ que es solucion ´ de cada una de las ecuaciones del sistema. Dos sistemas de ecuaciones son equivalentes si tienen las mismas soluciones. E 35. La substitucion ´ (x|a, y|a) es solucion ´ del sistema {x = y, y = a} (de hecho es la unica).  ´


52

´ Y RESOLUCION ´ 5. UNIFICACION

Un sistema E = {e1 , e2 , . . . , en } est´a en forma resuelta si cada ei es del tipo xi = ti con xi , x j para i , j y adem´as [ {x1 , x2 , . . . , xn } ∩ ( {var(tk ) : 1 ≤ k ≤ n}) = ∅. Si E = {e1 , e2 , . . . , en } est´a en forma resuelta llamamos σE a la substitucion ´ (x1 |t1 , x2 |t2 , . . . , xn |tn ). R 17. Si E est´a en forma resuelta, entonces σE es un unificador principal. En este caso diremos que σE es una solucion ´ principal, un unificador principal o un unificador de m´axima generalidad de E. A continuacion ´ damos una serie de teoremas que nos permiten transformar un sistema de ecuaciones en otro equivalente a e´ l, de forma que, tras un numero finito de transformaciones ´ lleguemos a un sistema en forma resuelta o a un sistema incompatible (sin solucion). ´ R 18. Los sistemas E ∪ {t = t} y E son equivalentes. La demostracion ´ de este teorema es trivial. Con este resultado eliminamos de un sistema las ecuaciones de la forma t = t, que son redundantes. R 19. Los sistemas E ∪ {t1 = t2 } y E ∪ {t2 = t1 } son equivalentes. El uso de este teorema es ir colocando las variables en la parte izquierda de las igualdades, ya que para que el sistema est´e en forma resuelta, todas sus ecuaciones deben verificar eso. R 20. Los sistemas E ∪ { f (t1 , . . . , tn ) = f (u1 , . . . , un )} y E ∪ {t1 = u1 , . . . , tn = un } son equivalentes. La demostracion ´ de este teorema es trivial. Est´a claro que para resolver la ecuacion ´ f (t1 , . . . , tn ) = f (u1 , . . . , un ), hay que resolver el sistema de ecuaciones {t1 = u1 , . . . , tn = un }. R 21. Los sistemas E ∪ {x = t}, con x < Var(t) y t un t´ermino que no es una variable, y σ(E) ∪ {x = t} con σ = (x|t) son equivalentes. Este teorema nos dice que cuando tenemos una ecuacion ´ de la forma x = t de forma que en t no aparece la variable x, podemos substituir en el resto de ecuaciones del sistema la variable x por el t´ermino t. R 22. El sistema E ∪ { f (t1 , . . . , tn ) = g(u1 , . . . , um )} con f , g no tiene soluci´on (el sistema es incompatible). Es imposible encontrar σ tal que σ( f (t1 , . . . , tn )) = σ(g(u1 , . . . , um )). R 23. El sistema E ∪ { f (t1 , . . . , tn ) = a} con a un s´ımbolo de constante no tiene soluci´on (el sistema es incompatible). R 24. El sistema E ∪ {x = t} con x ∈ Var(t) y t , x no tiene soluci´on.


´ 3. UNIFICACION

53

Para cualquier substitucion ´ σ, σ(x) ser´a distinto a σ(t), ya que σ(t) es un t´ermino que contiene a σ(x) y que es “m´as grande” que e´ ste. R 25. Para todo sistema E0 compatible (con soluci´on) existe un sistema equivalente E que est´a en forma resuelta. E 36. Determinar si el conjunto W = {P(a, x, f (g(y))), P(z, f (z), f (u))} es unificable o no lo es. Caso de serlo encontrar un unificador principal. El sistema de ecuaciones asociado a este problema es   a=z    x = f (z)    f (g(y)) = f (u)  que es equivalente a z=a x = f (z) f (g(y)) = f (u)

        

z=a x = f (a) f (g(y)) = f (u)

        

el cual equivale a

equivalente a z=a x = f (a) g(y) = u

        

y por ultimo equivalente a ´   z=a    x = f (a)    u = g(y)  que est´a en forma resuelta, y por tanto el unificador principal (y solucion ´ del sistema) es (z|a, x| f (a), u|g(y)).  E 37. Determinar si el conjunto W = {P(x, y), P( f (z), x), P(u, f (x))} es unificable o no, y en caso de serlo encontrar un unificador principal. Un sistema de ecuaciones asociado a este problema es:  x = f (z)      y=x    x=u    y = f (x) 


´ Y RESOLUCION ´ 5. UNIFICACION

54

Este sistema es equivalente a x = f (z) y = f (z) f (z) = u y = f ( f (z))

            

x= y= u= y=

            

que es equivalente a f (z) f (z) f (z) f ( f (z))

equivalente a x = f (z) y = f (z) u = f (z) f (z) = f ( f (z))

            

que por ultimo es equivalente a ´ x= y= u= z=

f (z) f (z) f (z) f (z)

            

el cual al contener la ecuacion ´ z = f (z), no tiene solucion. ´ Por tanto el conjunto W no es unificable.  E 47. Resolver el sistema:   x1 = f (g(x, y))     y1 = g(v, w)      z1 = y    f (z) = x1    y1 = x     f (x) = z1 E 48. Calcular un unificador principal de los literales siguientes: C = P(v, m( f (a, w)), h(y, f (x, u), u))) D = P(m(x), v, h(g(u), z, f (g(w), g(a))))


´ 4. EL PRINCIPIO DE RESOLUCION

4.

55

El principio de resolucion ´

En esta seccion ´ generalizaremos el principio de resolucion ´ que se dio al principio de este tema. Para ello es necesario que demos unas definiciones previas. Sean C1 y C2 dos cl´ausulas sin variables comunes, L1 y L2 dos literales de C1 y C2 respectivamente. Si L1 y LC2 tienen un unificador m´as general, σ, entonces la cl´ausula (σ(C1 ) − σ(L1 )) ∨ (σ(C2 ) − σ(L2 )) es una resolvente binaria de C1 y C2 . En tal caso se dice que los literales L1 y L2 son los literales sobre los que se resuelve. Como C1 y C2 son sentencias, podemos renombrar las variables de forma que C1 y C2 no tengan variables en comun. ´ E 38. C1 ≡ P(x, b) ∨ Q(x, a) C2 ≡ ¬P(a, x) ∨ R(x).

)

En C1 y C2 aparece x, y por tanto no podremos encontrar una resolvente binaria para ambas, en tanto no eliminemos este problema. Podemos substituir en C2 x por z y la inconsistencia permanece inalterada. De esa forma obtendremos ) C1 ≡ P(x, b) ∨ Q(x, a) C2 ≡ ¬P(a, z) ∨ R(z). Tomando L1 = P(x, b), L2 = ¬P(a, z) y σ = (x|a, z|b), obtenemos una resolvente binaria Q(a, a) ∨ R(b).  E 49. Comprobar que el conjunto de cl´ausulas {P(x), ¬P( f (x))} es inconsistente. El conjunto de cl´ausulas Γ = {P(x)∨P(y), ¬P(z)∨¬P(u)} claramente es inconsistente (Γ |= P(a) y Γ |= ¬P(a)). Sin embargo ninguna demostracion ´ por resolucion un literal de cada cl´ausula puede producir ´ que elimine unicamente ´ la cl´ausula vac´ıa. Por ello necesitamos ampliar el concepto de resolucion. ´ Si dos o m´as literales con el mismo signo de una cl´ausula C tienen un unificador m´as general, σ, entonces se dice que σ(C) es un factor de C. Tambi´en se suele decir que σ(C) se obtiene a partir de C aplicando la regla de disminucion. ´ Si σ(C) tiene un solo ´ literal diremos que es un factor unitario de C. E 39. Sea C = P(x)∨P(a)∨Q(b) y σ = (x|a). Entonces σ(C) = P(a)∨Q(b) es un factor de C.  Notese que si σ(C) es un factor de C, entonces {C} |= σ(C). ´ Una resolvente de dos cl´ausulas C1 y C2 es una de las siguientes resolventes binarias: 1. Una resolvente binaria de C1 y C2 .


´ Y RESOLUCION ´ 5. UNIFICACION

56

2. Una resolvente binaria de C1 y un factor de C2 . 3. Una resolvente binaria de C2 y un factor de C1 . 4. Una resolvente binaria de un factor de C1 y un factor de C2 . El principio de resolucion ´ es una regla de inferencia que consiste en generar resolventes a partir de un conjunto de cl´ausulas. La definicion ´ de deducci´on, etc. queda como antes. As´ı para demostrar la inconsistencia de un conjunto de cl´ausulas intentaremos encontrar una deduccion ´ de  a partir del conjunto dado. T´engase en cuenta que la definicion ´ de deduccion ´ podr´ıamos haberla hecho del siguiente modo: Una deduccion ´ de C a partir de Γ es una sucesion ´ finita de cl´ausulas C1 , .., Ck tal que Ck = C y Ci (i < k) es un elemento de Γ, un factor de una clausula que la preceda o una resolvente ´ binaria de dos cl´ausulas que le precedan. Al usar resolventes y no resolventes binarias, nos evitamos el que la palabra factor intervengan en la definicion ´ de deduccion. ´ E 40. C1 ≡ P(x) ∨ P( f (y)) ∨ R(g(y)) C2 ≡ ¬P( f (g(a))) ∨ Q(b)

) .

Tomando σ = {x| f (y)} para L1 = P(x), L2 = P( f (y)), se tiene que σ(L1 ) = σ(L2 ) = L2 . Por tanto σ(C1 ) = P( f (y)) ∨ R(g(y)) = C01 es un factor de C1 . Si consideramos la substitucion ´ θ = {y|g(a)}, tendremos que una resolvente de C1 y C2 es R(g(g(a))) ∨ Q(b). Otra forma de resolver este ejercicio podr´ıa haber sido calcular un unificador principal σ para P(x), P( f (y)) y P( f (g(a))).  E 50. Dados las siguientes clausulas: ´ C1 = Q(x)∨¬R(x)∨P(x, y)∨P( f (z), f (z)), C2 = ¬S(u)∨¬R(w)¬P( f (a), f (a))∨¬P( f (w), f (w)). Obtener una resolvente lo m´as reducida posible, es decir, con el menor numero ´ de literales. E 51. Encontrar resolventes para las siguientes parejas de cl´ausulas: 1. {¬P(x) ∨ Q(x, b), P(a) ∨ Q(a, b)} 2. {¬P(x, y, u) ∨ ¬P(y, z, v) ∨ ¬P(x, v, w) ∨ P(u, z, w), P(g(x, y), x, y)} E 52. Si a partir de dos cl´ausulas C1 y C2 podemos calcular dos resolventes distintas R1 y R2 bajo un mismo unificador σ, ¿qu´e podemos afirmar sobre R1 y R2 ? ¿Qu´e ocurre si el unificador empleado para obtener R1 no es el mismo que el empleado para obtener R2 ?


´ 5. COMPLETITUD DEL PRINCIPIO DE RESOLUCION

5.

57

Completitud del principio de resolucion ´

El principio de resolucion ´ es completo, es decir, siempre se puede deducir la cl´ausula vac´ıa de un conjunto inconsistente de cl´ausulas. Este hecho queda reflejado en el siguiente teorema. R 26. Un conjunto de cl´ausulas Γ es inconsistente si y s´olo si hay una deducci´on de  a partir de Γ. Por tanto, una forma de determinar la inconsistencia de un conjunto de cl´ausulas es encontrar una deduccion ´ de la cl´ausula vac´ıa a partir del conjunto inicial. En la siguiente seccion ´ exponemos una serie de estrategias para abordar este problema. E 53. Comprueba que {∀xQ(x)∨∃yP(y), ¬∀yQ(y)} |= ∃xP(x). E 54. Comprueba que las siguientes formulas son universalmente ´ v´alidas aplicando refutacion ´ por resolucion: ´ 1. ∃xR(x) → R(a), 2. ¬∃x∀y(S(x, y) ↔ ¬S(y, y)), 3. ∀x∃y(Q(x, y)∨∀z¬Q(x, z)). E 55. Demostrar mediante refutacion ´ por resolucion ´ las siguientes formulas de la logica proposicional: ´ ´ 1. (¬P → P) → P, 2. ((P → Q) → P) → P, 3. (P → Q) → (¬Q → ¬P), 4. (P → Q) → ((P∨R) → (Q∨R)). E 56. Utilizar el teorema de completitud para demostrar que la formula ∀xR(x)∨∀xQ(x) → ∀x(R(x)∨Q(x)) es universalmente v´alida, mientras ´ que la formula ∀x(R(x)∨Q(x)) → ∀xR(x)∨∀xQ(x) no es universalmente v´alida. ´ E 57. Sea α = ∀x∀y∀z((R(x, y)∧R(y, z)) → R(x, z)), sea β = ∀xR(x, x) y sea γ = ∀x∀y(R(x, y) → R(y, x)). ¿Es el conjunto {α, β, ¬γ} inconsistente? (Observar que al obtener las formas clausulares correspondientes, el numero ´ posible de resolventes, salvo renombramiento de variables, es finito). Podriamos pensar que todo problema relaciona con la teor´ıa que hemos estudiado es solucionable mediante un m´etodo algor´ıtmico, tal y como hemos visto en el teorema de completitud para decidir la incosistencia de un conjunto de cl´ausulas. Sin embargo esto no es as´ı como comentamos brevemente a continuacion. ´ En teor´ıa de computabilidad, se dice que un problema es computable o decidible si existe un algoritmo (m´as tecnicamente llamado una m´aquina de Turing), el cual al recibir una entrada referente a dicho problema sint´acticamente correcta, termina sus c´alculos tras un numero finito de pasos y da una ´ respuesta correcta. Si no existe dicho m´etodo, decimos que el problema es no computable o indecidible.


58

´ Y RESOLUCION ´ 5. UNIFICACION

R 27. (de Church) El problema de decidir cuando una f´ormula es universalmente v´alida en la l´ogica de predicados indecidible. Por tal motivo se dice que la logica de predicados es indecidible. ´ 6.

Estrategias de resolucion ´

Estamos interesados en proponer m´etodos que decidan la posible inconsistencia de un conjunto de cl´ausulas. Diremos que un m´etodo de ese tipo es coherente o completo si siempre que el conjunto de entrada sea inconsistente, el m´etodo terminar´a detect´andolo tras un numero finito de pasos. Las estrategias ´ de resolucion ´ que aqu´ı se exponen se dividen en dos familias: las t´ecnicas de gestion ´ de conjuntos de cl´ausulas y las t´ecnicas de exploracion ´ del a´ rbol de deducciones. 6.1. T´ecnicas de gestion ´ de conjuntos de cl´ausulas. El conjunto de estrategias que usan esta t´ecnica parten de un conjunto inicial de cl´ausulas S0 (sobre el cual se pretende demostrar inconsistencia o no), que se va enriqueciendo sucesivamente creando as´ı una secuencia ascendente de conjuntos de cl´ausulas S0 ⊆ S1 ⊆ . . . ⊆ Si ⊆ . . . ⊆ Sn . . . , con la propiedad de que son inconsistentes si y solo ´ si lo es S0 . La condicion ´ de parada en este tipo de estrategias vendr´a impuesta, como es logico, o bien por que Sn contenga a la cl´ausula vac´ıa, o bien por que Si = Si+1 . ´ En el primero de los casos queda demostrada la inconsistencia de S0 , y en el segundo (dependiendo de la estrategia) quedar´a probada la consistencia. En general la estacionalidad no queda asegurada y por tanto estos algoritmos no tienen por qu´e acabar. 6.1.1. Estrategia de saturaci´on. Esta estrategia consiste en calcular Si+1 a partir de Si , tomando todas sus cl´ausulas y todas las resolventes que se puedan obtener de ellas. E 41. S0 = {A, ¬A ∨ B, ¬B ∨ A, ¬B}. S1 = {B, B ∨ ¬B, ¬A ∨ A, ¬A} ∪ S0 . S2 = {A, , ...} ∪ S1 .



Esta estrategia es completa, a saber, si S0 es inconsistente entonces acabamos por encontrar la cl´ausula vac´ıa En el caso en el que Si = Si+1 , sin que  ∈ Si , entonces sabemos que S0 es consistente, ya que  no se puede deducir de S0 . Esta estrategia es terriblemente ineficiente debido a que el numero de ´ cl´ausulas aumenta de forma exponencial. Se pueden obtener una misma cl´ausula varias veces adem´as de muchas cl´ausulas inutiles de cara a obtener la cl´ausu´ la vac´ıa.


´ 6. ESTRATEGIAS DE RESOLUCION

59

Otra posibilidad es que el conjunto de partida sea consistente, pero que a partir de e´ l se puedan obtener infinitas resolventes distintas. La cuestion ´ ahora es: ¿cu´ando para el m´etodo? Lo razonable en este caso ser´ıa poner algun tipo de cota o profundidad que limite el m´aximo numero de resolventes a generar. ´ Es razonable pensar que cuanto mayor sea la profundidad que se alcanza sin haber obtenido la cl´ausula vac´ıa, tanto mayor ser´a la posibilidad de que el conjunto de partida sea consistente. Un ejemplo t´ıpico se puede ver con el conjunto {¬P(x)∨P( f (x)), P(a)} el cual es consistente (compru´ebese) y a partir del cual se pueden generar infinitas resolventes. 6.1.2. Estrategias de saturaci´on con simplificaci´on. Diremos que D generaliza a C si existe una substitucion ´ σ tal que D ≡ σ(C) ∨ E con E una cl´ausula. E 42. P( f (a))∨Q(a) generaliza a P(x), y P(a)∨Q(a)∨R( f (x)) generaliza a P(x) ∨ Q(a).  E 58. Dadas las cl´ausulas C = ¬P(x)∨P( f (x)), D = ¬P(x)∨P( f ( f (x))). Comprobar que C implica a D, pero C no generaliza a D. Decimos que una cl´ausula es tautol´ogica si contiene a un literal y a su complementario. E 43. La cl´ausula R(x)∨¬Q(a, x)∨¬R(x) es tautologica. ´ La relacion ´ existente entre generalizacion ´ e inconsistencia viene dada por la siguiente: P ´ 1. Un conjunto de cl´ausulas S es inconsistente si y s´olo si el conjunto S0 que se obtiene a partir de S quitando todas las cl´ausulas tautol´ogicas y las generalizaciones es inconsistente. Esta observacion ´ nos permite simplificar los conjuntos para los que deseamos probar inconsistencia. Esta es la idea de la estrategia de saturacion ´ con simplificacion. ´ De cada Si extraemos S0i antes de calcular Si+1 y de esta forma los conjuntos no crecen de forma tan desorbitada. E 44. S0 = {R(a) ∨ P(a), P(x) ∨ ¬R(b), R(b), ¬P(b), R(a) ∨ R(c) ∨ ¬R(a)}. S00 = {R(a) ∨ P(a), P(x) ∨ ¬R(b), R(b), ¬P(b)}. S1 = S00 ∪ {P(x), ¬R(b)}. S01 = {R(b), ¬P(b), P(x), ¬R(b)}. S2 = {, ...}.  Esta estrategia es tambi´en completa.


60

´ Y RESOLUCION ´ 5. UNIFICACION

6.1.3. Estrategias de preferencia de cl´ausulas simples. Esta estrategia consiste en construir Si+1 a partir de Si adjuntando una sola cl´ausula, que es resolvente de dos cl´ausulas de Si . La forma de elegir dicha cl´ausula da lugar a diferentes estrategias de preferencia de cl´ausulas simples. Entre las posibles elecciones caben destacar: 1. Elecci´on aleatoria. Consiste en elegir una resolvente aleatoria de entre las posibles que se pueden obtener a partir de elementos de Si . 2. Elecci´on de la cl´ausula m´as corta. Se trata de elegir la resolvente con menor numero de literales de entre todas las posibles. La cl´ausula vac´ıa no ´ tiene ningun ´ literal, la idea de ir eligiendo la resolvente con menor numero de literales se basa en intentar llegar al menor numero posible ´ ´ de literales, a saber 0. E 45.  S0 = R(x) ∨ ¬P(x), ¬R(b), ¬R(c) ∨ Q(x) ∨ R( f (a)), P(b) . S1 = S0 ∪ {¬P(b)}. S2 = S1 ∪ {}.



Como es de esperar esta estrategia no es completa: E 46.  S0 = ¬P(x) ∨ P( f (x)), P(a), ¬P(a) ∨ ¬P(b) ∨ ¬P(c), P(b), P(c)  S1 = S0 ∪ P( f (a)) S2 = S1 ∪ P( f ( f (a))) etc.



3. Conjunto soporte. Un teorema consta de un conjunto de axiomas A1 , A2 , . . . , An y una conclusion ´ B. Como ya sabemos, para probar el teorema debemos de comprobar que el conjunto {A1 , A2 , . . . , An , ¬B} es inconsistente. Lo normal es que el conjunto {A1 , . . . , An } sea consistente, por lo que podemos ahorrarnos el calcular resolventes tomando ambas cl´ausulas padre de dicho conjunto. Esta es la idea de la estrategia del conjunto soporte. Un subconjunto T de un conjunto S de cl´ausulas es un conjunto soporte de S si S − T es consistente. Las resoluciones permitidas ser´an aquellas en las cuales al menos una de las cl´ausulas no est´a en S − T. Se puede demostrar que esta estrategia es completa: R 28. Si S es un conjunto finito e inconsistente de cl´ausulas, y T es un subconjunto de S tal que S − T es consistente, entonces existe una deducci´on de  a partir de S, con T como conjunto soporte. E 59. Sea el conjunto de cl´ausulas S = {P(a), ¬D(y)∨L(a, y), ¬P(x)∨¬Q(y)∨¬L(x, y), D(b), Q(b)}.


´ 6. ESTRATEGIAS DE RESOLUCION

61

Probar que T = {D(b), Q(b)} es un conjunto soporte para S, y usar la mencionada t´ecnica para demostrar la inconsistencia de S. 4. Preferencia de cl´ausulas unidad. La resolvente elegida es cualquiera tal que una de las cl´ausulas tomadas para resolver tiene un solo literal (estas cl´ausulas con un solo literal reciben el nombre de cl´ausulas unit). Esta estrategia tampoco es completa. Basta ver el ejemplo 46. Todas las estrategias que hemos comentado pueden ser mezcladas dando lugar a nuevas estrategias; en la mayor parte de los casos se pierde la completitud, pero a veces se conserva, dando lugar, en general, a algoritmos bastante complejos. A veces lo que se pretende es tener algoritmos que sean eficientes aunque no sean completos. 6.2. T´ecnicas de exploracion ´ del a´ rbol de deducciones. Dichas t´ecnicas son principios generales de resolucion que se ´ de problemas y de busqueda ´ aplican en campos muy diversos. El a´ rbol de deducciones asociado a un conjunto de cl´ausulas C es un a´ rbol con ra´ız • , donde toda rama partiendo de • y pasando por f1 , . . . , fn es una deduccion ´ a partir de C(en el sentido de que, o bien fi ∈ C, o bien es resolvente de f j , fk con j, k < i). Las estrategias basadas en la exploracion ´ del a´ rbol de deducciones buscan encontrar la cl´ausula vac´ıa en dicho a´ rbol, y se diferencian entre ellas precisamente en la forma de hacer esa busqueda, y a veces en limitaciones impuestas a ´ las deducciones, de forma que no se trabaje con el a´ rbol de deducciones entero sino m´as bien con un sub´arbol conveniente. As´ı pues, una estrategia basada en la exploracion ´ del a´ rbol de deducciones est´a fundada en dos elecciones: La eleccion ´ de un sub´arbol del a´ rbol de deducciones, definido por alguna limitacion ´ impuesta a las posibles resolventes. La eleccion ´ de una t´ecnica de exploracion ´ de dicho sub´arbol. Entre las t´ecnicas a elegir, las principales son: • Exploracion ´ primero en profundidad con vuelta a atr´as. • Exploracion ´ primero en anchura. Existen ciertas ventajas de una t´ecnica frente a otra. La ventaja de escoger una estrategia de exploracion ´ primero en anchura es que, siempre que el conjunto de cl´ausulas de partida sea inconsistente, encontraremos la cl´ausula vac´ıa, incluso si el a´ rbol de deducciones es infinito. Por contra, la desventaja principal es el gran gasto de memoria que necesita una implementacion ´ de un m´etodo basado en esta t´ecnica. Por otro lado, la ventaja de elegir una estrategia de exploracion ´ primero en profundidad con vuelta atr´as es la de que este m´etodo es f´acilmente programable y no gasta tanta memoria. Sin embargo el problema principal con el que se encuentra esta segunda eleccion ´ es el de la posibilidad de “perderse” en una rama infinita cuando la cl´ausula vac´ıa se encuentra en alguna otra rama no explorada aun. ´


62

´ Y RESOLUCION ´ 5. UNIFICACION

6.2.1. Estrategias lineales. Cuando tratamos de demostrar una identidad, solemos comenzar por la parte izquierda de la misma, aplicamos una regla de inferencia para obtener una nueva expresion, ´ a la cual le aplicamos sucesivamente reglas de inferencia hasta obtener finalmente la parte derecha. La idea de resolucion ´ lineal es parecida a este tipo de razonamiento encadenado. Se comienza por una cl´ausula C0 , se resuelve con otra cl´ausula para obtener otra resolvente C1 , la cual se resuelve con otra, ..., hasta obtener . La caracter´ıstica m´as atractiva de la resolucion ´ lineal es su simplicidad estructural. Adem´as es completa y compatible con la estrategia del conjunto soporte. Una deduccion ´ f0 , . . . , fn es una deduccion ´ lineal con ra´ız c0 si: f0 , . . . , fn es una deduccion ´ con f0 = c0 . La cl´ausula fi , i > 0, es resolvente de fi−1 y otra cl´ausula (que por definicion o algun ´ de deduccion ´ debe ser, o bien una hipotesis, ´ ´ f j con j < i). Las estrategias lineales se basan en tomar como sub´arbol del a´ rbol de deducciones el formado por todas las deducciones lineales de C con ra´ız prefijada. Se puede demostrar que si  se deduce de C, entonces existe una deduccion ´ lineal de  a partir de C. Esto implica que si elegimos una busqueda ´ primero en anchura, la estrategia que obtenemos ser´a completa. Como es de suponer, para la busqueda primero en profundidad, se pierde la completi´ tud. V´ease como ejemplo el a´ rbol de deducciones del conjunto de cl´ausulas C = ¬P(x) ∨ P( f (x)), ¬P(a), P(x) , y con ra´ız c0 = P(x). E 60. Para el conjunto S = {P∨Q, ¬P∨Q, P∨¬Q, ¬P∨¬Q} demostrar que es inconsistente usando una estrategia de resolucion ´ lineal y a continuacion ´ otra no lineal. E 61. Para el conjunto de formulas ´ S = {M(a, f (c), f (b)), P(a), M(x, x, f (x)), ¬M(x, y, z)∨M(y, x, z), ¬M(x, y, z)∨D(x, z), ¬P(w)∨¬M(x, y, z)∨¬D(w, z)∨D(w, x)∨D(w, y), ¬D(a, b)}. obtener una refutacion ´ lineal, es decir una deduccion ´ lineal de la cl´ausula vac´ıa. 6.2.2. Estrategias input. Una deduccion ´ decimos que es input cuando cada resolvente se obtiene utilizando al menos una hipotesis. ´ En general estas estrategias no son completas, pero para el caso de un tipo especial de cl´ausulas que estudiaremos a continuacion, ´ si hacemos uso de busqueda primero en anchura, se tiene asegurada la completitud. ´ Sin p´erdida de generalidad, por lo comentado en el apartado anterior, podemos adem´as suponer que nos restringimos a deducciones lineales e input, con lo que fi , i > 0, es resolvente de fi−1 y de una hipotesis (una cl´ausula de C). ´


´ 6. ESTRATEGIAS DE RESOLUCION

63

E 62. Estudiar si para el conjunto de cl´ausulas del ejercicio 60 existe una refutacion ´ input. 6.2.3. Cl´ausulas de Horn. Una cl´ausula es negativa si todos sus literales son negativos (formulas atomicas negadas). ´ Una cl´ausula es de Horn si tiene exactamente un literal positivo (un literal que es una formula atomica). Por ejemplo R(x, y) y ¬P(x)∨Q(a) son cl´ausulas ´ ´ de Horn, pero ni S( f (x))∨Q(b) ni ¬R(x, y) lo son. Un conjunto de cl´ausulas C de la forma C = C0 ∪ {c0 } con C0 un conjunto de cl´ausulas de Horn y c0 una cl´ausula negativa se dice que es un conjunto de Horn. Observar que la resolvente, caso de existir, para una cl´ausula negativa y una cl´ausula de Horn es de nuevo una cl´ausula negativa. La importancia de los conjuntos de Horn radica en el siguiente resultado. P ´ 2. Dado un conjunto de Horn C = C0 ∪{c0 }, entonces es inconsistente si y s´olo si existe una deducci´on (usando resoluci´on) de la cl´ausula vac´ıa que adem´as es lineal e input y con ra´ız c0 . E 47. Sea Γ0 = {¬P(x) ∨ P( f (x)), ¬P( f (y)) ∨ ¬P(y) ∨ R(y), P(a)}, y C0 = ¬R(z). Se obtiene la deduccion ´ lineal-input de ra´ız C0 : C0 = ¬R(z). C1 = ¬P( f (y) ∨ ¬P(y). C2 = ¬P( f (a)). C3 = ¬P(a). C4 = . E 48. Verificar que la implicacion ´ sem´antica siguiente es correcta. {∀x∀y(¬P(x)∨¬Q(x, y)∨R(y)), ∀zQ( f (z), g(z)), P( f (a))} |= R(g(a)). Aplicando el m´etodo de refutacion ´ por resolucion ´ obtenemos el conjunto {∀x∀y(¬P(x)∨¬Q(x, y)∨R(y)), ∀zQ( f (z), g(z)), P( f (a)), ¬R(g(a))}. Las formas clausulares correspondientes son {¬P(x)∨¬Q(x, y)∨R(y), Q( f (z), g(z)), P( f (a)), ¬R(g(a))}. Observamos que dicho conjunto est´a formado por una cl´ausula negativa (la negacion a probar) as´ı como por cl´ausulas de Horn. Por tanto, el ´ de la formula ´ conjunto ser´a inconsistente si y solo ´ si existe una deduccion ´ lineal e input de la cl´ausula vac´ıa con ra´ız la cl´ausula negativa. La deduccion ´ es la siguiente: 1. ¬R(g(a)) (hipotesis), ´ 2. Q( f (z), g(z)) (hipotesis), ´ 3. P( f (a)) (hipotesis), ´ 4. ¬P(x)∨¬Q(x, y)∨R(y) (cl´ausula negativa),


64

´ Y RESOLUCION ´ 5. UNIFICACION

5. ÂŹP(x)â&#x2C6;¨ÂŹQ(x, g(a)) (resolvente de la cuarta y la primera cl´ausula con Ď&#x192; = (y|g(a))), 6. ÂŹP( f (a)) (resolvente de la anterior y la segunda cl´ausula con Ď&#x192; = (x| f (z))), 7.  (resolvente de la anterior y tercera cl´ausula con Ď&#x192; = ). Con lo cual el proceso de refutacion ´ por resolucion ´ ha terminado. Como consecuencia de este hecho, la resolucion ´ lineal e input es completa cuando la busqueda se hace primero en anchura, si partimos de un conjunto ´ de Horn. Decir que la estrategia de resolucion ´ unit es completa para un conjunto de Horn, as´Ĺ como la estrategia de resolucion ´ input. Esto no es casual ya que para un conjunto de cl´ausulas S, se tiene que S tiene una refutacion ´ por resolucion ´ input si y solo ´ si S tiene una refutacion ´ por resolucion ´ unit. Este tipo de estrategia es la que da lugar a la resolucion ´ utilizada en PROLOG, que estudiaremos en el siguiente tema. Eď?Şď?Ľď?˛ď?Łď?Šď?Łď?Šď?Ż 63. Si un conjunto de cl´ausulas de Horn es inconsistente, entonces contiene una cl´ausula unitaria positiva. 6.2.4. Estrategias ordenadas. Existen diversas formas de tener en cuenta el orden de los literales de las cl´ausulas para usarlo a la hora de limitar las resolventes dentro del a´ rbol de deducciones. En la definicion ´ de resolvente binaria (y por tanto en la de resolvente) no se tuvo en cuenta el orden de los literales dentro de las cl´ausulas, de hecho da lo mismo tomar una cl´ausula que cualquier otra que podamos formar alterando el orden de sus literales. En el caso de que se imponga un orden en los literales, podemos hablar de resoluci´on ordenada, que consiste en resolver siempre sobre los literales que ocupan la primera posicion ´ en las cl´ausulas. Por ello siempre que hablemos de resolucion ´ ordenada, deberemos imponer un orden en los literales y por tanto tendremos as´Ĺ un conjunto de cl´ausulas ordenadas. Diremos que una deduccion ´ es una deducci´on ordenada si se ha hecho uso exclusivamente de resolucion ´ ordenada. Eď?Şď?Ľď?˛ď?Łď?Šď?Łď?Šď?Ż 64. Un estudiante de inform´atica es abordado por un aficionado a los juegos de palabras y este le dice: â&#x20AC;&#x153;Si establezco que: 1. Para todo crimen, hay alguien que lo ha cometido. 2. Solo ´ los malvados cometen cr´Ĺmenes. 3. No son detenidos m´as que los malvados. 4. Los malvados detenidos no cometen cr´Ĺmenes. 5. Hay cr´Ĺmenes. tu´ que me contestasâ&#x20AC;?. El estudiante responde: â&#x20AC;&#x153;Hay malvados que aun ´ no est´an detenidosâ&#x20AC;?. ÂżSabr´Ĺas justificar la veracidad de la respuesta del sagaz estudiante usando lo que hemos aprendido sobre resolucion? ´


´ 6. ESTRATEGIAS DE RESOLUCION

65

E 65. Demuestra que las hipotesis: ´ Γ = {∃x(P(x) ∧ ∀y(D(y) → L(x, y))), ∀x(P(x) → ∀y(Q(y) → ¬L(x, y)))} implican sem´anticamente a la formula: ´ ∀x(D(x) → ¬Q(x)) E 66. Dadas las siguientes afirmaciones: El que no bebe cerveza bebe vino. Miguel es primo hermano de Jos´e. Francisco no bebe vino. Jos´e es un predicador. Los primos hermanos de predicadores no beben vino. Se pide responder a la pregunta: ¿Bebe alguien cerveza? E 67. Demuestra que {B, V, R → T(a), (V ∧ B) → T(a), M(b), M(a), ∀x((M(x) ∧ T(x)) → G)} |= G. E 68. Dadas las siguientes afirmaciones: Hace buen tiempo. Es viernes. Juan tiene suerte si es verano. Juan tiene suerte si es viernes y hace buen tiempo. Antonio es un malvado. Juan es un malvado. Toda persona malvada y con suerte gana a la ruleta. ¿Ganar´a Juan a la ruleta? E 69. Demuestra que la sentencia Mis aves de corral no son oficiales es consecuencia de los siguientes hechos: Ningun ´ a´ nade baila el vals. Ningun ´ oficial declina nunca una invitacion ´ a bailar el vals. Todas mis aves de corral son a´ nades. E 70. Demuestra que si todos los colibr´ıes tinen vivos colores, ningun ´ p´ajaro de gran tamano ˜ se alimenta de miel, los p´ajaros que no se alimentan de miel tienen colores apagados. Entonces es cierto que todos los colibr´ıes son de tamano ˜ pequeno. ˜ E 71. Demuestra que el conjunto de hipotesis ´ ningun ´ poema interesante es mal recibido entre gentes de buen gusto, ningun ´ poema moderno est´a libre de afectacion, ´ todos sus poemas (de usted) versan acerca de pompas de jabon, ´ ningun ´ poema afectado goza de aceptacion ´ entre gentes de buen gusto,


66

´ Y RESOLUCION ´ 5. UNIFICACION

ningun ´ poema antiguo versa acerca de pompas de jabon, ´ implica sem´anticamente a la sentencia Todos sus poemas carecen de inter´es. E 72. Dadas las hipotesis ´ todos los animales que no cocean son flem´aticos, los asnos no tienen cuernos, un bufalo puede siempre lanzarlo a uno contra la puerta, ´ ningun ´ animal que cocea es f´acil de engullir, ningun ´ animal sin cuernos puede lanzarlo a uno contra una puerta, todos los animales son excitables, salvo los bufalos. ´ Demuestra que los asnos no son f´aciles de engullir. E 73. Demuestra que si los animales se irritan siempre mortalmente si no les presto atencion, ´ los unicos animales que me pertenecen est´an en ese prado, ´ ningun ´ animal puede adivinar un acertijo a menos que haya sido adecuadamente instruido en un colegio con internado, ningun ´ animal de los que est´an en este prado es un tejon, ´ cuando un animal est´a mortalmente irritado corre de un lado para otro salvajemente y grune, ˜ nunca presto atencion ´ a un animal, a no ser que me pertenezca, ningun ´ animal que haya sido adecuadamente instruido en un colegio con internado corre de un lado para otro salvajemente y grune. ˜ Entonces ningun ´ tej´on puede adivinar un acertijo.


CAP´ıTULO 6

Principio de Resolucion ´ y PROLOG 1.

Introduccion ´

En este cap´ıtulo ponemos de manifiesto la relacion ´ entre la resolucion ´ lineal input y la resolucion ´ llevada a cabo en el lenguaje PROLOG. No es nuestro objetivo dar un manual de programacion ´ para PROLOG; de hecho nos vamos a limitar a estudiar la resolucion ´ utilizada en PROLOG para ver su relacion ´ con lo visto en el cap´ıtulo anterior. En la siguiente seccion se escriben en PROLOG las cl´ausu´ exponemos como ´ las de Horn, a continuacion se ´ se expone la resolucion ´ PROLOG, y por ultimo ´ comentan algunos problemas elementales que pueden surgir a la hora de usar la resolucion ´ PROLOG. 2.

Estrategia de resolucion ´ lineal-input en PROLOG

Recordemos del cap´ıtulo anterior que dado un conjunto de cl´ausulas Γ, y C ∈ Γ, una deduccion ´ lineal-input a partir de Γ con ra´ız C es una secuencia de cl´ausulas C0 , .., Cn , de forma que C0 = C. Ci , con i no nulo, se obtiene como resolvente de dos cl´ausulas, de las cuales una est´a en Γ, y la otra es Ci−1 . Como se puede observar, la definicion ´ que acabamos de dar no se atiene a aquella que dimos en su d´ıa de deduccion ´ en general; e´ sto se debe a que podemos prescindir de escribir la lista de hipotesis al principio de nuestra ´ deduccion, ´ salvo la negativa que ser´a por donde empezaremos, y usar las cl´ausulas segun ´ vayan haciendo falta. E 49. Sea Γ = {¬A, A ∨ ¬B ∨ ¬D, B, D ∨ ¬B, A ∨ ¬E} y sea C0 = ¬A. La siguiente deduccion ´ de  a partir de Γ es una deduccion ´ lineal-input con ra´ız C0 . C0 = ¬A, la ra´ız. C1 = ¬B ∨ ¬D, que es resolvente de C0 y A ∨ ¬C ∨ ¬D. C2 = ¬D, que es resolvente de C1 y B. C3 = ¬B, resolvente de C2 y D ∨ ¬C. C4 = , resolvente de C3 y B. El conjunto de resoluciones lineales-input que se pueden realizar en este ejemplo se puede esquematizar en el siguiente a´ rbol: 67


68

´ Y PROLOG 6. PRINCIPIO DE RESOLUCION

¬A    =

Z Z ~ Z

¬B ∨ ¬D

Z Z ? ~ Z

¬D

?

¬B

¬E

¬B ?



?



Como se puede observar en el ejemplo anterior, una de las ramas no conduce a la cl´ausula vac´ıa. Por tanto si hici´esemos una busqueda primero en ´ profundidad, tendr´ıamos que permitir siempre vuelta atr´as (backtracking), ya que en caso contrario podr´ıamos llegar a una rama que no condujese a la solucion. ´ Puede darse el caso tambi´en en el que exista alguna rama infinita, por lo que nuestra busqueda, primero en profundidad y con vuelta atr´as, podr´ıa no ´ acabar nunca al dar con una de esas ramas, encontr´andose la deduccion ´ de la cl´ausula vac´ıa en otra rama. Otro problema es que el conjunto de partida no sea un conjunto de Horn, aunque e´ ste sea inconsistente. Como ilustracion ´ de este hecho consid´erese este ejemplo. E 50. Sea Γ = {P ∨ Q, P ∨ ¬Q, ¬P ∨ Q, ¬P ∨ ¬Q}, y tomese como ´ cl´ausula ra´ız P ∨ Q. Si uno dibuja el a´ rbol asociado a las resoluciones lineales-input, se dar´a cuenta que en todos los niveles (que no sean el ra´ız) aparecen P, Q, ¬P, ¬Q repetidos varias veces, y que nunca se alcanza la cl´ausula vac´ıa, ya que de P, Q, ¬P o ¬Q y una cl´ausula de Γ nunca se puede obtener  como resolvente. Por otro lado es f´acil ver que la cl´ausula vac´ıa se deduce de Γ. Lo que ocurre es que en las deducciones lineales-input el c´alculo de resolventes se ve restringido, y esta restriccion ´ puede llevar a la p´erdida de la deduccion ´ de la cl´ausula vac´ıa. El lenguaje de programacion ´ PROLOG est´a basado en cl´ausulas de Horn. Existen varias razones en las que se basa esta restriccion: ´ Primero: para conjuntos que no sean de Horn no tenemos una estrategia general que sea completa y correcta. Recordemos que las resoluciones linealesinput son completas para conjuntos de Horn. Debido a la simplicidad de este tipo de resoluciones, los algoritmos correspondientes son m´as eficientes.


3. LA SINTAXIS EN PROLOG

69

Segundo: muchos problemas resultan ser resolubles en t´erminos de formulas de ´ Horn, por lo que dicha restriccion ´ no lo es tal en la pr´actica. Decir adem´as que los m´etodos anteriores se pueden utilizar para llevar a cabo la obtencion ´ de respuestas a partir de una informacion ´ dada. E 51. Consideremos los siguientes hechos: A Manolita le gustan los programas del corazon. ´ A Antonito le caen bien todas aquellas personas a las que les gustan ˜ los programas del corazon. ´ Esta informacion de predicados ´ podemos transcribirla al lenguaje de la logica ´ del siguiente modo: usamos el predicado G(x, y) para indicar que a x le gusta o le cae bien y. Necesitamos tambi´en tres constantes: Manolita ser´a representada por una a, Antonito por una b, ˜ los programas del corazon ´ por una c. El conjunto de cl´ausulas correspondientes es: G(a, c), ¬G(x, c)∨G(b, x). A partir de esta informacion, le gus´ una posible pregunta ser´ıa: ¿a Antonito ˜ ta alguien? Esta pregunta se puede escribir como ∃yG(b, y). Si aplicamos el m´etodo de refutacion ´ por resolucion, ´ negamos la cl´ausula que representa la pregunta y obtenemos ∀y¬G(b, y). Puede comprobarse f´acilmente que a partir del conjunto ampliado de cl´ausulas obtenemos la cl´ausula vac´ıa. Para la obtencion ´ de la misma, resulta que la variable y ha tenido que tomar un valor a la hora de unificar literales. ¿Como podemos conocer dicho valor? Una forma ´ de averiguar un valor concreto de y es seguir el rastro de las sustituciones que se han ido aplicando. El estado inicial ser´a la cl´ausula ra´ız y la sustitucion ´ identidad. Si a partir de un estado intermedio, e´ sto es, una cl´ausula y una sustitucion ´ σ, obtenemos una nueva resolvente utilizando una sustitucion ´ τ, entonces el nuevo estado ser´a la nueva resolvente junto con τ ◦ σ. Procedemos de este modo hasta que alcancemos el estado (, δ). En tal caso una respuesta a la pregunta inicial ser´a δ(y). En nuestro ejemplo es f´acil comprobar que el unico valor es y = Manolita. ´ 3.

La sintaxis en PROLOG

En seccion se representa la informacion ´ describimos brevemente como ´ ´ en PROLOG. Toda cl´ausula de Horn viene caracterizada porque solo ´ posee un literal positivo. As´ı, toda cl´ausula de Horn podr´ıa expresarse (salvo equivalencia) de la siguiente forma A ∨ ¬B1 ∨ .. ∨ ¬Bn , n ≥ 0


´ Y PROLOG 6. PRINCIPIO DE RESOLUCION

70

y usando las leyes de De Morgan obtenemos A ∨ ¬(B1 ∧ .. ∧ Bn ), que es equivalente a (B1 ∧ .. ∧ Bn ) → A. La cual en PROLOG se representa del siguiente modo A : −B1 , .., Bn . El punto que aparece al final de la expresion ´ juega en este caso un papel fundamental, similar al que tiene el “;” en PASCAL o en C. PROLOG no aceptar´a otras formulas que las que vengan dadas de esa forma. Una expresion ´ ´ como la que acabamos de presentar se suele llamar regla o cl´ausula procedural. Notese que el literal positivo aparece a la izquierda del s´ımbolo “:-” (el cual ´ representa la implicacion ´ de derecha a izquierda) y que los literales negativos aparecen detr´as de dicho s´ımbolo. Cada literal Bi se denomina una llamada a procedimiento. En el supuesto de que n = 0, se adopta una escritura especial, a saber, A. y en este caso a esta expresion ´ se le suele llamar hecho. Estas cl´ausulas representan enunciados afirmativos simples. Un programa de cl´ausulas de Horn o programa l´ogico es un conjunto finito de hechos y cl´ausulas de procedimiento. Se dice que un programa logico es invocado por una cl´ausula objetivo (o cl´ausula ´ de pregunta) la cual es una cl´ausula negativa. En notacion ´ de PROLOG e´ sta se escribe Q1 , Q2 , . . . , Qk . Refiri´endonos de nuevo a la intepretacion ´ intuitiva, esta notacion ´ sugiere que una cl´ausula objetivo es una secuencia de llamadas procedurales las cuales deben de ser completadas satisfactoriamente. En este mismo sentido la ´ cl´ausula vac´ıa se denomina cl´ausula de parada (“halting clause”). Esta puede ser considerada como un caso especial de cl´ausula objetivo (con k = 0) donde todas las llamadas a procedimiento han sido completadas satisfactoriamente. Recordemos, como hicimos constar en su momento, que las cl´ausulas que intervienen al calcular una resolvente han de tener variables disjuntas. Cada literal es, o bien una formula atomica, o bien negacion ´ ´ ´ de una formula ´ atomica. Por tanto nos interesa conocer c omo se expresan las f ormulas atomi´ ´ ´ ´ cas en PROLOG. Para ello necesitamos saber como expresar las constantes, ´ variables, s´ımbolos de funcion ´ y s´ımbolos de relacion. ´ Constantes: las constantes en PROLOG se representan por medio de una cadena de caracteres (con las mismas convenciones t´ıpicas de caracteres ASCII v´alidos que aquellas seguidas en C) empezando por una letra minuscula. Notese que PROLOG es un lenguaje que distingue ´ ´ entre minusculas y mayusculas (“case-sensitive”). ´ ´


´ PROLOG 4. LA RESOLUCION

71

Variables: se expresan igual que las constantes, pero empezando por mayuscula. ´ S´ımbolos de funcion: ´ igual que las constantes. S´ımbolos de relacion: ´ igual que las constantes. As´ı pues las constantes propias del lenguaje (constantes, s´ımbolos de relacion y las variables con ´ y s´ımbolos de funcion) ´ empiezan con minuscula, ´ mayuscula. ´ Para construir t´erminos disponemos de constantes, variables, s´ımbolos de funcion; y listas. ´ adem´as PROLOG permite el uso de numeros ´ D´emonos cuenta de que las convenciones de escritura utilizadas en PROLOG son en cierto modo contrarias a las que hemos venido utilizando a lo largo de la asignatura para representar formulas de un lenguaje de primer orden. ´ PROLOG distinguir´a entre constantes, funciones y relaciones segun ´ la forma como aparezcan escritas. E 52. Algunas expresiones v´alidas en PROLOG son: tiene(X,coche). tiene(X,transporte) :- tiene(X,coche), tiene(X,suerte). esparaguas(Zutano) :- seabre(Zutano), evitalluvia(Zutano). aprobarFLP(X):-irAclase(X),estudiarApuntes(X). 4.

La resolucion ´ PROLOG

Tal y como indicamos en las secciones anteriores, PROLOG trabaja con conjuntos de Horn. El primer paso es crear un archivo de texto que contendr´a a nuestro programa logico. Este fichero ha de tener extesion ´ ´ “.pl”. En cuanto ejecutamos nuestro interprete de PROLOG, para cargar nuestro programa logico ´ hemos de escribir |?- [nombreDeNuestroFichero]. ´ Una vez hecho esto, el usuario puede plantear preguntas u objetivos. Estas van a representar a la cl´ausula negativa en cuestion, ´ aunque la forma pr´actica de hacerlo es la siguiente. Si por ejemplo la pregunta es ∃x∃y(R(x, y)∧P(x)) hemos de calcular la forma clausular de la negacion ´ de dicha pregunta. Obteniendo en este caso la cl´ausula ¬R(x, y)∨¬P(x). En notacion ´ PROLOG la pregunta habr´ıa que escribirla |?- r(X,Y),p(X). En general, si la forma clausular obtenida constase de m´as de una cl´ausula, tendr´ıamos que plantear cada pregunta por separado y comprobar que al


´ Y PROLOG 6. PRINCIPIO DE RESOLUCION

72

menos una de ellas tenga solucion. ´ Por ejemplo, caso de que nuestra pregunta sea ∃x∃y(R(x, y)∨P(x)), obtenemos las cl´ausulas ¬R(x, y) as´ı como ¬P(x). Por tanto primero plantear´ıamos la pregunta |?- r(X,Y). y a continuacion ´ si e´ sta no tuviese solucion ´ la pregunta |?- p(X). El algoritmo que usa PROLOG para la determinacion ´ de la inconsistencia de un conjunto de la forma Γ ∪ {¬ϕ}, es el de busqueda primero en profundidad ´ con vuelta atr´as en el a´ rbol de las deducciones lineales-input (ordenadas 1) con ra´ız ¬ϕ. Supongamos que tenemos un conjunto de reglas Γ. Cada nodo consta de una lista de objetivos o preguntas B1 , .., Bn y una substitucion ´ σ. Al comienzo B1 , .., Bn son las preguntas planteadas por el usuario y σ es la substitucion ´ identidad ε. Supongamos que nos encontramos en el nodo B1 , B2 , .., Bn ; σ, el algoritmo consiste en: Si n = 0 (la lista de preguntas es vac´ıa), entonces • escr´ıbase σ. • v´ayase al nodo precedente. En caso contrario • tomese la primera pregunta B1 . ´ • busquese entre todas las reglas, en el orden en el que han sido ´ escritas y no exploradas aun ´ en dicho nodo, la primera regla de la forma A : −C1 , .., Ck . donde A se pueda unificar con B1 (notese que puedemos renom´ brar las variables en la cl´ausula A : −C1 , .., Ck de forma que no sean las mismas que las que aparecen en B1 , . . . , Bn ). • Si no hay ninguna regla cumpliendo dicha premisa, entonces ◦ Si nos encontramos en la ra´ız del a´ rbol, terminar. ◦ En caso contrario, v´ayase al nodo precedente. • En caso contrario ◦ Sea θ un unificador principal para B1 y A. ◦ Desci´endase creando un nuevo nodo con etiqueta θ(C1 ), .., θ(Ck ), θ(B2 ), .., θ(Bn ); θσ 1

La matizacion ´ de ordenadas se debe a que el algoritmo usado tendr´a en cuenta el orden en el que se introduzcan las reglas y hechos, as´ı como el orden de los literales en cada regla.


´ PROLOG 4. LA RESOLUCION

73

El algoritmo que aqu´ı se expone es una simplificacion ´ del seguido por PROLOG. No tenemos en cuenta elementos que pueden complicar este algoritmo, tales como la alteracion ´ de control provocada por el usuario (ver seccion ´ siguiente). Pongamos ahora un ejemplo para clarificar las ideas expuestas en esta seccion. ´ E 53. Sea el programa (tambi´en denominado “script” o guion) ´ en PROLOG: b. v. c(j):-e(a). c(j):-b,v. m(a). m(j). g(X):-m(X),c(X). Tenemos as´ı siete reglas(r1 , .., r7 ). Si planteamos la pregunta g(X). la respuesta ser´a X = j. A continuacion ´ mostramos el a´ rbol de resolucion ´ PROLOG: comienzo/ f in 6 ?

g(X); ε r7 ?6 m(X), c(X); ε  >  r5  =  

c(a); (X|a)

Z Z r6 } Z Z Z ~ Z

c(j); (X|j)

 >  r3  =  

e(a); (X|j)

Z Z r4 } Z Z Z ~ Z

b, v; (X|j) r1 ?6 v; (X|j) r2 ?6 ; (X|j)

Int´entese como ejercicio transcribir cada uno de los pasos dados en el a´ rbol a la notacion de primer orden. ´ usual utilizada en logica ´


´ Y PROLOG 6. PRINCIPIO DE RESOLUCION

74

E 74. Si en el ejemplo anterior la constante “ j” que aparece en las reglas tres y cuatro se cambia por “J”, cu´al ser´ıa el resultado. Estamos utilizado el programa gprolog. Podemos crear un fichero ejemplo.pl con las siguientes cl´ausulas: r(Y):-p(X),q(X,Y). q(f(Z),g(Z)). p(f(a)). Si a continuacion ´ ejecutamos el programa gprolog, para cargar el fichero anterior hay que escribir |?- [ejemplo]. Si recibimos un ”yes“, como respuesta nuestro fichero habr´a sido cargado correctamente. Nos podemos preguntar si existe algun ´ elemento que verifique la propiedad r. Para ello basta con darle la siguiente l´ınea: |?- r(T). La respuesta obtenida es T=g(a). Esto significa que g(a) cumple la propiedad r. Otro uso del PROLOG es el c´alculo de unificadores principales. Por ejemplo si tras ejecutar gprolog, damos la orden r(f(X),g(Y,a))=r(Z,g(b,T)) obtenemos como resultado: T = a Y = b Z = f(X) Esto quiere decir que (T|a, Y|b, Z| f (X)) es un unificador principal de los anteriores literales. En la version ´ disponible, cuando no existe un unificador puede ocurrir que entremos en un ciclo infinito y los c´alculos no terminen, como ocurre con el siguiente ejemplo: |?- r(Y,f(X))=r(f(f(X)),f(Y)). 5.

Algunos problemas de la resolucion ´ PROLOG

Como vimos en la Seccion ´ 2 el algoritmo usado por PROLOG no es completo. Entre los problemas que pueden surgir destacan: Que el algoritmo entre en una rama del a´ rbol infinita. Que dependiendo del orden en que sean escritas las reglas y hechos el programa pueda o no encontrar solucion ´ a las preguntas planteadas. Otra de las cuestiones que en principio pudiera parecer que influye en la obtencion ´ de un resultado, es el orden en el que aparecen los literales de la pregunta (ya que e´ sto determinar´a el orden en el que calcularemos resolventes). Sorprendentemente se puede demostrar que e´ sto no influye.


´ PROLOG 5. ALGUNOS PROBLEMAS DE LA RESOLUCION

75

Como se dijo en el tema anterior, si el problema planteado tiene solucion ´ siempre existir´a una resolucion ´ lineal-input que d´e con ella. El que se alcance o no depender´a muchas veces del orden en que vengan dadas las reglas. Los ejemplos que vienen a continuacion ´ pretenden mostrar algunas deficiencias de PROLOG. E 54. El programa a:-a. no encuentra la solucion ´ a la pregunta. a. Ya que dicha dicha solucion ´ no existe. El a´ rbol que se origina es un a´ rbol de una sola rama con todos los nodos etiquetados con a; ε. E 55. El programa a:-a. a. no encuentra solucion ´ a la pregunta a. y en este caso a resulta de las reglas dadas en el programa. Si reescribimos el programa como sigue a. a:-a. responder´a a la pregunta anterior satisfactoriamente. E 56. El siguiente programa t(f(g(j))). t(X):-t(f(X)). t(X):-t(g(X)). no encuentra solucion ´ a la pregunta t(j). y se ve claramente que t( j) es consecuencia logica de las reglas del programa. En ´ este caso el algoritmo se pierde por una rama infinita. Dibujese como ejercicio ´ el a´ rbol que trazar´ıa el algoritmo. Muchas veces si se altera el orden en el que son introducidas las reglas, un programa que no encontraba solucion ´ puede encontrarla. Se aconseja pues evitar casos como los que se exponen en los ejemplos anteriores e intentar escribir de forma ordenada los programas. A veces es imposible evitar este problema (v´ease el Ejemplo 56), debido a que la busqueda es primero en profundidad. ´ E 75. Comprueba que para el siguiente programa


76

´ Y PROLOG 6. PRINCIPIO DE RESOLUCION

q(X,Z):-q(Y,Z),r(X,Y). q(X,X). r(b,c). si preguntamos q(X,c)., aunque en el a´ rbol de las deducciones hay dos c´alculos con e´ xito (q(b,c) y q(c,c)), dicho programa entra en una rama infinita debido al orden en el que hemos dado las reglas. De que forma podr´ıamos ordenar las reglas para obtener una repuesta satisfactoria. Otro problema a tener en cuenta es que dado un conjunto de cl´ausulas, e´ ste no venga expresado como un conjunto de cl´ausulas de Horn. A veces, este problema se puede evitar cambiando uno o varios s´ımbolos de relacion ´ por s´ımbolos nuevos que vengan a significar lo contrario, con lo que en todas las cl´ausulas cambiamos los literales en los que aparecen dichos s´ımbolos de relacion ´ por sus complementados y substituimos los s´ımbolos de relacion ´ antiguos por los nuevos. Por ejemplo, si tenemos {P∨Q, ¬P∨¬Q, P}, cambiando P por P0 y complementando los literales que empiecen por P, tenemos {¬P0 ∨Q, P0 ∨¬Q, ¬P0 }, que es un conjunto de Horn. Est´a claro que el conjunto de partida es inconsistente si y solo ´ si el que acabamos de construir es inconsistente. Por desgracia, no siempre se puede hacer un cambio as´ı. Tomese como ´ ejemplo el conjunto {P∨Q, ¬P∨¬Q, P∨¬Q, ¬P∨Q}. E 76. Dibuja el a´ rbol de resolucion ´ PROLOG asociado a los problemas de resolucion ´ del cap´ıtulo anterior que sean expresables en conjuntos de Horn. A veces podremos intuir que por determinados caminos no se encuentra la cl´ausula vac´ıa. En estos casos podemos usar los llamados “cortes” que se representan por el s´ımbolo “!” y que tienen un comportamiento parecido al comando “goto” de algunos lenguajes de programacion. ´ A grandes rasgos la primera vez que PROLOG se encuentra con un “!”, e´ ste se evalua ´ de forma normal, pero si tras el proceso de retroceso (al no haber encontrado ninguna solucion) ´ llegamos a la cl´ausula que conten´ıa el s´ımbolo de corte “!”, entonces se fuerza un salto del flujo de control del programa a la ultima cl´ausula padre co´ rrespondiente a la pregunta en el a´ rbol de busqueda que no conten´ıa el s´ımbolo ´ de corte. No todos los expertos aceptan el uso de este tipo de construcciones ya que de una parte puede tratar de ayudar a superar las deficiencias planteadas por la estrategia de busqueda de PROLOG. Se pueden cortar caminos infinitos, ´ as´ı como cortar sub´arboles en los que no hay solucion, ´ pero tambi´en puede ocurrir que se descarten sub´arboles donde s´ı que hay solucion. ´


´ Indice alfab´etico

a´ tomo, 27

prenexa, 39 forma normal de Skolem, 40

asignacion, ´ 30 axioma c´alculo proposicional, 14

implicacion ´ sem´antica, 34 inconsistencia, 37 interpretacion ´ logica primer orden, 30 ´ logica proposicional, 6 ´

cl´ausula, 42 conjunto de discordancia, 49 consecuencia logica ´ logica proposicional, 9 ´ logica de primer orden, 34 ´ contradiccion, ´ 8

ley logica, 15 ´ literal, 42 modus ponens, 15

deduccion, ´ 15, 46 demostracion, ´ 15 hipotesis, 15 ´ pasos, 15

ocurrencia libre, 28 ligada, 28 ocurrencia de una variable, 28

ecuacion, ´ 51 sistema, 51 forma resuelta, 52 solucion, ´ 51 solucion, ´ 51 equivalencia logica ´ logica proposicional, 7 ´ estructura, 29 expresion, ´ 26

proposicion, ´ 4 atomica, 4 ´ refutable, 8 satisfacible, 8 radio de accion ´ de un cuantificador, 28 resolvente, 55 binaria, 55 sin unificacion, ´ 46

formula, 27 ´ atomica, 27 ´ cierre universal, 42 refutable, 33 satisfacible, 33 universalemente v´alida, 33 v´alida, 33 factor, 55 unitario, 55 forma normal clausular, 43

sentencia, 29 substitucion, ´ 48 t´ermino, 26 tautolog´ıa, 8 teorema c´alculo proposicional, 15 unificable, 48 unificador, 48 77


´ ´ INDICE ALFABETICO

78

principal, 49


PRテ,TICAS

Curso: 2011/2012 Clase: Primero - Grupo: B


discrete.mac: a list of functions Andrej Vodopivec andrej.vodopivec@gmail.com

1

Number theory

chinese remainder(a lst, m lst): solves the system of congruences x ≡ a1

(mod m1 )

x ≡ a2 .. .

(mod m2 )

x ≡ ak

(mod mk )

The function returns [ x0 , M] such that every x, x ≡ xo for the system of congruences.

(mod M), is a solution

divisiblep(a,b): checks if a divides b. solve lde(eqn): solves a linear diophantine equation eqn. int digits(n): returns the list of digits of the integer n. num digits(b): returns the number of digits of the integer n.

2

Graph theory

The package discrete.mac loads the package graphs which is included with M AXIMA. It adds the following graph theory functions. binary tree(n): returns a binary tree of depth n. find k cycles(k, g): returns a list of all cycles of length k in the graph g. find k paths(k, g): returns a list of all paths of length k in the graph g. flow poly(g): uses the external program tutte to compute the flow polynomial of the graph g. from degree sequence(lst): construct a graph with degree sequence lst. 1


graph automorphisms(g): returns the group of automorphisms of the graph g as the set of permutations. The function accepts two optional arguments. With generators=true it only returns a set of generators for the automorphism group. With program=bliss it uses an external program bliss to compute the automorphism group. The location of the bliss program should be specified in blissprogram option variable. graph from lcf(lst): returns the symmetric Hamiltonian graph as specified by the lcf. graph generating function(n, t): returns the generating function for the number of graphs on n vertices. number of graphs(n,m): returns the number of graphs with n vertices and m edges. If m is not provided, all graphs on n vertices are returned. max clique cliquer(g): uses the program cliquer to compute the maximum clique in the graph g. The location of the program is specified in the option variable cliquer_program. max independent set cliquer(g): uses the program cliquer to compute the maximum independent set in the graph g. number of graphs(n, m): returns the number of graphs on n vertices with m edges. number of spanning trees(g): returns the number of spanning trees in the graph g. permute vertices(g, p): returns a new graph h such that the permutation p is an isomorphism between g and h. relabel graph vertices(g, option): relabels the graph vertices. Option is usually min_di=1. tutte poly(g): uses the external program tutte to compute the Tutte polynomial of the graph g. The location of the program is specified in the option variable tutte_program.

3

Relations on finite sets

relation product(r1,r2,. . . ): computes the product of relations relation power(R,n): computes the power relation Rn . identity relation(A): returns the identity relation on the set A. inverse relation(R): returns the inverse relation of the relation R. relation inverval(A,R,a,b): returns the set of elements x â&#x2C6;&#x2C6; A such that aRxRb. graph of relation(R, A): returns the graph of the relation R on the set A (note that the graph is simple, the loops xRx are missing from the graph). 2


draw graph of relation(R, A): draws the graph of the relation R on the set A (the loops xRx will be drawn on the graph). antisymmetric relationp(R): checks if the relation is antisymmetric. reflexive relationp(R): checks if the relation is reflexive. symmetric relationp(R): checks if the relation is symmetric. tranzitive relationp(R): checks if the relation is tranzitive. equivalence relationp(R, A): checks if the relation is an equivalence relation. equivalence classes(R): returns the set of equivalence classes of the equivalence relation R. partial order relationp(R, A): checks if the relation R is a partial order on the set A. hasse diagram(R): returns the graph which represents the Hasse diagram for the relation R (which should be a partial order).

4 4.1

Permutations and permutation groups Permutations

identity permutation(n): returns the identity permutation of n elements. inverse permutation(p): returns the inverse permutation of the permutation p. random permutation1(n): returns a random permutation of the list [1, 2, . . . , n]. permutation product(p1, p2,...): computes the product of permutations. permutation power(p, n): computes the power permutation pn of the permutation p. permutation to cycles(p): returns the permutation p as a product of disjoint cycles. permutation from cycles(cl, n): returns the product of disjoint cycles as a permutation. permutation cycle structure(p): returns the cycle structure of the permutation p. permutation to transpositions(p): returns the permutation p as a product of transpositions. permutation from transpositions(tl, n): returns the product of transpositions as a permutation.

3


permutation sign(p): returns the parity of the permutation p. permutation order(p): returns the order of the permutation p. permute list(p, l): permutes the list l according to the permutation p. permutation fixed points(p): returns the set of fixed points of the permutation p. permutation matrix(p): returns the permutation p as a permutation matrix. number of inversions(p): returns the number of inversions in the permutation p.

4.2

Permutation groups

permutation group p(grp): checks if the set of permutations grp is a permutation group. group action(grp, st): computes a permutation group on st which is defined by the action of grp on st. group from generators(grp): returns the set of permutation of the group defined by generators in grp. group sgs(grp): computes a strong generating set for the group defined by generators in grp. group stabilizer(elt, grp): returns the stabilizer group of the element elt (elt can be a list of elements). group permutation(grp, elt1, elt2): returns a permutation p in the group defined by generators in grp which sends elt1 to elt2. group memberp(perm, grp): tests if the permutation perm is contained in the group defined by generators in grp. group orbit(elt, grp): returns the orbit of the element elt. group orbits(grp): returns all orbits of the group grp. group orbit representatives(grp): returns the representatives of group orbits of grp. goup order(grp): computes the order of the group defined by generators in grp. group fixed pointp(elt, grp): tests if elt is a fixed point for all permutations in the group grp. group action(grp, set): computes the action of the group grp on the set set. symmetric group(n): returns the symmetric group on n elements. 4


alternating group(n): returns the alternating group on n elements. cyclic group(n): returns the cyclic group on n elements. dihedral group(n): returns the dihedral group on n elements. multiplication table(grp): returns a matrix which represents the multiplication table for the group grp. reduce generator set(grp): returns a possibly smaller set of generators for the group defined by generators in grp.

4.3

Polya ´ theory

cycle index permutation(p): computes the cycle index of the permutation p. cycle index group(grp): computes the cycle index of the group grp. cycle index symmetric(n): computes the cycle index of the symmetric group on n elements. cycle index dihedral(n): computes the cycle index of the dihedral group on n elements. cycle index cyclic(n): computes the cycle index of the cyclic group on n elements. cycle index graph vertices(g): returns the cycle index of the automorphism group of the graph g which acts on the vertices of g. cycle index graph edges(g): returns the cycle index of the automorphism group of the graph g which acts on the edges of g. subst inventory(inv, ci): substitutes the appropriate inventory into the cycle index ci.

5

Logic

latomp(expr): checks if expr is an atom or a negation of an atom. boolean equiv(e1, e2): checks if two boolean expressions e1 and e2 are logically equivalent. boolean eval(expr): evaluates a boolean expression. boolean expression(k, vars) : returns the k–th boolean expression in variables vars |vars| (0 ≤ k < 22 ).

5


boolean form(expr): rewrites expr in a form in which the only connectives are ∧, ∨ and ¬. boolean minterm(n, vars): returns the n–th minterm in variables vars. boolean maxterm(n, vars): returns the n–the maxterm in variables vars. boolean minimize(e): finds a shortest formula in disjunctive normal form which is equivalent to e. boolean simp(e): applies some identities to simplify the boolean expression e. boolean table(expr, vars): writes the boolean table for expr. characteristic vector(expr): returns the characteristic vector of the expression expr. contradictionp(e): checks if e is a contradiction. An option algorithm can be specified to select the algorithm used. See also satisfiablep. convert to cnf(expr): converts expr to conjunctive normal form. convert to dnf(expr): converts expr to disjunctive normal form. convert to mod2(expr): converts a boolean expression into a mod–2 polynomial. functionally complete(conn1, conn2,...): tests if {conn1 , conn2 , . . .} is a functionally complete set of connectives. majority(v1,v2,. . . ): returns an expression which is true if the majority of variables v1 , v2 , . . ., is true. random boolean expression(vars): returns a random boolean expression in variables vars. sat solution : if satisfiablep_dpll(e) returns true and the selected algorithm is dpll or minisat, sat solution will hold the assingments under which e evaluates to true. satisfiability instances(e): returns the values for logic variables in e for which the formula e is true. satisfiablep(e): checks if the formula e is satisfiable. An option algorithm can be specified to select the algorithm used. The accepted values are algorithm=charvect, algorithm=dpll (the default) or algorithm=minisat. If algorithm=minisat then the minisat program should be installed and the option variable minisat program should point to the minisat program. tautologyp(e): checks if e is a tautology. An option algorithm can be specified to select the algorithm used. See also satisfiablep. 6


6 6.1

Combinatorial species Constructions

Prod(A, B): the product species A and B. Sum(A, B): the sum of species A and B. Set(A): the species of sets with elements in A. MSet(A): the species of multisets with elements in A. Seq(A): the species of sequences with elements in A. Cycle(A): the species of cycles with elements in A. Function(fun): the number of elements of size n is computed with the function fun. Epsilon: a special element of size 0. The constructions Set, MSet, Seq and Cycle accept an optional argument card, min card or max card.

6.2

Functions

count species(A, spec, n): counts the number of elements of size n in the species A which is defines with specification spec. list species(A, spec, n): returns the list of elements of size n in the species A which is defines with specification spec. select from species(A, spec, n): returns a random element size n in the species A which is defines with specification spec. gf equations(spec, t): return the generating functions for species defined in spec in variable t. gf express(eqs, A(t)): find the algebraic equation for the generating function A(t) defines with a system of equations eqs. Usually eqs is obtained with gf equations. alg eq to rec(eq, A(t)): find the recurrence for the coefficients in the generating function A(t) for which there exists an algebraic equation eq. Usually eq is obtained with gf express. nice disp: nicely displays an element of a combinatorial species. Replaces construction operators with lists. nice disp1: like nice_disp but replaces Epsilon with an empty list. 7


7

Other functions

number of derangements(n): returns the number of derangements of n elements. mcoeff(expr, v1, p1, v2, p2,. . .): computes the coefficient of the monomial v1 p1 v2 p2 · · · in the expression expr. necklace polynomial(n, x): returns the necklace polynomial of degree n in the variable x. An optional argument dihedral=true can be provided. list necklaces(n, lst): returns the set of necklaces with n beads with colors from lst. An optional argument dihedral=true can be provided. rook polynomial(M, x): returns the rook polynomial of the board defined by the 0–1 matrix M in the variable x. nth subset(n, st): returns the n–th subset of the set st. random subset(st): returns a random subset of the set st. random choice(lst): returns a random element from the list lst. random choice n(lst, n): returns n random elements from the list lst. count(elt, lst): counts the number of times that elt appears in the list lst. int range(a b, c): returns the integers from a to b by step c. If c is omitted, the step is 1. If b and c are omitted, it returns the integers from 1 to a by step 1. remove duplicates(lst): removes the duplicates in the list lst. remove duplicates sorted(lst): removes the duplicates in the list lst which is a sorted list.

8


Capítulo 1 Práctica 1. Inducción.

En algunos ejercicios de inducción se nos pide calcular el término general de una suma de términos, por ejemplo: 1.

1 + 2 + 3 + ... + n

2.

1 + 22 + 32 + ... + n2

3.

1 + 23 + 33 + ... + n3 Pn i=1 (2i − 1) Pn i i=1 (1/2 )

4. 5.

Podemos utilizar la combinación de comandos sum y simpsum.

(%ixx)P sum(i,i,1,n); (%oxx) ni=1 i mientras que

(%ixx) sum(i,i,1,n), simpsum; 2 (%oxx) n 2+n

Ejercicio:

Calcula el término general en el resto de los ejemplos anteriores.

En otros casos, esta estrategia no tiene éxito, por ejemplo:

(%ixx)P sum(1/((2*i-1)*(2*i+1)),i,1,n),simpsum; 1 (%oxx) ni=1 (2i−1)(2i+1) Podemos utilizar el paquete simplify_sum, al que invocamos:

(%ixx) load (simplify\_sum); Warning - you are redefining the Maxima function lcm (%oxx) /usr/share/maxima/5.20.1/share/contrib/solve_rec/simplify_sum.mac (%ixx) simplify_sum( %); n (%oxx) 2n+1 Otro ejercicio tipo consiste en probar por inducción alguna propiedad que ocurre para todo número natural, como las siguientes: 1


1.

7n − 1

2.

72n + 16n − 1

3.

a2n − b2n

4.

2n ≥ 2n + 1

es múltiplo de 6 es múltiplo de 64

es divisible por a+b

Podemos, en primer lugar, obtener los primeros términos de la secuencia y comprobar sobre ellos la propiedad (es el primer paso en una demostración por inducción). Para el apartado a) obtenemos los 30 primeros elementos ya divididos por 6:

(%ixx) sec_a:makelist((7^n-1)/6, n,1,30); (%oxx) [1,8,57,400,2801,19608,137257,960800,6725601,47079208,329554457, 2306881200,16148168401,113037178808,791260251657,5538821761600, 38771752331201,271402266318408,1899815864228857,13298711049602000, 93090977347214001,651636841430498008,4561457890013486057, 31930205230094402400,223511436610660816801,1564580056274625717608, 10952060393922380023257,76664422757456660162800,536650959302196621139601, 3756556715115376347977208]

que efectivamente son todos enteros, así que la propiedad se verica para los primeros números naturales. Ahora, supongamos que

7n − 1

n+1

es múltiplo de 6 (hipótesis de inducción), y tenemos que probar que

7 − 1. Veamos qué (%ixx) 7^(n+1)-1 -(7^n -1); (%oxx) 7n+1 − 7n

también lo es

ocurre con la diferencia entre ambos términos:

que no nos da información, pero si lo simplicamos:

(%ixx) rat(%); (%oxx) 6 · 7n

Ahora un sencillo razonamiento sobre divisibilidad (si a y b-a son múltiplos de k, entonces b es múltiplo de k), prueba que

7n+1 − 1

es también múltiplo de 6.

Realizamos un procedimiento similar para el segundo apartado: Primero se calcula qué ocurre con los primeros términos

(%ixx) sec_b:makelist((7^(2*n)+16*n-1)/64,n,1,10); (%oxx) [1,38,1839,90076,4413677,216270114,10597235515,519264540152, 25443962467353, 1246754160900190]

Vamos a usar el mismo razonamiento de divisibilidad que antes, así que calculamos la diferencia entre dos términos consecutivos:

(%ixx) (7^(2*(n+1))+16*(n+1)-1)-(7^(2*n)+16*n-1); (%oxx) 7^(2*(n+1))-7^(2*n)+16*(n+1)-16*n

Simplicamos después de dividir por 64:

(%ixx) rat(% /64); n 2 (%oxx) (3(7 4) +1)

Pero nos remite a otro problema de inducción: para que el resultado de dividir por 64 sea entero, tenemos que probar que el numerador de esta fracción es múltiplo de 4 para cada n. Es claro que para n=0 ocurre, así que volvemos a utilizar el recurso de restar dos términos consecutivos:

(%ixx) 3*7^(2*(n+1))-3*7^(2*n); (%oxx) 3 ∗ 72(n+1) − 3 ∗ 72n . (%ixx) rat(%); (%oxx)144 ∗ (7n )2

Y como 144 es múltiplo de 4, tenemos probada nuestra propiedad. La estrategia con el apartado c) es diferente. Como siempre comenzamos comprobando que la propiedad ocurre para los primeros números naturales; en este caso procedemos a dividir:

(%ixx) divide(a^(2)-b^(2),a+b); (%oxx) [a-b,0]

2


en esta respuesta el primer término es el cociente y el segundo es el resto. Como el resto es cero el término era divisible por de memoria que

a + b.

En realidad era algo sencillo de comprobar a mano, puesto que todos sabemos

suma por diferencia diferencia de cuadrados.

Pero la ventaja de utilizar maxima es que

podemos obtener también rápidamente los cocientes de los siguientes términos, que nos darán una idea de la solución general:

(%ixx) divide(a^(4)-b^(4),a+b); (%oxx)[−b3 + ab2 − a2 b + a3 , 0]

(%ixx) divide(a^(6)-b^(6),a+b); (%oxx)[−b5 + ab4 + a2 y 3 + a3 b2 − a4 b + a5 , 0] Si observamos los cocientes aparecen todas las combinaciones de a y b que en total sumen grado 2n-1. Ahora comprueba a mano:

(a2n − b2n ) = (a + b)(−b2n−1 + ab2n−2 − · · · − a2n−2 b + a2n−1 ) En realidad en esta resolución no hemos usado inducción, tenemos en este caso una demostración directa.

Ejercicios:

Hallar el menor entero positivo n0 para el cual n! ≥ 2n . Tomando el caso n0 como base de la inducción, demostrar que la desigualdad es cierta para todo n ≥ n0 Hallar el valor apropiado de n0 como base de la inducción en los casos siguientes y demostrar que el enunciado es cierto para todo n ≥ n0 . 1. n2 + 6n + 8 ≥ 0 2. n3 ≥ 256n2 Comprueba que el polinomio p(x) = x2 + x + 41 produce números primos cuando x es un número natural comprendido entre 1 y 30. Puedes usar el comando factor que nos da la descomposición en primos de un número natural. ¾Es cierto que n2 + n + 41 es primo para todo número natural n > 1 ? El monje francés Marin Mersenne armó, en 1644, que los números de la forma 2n − 1 son primos para los valores n = 2, 3, 5, 7, 13, 17, 19, 31, 67, 127 and 257 y no lo son para el resto de números menores que 257. Compruébalo. ¾Es cierto que los números de la forma 2p − 1 son primos para todo número primo p? Algunas curiosidades sobre los números de Mersenne pueden leerse en http://primes.utm.edu/glossary/xpage/MersennesConjecture.html

3


Capítulo 2 Práctica 2. Recurrencia.

2.1. Sucesiones predenidas en maxima Algunas sucesiones están predenidas en maxima. Para usar las siguientes funciones es necesario cargar el paquete functs

arithmetic (a, d, n) Devuelve el n-ésimo término de la progresión aritmética a, a + d, a + 2d, . . . , a + (n − 1)d.

geometric (a, r, n) Devuelve el n-ésimo término de la progresión geométrica a, ar, ar2 , . . . , arn−1 . harmonic (a, b, c, n) Devuelve el n-ésimo término de la progresión armónica a/b, a/(b + c), a/(b + 2c), . . . , a/(b + (n − 1)c).

arithsum (a, d, n) Devuelve la suma de la progresión aritmética hasta el n-ésimo término. geosum (a, r, n) Devuelve la suma de la sucesión geométrica hasta el n-ésimo término. Si n es innito (inf ) la suma será nita sólo si el valor absoluto de r es menor que 1. Para calcular los 10 primeros términos de geosum (sucesión cuyo elemento n-ésimo es la suma de los n primeros términos de una sucesión geométrica) cuando la razón de la sucesión geométrica es

(%ixx) load(functs);

1/4:

Warning - you are redefining the Maxima function lcm (%oxx) /usr/share/maxima/5,20,1/share/simplif ication/f uncts.mac (%ixx) makelist(geosum(1,1/4,i),i,1,10); 85 341 1365 5461 21845 87381 349525 (%oxx) [1, 45 , 21 16 , 64 , 256 , 1024 , 4096 , 16384 , 65536 , 262144 ]

2.2. Recurrencia Una sucesión está denida por recurrencia si la descripción de un término, de un número determinado de términos anteriores:

an−1 , . . . an−t .

an , viene dada como función

Entonces tendremos una ecuación de

la forma:

a[n] = f1 ∗ a[n − 1] + ... + ft ∗ a[n − t] + ft+1 Si

ft+1 = 0

Si cada

fi

relación de recurrencia homogénea. grado de la relación de recurrencia.

decimos que es una

Al número t le llamamos

es una constante, decimos que la relación de recurrencia tiene

coecientes constantes.

Para que una sucesión dada por una relación de recurrencia de grado t esté completamente determinada 1


es necesario dar t

valores iniciales,

es decir, t valores consecutivos de la sucesión, que nos permitan

calcular el siguiente elemento utilizando la relación. Un ejemplo típico de sucesión denida por recurrencia es la sucesión de Fibonacci:

an = an−1 + an−2 a0 = 0; a1 = 1; que viene predenida en maxima con estos valores iniciales. Observamos que es una relación de recurrencia iniciales) y tiene

coecientes constantes.

homogénea,

de

grado 2

(por eso requiere 2 valores

(%ixx) fib(6); (%oxx) 8

(%ixx) makelist(fib(i),i,0,10); (%oxx) [0,1,1,2,3,5,8,13,21,34,55] Podemos denir sucesiones por recurrencia en maxima. La siguiente es un ejemplo que tiene grado 1, es no homogénea y no tiene coecientes constantes:

(%ixx) A0 : 4; /* valor inicial */ A [n] := if n > 0 then F (n)*A [n-1]+G(n) else A0; /* relación de grado 1 */ F (n) := n^2; /* no es de coeficientes constantes */ G (n) := 2*n+1; /* no es homogénea*/ Observamos que mientras que en la denición de F(n) usamos paréntesis, en la de A[n] se utilizan corchetes. Esto indica a maxima que tiene que memorizar los valores que ya han sido calculados para obtener el siguiente (se usa el término

memoizing para referirse a este hecho en programación), es decir,

que A es una función denida por recurrencia, mientras que F o G son funciones explícitas.

(%ixx) makelist(A[n],n,0,4); (%oxx) [4,7,33,304,4873]

Ejercicio: Halla una relación de recurrencia que genere la siguiente sucesión: {1, 2, 5, 12, 29, 70, 169, . . . }

y dene la correspondiente función recursiva en maxima. Calcula los primeros 7 términos y comprueba que tu propuesta es acertada.

2.3. Resolución de relaciones de recurrencia Una relación de recurrencia, o ecuación de recurrencia, es una igualdad en la que se relaciona un término de una sucesión

an

con algunos de los términos que lo preceden. Una solución de una relación de

recurrencia es una sucesión que verique dicha relación. Maxima utiliza el paquete solve_rec para la resolución de ecuaciones de recurrencia. Supongamos que tenemos la relación

an = an−1 + an−2 a1 = 1 a2 = 1 entonces ejecutamos:

(%ixx) load(solve_rec); (%oxx) /usr/share/maxima/5.20.1/share/contrib/solve_rec/solve_rec.mac (%ixx) solve\_rec(a[k]=a[k-1]+a[k-2], a[k], a[1]=1,a[2]=1); 2


(%oxx) a[k] =

√ ( 5+1)k √ 52k

√ ( 5−1)k (−1)k √ 52k

también puede utilizarse para calcular una solución general, es decir, cuando no se jan los valores iniciales

(%ixx) solve_rec(a[k]=c*a[k-1],a[k]); (%oxx) a[k] = %k1 ∗ ck donde

%k1

es un parámetro que puede ser determinado imponiendo condiciones iniciales. La que

acabamos de obtener es la solución general para una relación de recurrencia de grado 1, homogénea y con coecientes constantes.

Ejercicio: Halla la solución para la relación de recurrencia que has propuesto en el ejercicio de la sección anterior, con las condiciones iniciales correspondientes.

Ejercicios: Decide si son lineales, homogéneas y de coecientes constantes las siguientes relaciones. Resuelvelas con los valores iniciales que se proporcionan 1.

an = 2nan−1 ; a1 = 1;

2.

an = 7an−2 − 6an−3 ; a1 = 0; a2 = 1; a3 = 1

3.

an = 2nan−1 ; a1 = 1

Ejercicio: A continuación obtenemos las soluciones de otros tipos de relaciones con coecientes cons(%ixx) solve_rec(a[k]=c*a[k-1]+b,a[k]); solve_rec(a[k]=c*a[k-2]+b*a[k-1], a[k]); solve_rec(a[k]=c*a[k-2]+b*a[k-1]+d, a[k]); solve_rec(a[k]=k*a[k-1], a[k]); solve_rec(a[k]=a[k-1]+(k-1), a[k]); solve_rec(a[k]*a[k-1]=c, a[k]); solve_rec(a[k]=a[k-1]*a[k-2], a[k]);

tantes. Decide de qué tipo son.

(%ixx) (%ixx) (%ixx) (%ixx) (%ixx) (%ixx)

Ejercicio: Para las relaciones anteriores que sean lineales y homogéneas, calcula el polinomio asociado, las raíces de éste (usa el comando solve) y observa la relación entre estas raíces y la solución general.

3


Capítulo 3

Práctica 3. Conjuntos ordenados. Para poder realizar esta práctica, es necesario cargar el paquete divisores.mac. Este paquete lo tenéis en SWAD. Para cargarlo, ve al Menú Archivo, y ahí elegir la opción Cargar paquete. Consideramos el conjunto de los números naturales no nulos ordenado por divisibilidad. Es decir, a|b si existe c ∈ N tal que b = a · c. Tomamos el conjunto A = {48, 60, 64, 84, 52, 100, 96, 128, 156, 88, 212, 176, 360, 512, 296}. Vamos a calcular sus elementos notables o distinguidos como sigue: Cotas superiores o mayorantes. Podemos obtenerlas con (%ixx) mayorantes(A); Cotas inferiores o minirantes. Ejecutamos (%ixx) minorantes(A); Supremo e ínfimo. Para esto ejecutamos los siguientes comandos: (%ixx) supremo(A); infimo(A); Máximo y mínimo. (%ixx) maximo(A); infimo(A); Elementos maximales y minimales: (%ixx) maximales(A); minimales(A); Ejercicio: ¿Podrías predecir cuáles serían los elementos notables para el conjunto A ∪ {4}? A continuación vamos a definir una función para calcular el diagrama de Hasse de los divisores de un número positivo. Puesto que este diagrama es un grafo, necesitamos cargar el paquete graphs. (%ixx) load(graphs)$ Un grafo viene definido por dos listas. Una primera lista formada por los vértices, y una segunda lista formada por los lados. Cada lado a su vez es una lista de longitud dos, que nos indica los dos vértices que une. Tomamos n = 24. (%ixx) n:24$ Para obtener la lista de nodos, podemos hacerlo escribiendo (%ixx) Vn:divisors(n); Vamos a calcular los lados del diagrama partimos del conjunto siguiente. (%ixx) Ln:cartesian_product(Vn,Vn)$ El lado [a, b] formará parte del diagrama si a|b y ab es un número primo. Definimos entonces una función para seleccionar estos lados. (%ixx) lado(l):=is (mod(l[2],l[1])=0 and primep(quotient(l[2],l[1]))); Por tanto, el conjunto de lados es es (%ixx) Ladosn:subset(Ln,lado); De esta forma, ya podemos definir el diagrama de Hasse 1


(%ixx) Hassen:create_graph(listify(Vn),listify(Ladosn),directed=true); La siguiente función nos dibuja el grafo de los divisores de n. (%ixx) Hasse(n):=block([Vn,Ln,Ladosn,hasse],Vn:divisors(n),Ln:cartesian_product(Vn,Vn), Ladosn:listify(subset(Ln,lado)), hasse:create_graph(listify(Vn),Ladosn,directed=true),draw_graph(hasse,show_id=true)); Dibuja los diagramas de Hasse para los siguiente números: n = 1, n = 16, n = 24, n = 54, n = 30, n = 42, n = 36, n = 128, n = 210. Cuestión: ¿Qué condiciones tiene que cumplir n para que el conjunto de los divisores de n sea un conjunto totalmente ordenado?. Ejercicio: Calcula todos los números n ≤ 200 tales que el conjunto de los divisores de n es un conjunto totalmente ordenado. Los objetos de Maxima (símbolos, números literales y cadenas) se ordenan atendiendo al siguiente criterio: Enteros y decimales en coma flotante preceden a números decimales grandes. Estos preceden a constantes declaradas, que a su vez preceden a cadenas. Este orden queda reflejada en la función booleana orderlessp (%ixx) orderlessp(4,5); orderlessp(b,4); (%oxx) true (%oxx) false Para ordenar los elementos de una lista, Maxima dispone del comando sort Veamos algunos ejemplos: (%ixx) sort([1,2,3,a,b,4,5,c,d]); (%oxx) [1,2,3,4,5,a,b,c,d] Vemos como los números van por delante que las variables. (%ixx) sort ([%pi,3,4,a,%e,%gamma]); (%oxx) [3,4,%e,γ,π,a] Vemos que en primer lugar coloca a los números. A continuación, las constantes numéricas (no tiene en cuenta su valor), y por último las cadenas. Para que tenga en cuenta el valor numérico de las constantes, escribiremos (%ixx) sort([%pi,3,4,%e,%gamma], "<"); (%oxx) [γ,%e,3,π,4] El comando que obtiene el producto cartesiano de dos o más conjuntos, genera los elementos del conjunto resultante ordenados lexicográficamente: (%ixx) cartesian_product({1,2,3},{a,b},{4,5,6}); (%oxx) {[1,a,4],[1,a,5],[1,a,6],[1,b,4],[1,b,5],[1,b,6],[2,a,4],[2,a,5], (%oxx) [2,a,6],[2,b,4],[2,b,5],[2,b,6],[3,a,4],[3,a,5],[3,a,6],[3,b,4], (%oxx) [3,b,5],[3,b,6]} El comando reverse(L) devuelve otra lista que se obtiene a partir de L invirtiendo el orden de sus elementos. (%ixx) reverse([4,8,a,2,-3,0,b,s]); (%oxx) [s,b,0,-3,2,a,8,4] El predicado siguiente compara dos listas pero mirándolas de derecha a izquierda, es decir, implementa el orden lexicográfico inverso: (%ixx) lexinv(li1,li2):=orderlessp (reverse (li1), reverse (li2)); Si tenemos los conjuntos A = {1, 2, 3}, B = {a, b}, C = {8, 9}, obtenemos los elementos del conjunto A × B × C ordenados por el orden lexicográfico inverso de la forma siguiente: (%ixx) sort(listify(cartesian_product({1,2,3},{a,b},{8,9})),lexinv); Ejercicio: Sea X = {1, 2, 3, 4, 5, 6, 7}, e Y = X × X × X. Consideramos en X el orden lexicográfico. Dadas las siguientes parejas x, y ∈ Y de elementos de Y determina quien es mayor, y encuentra el conjunto de todos los elementos de Y comprendidos entre x e y. - x = (4, 2, 1), y = (5, 6, 2). 2


- x = (1, 4, 7), y = (7, 4, 1). - x = (6, 4, 5), y = (2, 4, 1). Consideramos ahora el orden producto en Y . Repite el ejercicio anterior para las siguientes parejas de elementos: - x = (4, 2, 1), y = (5, 6, 2). - x = (1, 4, 7), y = (7, 4, 1). - x = (1, 4, 7), y = (7, 4, 7). - x = (6, 4, 5), y = (2, 4, 1).

3


Capítulo 2 Práctica 4. Retículos y álgebras de Boole.

Para poder realizar esta práctica, es necesario cargar el paquete Menú

2.1.

pr4.mac. Para cargarlo, hay que ir al

Archivo, y ahí elegir la opción Cargar paquete.

Retículos.

L y un subconjunto no vacío S de L, se s1 , s2 ∈ S se verica que s1 ∨s2 ∈ S y s1 ∧s2 ∈ S .

Dado un retículo cualesquiera

En el retículo

(%ixx) (%ixx) (%ixx) (%ixx) (%ixx) (%ixx)

(Z+ , |)

dice que

S

es un

subretículo de

L

si para

comprobamos si los subconjuntos siguientes son subretículos:

A:{1,2,3,4,6}; esSubretDiv(A); B:{1,2,3,4,9,12,18,36}; esSubretDiv(B); C:{262144,1048576,33554432,1073741824}; esSubretDiv(C);

De manera similar, en el retículo

(P(N), ⊆)

comprobamos si los subconjuntos siguientes son subretí-

culos:

(%ixx) (%ixx) (%ixx) (%ixx) (%ixx) (%ixx) (%ixx) (%ixx)

A:{{1,2,3},{1,2,3,4},{1,2,3,5},{1,2,3,4,6},{1,2,3,4,5,6}}; esSubretCon(A); B:powerset({0,1,2,3,4}); esSubretCon(B); C:{{},{1},{1,2},{1,2,3,5},{1,2,3,4},{1,2,3,4,5,6},{1,2,3,4,5,7},{1,2,3,4,5,6,7}}; esSubretCon(C); D:setdifference(powerset({0,1,2,3,4}),{{}}); esSubretCon(D);

Dos retículos

f : L1 → L2

(L1 , ∨, ∧)

(L2 , ∨, ∧) se dice que son isomorfos si existe alguna aplicación biyectiva f (a∨b) = f (a)∨f (b) y f (a∧b) = f (a)∧f (b) para cualesquiera a, b ∈ L1 . En

y

vericando que

el caso de retículos nitos, el que sean isomorfos signica que sus diagramas de Hasse se pueden dibujar de la misma forma, salvo obviamente los nombres de los elementos. Recordemos que la función retículo de divisores

D(n).

Hasse(n) de la Práctica 3 nos permitía dibujar el diagrama de Hasse del pr4.mac.

Esta función también ha sido incluída en el paquete

1


Ejercicio:

1.

Dibuje el diagrama de Hasse del retículo de divisores para

n = 24, 30, 56, 70, 105, 189, 250, 3993. 2.

Dados dos enteros positivos

n

y

m,

¾qué condición debe de cumplirse para que los retículos de

divisores correspondientes sean isomorfos? Quizá los siguientes comandos le permitan responder más fácilmente a esta pregunta:

(%ixx) lista:[24,30,56,70,105,189,250,3993]; (%ixx) factor(lista); 3.

Escriba una función en

D(n)

si los retículos Un retículo

L

se dice

suelen denotar por

1

y

Maxima que se aplique a dos enteros positivos n y m, y que devuelva true son isomorfos, y devuelva false en caso contrario.

D(m)

y

acotado si existe el máximo y el mínimo de

0,

retículos acotados que no son nitos, como por ejemplo En un retículo acotado elemento

b ∈ L,

L.

En tal caso ambos elementos se

respectivamente. Obviamente todo retículo nito es acotado, aunque existen

L,

denominado

se dice que un elemento

complemento de

a,

tal que

(P(N), ⊆). a ∈ L es complementado a∨b = 1 y a∧b = 0.

si existe al menos un

A continuación vamos a estudiar los elementos complementados en los retículos tales retículos, si un elemento existe para

d.

d

D(n).

Se sabe que en

posee algún complemento, entonces dicho complemento es el único que

complementados(n) que nos devuelve todos los elementos n = 6, 12, 24, 30, 36, 37, ejecute la secuencia de comandos siguiente:

Para ello usaremos el comando

D(n). Para

complementados en

cada

(%ixx) divisors(n); (%ixx) complementados(n); (%ixx) factor(n); Ejercicio: En vista de los resultados obtenidos, ¾cuándo podemos decir que un elemento

d ∈ D(n)

es complementado? Y en tal caso, ¾cuál será su complemento? Un retículo

L

se dice que es

distributivo, si verica las leyes distributivas:

∀a, b, c ∈ L, a∧(b∨c) = (a∧b)∨(a∧c), Los retículos

(Z+ , |)

y

(P(X), ⊆),

para cualquier conjunto

son distributivos los retículos de dividores

a∨(b∧c) = (a∨b)∧(a∨c). X,

son distributivos. En particular también

D(n).

Es una propiedad conocida que los elementos complementados de un retículo acotado y distributivo forman un subretículo. Constatamos dicha propiedad para algunos retículos de divisores D(n).

(%ixx) esSubretDiv(complementados(36)); (%ixx) esSubretDiv(complementados(37)); (%ixx) esSubretDiv(complementados(144)); S de D(n) y un elemento a ∈ S , podemos saber complemento(a, S). Veamos ésto con un ejemplo.

Si tenemos un subretículo

S)

mediante la orden

si

a

es complementado (en

(%ixx) S:{9,18,27,36,54,108}; (%ixx) esSubretDiv(S); Nótese que ahora

0=9

y

1 = 108.

(%ixx) complemento(27,S); (%ixx) complemento(36,S); La explicación del resultado obtenido es la siguiente:

27∧36 = 0,

es decir,

mcd(27, 36) = 9.

27∨36 = 1,

es decir,

mcm(27, 36) = 108,

¾Podría explicar la respuesta del siguiente comando?

(%ixx) complemento(54,S); 2

y


2.2.

Álgebras de Boole.

esAB(n)

La orden

devuelve

true si y sólo si

D(n)

es álgebra de Boole.

(%ixx) lista:makelist(i,i,2,30); (%ixx) X:subset(setify(lista),esAB); (%ixx) factor(listify(X)); Vemos en estos ejemplos que

D(n)

es álgebra de Boole cuando

distintos. Esta propiedad es cierta para todo Dos álgebras de Boole

A1 → A2 a, b ∈ L1 .

vericando que

n

factoriza como producto de primos

n ≥ 2.

A1 y A2 se dice que son isomorfas si existe alguna aplicación biyectiva f : f (a∨b) = f (a)∨f (b), f (a∧b) = f (a)∧f (b) y f (a) = f (a) para cualesquiera

En el caso de álgebras de Boole nitas, el que sean isomorfas signica que sus diagramas de

Hasse se pueden dibujar de la misma forma, salvo obviamente los nombres de los elementos. Vamos a dibujar los diagramas de Hasse de las primeras álgebras de Boole nitas, omitiendo los nombres de los elementos. Para ello ejecutamos:

(%ixx) (%ixx) (%ixx) (%ixx) (%ixx)

draw_graph(cube_graph(1)); draw_graph(cube_graph(2)); draw_graph(cube_graph(3)); draw_graph(cube_graph(4)); draw_graph(cube_graph(5));

Nótese que los valores numéricos que hemos escrito en los comandos anteriores representan el número de

átomos del álgebra de Boole en cada caso. A continuación denimos una relación de equivalencia en el conjunto de números enteros

A = {k ∈ Z+ : 2 ≤ k ≤ 2000 de forma que

n, m ∈ A

serán equivalentes si y sólo

y

D(k)

D(n)

y

es álgebra de Boole},

D(m)

son álgebras de Boole isomorfas.

(%ixx) A:subset(setify(makelist(i,i,2,2000)),esAB); (%ixx) f(x,y):=is(length(ifactors(x))=length(ifactors(y))); (%ixx) ConjCociente:equiv_classes(A,f); El número de clases de equivalencia lo obtenemos con:

(%ixx) cardinality(ConjCociente); Los cardinales de las distintas clases de equivalencia son:

(%ixx) makelist(cardinality(listify(ConjCociente)[i]),i,1,cardinality(ConjCociente)); Ejercicio: Calcule un número natural

n

tal que

D(n)

sea un álgebra de Boole de

En un álgebra de Boole sabemos que todo elemento distinto de y todo elemento distinto de El comando

(%ixx) (%ixx) (%ixx) (%ixx)

1

0

10

átomos.

se escribe como supremo de átomos

se escribe como ínmo de coátomos (es decir, complementos de átomos).

atomos(n) nos permite obtener los átomos de

atomos(2); atomos(6); atomos(30); atomos(892392217); 3

D(n),

supuesto que es álgebra de Boole.


Si

D(n)

(%ixx) (%ixx) (%ixx) (%ixx) (%ixx)

d ∈ D(n), con d 6= 0, este mismo comando {a1 , a2 , . . . , ak } ⊆ D(n) tal que d = a1 ∨ a2 ∨ · · · ∨ ak .

es álgebra de Boole y

conjunto de átomos

nos permite obtener el

elementp(2013,divisors(183183)); atomos(2013); supremo(%); atomos(183183); supremo(%);

Si D(n) es álgebra de Boole y d ∈ D(n), con d 6= 1, podemos obtener el conjunto de {c1 , c2 , . . . , cr } ⊆ D(n) tal que d = c1 ∧ c2 ∧ · · · ∧ cr mediante el comando coatomos(d, n):

(%ixx) (%ixx) (%ixx) (%ixx)

coatomos(2013,183183); infimo(%); coatomos(1,183183); infimo(%);

4

coátomos


Capítulo 3

Práctica 5. Grafos. Vamos a estudiar en esta práctica algunos conceptos sobre grafos. Para trabajar con grafos, hemos de cargar el paquete graphs. (%ixx) load(graphs)$ Lo primero que vamos a ver es cómo introducir un grafo. Para esto, usaremos el comando create_graph. El argumento de esta función son dos listas. La lista de vértices y la lista de lados. Cada lado, a su vez, es una lista con los vértices que une el lado. Por ejemplo, la siguiente línea crea un grafo con tres vértices y tres lados (un triángulo). (%ixx) K3:create_graph([1,2,3],[[1,2],[1,3],[2,3]]); (%oxx) Structure [GRAPH] que nos dice que hemos introducido un grafo. Con el comando print_graph obtenemos información sobre el grafo. (%ixx) print_graph(K3); Graph on 3 vertices with 3 edges Adjacencies: 3 : 2 1 2 : 3 1 1 : 3 2 (%oxx) done Es decir, K3 es un grafo con tres vértices y tres lados. El vértice 3 está unido a los vértices 2 y 1 (eso nos indica la primera línea), el vértice 2 está unido a los vértices 3 y 1, y el vértice 1 está unido a los vértices 3 y 2. Para pintar un grafo, usaremos el comando que ya conocemos draw_graph. Más adelante, veremos algunas opciones. Ahora podemos usarlo para que nos dibuje los grafos que vamos creando. Si lo que queremos es crear un grafo dirigido, dentro del comando create_graph introduciremos la opción directed=true (%ixx) T3:create_graph([1,2,3],[[1,2],[2,3],[3,1]],directed=true); (%oxx) Structure [DIGRAPH] (%ixx) print_graph(T3); Digraph on 3 vertices with 3 arcs Adjacencies: 3 : 1 2 : 3 1 : 2 (%oxx) done Aparte de esta forma de introducir los grafos, también hay algunos que ya vienen incluidos en el paquete. Algunos ejemplos: (%ixx) K6:complete_graph(6)$ Nos crea el grafo completo con 6 vértices. 1


(%ixx) K34:complete_bipartite_graph(4,3)$ Nos crea el grafo bipartido completo con particiones de 4 y 3 vértices respectivamente. (%ixx) CK34:complement_graph(K34)$ Nos crea el complementario del grafo K34 (es decir, tiene los mismos vértices que K34, y los lados unen vértices que no están unidos en K34). Podemos verlo diciéndole que nos muestre los grafos. (%ixx) print_graph(K6); print_graph(K34); print_graph(CK34); Graph on 6 vertices with 15 edges Adjacencies: 5 : 4 3 2 1 0 4 : 5 3 2 1 0 3 : 5 4 2 1 0 2 : 5 4 3 1 0 1 : 5 4 3 2 0 0 : 5 4 3 2 1 (%oxx) done Graph on 7 vertices with 12 edges Adjacencies: 6 : 3 2 1 0 5 : 3 2 1 0 4 : 3 2 1 0 3 : 6 5 4 2 : 6 5 4 1 : 6 5 4 0 : 6 5 4 (%oxx) done Graph on 7 vertices with 9 edges Adjacencies: 0 : 1 2 3 1 : 0 2 3 2 : 0 1 3 3 : 0 1 2 4 : 5 6 5 : 4 6 6 : 4 5 (%oxx) done Algunos ejemplos más: (%ixx) C7:cycle_graph(7)$ Nos crea un grafo que es un ciclo con 7 vértices, mientras que (%ixx) cycle_digraph(7)$ nos crea un grafo dirigido que es un ciclo con 7 vértices. (%ixx) Cm5:paht_graph(5)$ path_digraph(5)$ Nos crea un grafo que es un camino de longitud 4 (con cinco vértices) y un camino dirigido de longitud 4. (%ixx) Cb4:cube_graph(4)$ Ya vimos este comando en la práctica anterior. Crea un grafo que se corresponde con un cubo tetradimensional. Otra posibilidad es crear un grafo a partir de la matriz de adyacencia. Por ejemplo: (%ixx) A:matrix([0,1,1,1],[1,0,1,1],[1,1,0,1],[1,1,1,0])$ (%oxx) K4:from_adjacency_matrix(A)$ Que podemos ver que nos ha creado el grafo completo de 4 vértices. Podemos decirle que nos lo dibuje, o podemos preguntarle directamente si efectivamente es el grafo completo con 4 vértices. (%ixx) is_isomorphic(K4,complete_graph(4)); (%oxx) true Una vez que tenemos un grafo, podemos preguntarnos cosas sobre él. (%ixx) degree_sequence(K34); 2


Nos devuelve la sucesión de grados (los grados de cada uno de los vértices). (%ixx) B:adjacency_matrix(CK34)$ Nos da la matriz de adyacencia del grafo CK34. La quinta potencia de esta matriz nos indica el número de caminos de longitud 5 que hay entre dos vértices. (%ixx) B^^5;   60 61 61 61 0 0 0  61 60 61 61 0 0 0     61 61 60 61 0 0 0    0 0  (%oxx)   61 61 61 60 0   0 0 0 0 10 11 11     0 0 0 0 11 10 11  0 0 0 0 11 11 10 Lo que nos dice que entre el vértice 1 y el vértice 3 hay 61 caminos de longitud 5, mientras que entre el vértice 2 y el vértice 6 no hay caminos de longitud 5. Podemos preguntarle si tiene un ciclo de Hamilton, con el comando hamilton_cycle. Esto nos devuelve una lista con los vértices que forman el ciclo de Hamilton (caso de existir), o la lista vacía si no existiera dicho ciclo. (%ixx) ch:hamilton_cycle(K6); (%oxx) [5,4,3,2,1,0,5] Tenemos la posibilidad de que nos dibuje el grafo, y nos marque este ciclo. Para eso, hemos de decirle que nos muestre los lados que unen los vértices del ciclo. (%ixx) draw_graph(K6,show_edges=vertices_to_cycle(ch)); Si queremos que nos muestre también el nombre de los vértices, lo podemos hacer con la opción show_id=true. (%ixx) draw_graph(K6,show_id=true,show_edges=vertices_to_cycle(ch)); Podemos preguntarle si un grafo es o no plano. (%ixx) is_planar(K4); (%oxx) true Y si queremos que nos haga una representación plana del grafo, le decimos: (%ixx) draw_graph(K4,redraw=true,program=planar_embedding); El grafo K5 sabemos que no es plano. (%ixx) K5:complete_graph(5)$ is_planar(K5); (%oxx) true Por lo que si le decimos que nos haga una representación plana de K5 nos dará un mensaje de error. Pero si le quitamos un lado a K5 , el grafo resultante sí es plano. Para eso, vemos antes cuales son los lados de K5 . (%ixx) edges(K5); (%oxx) [[3,4],[2,4],[2,3],[1,4],[1,3],[1,2],[0,4],[0,3],[0,2],[0,1]] Y para quitarle un lado, usamos el comando remove_edge (%ixx) remove_edge([0,1],K5)$ (%ixx) draw_graph(K5,redraw=true,program=planar_embedding); Y vemos como nos hace una representación plana de ese grafo.

3


Vamos a construir un grafo que represente los movimientos del caballo en un tablero de ajedrez 4 × 4. Para esto, numeramos las casillas desde 0 hasta 15. Las de la fila inferior van de 0 a 3. La fila siguiente, de 4 a 7, y así sucesivamente. Tenemos entonces que el vértice 0 está unido con el 6 y con el 9. El vértice 1 con el 7, el 8 y el 10, y así sucesivamente. El grafo que nos resulta es (%ixx) ajedrez:create_graph(makelist(i,i,0,15),[[0,6],[0,9],[1,7],[1,8],[1,10],[2,4], [2,9],[2,11],[3,5],[3,10],[4,10],[4,13],[5,11],[5,12],[5,14],[6,8],[6,13],[6,15],[7,9], [7,14],[8,14],[9,15],[10,12],[11,13]]); (%oxx) Structure[GRAPH] Sabemos que las casillas del tablero de ajedrez son o blancas o negras, y que un caballo, en cada movimiento, va de una blanca a una negra o viceversa. Esto nos da una 2-coloración de este grafo. Por tanto, su número cromático vale 2. (%ixx) chromatic_number(ajedrez); (%oxx) 2 Y si queremos una 2-coloración del grafo, no tenemos más que escribir: (%ixx) vertex_coloring(ajedrez); (%oxx) [2,[[0,2],[1,1],[2,2],[3,1],[4,1],[5,2],[6,1],[7,2],[8,2],[9,1],[10,2], [11,1],[12,1],[13,2],[14,1],[15,2]]] El 2 del inicio nos dice que es posible colorear el grafo con dos colores. Luego, a cada vértice le asigna un color (1 ó 2). Decir que el número cromático es 2 es lo mismo que decir que el grafo es bipartido. También esto se lo podemos preguntar: (%ixx) is_bipartite(ajedrez); (%oxx) true Es más, le podemos pedir que nos de la división del conjunto de vértices en las dos componentes. (%ixx) bipartition(ajedrez); (%oxx) [[1,3,11,4,12,14,9,6],[0,8,13,2,10,5,7,15]] Incluso, le vamos a decir que nos dibuje el grafo, separándonos los dos conjuntos. (%ixx) [x,y]:bipartition(ajedrez)$ draw_graph(ajedrez, show_vertices=x, show_id=true); Podemos preguntarle por el camino más corto para ir de un vértice a otro. (%ixx) shortest_path(0,12,ajedrez); (%oxx) [0,9,2,11,5,12] Que resulta ser el camino simple más largo (%ixx) diameter(ajedrez); (%oxx) 5 El comando vertex_degree nos da el grado de un vértice. Vamos a calcular los vértices de grado 2, de grado 3 y grado 4. (%ixx) gr(x):=is(vertex_degree(x,ajedrez)=a)$ V:setify(vertices(ajedrez))$ (%ixx) a:2$ Gr2:subset(V,gr); a:3$ Gr3:subset(V,gr); a:4$ Gr4:subset(V,gr); (%oxx) {0,3,12,15} (%oxx) {1,2,4,7,8,11,13,14} (%oxx) {5,6,9,10} Los vértices de grado 2 se corresponden con las 4 esquinas del tablero, los de grado 4 con las cuatro casillas centrales, mientras que los de grado 3 son el resto. Si escribimos (%ixx) hamilton_cycle(ajedrez); (%oxx) [] Vemos que un caballo de ajedrez no puede recorrer un tablero 4 × 4 sin repetir casilla y regresar al la casilla de origen. Con hamilton_path veríamos que tampoco es posible recorrer todo el tablero aún sin necesidad de que regrese a la casilla de origen. Con girth podemos saber la longitud del ciclo más corto. (%ixx) girth(ajedrez); (%oxx) 4 Y odd_girth nos dice la longitud del ciclo impar más corto. (%ixx) odd_girth(ajedrez); 4


(%oxx) ∞ Lo que significa que no hay ciclos de longitud impar. Esto es otra forma de decir que el grafo es bipartido. El comando minimum_spanning_tree nos proporciona el árbol generador mínimo. Tenemos otra forma de introducir un grafo. Es con el comando make_graph En este caso, hay que dar una lista de vértices, y una función booleana de dos variables. Entonces, toma los lados que hacen cierta la función. (%ixx) f(x,y):=is(mod(x+y,3)=0)$ (%ixx) grafo:make_graph(makelist(i,i,0,30),f); (%oxx) Structure [GRAPH] Este grafo no es conexo (%ixx) is_connectes(grafo); (%oxx) false De hecho, tiene dos componentes conexas. (%ixx) C:connected_components(grafo); (%oxx) [[1,4,7,10,13,16,19,22,25,2,5,8,11,14,17,20,23,26,28,29],[0,3,6,9,12, 15,18,21,24,27,30]] Que son, por una parte los vértices que son múltiplos de 3, y por otra los que no son múltiplos de 3. El comando induced_subgraph nos proporciona un subgrafo de un grafo. Para ello, hay que darle la lista de vértices que queremos considerar, y el grafo del que queremos extraer el subgrafo. (%ixx) grafo1:induced_subgraph(C[1],grafo)$ grafo2:induced_subgraph(C[2],grafo)$ El primero, es bipartido. Los vértices que son congruentes con 1 módulo 3 están unidos a los que son congruentes con 2 módulo 3. (%ixx) bipartition(grafo1); (%oxx) [[25,22,19,16,13,10,7,4,1,28],[29,26,23,20,17,14,11,8,5,2]] De hecho, es bipartido completo. (%ixx) is_isomorphic(grafo1,complete_bipartite_graph(10,10)); (%oxx) true Y un isomorfismo podemos buscarlo con el comando isomorphism (%ixx) K1010:complete_bipartite_graph(10,10)$ ismorphism(K1010,grafo1); (%oxx) [29→0,28→10,26→1,25 →11,23→2,22→12,20→3,19 →13,17→4,16→14,14→5,13→ 15,11→6,10→16,8→7,7 →17,5→8,4→18,2→9,1→19] El grafo grafo2 es un grafo completo. Todos los vértices que son múltiplos de 3 están unidos entre sí. (%ixx) is_isomorphic(grafo2,complete_graph(11)); (%oxx) true Ejercicio. Vamos a construir un grafo que represente los movimientos del caballo de ajedrez en un tablero m × n. A cada casilla le vamos a asignar un número entre 0 y m · n − 1. Empezamos a numerar de izquierda a derecha, y de abajo hacia arriba. Así, la primera fila está formada por las casillas desde 0 hasta m − 1. La segunda, por las casillas desde m hasta 2m − 1 y así sucesivamente. Define una función caballo que aplicada a dos números x, y, con x < y, devuelva true si un caballo puede saltar de la casilla x hasta la casilla y, y false en caso contrario. A partir de esta función, define una función ajedrez que aplicada a dos números m, n devuelva un grafo con m · n vértices, que represente los posibles movimientos del caballo de ajedrez en un tablero m × n.

5


Capítulo 3 Práctica 5. Combinatoria

3.1.

Combinaciones

En Maxima tenemos disponible el comando mial

n r . Veamos algunos ejemplos.



binomial(n,r) que nos permite calcular el coeciente bino-

(%ixx) binomial(7,2); (%ixx) binomial(7,0); (%ixx) binomial(7,10); ¾Cuál es el signicado de los resultados obtenidos? A continuación comprobamos la propiedad de simetría de los coecientes binomiales en un caso particular.

(%ixx) makelist(binomial(10,k),k,0,10); También podemos dejar alguno de los valores

n

ó

r

sin determinar.

(%ixx) binomial(n,3); Como vemos Maxima devuelve su forma simplicada. Ejercicio:

Calcule un entero positivo subconjuntos de cardinal

n

sabiendo que el conjunto

{1, 2, . . . , n}

tiene exactamente

2258956742190

4.

A continuación comprobamos la identidad siguiente:

      n n n + + ··· + = 2n . 0 1 n

(%ixx) sum(binomial(n,k),k,0,n); Para obligar a Maxima que simplique el resultado, escribimos la opción

simpsum que ya usamos en

la Práctica 1.

(%ixx) sum(binomial(n,k),k,0,n), simpsum; Dado un conjunto nito

X , es una propiedad conocida que el número de subconjuntos de X de cardinal X de cardinal impar. Veriquemos esta propiedad.

par es igual al número de subconjuntos de

(%ixx) sum(binomial(n,2*k),k,0,n), simpsum; (%ixx) sum(binomial(n,2*k+1),k,0,n), simpsum; Podemos generar las

r-combinaciones

de un conjunto

X

deniendo la función siguiente. Por supuesto

esta forma no es la más óptima, aunque es más que suciente para nuestros propósitos.

(%ixx) combi(X,r):=subset(powerset(X),lambda([A],is(cardinality(A)=r))); 1


La ilustramos con algunos ejemplos.

(%ixx) (%ixx) (%ixx) (%ixx) 3.2.

combi({a,b,c,d,e},1); combi({a,b,c,d,e},2); is(cardinality(%)=binomial(5,2)); combi({a,b,c,d,e},0);

Permutaciones

En Maxima cada permutaciĂłn de un conjunto se representa como una lista de longitud igual al cardinal de dicho conjunto. Tenemos el comando las permutaciones de un conjunto

X.

permutations(X) que nos permite obtener el conjunto de

Veamos algunos ejemplos.

(%ixx) permutations({a,b}); (%ixx) permutations({a,b,c}); (%ixx) permutations({a,b,c,d}); NĂłtese que las permutaciones se presentan en pantalla ordenadas lexicogrĂĄcamente. El comando

permutations

tambiĂŠn nos permite calcular las permutaciones de los elementos de una

lista.

(%ixx) permutations([a,b,c,d]); El resultado es idĂŠntico al del comando

permutations({a, b, c, d}).

Como consecuencia podemos generar permutaciones con repeticiĂłn. Obtenemos todas las formas de permutar las letras de la palabra

RELEER.

(%ixx) permutations([R,E,L,E,E,R]); Sabemos que el nĂşmero de permutaciones de dicha palabra viene dado por el coeciente multinomial



 6 6! = 60. = 3!2!1! 3, 2, 1

Comprobamos ĂŠsto de la forma siguiente.

(%ixx) cardinality(%); En Maxima existe el comando

multinomial_coe(a1 , ..., an ) que permite calcular el coeciente multi-

nomial



 a1 + ¡ ¡ ¡ + an . a1 , . . . , an

Obtenemos el mismo resultado usando este comando.

(%ixx) multinomial_coeff(3, 2, 1); Ejercicio:

Calcule el coeciente del tĂŠrmino

x76 y 5 z 42

en el polinomio

(x + 2y â&#x2C6;&#x2019; 3z)123 .

Calcule el coeciente del tĂŠrmino

x76 y 5 z 42

en el polinomio

(1 â&#x2C6;&#x2019; x + 2y â&#x2C6;&#x2019; 3z)529 .

Ejercicio:

žCuåntos tÊrminos aparecen al desarrollar el polinomio

(11x + 37y â&#x2C6;&#x2019; 89z + 15t)200 ?

Maxima tambiĂŠn permite generar permutaciones aleatorias de una lista o conjunto mediante el comando

random_permutation.

(%ixx) makelist(random_permutation({1,2,3,4}),i,1,10); Si lo ejecuta nuevamente, seguro que piensa que se va a repetir la lista, pero no es asĂ­.

(%ixx) makelist(random_permutation({1,2,3,4}),i,1,10); 2


3.3.

Variaciones ordinarias

¾Cómo podemos generar las variaciones ordinarias de Supongamos el conjunto

X = {x1 , . . . , xn }.

n

elementos tomados de

Generamos en primer lugar las

r

en

r?

r-combinaciones

de

X

y

para cada una de ellas calculamos las permutaciones de sus elementos. Todo este proceso se implementa en la función siguiente:

(%ixx) variordi(X,r):=apply(union,makelist(permutations(li),li,listify(combi(X,r)))); La probamos con algunos ejemplos.

(%ixx) (%ixx) (%ixx) (%ixx) (%ixx)

variordi({1,2,3,4,5},2); variordi({1,2,3,4,5},3); variordi({1,2,3,4,5},5); variordi({1,2,3,4,5},1); variordi({1,2,3,4,5},8);

¾Podría explicar el signicado del último resultado obtenido? Ahora denimos la función siguiente.

(%ixx) p(n,r):=prod(i,i,n-r+1,n); Estamos calculando el producto de los números ordinarias de

n

elementos tomados de

r

en

r.

n−r+1, . . . , n−1, n, lo cual es el número de variaciones

Evaluemos la función

p en algunos valores.

(%ixx) p(5,2); Puede comprobar que el resultado obtenido es el número de elementos del conjunto

variordi({1,2,3,4,5},2)

previamente calculado. Observe que la simple denición anterior de la función

p(n,r) cubre todos los casos particulares.

(%ixx) p(5,0); (%ixx) p(5,1); ¾Le suena el número siguiente?

(%ixx) p(5,5); (%ixx) p(5,8); 3.4.

Desordenes

{1, 2, . . . , n} es una permutación de los elementos de dicho conjunto, ninguno 2, 1 es el único desorden del conjunto {1, 2}. Los desórdenes del conjunto {1, 2, 3} son 2, 3, 1 y 3, 1, 2. ¾Cómo podemos calcular los desordenes del conjunto {1, 2, . . . , n}? Una forma simple (aunque no la Un desorden del conjunto

de los cuales aparece en su posición natural. Por ejemplo

más óptima) que aprovecha los comandos ya conocidos de Maxima es la siguiente.

(%ixx) desordenes(n):=block([ini:makelist(i,i,1,n)], subset(permutations(ini),lambda([d],not equal(apply("*",d-ini),0)))); Lo aplicamos a algunos ejemplos.

(%ixx) (%ixx) (%ixx) (%ixx) (%ixx)

desordenes(1); desordenes(2); desordenes(3); desordenes(4); desordenes(5);

¾Entiende cómo actúa la función anterior

desordenes? 3


Si denotamos el número de desordenes del conjunto

{1, 2, . . . , n}

por

d(n)

y aplicamos el Principio de

Inclusión-Exclusión, llegaremos a que



1 1 1 1 d(n) = n! · 1 − + − + · · · + (−1)n 1! 2! 3! n!

 para todo

n ≥ 1.

ximando al número

1 e

n se hace cada ≈ 0,36787944117144.

Por tanto, para

n

sucientemente grande, podemos armar que aproximadamente un tercio de las

En la fórmula anterior, cuando

permutaciones del conjunto

{1, 2, . . . , n}

vez más grande, el sumando entre paréntesis se va apro-

son desordenes. Ésto explica que el número de desordenes vaya

aumentando muy rápidamente conforme aumenta

n.

Es también conocida la fórmula siguiente.

d(1) = 0

y

d(n) = n · d(n − 1) + (−1)n

para todo

n ≥ 2,

Ejercicio:

Calcule el número de desordenes para

3.5.

n = 50

usando esta última fórmula.

Distribuciones de ob jetos en cajas

Una partición de un entero positivo

n

es una descomposición de

sin tener en cuenta el orden de los sumandos. Por ejemplo de

3, 2 + 1

y

n como suma 1 + 1 + 1 son

de enteros positivos, todas las particiones

3.

integer_partitions(n) integer_partitions(n, long).

Maxima incluye el comando también el comando

que nos devuelve todas las particiones de

n.

Vea

(%ixx) integer_partitions(1); (%ixx) integer_partitions(2); (%ixx) integer_partitions(5); El número de Stirling de segunda especie, diferentes en

k

S(n, k),

es el número de formas de repartir

n

objetos

cajas iguales, de forma que ninguna caja se quede vacía. En Maxima estos números están

disponibles escribiendo

stirling2(n, k).

(%ixx) stirling2(8,1); (%ixx) stirling2(8,5); (%ixx) makelist(stirling2(n+1,n),n,1,8); En vista del resultado del último comando, ¾cuál sería una fórmula para comando

stirling2(n+1, n) verá que Maxima no es tan listo como parece.

S(n + 1, n)?

Si ejecuta el

Ejercicio:

En todos los apartados de este ejercicio se supone que todos los objetos mencionados caben en cualquiera de las cajas mencionadas. 1.

¾De cuántas formas podemos colocar 20 objetos idénticos en 10 cajas distintas, si permitimos que algunas cajas puedan quedar vacías?

2.

¾De cuántas formas podemos colocar 20 objetos idénticos en 10 cajas idénticas, si permitimos que algunas cajas puedan quedar vacías?

3.

¾De cuántas formas podemos colocar 20 objetos distintos en 10 cajas idénticas, si ninguna caja puede quedar vacía?

4.

¾De cuántas formas podemos colocar 20 objetos distintos en 10 cajas idénticas, si permitimos que algunas cajas puedan quedar vacías?

5.

¾De cuántas formas podemos colocar 20 objetos distintos en 10 cajas distintas, si permitimos que algunas cajas puedan quedar vacías?

6.

¾De cuántas formas podemos colocar 20 objetos distintos en 10 cajas distintas, si ninguna caja puede quedar vacía?

4


CapĂ­tulo 5

PrĂĄctica sobre LĂłgica de proposiciones Una vez iniciada la sesiĂłn de Maxima, desde el menĂş [Archivo]>[Cargar paquete] cargamos el paquete logic.lisp que acompaĂąa a la prĂĄctica. Ă&#x2030;ste nos permite trabajar con proposiciones lĂłgicas. Los operadores reconocidos son los siguientes: operador tipo precedencia not prejo 70 and n-ario 65 nand n-ario 62 nor n-ario 61 or n-ario 60 implies injo 59 eq n-ario 58 xor n-ario 58

descripciĂłn negaciĂłn (NEG, ÂŹ) conjunciĂłn (AND, â&#x2C6;§) barra de Sheer (|) NOR (â&#x2020;&#x201C;) diyunciĂłn (OR, â&#x2C6;¨) implicaciĂłn (â&#x2020;&#x2019;) equivalencia (â&#x2020;&#x201D;) o exclusivo (XOR, â&#x160;&#x2022;)

La primera columna nos indica el nombre del operador lĂłgico y la segunda la forma como ĂŠste se escribe. AsĂ­, si se trata de un operador prejo signica que va delante de los operandos, mientras que si es injo se escribe entre los dos operandos a los que se aplica. La etiqueta n-ario indica que el operador se puede aplicar a mĂĄs de un operando, escribiĂŠndolo de forma inja. La tercera columna nos dice la precedencia del operador. Los operadores con mayor precedencia se evalĂşan antes y en caso de empate se consideran de izquierda a derecha. La Ăşltima columna indica otros sĂ­mbolos con los que tambiĂŠn se suele representar. A lo largo de esta prĂĄctica usaremos las letras P, Q, R ... para denotar variables proposicionales, es decir, fĂłrmulas atĂłmicas. Algunos ejemplos de proposiciones lĂłgicas escritas con la sintaxis que acabamos de denir son: true, false, not P, P or Q, P implies (Q and R), P nand Q, (P eq Q) eq R

donde true denota una proposiciĂłn tautolĂłgica y false una proposiciĂłn contradictoria o contradicciĂłn. El valor de verdad que puede tomar una proposiciĂłn se representa tambiĂŠn mediante true Ăł false. Esto no supone ningĂşn problema, pues siempre que nos encontremos true o false, el contexto nos dirĂĄ si se trata de una proposiciĂłn o bien de un valor de verdad. Comenzamos estudiando el comando characteristic_vector(prop) que nos proporciona la tabla de verdad de la proposiciĂłn prop. Pruebe los siguientes ejemplos: (%ixx) characteristic_vector(P implies Q); (%ixx) characteristic_vector(P implies (Q implies P));

Como puede ver, este Ăşltimo ejemplo nos dice que toda proposiciĂłn de la forma Îą â&#x2020;&#x2019; (β â&#x2020;&#x2019; Îą) es una tautologĂ­a. (%ixx) characteristic_vector(P or Q or R);

1


Ya sabíamos que el operador lógico or (∨) verica la propiedad asociativa y por tanto no requiere el uso de paréntesis. (%ixx) characteristic_vector(P xor (Q xor R)); (%ixx) characteristic_vector((P xor Q) xor R);

Los dos últimos comandos nos dicen que el operador xor (⊕) también verica la propiedad asociativa. (%ixx) characteristic_vector(P implies (Q implies R)); (%ixx) characteristic_vector((P implies Q) implies R);

Por tanto vemos que el operador implies (→) no verica la propiedad asociativa. (%ixx) characteristic_vector(P implies Q implies R);

Si comparamos este ejemplo con los dos anteriores, vemos que escribir P implies Q implies R es equivalente a escribir (P implies Q) implies R. Tal y como decíamos antes, en caso de empate entre operadores, se asigna más prioridad de izquierda a derecha. Hemos visto que el comando characteristic_vector calcula la tabla de verdad de una proposición lógica a partir de las variables proposicionales con las que se construye dicha proposición. Éste comando admite también el siguiente formato characteristic_vector(prop,var_1,...,var_n)

que nos proporciona la tabla de verdad de la proposición prop respecto a las variables var_1,...,var_n que le indiquemos. Por ejemplo, es indiferente escribir cualquiera de los dos comandos siguientes: (%ixx) characteristic_vector(P implies Q); (%ixx) characteristic_vector(P implies Q,P,Q);

Comprobamos ahora que el orden de las variables indicadas también inuye a la hora de construir la tabla. (%ixx) characteristic_vector(P implies Q,Q,P);

Por supuesto, podemos añadir otras variables. (%ixx) characteristic_vector(P implies Q,P,Q,R); (%ixx) characteristic_vector(P implies Q,P);

En este último ejemplo hemos construído la tabla de verdad de la fórmula P implies Q sólo respecto a la variable P. Pero tal fórmula también depende de Q, de ahí que la tabla de valores resultantes se exprese en función de Q. Ahora ya entenderá la salidas devueltas por los comandos siguientes. (%ixx) characteristic_vector(P implies Q,R); (%ixx) characteristic_vector(true); (%ixx) characteristic_vector(true,P); (%ixx) characteristic_vector(true,P,Q);

Dos proposiciones lógicas α y β pertenecientes a un lenguaje de proposiciones L, se dice que son equivalentes si para cualquier interpretación I sobre L se verica que I(α) = I(β). Dicho de otro modo, α y β son equivalentes si la proposición α ↔ β es una tautología. El comando logic_equiv(expr_1,expr_2) devuelve true si las proposiciones representadas por expr_1 y expr_2 son equivalentes, y false en caso contrario. Claramente, la proposición representada por expr es una tautología si y sólo si logic_equiv(expr, true) devuelve true, y es una contradicción si y sólo si logic_equiv(expr, false) devuelve true. Pruebe con las siguientes instrucciones. 2


(%ixx) logic_equiv(P implies Q, not P or Q); (%ixx) logic_equiv(P implies (Q implies P), true); (%ixx) logic_equiv(P and not P, false); Ejercicio

Para cada una de las proposiciones siguientes, determine si es tautología, satisfacible, refutable ó contradicción. 1. ¬(P ∧¬Q∧R) → (R → (P → Q)) 2. (P ∨Q) → (P ∧Q) 3. (Q∨¬R) → (P → P ) 4. (P ∧Q)∧¬(¬P → Q) 5. P ↔ (Q ↔ (P ↔ Q)) 6. (P → (Q∨R))∨(P → (Q∧R)) 7. (P → Q) → ((Q → R) → (P → R)) 8. ¬((P → Q)∨(P → (¬Q))) Dadas las proposiciones α1 , α2 , . . . , αn , β , se verica que el conjunto Ω = {α1 , α2 , . . . , αn } implica semánticamente a β si y sólo si el conjunto {α1 , α2 , . . . , αn , ¬β} es insatisfacible. También se dice que β es consecuencia lógica de Ω y se denota por Ω |= β . Ésto a su vez equivale a que la proposición α1 ∧α2 ∧ · · · ∧αn ∧¬β sea una contradicción. Ejercicio

Dado el conjunto de proposiciones Ω = {P → (Q∧R), Q → S, P ∧T },

determine cuáles de las proposiciones siguientes son consecuencia lógica de Ω. 1. β = S . 2. β = ¬T ∧R. 3. β = ¬S → (¬P ∨T ). 4. β = ¬T ∨Q. 5. β = S ↔ Q. 6. β = ¬Q∧S . 7. β = S → Q. 8. β = S∨¬R. Los siguientes comandos transforman proposiciones en otras equivalentes. Sabemos que toda función booleana f se representa de modo único como un polinomio en el cual sólo pueden aparecer operadores xor (⊕) y and (∧, también denotada por un punto) así como la constante lógica 1 que nosotros aquí estamos representando por true. Éste es el polinomio de Gegalkine de f . Esta misma idea también es aplicable a las proposiciones lógicas. El comando zhegalkin_form(expr) calcula el polinomio de Gegalkine de la proposición representada por expr. Pruebe las siguientes instrucciones. 3


(%ixx) zhegalkin_form(not P); (%ixx) zhegalkin_form(P implies Q); (%ixx) zhegalkin_form(P and Q); (%ixx) zhegalkin_form(P or Q); (%ixx) zhegalkin_form(P eq Q);

Las expresiones devueltas por estos comandos seguramente le resultarán ya familiares. Repase las reglas para calcular la interpretación de una proposición. (%ixx) zhegalkin_form(P implies (not Q implies R));

Por supuesto, si la proposición dada ya es su propio polinomio de Gegalkine, la respuesta es dicha proposición. (%ixx) zhegalkin_form(true); (%ixx) zhegalkin_form(P and Q); (%ixx) zhegalkin_form(P xor Q); (%ixx) zhegalkin_form((P and Q) xor true); (%ixx) zhegalkin_form((P and Q and R) xor P xor (Q and R));

Recuerde que el operador and tiene más prioridad que xor. El comando boolean_form(expr) escribe la proposición dada por expr sólo en función de los operadores not, or y and. La única excepción se produce cuando expr es true ó false. Pruebe las siguientes instrucciones. (%ixx) boolean_form(P implies Q); (%ixx) boolean_form(P eq Q); (%ixx) boolean_form((P implies Q) implies R); (%ixx) boolean_form(((P implies Q) implies R) implies S); (%ixx) boolean_form(true);

Como se puede observar en las respuestas obtenidas, no se intenta simplicar más nada. El comando demorgan(expr) aplica las leyes de De Morgan a expr. (%ixx) demorgan(not (P or Q)); (%ixx) demorgan(not (P and Q)); (%ixx) demorgan(not (P and Q and R)); (%ixx) demorgan(not not P);

Éste comando hay que usarlo tras haber aplicado boolean_form, pues de lo contrario no transforma la expresión. (%ixx) demorgan(P implies Q); (%ixx) demorgan(P eq Q); (%ixx) demorgan(boolean_form((P implies Q) implies R)); (%ixx) demorgan(boolean_form(a nor b nor c));

Aunque la respuesta puede que no sea todo lo satisfactoria que uno espera. (%ixx) demorgan(boolean_form(((P implies Q) implies R) implies S));

Otro comando es logic_simp(expr) que devuelve una versión simplicada equivalente a expr. 4


(%ixx) logic_simp(not not not P); (%ixx) logic_simp(P or (Q or false or (P or Q))); (%ixx) logic_simp(P xor true xor Q xor true); (%ixx) logic_simp(boolean_form(((P implies Q) implies R) implies S));

Como pone de maniesto la última respuesta obtenida, la respuesta de este comando puede ser decepcionante. Imitando lo que ocurre con las funciones booleanas, toda proposición lógica se puede expresar usando los operadores lógicos ¬, ∧, ∨. De este modo obtenemos la forma normal conjuntiva y la forma normal disyuntiva de una proposición lógica. Éstas se obtienen con los comandos pcnf y pdnf, respectivamente. Pruebe las siguientes instrucciones. (%ixx) pcnf(not P); (%ixx) pdnf(not P); (%ixx) pcnf(P and Q); (%ixx) pdnf(P and Q); (%ixx) pcnf(P or Q); (%ixx) pdnf(P or Q); (%ixx) pcnf(P implies Q); (%ixx) pdnf(P implies Q); (%ixx) pcnf(P eq Q); (%ixx) pdnf(P eq Q); (%ixx) pcnf(P nor Q); (%ixx) pdnf(P nor Q); (%ixx) pcnf(P nand Q); (%ixx) pdnf(P nand Q); (%ixx) pcnf(P xor Q); (%ixx) pdnf(P xor Q); (%ixx) pcnf(((P implies Q) implies R) implies S); (%ixx) pdnf(((P implies Q) implies R) implies S);

Un conjunto de operadores lógicos, ∆, se dice que es funcionalmente completo, si cualquier operador lógico se puede expresar en términos de los operadores pertenecientes a ∆. El comando functionally_complete(expr_1,...,expr_n) devuelve true sii {expr_1,...,expr_n} dene un sistema funcionalmente completo. Por ejemplo, sabemos que el conjunto {¬, ∨, ∧} es funcionalmente completo. Comprobemos ésto. (%ixx) functionally_complete(P and Q, P or Q, not P);

También toda proposición lógica α se expresa en términos de los operadores true, and, xor, resultando el polinomio de Gegalkine de α. (%ixx) functionally_complete(P and Q, P xor Q, true);

Nótese que si suprimimos la constante true, ya no tenemos un conjunto funcionalmente completo. (%ixx) functionally_complete(P and Q, P xor Q);

Los conjuntos {nor} y {nand} también son funcionalmente completos. 5


(%ixx) functionally_complete(P nor Q); (%ixx) functionally_complete(P nand Q);

Por supuesto, si a un conjunto funcionalmente completo le añadimos un nuevo operador, resulta otro conjunto funcionalmente completo. (%ixx) functionally_complete(P nor Q, P implies Q);

Un conjunto de operadores, ∆, se dice que es una base lógica, si ∆ es funcionalmente completo, y al suprimir cualquier operador en ∆, el conjunto resultante ya no es funcionalmente completo. También se dice que ∆ es un conjunto funcionalmente completo minimal. Podemos comprobar que un conjunto de operadores ∆ es una base lógica de manera artesanal usando el comando functionally_complete. Para ello vemos que ningún subconjunto propio de ∆ es funcionalmente completo. Ejercicio.

Compruebe aplicando la idea expuesta en el párrafo anterior que el conjunto de operadores { and, xor, true} es funcionalmente completo. Otra posibilidad consiste en utilizar el comando logic_basis(expr_1,...,expr_n) que devuelve true sii {expr_1,...,expr_n} forman una base lógica. Pruebe las siguientes instrucciones. (%ixx) logic_basis(P and Q, P or Q); (%ixx) logic_basis(P and Q, P or Q, not P); (%ixx) logic_basis(P and Q, not P); (%ixx) logic_basis(P or Q, not P); (%ixx) logic_basis (P and Q, P xor Q, true); Ejercicio.

1. Justique que el conjunto de operadores {¬, →} es una base lógica, primero teóricamente, y a continuación usando Maxima. 2. Represente cada una de las proposiciones siguientes en función de los operadores del conjunto {¬, →} y compruebe en cada caso que la expresión obtenida es equivalente a la inicial. a ) P ∧Q b ) P ∧Q∧R c ) P ∨Q d ) P ∨Q∨R e) P ↔ Q

3. Encuentre una proposición lógica que se represente de dos formas distintas en función de los operadores ¬ y →. 4. Si α es una proposición lógica que es una contradicción, justique que toda proposición lógica se puede expresar usando el operador lógico → y α. A continuación compruebe ésto mismo utilizando Maxima.

6


Practica 8. Introducción a PROLOG: Sintaxis, Unificación y Resolución. Recursividad y Aritmética. 1. Introducción Prolog es un lenguaje que, al contrario que la mayoría de los lenguajes de programación, mantiene una interlocución constante con el programador. El programador le propone al lenguaje preguntas en base a unos conocimientos previamente declarados (Reglas y Hechos), a las que Prolog responde. Prolog indica al programador que está esperando una pregunta con el prompt: ?El programador deberá formular una pregunta, a lo que Prolog responderá (si le es posible). Todas las preguntas formuladas a Prolog deberán acabar en . , y pulsar seguidamente CR. Por ejemplo: 1 ?- 4 is 3+2. false.

A lo que Prolog responderá:

Si se olvida de concluir la pregunta con . , Prolog mostrará una | , que indica que está esperando a que acabe la pregunta. Como respuesta Prolog también puede dar un mensaje de error si la pregunta (que es en realidad una claúsula en LPO) no se ajusta a la Sintaxis de Prolog adecuada. Por ejemplo: 2 ?- 4 ERROR: ERROR: ERROR: ERROR:

is 3&2. Syntax error: Operator expected 4 is 3 ** here ** &2 .

2. Predicados sobre directorios y ficheros Prolog almacena sus conocimientos en programas con la extensión .pl. Para responder a preguntas que tengan que ver con esos conocimientos, Prolog consulta estas bases de conocimiento. Para acceder a ellos utiliza el camino dado por el path usual con barra a la derecha. Por ejemplo: C:/prolog/scripts Las siguientes órdenes dan información y manejo sobre directorios y ficheros: 3 ?- pwd. 4 ?- ls. 5 ?- cd(‘path’).

(informa sobre el directorio actual) (lista el contenido del directorio de trabajo actual) (cambia el directorio actual al directorio indicado en path)

3. Sintaxis y base de conocimiento Prolog Para responder a preguntas Prolog necesita acceder a una base de conocimiento. El tiene incluida una base propia de conocimiento con reglas básicas de aritmética y números enteros, pero otros conocimientos específicos han de ser dados por el programador. Por ejemplo si se le pregunta a Prolog si es un animal un oso dará error como respuesta: 6 ?- esanimal(oso). ERROR: toplevel: Undefined procedure: esanimal/1 (DWIM could not correct goal)

Que nos dice que “esanimal” es un predicado unario no definido en el sistema.


Para solucionar esto es programador tendrá que darle a conocer a Prolog una base formada por Hechos (Consecuentes sin antecedente) y Reglas (consecuentes con antecedente) expresados en el lenguaje de la LPO, con la siguiente sintaxis: constantes y predicados empiezan por minúscula. Las Variables comienzan por Mayúscula. La implicación, A → B, (B cuando A, o equivalentemente Si A entonces B) se representa por :- . Las condiciones conjuntas en una claúsula (dadas por la conectiva ∧ en el antecedente), se representan por ,

Ejemplo 1. Una base de conocimiento Prolog sería: acaba_de_comer(mosquito,sangre(pedro)). acaba_de_comer(mosquito,nectar). acaba_de_comer(mosquito,savia). acaba_de_comer(pez,mosquito). acaba_de_comer(serpiente,pez). acaba_de_comer(oso,pez). acaba_de_comer(aguila,serpiente). acaba_de_comer(rana,mosquito). acaba_de_comer(garza,rana). acaba_de_comer(aguila,perdiz). acaba_de_comer(perdiz,trigo). esta_digiriendo(X,Y):- acaba_de_comer(X,Y). esta_digiriendo(X,Y):- acaba_de_comer(X,Z), esta_digiriendo(Z,Y).

Esta última regla podría leerse el LPO como: ∀x ∀y ∀z (Acaba_de_comer(x,z) ∧ Esta_digiriendo(z,y) → Esta_digiriendo(x,y))

Esta base está compuesta por 11 hechos y 2 reglas, la segunda de ellas recursiva, pues nos dice que la regla “esta_digiriendo” puede cumplirse para unos determinados valores de la variable X, Y mediante el cumplimiento de la misma regla para el mismo valor de Y, y para un valor de otra variable Z. Si queremos ahora preguntarle al sistema por algunos de estos hechos, entonces deberemos primero “consultar” la base desde el editor (pasarla al intérprete de Prolog) y Prolog ya sí que sabrá responder: 7 ?- acaba_de_comer(oso,pez). true.

Pero podemos también preguntarle por objetivos con variables, a lo que Prolog responderá indicando el valor que toman las variables al intentar resolver el objetivo (Respuesta de sustitución en lugar de true o false). En caso de haber más de una solución, el sistema muestra la primera que encuentra (en el orden dado por los hechos y reglas en la base de conocimiento) y espera a que el programador/consultor introduzca ; para ir dando las soluciones por el orden en que son encontradas y tras la última encontrada muestra el símbolo de espera de un nuevo objetivo. 8 ?- acaba_de_comer(X,pez). X = serpiente ; X = oso ; false. 9 Y Y Y

?- acaba_de_comer(mosquito,Y). = sangre(pedro) ; = nectar ; = savia.


La pregunta formulada podríamos leerla en LPO como: ∃x(Acaba_de_comer(x,pez)).

4. Recursión Cada recursión tiene al menos dos casos: 1) Condición inicial de la recursión y 2) función recursiva, que a su vez pueden ambas ser más de una. Prolog resuelve las reglas recursivas igual que las reglas simples, teniendo en cuenta que efectúa internamente un renombramiento de variables, para evitar la colisión de nombres de variables ligadas, cada vez que aplica la regla recursiva para una determinada cláusula. 10 ?- esta_digiriendo(X,mosquito). X = pez ; X = rana ; X = serpiente ; X = oso ; X = aguila ; X = garza ; false.

Si ahora activamos el GUI (interface gráfico para seguir la traza de las llamadas recursivas y de reglas y hechos, podemos observar como funciona Prolog hasta encontrar las posibles soluciones con una pregunta de menos utilización de llamadas recursivas: 11 ?- esta_digiriendo(X,trigo). X = perdiz ; X = aguila ; false.

Ejercicio 1. Programar una base de conocimiento Prolog con los hechos y reglas dados por el árbol genealógico de tu familia, tomando 3 generaciones hacia atrás y considerando hermanos y los dos progenitores en todos los casos. Utilizar los predicados padre/2, madre/2, progenitor/2, hombre/1, mujer/1, tio/2, tia/2, Primo_hermano/2, Prima_hermana/2 y definir una función recursiva antepasado/2. Adjuntar una imagen (JPEG) con un gráfico del árbol genealógico.

5. Unificación Al responder a preguntas-objetivo, Prolog debe de unificar entre los objetivos y las cabezas de las reglas o hechos, según el orden en el que son dados (en el que los va encontrando en el script), siguiendo el algoritmo de unificación descrito en el Tema 7. El operador = se verifica si los objetivos unifican, mientras que si no lo hacen se verifica el operador \= Ejemplo 2. Las siguientes preguntas dan como unificador (Ejemplo 31 ó 36, Ejercicio 48): 12 ?- p(a,X,f(g(Y))) = p(Z,f(Z),f(U)). X = f(a), Z = a, U = g(Y). 13 ?- p(V, m(f(a,W)), h(Y,f(X,U),U)) = p(m(X), V, h(g(U),Z,f(g(W),g(a)))). V = m(f(a, W)), Y = g(f(g(W), g(a))), X = f(a, W), U = f(g(W), g(a)),


Z = f(f(a, W), f(g(W), g(a))).

Ejemplo 3. Mientras que si le preguntamos por la unificación de 14 ?- q(Y, f(X)) = q(f(f(X)), f(Y)). Y = f(f(**)), X = f(f(**)).

Lo que nos indica que entra en un ciclo infinito, y al no terminar los cálculos es incapaz de dar el unificador pedido.

6. La Resolución Prolog. 6.1. Planteamiento de las preguntas. Al plantearle preguntas a Prolog, deberemos respetar el formato de las cláusulas sobre las que trabaja, Cláusulas de Horn, y el de las cláusulas de pregunta, que son todas Cláusulas negativas, para poder resolver con el literal positivo en una de las cláusulas de Horn y seguir obteniendo así en el árbol de resoluciones sólo cláusulas negativas. Así, si en Prolog planteamos una pregunta del tipo: ∃x∃y(R(x,y) ∧ P(x))

entonces, al calcular la forma clausular de la negación de esta pregunta, obtenemos la cláusula única (negativa) ¬R(x,y) ∨ ¬P(x)

Que habríamos de escribir en Prolog como: 15 ?- r(X,Y), p(X).

Pero si al obtener la forma clausular de la pregunta aparece más de una cláusula, entonces habrá que plantearle a Prolog cada una de ellas por separado, y Prolog intentará buscar respuesta a cada una de ellas por orden. Por ejemplo, si nuestra pregunta es: ∃x∃y(R(x,y) ∨ P(x)) Obtenemos dos cláusulas ¬R(x,y), ¬P(x), con lo que tendríamos que plantear primero una pregunta y luego la otra:

16 ?- r(X,Y). 17 ?- p(X).

Ejemplo 4. Si queremos hacer una unificación de varios predicados, deberemos indicarle en la pregunta de unificación que se trata de una unificación múltiple mediante comas, como acabamos de comentar más arriba, de cara a que resuelva (en este caso unifique) los objetivos para los mismos valores de las variables, pues el algoritmo está implementado para trabajar con parejas de cláusulas, aunque en el


resultado nos dará la composición de las sustituciones que da el unificador principal (Ejemplo 40, Ejemplo 37) 18 ?- p(X) = p(f(Y)), p(f(Y)) = p(f(g(a))). X = f(g(a)), Y = g(a). Y si le pedimos que realice la unificación: 19 ?- p(X,Y) = p(f(Z),X), p(X,Y) = p(U,f(X)). X = f(**), Y = f(**), Z = f(**), U = f(**).

Lo que nos indica que no encuentra solución al entrar en una rama infinita, y por tanto los literales no son unificables.. Nota: Problemas con la comprobación de ocurrencias (occur check) en la ecuación X = f(X). Ejemplo 5. Si queremos calcular resolventes generalizados, que incluyen factores de cláusulas y unificación de literales de cláusulas distintas, podemos hacerlo todo a la vez, como en el siguiente ejercicio (Ejercicio 50):

Dadas las siguientes cláusulas • C1 = Q(x) ∨ ¬R(x) ∨ P(x, y) ∨ P(f(z), f(z)), • C2 = ¬S(u) ∨ ¬R(w) ∨ ¬P(f(a), f(a)) ∨ ¬P(f(w), f(w)),

Obtener una resolvente lo más reducida posible, es decir, con el menor número de literales

Para ello planteamos si es posible la unificación conjunta de los literales P en la cláusula C1, por un lado, y de los literales ¬P en la cláusula C2, por otro, y además la unificación de los literales resultantes de estos factores en las dos cláusulas, para lo cual buscamos la unificación de todos los literales a la vez: 20 ?- p(X,Y)=p(f(Z),f(Z)), X = f(a), Y = f(a), Z = a, W = a.

p(X,Y)=p(f(a),f(a)),

p(X,Y)=p(f(W),f(W)).

Como esa unificación es posible, entonces la resolvente queda como:

R(C1, C2) = Q(f(a)) ∨ ¬R(f(a)) ∨ ¬S(u) ∨ ¬R(a) 6.2. El algoritmo de la resolución Prolog.


Hemos visto en el Tema 7 que el algoritmo de la resolución Prolog para determinar la inconsistencia de ¬es el de búsqueda primero en profundidad con retroceso (DFS-B) en el árbol de las deducciones lineal-input ordenadas (según el orden de hechos y reglas y también según el orden de los literales en cada regla) con raíz ¬Un ejemplo práctico de cómo el retroceso en esta búsqueda permite explorar ramas con soluciones, abandonando las que no las tienen, es el siguiente  Ejemplo 6. Resolver mediante Prolog el siguiente problema (Ejercicio 68): Dadas las siguientes afirmaciones: • • • • • • • •

Hace buen tiempo. Es viernes. Juan tiene suerte si es verano. No es verano. Juan tiene suerte si es viernes y hace buen tiempo. Antonio es un malvado. Juan es un malvado. Toda persona malvada y con suerte gana a la ruleta. Describir un Lenguaje de Primer Orden adecuado para representar los enunciados y, con el orden dado por las cláusulas por su orden de aparición en el enunciado anterior, escribir el “script” correspondiente a las cláusulas en Prolog y contestar a la pregunta: ¿Quién gana a la ruleta? Dibujar el árbol de una resolución Prolog y después hacer el seguimiento de la traza de la búsqueda del objetivo con el interfaz gráfico (GUI), para comprobar que coinciden.

Tomamos el dominio D: D = {personas, días de la semana, estaciones del año, {bueno,malo}}, y las constantes {antonio, juan, v(viernes), ver, no_ver, b(bueno)}, así como los predicados t/1, día/1, est/1, suerte/1, malvado/1, y gana/1, para obtener el script (ya que la fórmula “No es verano” daría lugar a una cláusula negativa en el script, no se puede expresar aquí como hecho, por lo que decidimos expresarla como est(no_ver), aunque veremos posteriormente una forma de gestionar este tipo de cláusulas. t(b). dia(v). suerte(juan):-est(ver). suerte(juan):-t(b),dia(v). est(no_ver). malvado(antonio). malvado(juan). gana(X):-malvado(X),suerte(X).

que encuentra solución a la pregunta: ¿quién gana a la ruleta? [trace] 21 ?- gana(X). X = juan.

y cuyo trazado de la resolución en el script podemos ver que coincide con el de exploración del árbol en la resolución Prolog, exploradas en el orden de escritura de reglas y hechos y resueltas según el orden de los literales de cada cláusula, entrado en dos ramas sin solución, de las que sale gracias al retroceso hasta resolver todas la preguntas que se van planteando en el proceso y encontrar cláusula vacía en la última rama explorada. Si siguiendo lo comentado en el apartado 6.1. anterior quisiésemos ver ¿quien gana a la ruleta o quien es malvado?:


∃x∃y(Gana(x) ∨ Malvado(y))

Entonces deberíamos hacerle dos preguntas al sistema, la anterior y una nueva, que Prolog respondería una a una: 22 ?- malvado(X). X = antonio ; X = juan.

6.3. Problemas en la Resolución Prolog. La resolución Prolog, al utilizar búsqueda primero en profundidad con retroceso, permite mayor eficiencia y reducir la complejidad de la búsqueda de soluciones en el árbol de deducciones, pero también presenta sus desventajas, al permitir entrar en ramas infinitas o no encontrar soluciones según el orden en que sean dadas las reglas. Algunos problemas prácticos de Prolog derivan de esta decisión de realizar una búsqueda primero en profundidad y ordenada entre las cláusulas para tratar de encontrar una respuesta, sin que el retroceso pueda a veces volver para explorar la rama adecuada. Ejemplo 7. Puede que Prolog no encuentre solución por el orden en el que están dadas reglas y hechos. Por ejemplo el programa: a:-a. a.

No encuentra respuesta a la pregunta a., ya que entra en una rama infinita, y ofrece la salida: 23 ?- a. ERROR: Out of local stack Exception: (523,658) a ?

y sin embargo esta solución existe. El problema puede arreglarse intercambiando el orden del script (inténtese). Como norma para el programador puede deducirse la de escribir primero siempre los hechos y luego las reglas, que facilita la búsqueda de resoluciones exitosas. Ejemplo 8. El caso del programa: R1 R2 R3

t(f(g(j))). t(X):- t(f(X)). t(X):- t(g(X)).

tampoco encuentra solución a la pregunta “t(j).”, pues entra en una rama infinita al intentar unificar siempre por aplicación reiterada de la regla 2, como puede observarse con la activación de la interfaz gráfica GUI del trazador de Prolog, recorriendo el árbol de la ventana de la derecha y viendo que intenta una unificación que aplica f a la variable hasta agotar la pila. X = f(f(f(f(f(f(f(f(f(f(...))))))))))

Sin embargo la solución existe, sin más que aplicar primero la R3, luego la R2 y finalmente el hecho R1. Aunque Prolog no pueda encontrarla aquí ni siquiera cambiando el orden de las reglas. Ejemplo 9. Resolver mediante Prolog el siguiente problema: Dadas las siguientes afirmaciones:


• Los hermanos menores de mis admiradores son mis admiradores (válido para cualquier persona). • Todas las personas son admiradoras de sí mismas. • Pepe es hermano menor de Juan. Describir un Lenguaje de Primer Orden adecuado para representar los enunciados y, con el orden dado por las cláusulas por su orden de aparición en el enunciado anterior, escribir el “script” correspondiente a las cláusulas en Prolog y contestar a la pregunta: ¿Quién admira a Juan?. Hacerlo mediante el método de resolución encontrando todas las respuestas posibles y examinar si son posibles respuestas diferentes con otro orden en las reglas del script. En este caso tomamos el dominio D={personas}, las constantes pepe y juan, así como los predicados admira/2 y hermano_menor/2, para obtener el script: R1 R2 R3

admira(X,Z):-admira(Y,Z),hermano_menor(X,Y). admira(X,X). hermano_menor(pepe,juan).

que no encuentra solución a la pregunta “admira(X,juan).”, aunque existen dos respuestas a la misma: admira(pepe,juan) y admira(juan,juan), que ahora si podemos conseguir intercambiando el orden de los hechos y reglas (R2, R3, R1) para conseguir unificar antes de entrar en la rama infinita. 24 ?- admira(X,juan). X = juan ; X = pepe ; ERROR: Out of local stack

Sin embargo, podemos mejorar aún mas el script, evitando entrar en la rama infinita al final, poniendo en la R1 primero el literal “hermano_menor”, lo que muestra que el orden de los literales en una cláusula también es importante y determina las soluciones a encontrar. Ello nos permite hacer preguntas con objetivo de predicado multiple del tipo de las planteadas en la sección 6.1. ∃x∃y(Admira(x,juan) ∧ Admira(pepe,y))

Que serán respondidas con todas las soluciones posibles, en este caso 4 parejas de soluciones. R2 admira(X,X). R3 hermano_menor(pepe,juan). R1’ admira(X,Z):- hermano_menor(X,Y),admira(Y,Z). 25 ?- admira(X,juan). X = juan ; X = pepe ; false. 26 ?- admira(pepe,Y). Y = pepe ; Y = juan ; false. 27 ?- admira(X,juan),admira(pepe,Y). X = juan, Y = pepe ; X = juan, Y = juan ; X = pepe, Y = pepe ; X = pepe,


Y = juan ; false.

Ejercicio 2. Resolver mediante los correspondientes scripts Prolog y sus preguntas los problemas de Resolución vistos en el Tema 6, que como conjunto de cláusulas tienen un Conjunto de Horn.

7. Aritmética Prolog incorpora una serie de predicados de significación aritmética. Así, al encontrar una preguntaobjetivo como: ”?- X is Expr”, el sistema evalua Expr para darle un valor aritmético, a, y trata de unificar X con a para cumplir el objetivo. Si no lo consigue, devuelve error. 28 ?- X is 2+3. X = 5

Y si la unificación no es posible da respuesta No 29 ?- 4 is 2+3. No

Mientras que el operador = unifica, pero no evalúa: 30 ?- X = 2+3. X = 2+3

Y además is no puede pensarse como un operador de asignación en un lenguaje procedural, y así no tendría sentido la siguiente pregunta, ya que no puede ni siquiera el plantearse unificar: 31 ?- X is X+1. Error al evaluar.

Otros operadores aritméticos incorporados a Prolog son los habituales de orden menor o igual, =<, mayor o igual, >=, igual, =:= y no igual, =\=. Y los operadores aritméticos clásicos: +, -, *, mod, etc. Ejercicio 3. Poner de manifiesto con 3 preguntas al sistema las diferencias entre is, =, =:= . Ejemplo 10. Con estas simples reglas aritméticas podemos ya realizar algunos scripts como el de la función Factorial, siendo cuidadosos en el renombramiento de variables cada vez que estas son modificadas y empleando una llamada recursiva a la cláusula (función) que se pretende definir. fact(0, 1). fact(N, F):- N > 0, N1 is N-1, fact(N1, F1), F is N*F1.

Ejemplo 11. El clásico Las torres de Hanoi, utilizando la recursión en Prolog: mover(1,X,_,Z):- write('Mover el disco superior desde la torre '), write(X), write(' hasta la torre '), write(Z), nl. mover(N,X,Y,Z):- N>1, N1 is N-1, mover(N1,X,Z,Y), mover(1,X,_,Z), mover(N1,Y,X,Z). hanoi(N):- mover(N,izq,cen,der).

Si consultamos el script y le preguntamos ahora por: 32 ?- hanoi(3).

Nos dá como respuesta de la sucesión de movimientos a ejecutar por el algoritmo en el caso de tres cúpulas en la torre.


Ejercicio 4. Hacer un script en Prolog que calcule la función de Fibonacci, utilizando recursión. Hacer que el sistema responda a las preguntas de los valores de la sucesión de Fibonacci, mientras no agote la pila. Para los últimos valores calcular el N-ésimo número de Fibonacci y el N+1-ésimo y estimar el tiempo invertido por Prolog en responder estas dos preguntas. ¿Qué conclusión podemos sacar de este dato respecto al método de cálculo de la sucesión de Fibonacci empleado?


Practica 9. PROLOG: Listas, Corte y otros predicados de control. 1 Listas. 1.1 Definici贸n Las listas son una estructura fundamental en Prolog, que se definen de forma recursiva como: lista([]). lista([L|Lr]):- lista(Lr).

Caso base: la lista vac铆a es una lista. Caso recursivo: Si Ls es una lista entonces [L|Ls] es una lista con cabeza L y con cola Ls.

Podemos preguntar ahora si [a,b,c] es una lista, o que devuelva listas de cualquier n煤mero de elementos con 1 ?- lista([a,b,c]). true. 2 X X X X X .

?- lista (X). = [] ; = [_G554] ; = [_G554, _G557] ; = [_G554, _G557, _G560] ; = [_G554, _G557, _G560, _G563]; . .

1.2

Definiciones recursivas con listas.

Podemos definir funciones sobre listas aprovechando la definici贸n recursiva de las mismas, que permita construir listas de una determinada forma, recorrerlas , generar listas con una determinada propiedad descomponerla en partes: miembro(L,[L|Lr]). miembro(L,[M|Mr]):- miembro(L,Mr). 3 ?- miembro(3,[1,2,3]). true 4 X X X

?- miembro(X, [1,2,3]). = 1 ; = 2 ; = 3 ;

elimina(L,[L|Ls],Ls). elimina(L,[M|Ms],[M|Ns]):- elimina(L,Ms,Ns) 5 ?- elimina(e, [r,e,l,e,e,r], X). X = [r, l, e, e, r] ; X = [r, e, l, e, r] ; X = [r, e, l, e, r] ; false.

Pero las definiciones en Prolog son muy flexibles, de modo que este mismo predicado puede usarse para insertar un elemento en una lista. 6 ?- elimina(e, X, [r,e]). X = [e, r, e] ; X = [r, e, e] ; X = [r, e, e] ; false.

1


igualmente pueden definirse los predicados que nos dan partes de una lista: comienza([],L). comienza(L,[L|Lr]). comienza([L|Lr],[L|Mr]):- comienza(Lr,Mr). 7 ?- comienza([1,2],[1,2,3,4]). true

Ejercicio 1. Dar definiciones recursivas para “termina” y “enmedio” en una lista. Dar asimismo definiciones recursivas para O también podemos seleccionar según un criterio los elementos de una lista: par(X):0 is X mod 2. impar(X):- 1 is X mod 2. pares_de([],[]). pares_de([L|Lr],[L|Mr]):- par(L), pares_de(Lr,Mr). pares_de([L|Lr],Mr):- impar(L), pares_de(Lr,Mr). 8 ?- pares_de([1,2,3,4,5,6],X). X = [2, 4, 6] ; false.

Y podemos hacer un predicado análogo al “apply” de Maxima para listas, pero con diferentes funciones, definido uno a uno: suma([],0). suma([L|Lr],S):- suma(Lr,Sr), S is Sr+L. 9 ?- suma([1,2,3,4,5,6],S). S = 21.

Un caso más sofisticado de aplicación de la recursión con listas son las permutaciones de una lista: permutacion([],[]). permutacion(Lr,[L|Mr]):- elimina(L,Lr,Nr), permutacion(Nr,Mr). 10 ?- permutacion([a,b,c],X). X = [a, b, c] ; X = [a, c, b] ; X = [b, a, c] ; X = [b, c, a] ; X = [c, a, b] ; X = [c, b, a] ; false.

Ejercicio 2. Dar definiciones para producto de los elementos de una lista y longitud de una lista, así como predicados para detectar cuando una lista es creciente, tiene un máximo, un mínimo o primero crece y luego decrece (hace montaña) o primero decrece y luego crece (hace valle).

1.3

Orden en listas.

Podemos definir una función creciente u ordenada según < como: creciente([]). creciente([L]). creciente([L,M|Mr]):- L < M, creciente([M|Mr]). 11 ?- creciente([1,2,3,4]). true

2


Ejercicio 3. Dar un predicado que devuelva para una lista su orden “a fuerza bruta” (examinando todas las permutaciones posibles) y mediante quicksort, bublesort y mergesort.

2 Predicado Corte. El predicado corte se utiliza como predicado de control en la exploración del árbol de las deducciones, permitiendo eliminar ramas completas del árbol a explorar. Así, utilizado adecuadamente permite eliminar o “podar” ramas infinitas, evitando entrar en ramas sin salida, o eliminar exploraciones innecesarias para nuestros objetivos, aunque también puede llevar a eliminar ramas que contengan soluciones válidas a los objetivos demandados. Se representa por el símbolo ! y su funcionamiento es que la primera vez que se llega a él se resuelve normalmente, pero al volver sobre el en posteriores llamadas (backtracking), elimina las posibles resoluciones que existan de los literales (objetivos) desde su posición a la cabeza de la regla en la que está situado. Ejemplo 1. El siguiente programa L1 L2 L3 L4 L5 L6

a(X):- b(X). b(X):- d(X),!,e(X),f(X). a(1). b(2). d(3). e(3). f(3). d(4). e(4). f(4).

daría como respuestas al preguntar ¿Quién verifica el predicado a?: 12 ?- a(X). X = 3 ; X = 1.

Ya que la segunda resolución de la L6 para la regla 2 (corte) no puede llegar a aplicarse, así como tampoco la resolución con el hecho de la L4. Mientras que si eliminamos el corte, entonces las respuestas ofrecidas son: 13 ?- a(X). X = 3 ; X = 4 ; X = 2 ; X = 1.

Se aconseja visualizar las ramas “podadas”, dibujando el árbol de la resolución Prolog para este script. Ejemplo 2. Si modificamos el script anterior con una nueva cláusula L6: L1 L2 L3 L4 L5 L6 L7

a(X):- b(X). b(X):- d(X),e(X),f(X). a(1). b(2). d(3). e(3). f(3). d(X):- d(f(X)). e(4). f(4).

Al preguntar si algún X cumple a, después de encontrar la solución X = 3, entra en una rama infinita debido a la L6, y esto puede ser evitado añadiendo un corte en la misma posición de L2 que antes: 14 ?- a(X). X = 3 ; ERROR: Out of global stack

3


Ejemplo 3. Conectiva If Then Else en Prolog. Podemos definir entonces la conectiva “If_Then_Else” utilizando el predicado corte y el predicado call(X), que hace que la variable X pueda ser “llamable” (la convierte en un predicado verificable, que es cierto si se cumple X. ifThenElse(Cond,X,Y):-call(Cond),!,call(X). ifThenElse(Cond,X,Y):-call(Y).

Que hace que si se cumple Cond, entonces se cumple X, pero si no se cumple Cond, entonces al existir un corte en la primera línea, resuelve con la segunda y da como resultado que se cumple Y. Y utilizando este predicado recién definido podemos aplicarlo, por ejemplo, a definir una interesante función recursiva que encuentre los pares de una lista: par(X):- 0 is X mod 2. solopares([],[]). solopares([L|Ls],Ms):- ifThenElse(par(L), Ms=[L|Ns], Ms=Ns), solopares(Ls,Ns).

Y si demandamos ahora la aplicación a una lista cualquiera, podemos obtener los pares de la misma. Al respecto es interesante aplicar primero el interfaz gráfico de traza (GUI), y luego la traza de la resolución en el menú Probar, para ver cómo va renombrando las variables y siguiendo la resolución por el árbol ordenado de las cláusulas. [trace] 15 ?- solopares([1,2,3,4,5,6,7],X). X = [2, 4, 6].

3 Negación por fallo. Como Prolog trabaja siempre sobre un Conjunto de Horn, en donde todas las cláusulas del conjunto de partida deben de ser Cláusulas de Horn, y la pregunta (raíz del árbol de deducciones), una Cláusula Negativa, esto le impide tratar con ciertas situaciones en que alguna de las cláusulas de hipótesis es negativa, ya que no se puede expresar como una regla. La Negación por fallo permite modelizar una cláusula negativa o no Horn (con más de un literal positivo) como una clásusula de Horn, y resolver con ella en condiciones de normalidad. Para ello se utiliza el predicado interno fail, que siempre falla, en combinación con el predicado corte visto anteriormente. Hay que tener en cuenta que cuando se utiliza la Negación por fallo, el orden del fallo es importante, y debe de estar antes de la regla de resolución general, es decir, tratar primero el fallo y luego la regla de generalidad. Ejemplo 4. El siguiente script muestra un ejemplo de “Negación por fallo”, que podría leerse como “todos los números (naturales) son buenos, excepto los primos pequeños”: numero(X):- X >= 0. primopequeño(2). primopequeño(3). primopequeño(5). primopequeño(7). bueno(X):- primopequeño(X),!,fail. bueno(X):- numero(X). 16 ?- bueno(2). false. 17 ?- bueno(6). true.

Obsérvese que si se omite el corte, entonces 2 también resulta ser bueno, ya que no resuelve con la penúltima cláusula primero, pero si con la última después.

4


PROBLEMAS

Curso: 2011/2012 Clase: Primero - Grupo: B


TEMA

1

Inducción y Recurrencia

Ejercicio 1. Demuestra por el método de inducción las siguientes propiedades: 1.

n P

k = 21 n(n + 1) para n ≥ 1.

k=1

2.

n P

k2 = 16 n(n + 1)(2n + 1) para n 6= 1.

k=1

3.

n P

k3 = ( 21 n(n + 1))2 para n ≥ 1.

k=1

4.

n P

an+1 −1 a−1 ,

ak =

k=0

5.

n P

para n ≥ 0 y a 6= 1.

(k · k!) = (n + 1)! − 1 para n ≥ 1.

k=1

6.

n P

1 n+k

k=1

7.

n Q

=

2n P

(−1)k−1 ·

k=1

1 k

para n ≥ 1.

(n + k) = 2n Πn k=1 (2k − 1) para n ≥ 1.

k=1

8. (1 + a)n ≥ 1 + a · n, para n ≥ 0 y a > −1. 9.

n P k=1

√1 k

>

n para n ≥ 2.

10. 2n ≥ n2 para n ≥ 4. 11. n! > 2n para n ≥ 4. 12.

1 2n

1·3·5···(2n−1) 2·4·6···(2n)

√ 1 3n+1

para n ≥ 1.

13. n(n2 + 2) es múltiplo de 3 para n ≥ 0. 14. 5n+1 + 2 · 3n + 1 es múltiplo de 8 para n ≥ 0. 15. 72n + 16n − 1 es múltiplo de 64 para n ≥ 0. 16. (n + 1)(n + 2) · · · (n + n) es múltiplo de 2n para n ≥ 1. Ejercicio 2. Sean a, b, m números enteros tales que m > 0 y a − b es múltiplo de m. Demuestra por inducción que an − bn es múltiplo de m para todo entero n ≥ 0. Ejercicio 3. Demuestra que la suma de los n primeros números naturales impares es igual a n2 . Ejercicio 4. Definimos las sucesiones siguientes: x1 = 0 y xn = n · xn−1 + (−1)n para todo n ≥ 2,   1 1 1 1 para todo n ≥ 1. yn = n! · 1 − + − + · · · + (−1)n 1! 2! 3! n! Demuestra que xn = yn para todo n ≥ 1. 1


2

Lógica y métodos discretos

√ Ejercicio 5. Sea la sucesión x0 = 1, xn = xn−1 +4 xn−1 +4 para n ≥ 1. Encuentra una expresión no recurrente para xn y demuestra la validez de la misma. Ejercicio 6. Para cada natural n ≥ 1, escribimos n veces el número 1 y n veces el número −1 mezclados de forma arbitraria formando un círculo. Demuestra que es posible comenzar en uno de dichos valores y recorrer todo el círculo de modo que en todo momento la suma de todos los números por los que se ha pasado nunca sea negativa. Ejercicio 7. Sea x0 = 1, x1 = 2 y xn = 4 + xn−2 para todo n ≥ 2. Demuestra que xn = para todo n ≥ 0.

1 2 (4n

+ 1 + (−1)n )

Ejercicio 8. La sucesión de los números de Fibonacci se define de la siguiente forma: F0 = 0, F1 = 1 y Fn = Fn−1 + Fn−2 para n ≥ 2. Demuestra cada una de las siguientes propiedades: 1. Fn+2 > 2 · Fn para todo n ≥ 2 2.

n P

(Fi )2 = Fn · Fn+1 para todo n ≥ 0

i=0

3. 5 divide a F5n para todo n ≥ 0 4. Fn−1 · Fn+1 = (Fn )2 + (−1)n para todo n ≥ 1 5. mcd(Fn , Fn+1 ) = 1 para todo n ≥ 0 Ejercicio 9. Resuelve las recurrencias siguientes: x0 = 1, x1 = 1, xn = 2xn−1 − xn−2 para n ≥ 2. x0 = 1, x1 = 2, xn = 5xn−1 − 6xn−2 para n ≥ 2. x0 = 1, x1 = 1, x2 = 2, xn = xn−1 + xn−2 − xn−3 para n ≥ 3. x0 = 1, x1 = 1, x2 = 3, xn = 4xn−1 − 5xn−2 + 2xn−3 para n ≥ 3. x0 = 0, x1 = 1, xn = 3xn−1 − 2xn−2 + 2n para n ≥ 2. x0 = 0, x1 = 1, xn = 3xn−1 − 2xn−2 + 2n + 2n para n ≥ 2. Ejercicio 10. Obtén una recurrencia lineal homogénea para cada una de las sucesiones siguientes definidas para todo n ≥ 0: 1. xn = 4n + 1. 2. yn = 2n + n. 3. zn = 2n + 3n (n + 1). Ejercicio 11. Obtén una fórmula reducida para la sucesión Tn =

n P

k2k definida para todo n ≥ 1.

k=1

Ejercicio 12. Trazamos n líneas rectas en el plano de forma que cada una de ellas corte a cada una de las restantes exactamente en un punto y no hayan tres o más líneas que pasen por un mismo punto. Encuentra una expresión no recurrente para el número de regiones en las que el plano queda dividido por n líneas rectas que verifiquen las condiciones anteriores. Ejercicio 13. (Problema de Fibonacci) Se precisa determinar el número de parejas de conejos adultos resultantes de una pareja de conejos recién nacidos al transcurrir n meses, si cada pareja adulta produce mensualmente una nueva pareja y los recién nacidos adquieren la posibilidad de procrear pasado un mes. Se supone que los conejos no mueren nunca. Ejercicio 14. (Complejidad de Buble Sort) Si tenemos n números reales, a1 , a2 , · · · , an , que queremos ordenar de manera ascendente, podemos utilizar para ello el algoritmo "buble sort": comparamos a1 con a2 , si es menor se deja tal cual, y si a1 > a2 entonces se intercambian estos valores en la lista. Luego se repite el procedimiento con a2 y después de n − 1 comparaciones, el número más grande de la lista está al final. Se repite el proceso para los n − 1 restantes hasta conseguir ordenar la lista completa. Calcular la complejidad del algoritmo (con constantes), basado en el número de comparaciones necesarias para una lista de longitud n. Departamento de Álgebra


Tema 1. Inducción y Recurrencia

3

Ejercicio 15. (Complejidad de Quick Sort - C.A.R. Hoare) En el mismo caso del problema anterior, para ordenar n números reales, también podemos utilizar el algoritmo "quick sort"que procede mediante la conocida técnica divide y vencerás: elegimos un pivote p, y procedemos comparando todos los elementos de la lista con él hasta conseguir dos sublistas, una que situamos a la izquierda del pivote de los elementos que son menores que p, y otra que colocamos a la derecha de los que son mayores que p, quedando ahora p colocado en la posición definitiva que ocupará en la lista ordenada. Ahora se repite el procedimiento con estas sublistas y la elección de los correspondientes pivotes hasta conseguir reiteradamente ordenar la lista. final. Suponemos que la longitud de la lista n es una potencia de 2, y que el pivote puede ser elegido convenientemente como la mediana de una lista de longitud n con n comparaciones añadidas (de hecho puede ser elegido con el algoritmo quickselect con un número de pasos acotado por an, donde a es una determinada constante). Calcular la complejidad del algoritmo con las hipótesis descritas.

Curso 2010-2011


TEMA

2

Conjuntos ordenados, retículos y Álgebras de Boole

Ejercicio 1. Dibuja el diagrama de Hasse de (D(20), |). 1. Dado B = {4, 10, 2}, encuentra sus elementos notables. 2. Encuentra los elementos minimales de B = D(20) \ {1} (D(20) − {1}). Ejercicio 2. Dibuja el diagrama de Hasse de P({a, b, c, d}). Encuentra los elementos minimales y maximales de P({a, b, c, d}) \ {∅, {a, b, c, d}}. Ejercicio 3. Definimos en N × N las siguientes relaciones binarias: (a, b) ≤1 (c, d) si (3a + 1)2b ≤ (3c + 1)2d . (a, b) ≤2 (c, d) si (2a + 1)2b ≤ (2c + 1)2d . (a, b) ≤3 (c, d) si (2a + 1)2d ≤ (2c + 1)2b . 1. Estudia cual o cuales de las relaciones anteriores es una relación de orden. 2. Estudia cual o cuales de las relaciones anteriores es una relación de orden total. 3. Estudia cual o cuales de los casos anteriores es N × N un conjunto bien ordenado. 4. En los casos en que la relación sea un orden, di cómo están ordenados los siguientes conjuntos. a) {(0, 0), (1, 0), (2, 0), · · · , (n, 0)}. b) {(0, 0), (0, 1), (0, 2), · · · , (0, n)}. c) {(0, 0), (1, 1), (2, 2), · · · , (n, n)}. Ejercicio 4. Sean p y q dos números primos distintos. Dibuja el diagrama de Hasse de los siguientes conjuntos ordenados: (D(p2 ), |), (D(p3 ), |), (D(p · q), |), (D(p2 · q), |), (D(p2 · q2 ), |), (D(p3 · q), |), (D(p3 · q2 ), |). Ejercicio 5. Sean p y q dos números primos distintos, como en el ejercicio anterior. Dibuja el diagrama de Hasse de cada uno de los siguientes conjuntos ordenados: D(p)×D(q), D(p2 )×D(q), D(p2 )×D(q2 ), D(p3 )×D(q), D(p3 ) × D(q2 ) (en cada caso estamos considerando el orden producto). Compara estos diagramas con los obtenidos en el ejercicio anterior. Ejercicio 6. Dibuja los diagramas de Hasse de: D(20) × D(9), D(180), D(10) × D(21), D(210), D(6) × D(15), D(90), D(60) × D(75), D(4500). ¿Podrías decir qué condiciones deben cumplir m y n para que los retículos D(m) × D(n) y D(m · n) sean isomorfos?. Ejercicio 7. Sea X un conjunto no vacío, y f : X → N una aplicación de conjuntos. Definimos en X la siguiente relación binaria: x ≤f y si y sólo si f(x1 ) ≤ f(x2 ). 1. ¿Qué propiedad debe verificar f para que ≤f sea una relación de orden? 2. En el caso particular de X = Nn y si p1 , . . . , pn son los n primeros primos, demuestra que para la función an 1 f(a1 , . . . , an ) = pa 1 × · · · × pn ,

≤f es un orden total. Ejercicio 8. Sea (A, ≤) un conjunto ordenado y finito. Demuestra que si ≤ es un orden total, entonces (A, ≤) es un conjunto bien ordenado. 1


2

Lógica y métodos discretos

Ejercicio 9. Sea X = {1, 2, 3, 4}. Consideramos los subconjuntos de X que tienen un número par de elementos. Al conjunto formado por todos estos subconjuntos, lo llamaremos Y. Demuestra que Y, con el orden dado por la inclusión, es un retículo, pero no es subrretículo de (P(X), ⊆). ¿Es Y un retículo distributivo?. ¿Y complementado?. Ejercicio 10. Consideramos el retículo D(24) × D(72). Para cada uno de los conjuntos siguientes, indica cuáles serían los elementos distinguidos (máximo, maximales, cotas superiores, etc.) a) {(x, x) : x ∈ D(24)}. b) {(2, 1), (12, 9), (8, 6), (6, 12)}.  c) (x, 72 x ) : x ∈ D(24) . d) {(x, 3x) : x ∈ D(24)}. Ejercicio 11. Consideramos en R × R el orden producto. Para cada uno de los siguientes subconjuntos, halla el máximo, el mínimo, las cotas superiores, las cotas inferiores, el supremo, el ínfimo, los elementos maximales y los elementos minimales. a) {(x, y) ∈ R2 : x2 + y2 ≤ 4}.

2 2 b) (x, y) ∈ R2 : x4 + y9 ≤ 1 . c) {(x, y) ∈ R2 : |x| + |y| = 5}. d) {(x, y) ∈ R2 : max{x, y} ≤ 3}. e) {(x, y) ∈ R2 : 2x + 3y ≤ 5}. Ejercicio 12. Sea f : X → Y una aplicación. Demuestra que el conjunto {f∗ (S) | S ⊆ X} ⊆ P(Y) es un subretículo de (P(Y), ⊆). Ejercicio 13. Demuestra que en un retículo distributivo (L, ∨, ∧) se verifica (x ∧ y) ∨ (y ∧ z) ∨ (z ∧ x) = (x ∨ y) ∧ (y ∨ z) ∧ (z ∨ x), pero que esta igualdad no es cierta en el retículo de la figura ??

Figura 1: 1

c

b

a

0

Ejercicio 14. Un retículo L se dice modular si para cualesquiera x, y, z ∈ L se verifica que: (x ∧ y) ∨ (x ∧ z) = x ∧ (y ∨ (x ∧ z)) 1. Demuestra que todo retículo distributivo es modular. Departamento de Álgebra


Tema 2. Conjuntos ordenados, retículos y Álgebras de Boole

3

Figura 2: 1

y

x

z

0

2. Comprueba que el retículo de la figura ?? es modular, pero el retículo de la figura ?? no lo es. Ejercicio 15. Encuentra todos los elementos que tienen complemento en los retículos D(24), D(36), D(100), D(108), D(210), D(420), D(1400), D(11088), D(23100). Estudia si estos elementos forman un subrretículo en cada uno de los casos. Ejercicio 16. Sea L un retículo distributivo con máximo y con mínimo. Demuestra que los elementos que tienen complemento forman un subrretículo que es un álgebra de Boole.

Figura 3: 1

a

b

c

d

e

f

0

Ejercicio 17. Consideramos el conjunto ordenado cuyo diagrama de Hasse viene dado en la figura ?? 1. Comprueba que es un retículo. 2. Estudia si es distributivo. 3. Calcula todos los elementos que tienen complemento. 4. ¿Forman los elementos obtenidos en el apartado anterior un subrretículo?. Ejercicio 18. Consideramos el retículo de los divisores de 2310. 1. Comprueba que es un álgebra de Boole. 2. Calcula los átomos y los coátomos. 3. Evalúa las expresiones: 21 ∨ (165 ∧ 77), 770 ∧ (3 ∨ 14), 15 ∨ 110, 15 ∧ 110, 385 ∨ (1155 ∧ 42), (385 ∨ 1155) ∧ (385 ∨ 42). Curso 2011-2012


4

Lógica y métodos discretos

4. Expresa 5, 35, 154, 231, 1155 como supremo de átomos y como ínfimo de coátomos. Ejercicio 19. Sea (B, +, ·) un álgebra de Boole y sean x, y ∈ B. Demuestra que las siguientes afirmaciones son equivalentes: (a) x y = 0, (b) x + y = y, (c) x + y = 1, (d) x y = x. Ejercicio 20. Calcula la forma normal canónica disyuntiva (es decir, suma de minterms) y simplifica las funciones booleanas dadas por las tablas x y z f g 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 l 0 0 1 1 1 1 0 1 Ejercicio 21. Demuestra que todo conjunto totalmente ordenado es un retículo distributivo. Ejercicio 22. Se desea construir un circuito que tenga como entrada cuatro líneas que suministran los dígitos de un número en binario n = (a3 a2 a1 a0 )2 , y que tenga como salida 1 si n es múltiplo de 3 ó de 4, y cero en otro caso. Obtén la expresión booleana de una función f que rige el comportamiento de dicho circuito. Calcula su forma normal canónica disyuntiva, y simplifica la expresión obtenida. Ejercicio 23. Sean f : B4 → B y g : B4 → B las funciones definidas por f(x, y, z, t) = x y + z t + (x + y)(z + t) y g(x, y, z, t) = x + (y z) + t(x + z). 1. Calcula la forma normal canónica disyuntiva de las funciones f, g, f + g, f g. 2. Expresa f y g usando únicamente las funciones suma y complementario. 3. Expresa f g usando únicamente el operador ↑ (NAND). 4. Simplifica las expresiones obtenidas en el apartado 1 de este ejercicio. Ejercicio 24. Calcula la forma normal canónica disyuntiva de la aplicación f(x, y, z) = (x ↑ y) ∨ z. Ejercicio 25. ¿Cuántos átomos tiene un álgebra de Boole con 32 elementos? Ejercicio 26. Expresa, utilizando sólo la función ↓, la aplicación f(x, y, z) = (x ∨ z) ∧ y. Ejercicio 27. Sea L un retículo complementado. Prueba que si L tiene tres o más elementos, entonces L no es totalmente ordenado. Ejercicio 28. Demuestra que el producto cartesiano de retículos distributivos es un retículo distributivo (considerando el orden producto). Demuestra que el producto cartesiano de álgebras de Boole es un álgebra de Boole. Ejercicio 29. Si para un álgebra de Boole finita B conocemos el conjunto M de todos sus átomos, así como la expresión de un elemento x de B como supremo de átomos, ¿cómo podríamos obtener la expresión de x como supremo de átomos? Razona la respuesta. Ejercicio 30. Un comité formado por tres personas toma decisiones mediante votación por mayoría. Cada miembro del comité puede "votar SÍ"pulsando un botón. Diseña una red lógica mediante la cual se encienda una luz cuando y sólo cuando haya una mayoría de "votos SÍ". Ejercicio 31. Sea I el conjunto de los números reales que pertenecen al intervalo cerrado [0, 1]. Para todo a, b ∈ I definimos a ∨ b = max{a, b}, a ∧ b = min{a, b} y a = 1 − a ¿Es I respecto de estas operaciones un álgebra de Boole? Razona la respuesta. Departamento de Álgebra


Tema 2. Conjuntos ordenados, retículos y Álgebras de Boole

5

Ejercicio 32. Se conocen los siguientes hechos sobre cuatro personas A, B, C y D. (a) Si A ve una película entonces B también la ve. (b) C y D no ven la misma película juntos. (c) B y C o bien ven la misma película juntos o no la ve ninguno de los dos. (d) Si A no ve una película entonces B y C la ven. ¿Quién está viendo la película? Ejercicio 33. Consideramos en N la siguiente relación binaria: a lex b si y sólo si a ≤ b. Supuesto definido lex en Nn−1 , definimos lex en Nn de la siguiente forma: (a1 , . . . , an ) lex (b1 , . . . , bn ) si y sólo si a1 < b1 o (a1 = b1 y (a2 , . . . , an ) lex (b2 , . . . , bn )). 1. Demuestra que para todo n ∈ N, (Nn , lex ) es un conjunto ordenado. A dicho orden se le denomina orden lexicográfico. 2. Demuestra que si (a1 , . . . , an ) ≤ (b1 , . . . , bn ) (con el orden producto en Nn ), entonces también (a1 , . . . , an ) lex (b1 , . . . , bn ). 3. Demuestra que lex es un orden total. Ejercicio 34. Se define la relación binaria tdeg en Nn de la siguiente forma: (a1 , . . . , an ) tdeg (b1 , . . . , bn ) si y sólo si (a1 + · · · + an < b1 + · · · + bn ) o (a1 + · · · + an = b1 + · · · + bn y (a1 , . . . , an ) lex (b1 , . . . , bn )). 1. Demuestra que para todo n ∈ N, (Nn , tdeg ) es un conjunto ordenado. A dicho orden se le denomina orden de grado total lexicográfico. 2. Demuestra que si (a1 , . . . , an ) ≤ (b1 , . . . , bn ) (con el orden producto en Nn ), entonces también (a1 , . . . , an ) tdeg (b1 , . . . , bn ). 3. Demuestra que tdeg es un orden total.

Curso 2011-2012


TEMA

3

Grafos

Ejercicio 1. Expresa en forma matricial los grafos H vv• HHH HH vv v HH vv H v •v)) • )) ¸¸ ¸ )) ¸ )) ¸¸¸ ) ¸ • •¸

•11 11 11 11 •° °° ° ° °° ° •

• °° ° ° °° ° •°11 11 11 11 •

Ejercicio 2. Representa gráficamente los grafos cuyas matrices de adyacencia son 

0 1   0  1 1

1 0 1 1 1

0 1 0 0 0

1 1 0 0 0

 1 1   0  0 0

0 1   1 1

1 0 0 0

1 0 0 1

 1 0   1 0

Ejercicio 3. Sea G un grafo completo con cuatro vértices. Construye todos sus subgrafos salvo isomorfismos. Ejercicio 4. ¿Son isomorfos los grafos de la figura 1? ¿Y los de la figura 2? ¿Y los de la 3? ¿Y los de la 4?

Figura 1: •? • ?? ?? ?? ? • •

•? • ?? ÄÄ ??ÄÄ ÄÄ ??? Ä Ä • •

Figura 2: • Ä ??? ?? ÄÄ Ä ?? ÄÄ ? Ä Ä • OOO • o OOO oooo OOoo ooo OOOOO o o O o •o •

• IJ //?? ÄIJ² //??? Ä // ??? ÄÄ ² ÄÄ ²² // • ²² // • ²² // ² // ²²² • •

1


2

Lógica y métodos discretos

Figura 3: • ?OOO • • ?? OO Ä ??? oooÄ ?? OOOO ÄÄÄ ?? ooooÄÄÄ ?? OÄÄOO ?oo Ä ?? ÄÄ OOO ooooo??? ÄÄÄ Ä?Ä? oooOOOOO ÄÄ?Ä?? ? ÄÄ ?o??ooo OÄ Ä o Ä oo ?? ÄÄOOOO ??? Ä Ä O o ? Ä o OOO?? ? ÄÄÄ ÄoÄooo O • • •

•1 •1 °° 111 °° 111 ° ° 11 ° 11 °° 11 °° 11°° ° °11 • •°11 ° 11 °° 1 11 °°° 11 °°° 11 °° 11 °° •° •°

Figura 4: • @@ •

• •

• @@ •

• @ @•

• ¡ ¡ •

• •

• •

Ejercicio 5. Encuentra un circuito de Euler para los grafos

g

a Ä ??? Ä ?? ÄÄ ?? ÄÄ ? ÄÄ c b? Ä ??? Ä ?? Ä Ä ?? Ä ?? Ä ?? ÄÄ ?? ÄÄ ? ÄÄÄ ÄÄ e f d Ä ??? Ä ??? Ä ??? Ä Ä Ä ? Ä ?? Ä ?? ?? ÄÄ ?? ÄÄÄ ÄÄ ?? ?? ÄÄÄ Ä ÄÄ Ä i

h

a

j

Ä ??? ?? ÄÄ Ä ?? ÄÄ ? ÄÄ c b OOO o OOO oooo OoOoOo ooo OOOOO o o o e d ? Ä ?? Ä Ä ?? ?? ÄÄÄ Ä f

Ejercicio 6. Encuentra un camino de Euler para los grafos a

? ÄÄ ??? ÄÄ ?? Ä Ä ? ÄÄ c OO o OOO o d OOOooooo oO ooo OOOOO ooo g f ? ?? Ä Ä ?? Ä ?? ÄÄ ? ÄÄÄ i

b

Ä ??? ?? ÄÄ Ä ?? Ä Ä ? Ä e OOO o OOO oooo OoOoOo ooo OOOOO ooo h ?? ?? ÄÄ Ä ?? Ä ? ÄÄÄ j

a? ÄÄ ??? Ä ?? Ä ?? ÄÄ ÄÄ c b? ?? ÄÄ Ä ?? ?? ÄÄÄ Ä e f ? d ÄÄ ??? Ä ?? ÄÄ ? ÄÄ g

h

Ejercicio 7. Determina cuáles de los siguientes grafos son planos a /? ÄIJ² //??? Ä Ä² // ?? ÄÄ ² // ?? ÄÄ ²² ² // o c b ² o/ ²² o o oo // ²² o o // oo ²²oooo

d

e

a

² // ²²² /// // ²² // o c b OOO²² o/ ²² OO o o OOOooo // ²² o O oo OOOO // ²²oooo O

d

a OO c OOO b oooo OOOooo oO ooo OOOOO o o o e f d

e

Departamento de Álgebra

a

b/

c

f

g

h

// // // // e d OOO /Ä OOO OOO ÄÄÄ// OOÄ / ÄÄ OOO/


Tema 3. Grafos

3

Ejercicio 8. Determina qué grafos de los que aparecen en el ejercicio 5 se pueden convertir en grafos dirigidos de forma que dos vértices cualesquiera se puedan unir por medio de un camino dirigido. Ejercicio 9. Se conocen los siguientes datos sobre las personas a, b, c, d , e, f y g : 1. La persona a habla inglés. 2. La persona b habla inglés y español. 3. La persona c habla inglés, italiano y ruso. 4. La persona d habla japonés y español. 5. La persona e habla alemán e italiano. 6. La persona f habla francés, japonés y ruso. 7. La persona g habla francés y alemán. ¿Es cierto que cada par de personas se pueden comunicar entre ellas utilizando si, es necesario, a otra persona como intérprete? Ejercicio 10. Demuestra que en un grafo el número de vértices de grado impar es par. Ejercicio 11. ¿Cuáles de los siguientes grafos contienen un circuito Hamiltoniano? •

ÄÄ ÄÄ Ä Ä ÄÄ

•? ?

• OO OOO • OOO OOO OOO

?? ?? ??

o• ooo o o oo ooo o o o

Ä ??? ?? ÄÄ Ä ?? Ä Ä ?? Ä Ä ?? ÄÄ ?? Ä Ä ?? Ä Ä ?? ÄÄ ? Ä Ä •? • • ?? ÄÄ ?? Ä Ä ?? ÄÄ ?? Ä ?? ÄÄ ?? ÄÄ Ä ?? Ä ?? ÄÄ ? ÄÄÄ •

Ejercicio 12. Dado un grafo G (sin lazos ni lados paralelos) se define el complementario de G, G, como el grafo cuyo conjunto de vértices es el mismo que de G, y para el que existe un lado que une los vértices u y v si, y sólo sí, en G no existe un lado que una esos dos vértices. Demuestra que si G es no conexo, el complementario de G es conexo. ¿Es cierto que si G es conexo su complementario no lo es?. Ejercicio 13. Un grafo G se dice autocomplementario, si G ∼ = G. 1. Demuestra que si G es autocomplementario y tiene n vértices, entonces el número de lados es n(n−1) . 4 2. Demuestra que si G es autocomplementario, entonces G tiene 4k ó 4k + 1 vértices. 3. Encuentra todos los grafos autocomplementarios de 4 y de 5 vértices. Departamento de Álgebra


4

Lógica y métodos discretos

4. Encuentra un grafo autocomplementario de 8 vértices. 5. Encuentra todos los árboles que sean autocomplementarios. Ejercicio 14. Demuestra que si un grafo G tiene 11 vértices o más, entonces, o bien G, o bien G no es plano. Ejercicio 15. Un automorfismo de un grafo G es un isomorfismo de G en G. Determina el número de automorfismos para cada uno de los grafos siguientes: K n , P n , C n y K m,n . Ejercicio 16. Demuestra que si colocamos las 28 fichas del dominó en fila, de forma que si una ficha está junto a otra los cuadrados adyacentes son del mismo valor, entonces los valores de los cuadrados inicial y final son el mismo. Si tuviéramos un dominó con 36 fichas, en la que los valores marcados en cada una fueran de 0 a 7, ¿sería posible colocarlas todas en fila como hemos explicado en el apartado anterior? Ejercicio 17. ��Para qué valores de n el grafo K n es un circuito de Euler? Ejercicio 18. Obtén una fórmula para el número de lados de K m,n . Ejercicio 19. ¿Para qué valores de m y n el grafo K m,n es un circuito de Euler? Ejercicio 20. Demuestra que si n ≥ 3, entonces K n contiene un circuito hamiltoniano. Ejercicio 21. ¿Cuándo K m,n contiene un circuito de Hamilton? Ejercicio 22. Demuestra que cualquier grafo con cuatro vértices o menos es siempre plano. Ejercicio 23. Demuestra que si un grafo tiene a lo sumo cinco vértices y uno de ellos es de grado dos entonces es plano. Ejercicio 24. ¿Cuál es el menor número de vértices que puede tener un grafo (sin lazos ni lados paralelos) con 1000 lados? Ejercicio 25. ¿Cuál es el mayor número de vértices que puede tener un grafo conexo con 1000 lados? Ejercicio 26. Calcula un árbol generador para los grafos del ejercicio 7. Ejercicio 27. Demuestra que en cualquier árbol con dos o más vértices existe, al menos, un vértice de grado uno. Ejercicio 28. Un árbol tiene 33 vértices de grado uno, 25 vértices de grado 2, 15 vértices de grado 3, y el resto, vértices de grado 4. ¿Cuántos vértices tiene en total? Ejercicio 29. ¿Es cierto que todo grafo se puede colorear con, a lo sumo, cuatro colores? Ejercicio 30. Demuestra que en todo grafo (sin lazos ni lados paralelos) con más de un vértice existen dos vértices con el mismo grado. Ejercicio 31. Prueba que si un grafo G contiene sólo dos vértices de grado impar, entonces ambos han de encontrarse en la misma componente conexa. Ejercicio 32. ¿Existe algún grafo regular de grado cinco con veinticinco vértices? Ejercicio 33. ¿Existe un grafo completo con quinientos noventa y cinco lados? Ejercicio 34. ¿Depende el número de caras resultante de una representación plana de un grafo plano de la representación que escojamos? Ejercicio 35. ¿Existe un grafo con seis vértices cuyos grados sean uno, dos, dos, tres, cuatro y cuatro respectivamente? Departamento de Álgebra


Tema 3. Grafos

5

Ejercicio 36. Sea un grafo plano y conexo con nueve vértices de grados dos (tres veces), tres (tres veces), cuatro (dos veces) y cinco. ¿Cuántos lados hay? ¿Y caras? Ejercicio 37. ¿Es plano el grafo siguiente? a

· /// ··· // // ·· // b f ? ·· / Ä ??? ?? · ?? ÄÄ/// ?··? Ä ?? ·· ?? ÄÄÄ / ? ??Ä ·· Ä?? g c Ä Ä ··· ÄÄ ??? ?? · ÄÄÄ ? ·· ÄÄ

e

d

h

Ejercicio 38. Para n ≥ 1, un n-cubo es cualquier grafo isomorfo al grafo Q n que describimos a continuación: El conjunto de vértices es {0, 1}n , es decir, el conjunto de todas las n-uplas binarias de longitud n, y dos vértices (a 1 , . . . , a n ), (b 1 , . . . , b n ) son adyacentes en Q n si, y sólo si, éstos difieren en una sola posición. 1. Dibuja los grafos Q n para n = 1, 2, 3, 4. 2. ¿Es Q n conexo para todo n? 3. Calcula el número de lados y el número de vértices de Q n . 4. ¿Cuál es la distancia máxima que puede haber entre dos vértices de Q n ? 5. Calcula el número cromático de Q n . ¿Para qué valores de n es Q n bipartido? 6. ¿Para qué valores de n existe en Q n un circuito de Euler? 7. Demuestra que para todo n ≥ 2 existe en Q n un ciclo de Hamilton. 8. Comprueba que Q 3 es plano aunque Q 4 no lo es. Ejercicio 39. Dado un grafo plano G, y una representación plana de éste, se define el grafo dual G 0 como aquel cuyo conjunto de vértices es el conjunto de caras de la representación plana de G, el conjunto de lados es el mismo que el de G. Un lado e es incidente (en G 0 ) en los vértices u y v si el lado e es frontera común de las caras correspondientes a u y v en el grafo G. Calcula el dual del grafo •

ÄÄ ÄÄ Ä Ä ÄÄ •? • • ?? ÄÄ ?? Ä ?? ÄÄ ? ÄÄÄ •

ÄÄ ÄÄ Ä Ä ÄÄ

Ejercicio 40. Determina cuáles de las secuencias siguientes son gráficas, y para aquellas que lo sean encuentra una realización concreta: 1. 4, 4, 3, 2, 2, 1 2. 7, 6, 5, 4, 3, 3, 2 Departamento de Álgebra


6

Lógica y métodos discretos

3. 5, 5, 4, 4, 4, 4, 2, 2 4. 6, 6, 5, 4, 3, 3, 1 Ejercicio 41. Un árbol con raíz se dice binario si cada nodo tiene a lo sumo dos hijos. Se dice completo si cada nodo tiene 0 o dos hijos. Construye todos los árboles binarios completos con siete vértices. Ejercicio 42. Calcula el número de vértices de un árbol sabiendo que tiene 33 vértices de grado 1, 25 vértices de grado 2, 15 vértices de grado 3 y los restantes de grado 4.

Departamento de Álgebra


TEMA 4 Combinatoria

Una apuesta de la Lotería Primitiva consiste en marcar seis números entre 1 y 49. El sorteo se realiza extrayendo 6 de los 49 números, y un séptimo número llamado complementario. Ejercicio 1.

1. ¾Cuántas apuestas distintas pueden realizarse? 2. ¾De cuántas maneras pueden acertarse los seis números de la combinación ganadora? 3. ¾De cuántas maneras pueden acertarse cinco números más el complementario de la combinación ganadora? 4. ¾De cuántas maneras pueden acertarse cinco números de la combinación ganadora (sin el complementario)? 5. ¾De cuántas maneras pueden acertarse cuatro números de la combinación ganadora? 6. ¾De cuántas maneras pueden acertarse tres números de la combinación ganadora? 7. ¾De cuántas maneras pueden acertarse dos números de la combinación ganadora? 8. ¾De cuántas maneras puede acertarse un número de la combinación ganadora? 9. ¾De cuántas maneras puede no acertarse ningún número de la combinación ganadora? Sea p un número primo. Prueba que si a, b ∈ Zp entonces (a + b)p = ap + bp . Comprueba que si m no es primo, entonces (a + b)m y am + bm son generalmente distintos en Zm .

Ejercicio 2.

Ocho miembros de un equipo de baloncesto deben alojarse en un hotel. El hotel dispone de una habitacion triple, dos dobles y una individual. ¾De cuántas formas pueden repartirse en las distintas habitaciones? Supongamos además que de los ocho miembros hay dos que son hermanos y se alojan siempre juntos. ¾De cuántas formas pueden entonces repartirse? Ejercicio 3.

Ejercicio 4. Demuestra que si elegimos 501 números del conjunto {1, 2, 3, · · · , 1000}, debe haber al menos dos que sean primos relativos.

Se eligen√10 números distintos del conjunto {1, 2, . . . , 100}. Comprueba que existen √ al menos 2 tales que | x − y| ≤ 1. Ejercicio 5.

Ejercicio 6.

¾Cuántos números binarios de 6 cifras no contienen la secuencia 101? 1


2

Lógica y métodos discretos

Calcula el coeciente de x5 y 6 z 7 en el desarrollo de los siguientes polinomios:

Ejercicio 7.

1. (x + y + z)18 . 2. (2x − y + 3z)18 . 3. (3x + 2y − z)20 . 4. (2 − 3x + 4y − z)25 . 5. (x + y + z + t)18 . 6. (2 + x − y + z − 2t)35 . Comprueba las siguientes identidades con números combinatorios:

Ejercicio 8.

1.

n P



k=0

2.

n P

= 2n ,

n k

n k

(−1)k



k=0

3.

n [P 2]

k=0

4.

n P

n 2k

2k

k=0

5.

n P k=0

6.



=



[ n−1 2 ] P k=0

n k



 n 2 k

m+n k

= 0,



= 2n−1 ,

= 3n ,

=

=

n 2k+1

2n n

k P i=0



,

m i



n k−i



(Indicación: (1 + x)n (1 + x)m = (1 + x)n+m ).

Demuestra que dado un conjunto con n elementos, entonces tiene el mismo número de subconjuntos con cardinal par que subconjuntos con cardinal impar. Se lanzan tres dados indistinguibles. ¾Cuántos posibles resultados pueden salir? ¾Y si se lanzan n dados? Ejercicio 9.

En una bocadillería, cada bocadillo debe incluir al menos uno de los siguientes ingredientes: jamón, queso, tomate, lomo, lechuga y salmón. ¾Cuántos bocadillos distintos podemos elegir?. Ejercicio 10.

Ejercicio 11.

Calcula cuantos números con tres cifras signicativas:

1. no son divisibles por 3,7 ni 11, 2. son divisibles por 3 y 7, 3. son divisibles por 3 y 11, 4. son divisibles por 7 y 11, Departamento de Álgebra


Tema 4. Combinatoria

3

5. son divisibles por 3, 7 y 11. ¾De cuántas formas se pueden ordenar las letras de la palabra CANCAN? ¾Y si no queremos que haya dos letras iguales consecutivas?.

Ejercicio 12.

¾De cuántas formas podemos agrupar a 20 personas en parejas?. Y si esas 20 personas son 10 hombres y 10 mujeres, ¾de cuántas formas podemos agruparos en parejas hombremujer? Ejercicio 13.

Sean X = {1, 2, 3, 4, 5}, Y = {1, 2, 3, 4, 5, 6, 7} y Z = {1, 2}. ¾Cuántas aplicaciones hay de X en Y ?. ¾Cuántas de esas son inyectivas?. ¾Cuántas hay de X en Z ?.Cuántas son sobreyectivas?. Ejercicio 14.

¾De cuántas formas podemos ordenar los números del 1 al 10 de forma que ninguno aparezca en su posición natural? Ejercicio 15.

Sea X un conjunto de 17 números naturales (mayores que uno), ninguno de los cuales es divisible por un número primo mayor que 10. Demuestra que hay al menos dos elementos x, y ∈ X tales que x · y es un cuadrado perfecto. Ejercicio 16.

Ejercicio 17.

Calcula el número de soluciones enteras de la ecuación x + y + z + t = 25 si:

1. x ≥ 0, y ≥ 0, z ≥ 0, t ≥ 0. 2. x ≥ 2, y ≥ 3, z ≥ 4, t > 3. 3. x ≥ −2, y ≥ −4, z ≥ 1, t ≥ −1. 4. 1 ≤ x ≤ 7, y ≥ 2, z ≥ 1, t ≥ 0. 5. 2 ≤ x ≤ 7, −1 ≤ y ≤ 5, z ≤ 0, t ≥ 1. 6. 2 ≤ x ≤ 8, 0 ≤ y ≤ 6, −2 ≤ z ≤ 7. Sea s(n, k) el número de subconjuntos del conjunto {1, 2, . . . , n} que tienen cardinal k y que no contienen dos números consecutivos. Demuestra que:

Ejercicio 18.

1. s(n, k) = s(n − 2, k − 1) + s(n − 1, k), 2. s(n, k) =

n−k+1 k



.

¾De cuantas formas se pueden obtener 11 aciertos en una quiniela de 14? ¾Y 11 ó más aciertos? Ejercicio 19.

Ejercicio 20.

mujeres.

Queremos formar un comité de 12 personas a escoger entre 10 hombres y 10

1. ¾De cuántas formas podemos hacerlo? 2. ¾Y si queremos que haya igual número de hombres que de mujeres? 3. ¾Y si queremos que haya un número par de hombres? 4. ¾Y si queremos que haya más mujeres que hombres? Departamento de Álgebra


4

Lógica y métodos discretos

Considerando los números que escritos en base 3 tienen seis dígitos ¾Cuántos de ellos tienen exactamente dos dígitos iguales a 0?

Ejercicio 21.

Consideramos las letras de la palabra SOCIOLOGIA

Ejercicio 22.

1. ¾De cuántas formas distintas podemos ordenarlas? 2. ¾En cuántas ordenaciones aparecen la "A" y la "G" juntos (bien de la forma AG, bien de la forma GA)? 3. ¾En cuántas ordenaciones aparecen las tres letras "O" juntas? 4. ¾Cuántas ordenaciones hay en las que las dos letras "I" no estén juntas?. 5. ¾En cuántas ordenaciones están todas las vocales juntas? 6. ¾En cuántas aparecen juntas una "I" y una "A"? 7. Y de estas últimas, ¾cuántas tienen además las tres letras "O" juntas? Disponemos de una partida de 100 discos compactos, entre los que hay 5 defectuosos. ¾De cuantas formas pueden elegirse cuatro de forma que haya más defectuosos que no defectuosos?. Ejercicio 23.

Ejercicio 24.

numeradas son a)

12 3



,

b)

Ejercicio 25.

a) 34 ,

b) 35 ,

Las formas distintas en las que 12 bolas iguales pueden repartirse entre tres cajas

14 2



,

c)

12 3



· 3!,

d)

15 3



.

¾Cuántos números en base 3 tienen exactamente 5 cifras? c) 2 · 34 ,

d) 5 · 3.

Departamento de Álgebra


TEMA 5 LĂłgica proposicional

Ejercicio 1.

Para las fĂłrmulas:

1. p â&#x2020;&#x2019; (q â&#x2020;&#x2019; r) 2. (ÂŹp â&#x2C6;§ ÂŹq) â&#x2020;&#x2019; (ÂŹr â&#x2C6;§ s) 3. p â&#x2020;&#x201D; q 4. (p â&#x2C6;¨ q â&#x2C6;¨ r) â&#x2C6;§ (ÂŹp â&#x2C6;¨ ÂŹq â&#x2C6;¨ ÂŹr) 5. (p â&#x2020;&#x201D; ÂŹq) â&#x2020;&#x201D; r) 6. p â&#x2C6;§ q â&#x2C6;§ r Encuentra fĂłrmulas equivalentes a ellas en las que se usen solamente las conectivas a) {ÂŹ, â&#x2C6;§} b) {ÂŹ, â&#x2C6;¨} c) {ÂŹ, â&#x2020;&#x2019;} Ejercicio 2.

Estudia si las siguientes equivalencias son ciertas o no. Justica la respuesta.

1. a â&#x2020;&#x2019; b â&#x2030;Ą ÂŹa â&#x2020;&#x2019; ÂŹb 2. a â&#x2020;&#x201D; b â&#x2030;Ą ÂŹa â&#x2020;&#x201D; ÂŹb. 3. (a â&#x2C6;¨ b) â&#x2020;&#x2019; c â&#x2030;Ą (a â&#x2020;&#x2019; c) â&#x2C6;¨ (b â&#x2020;&#x2019; c). 4. (a â&#x2C6;¨ b) â&#x2020;&#x2019; c â&#x2030;Ą (a â&#x2020;&#x2019; c) â&#x2C6;§ (b â&#x2020;&#x2019; c). 5. a â&#x2020;&#x2019; (b â&#x2C6;¨ c) â&#x2030;Ą (a â&#x2020;&#x2019; b) â&#x2C6;¨ (a â&#x2020;&#x2019; c). 6. a â&#x2020;&#x2019; (b â&#x2020;&#x2019; c) â&#x2030;Ą (a â&#x2C6;§ b) â&#x2020;&#x2019; c Ejercicio 3.

Prueba que las siguientes fĂłrmulas son tautologĂ­as:

1. p â&#x2020;&#x2019; (q â&#x2020;&#x2019; p) 2. (p â&#x2020;&#x2019; (q â&#x2020;&#x2019; r)) â&#x2020;&#x2019; ((p â&#x2020;&#x2019; q) â&#x2020;&#x2019; (p â&#x2020;&#x2019; r)) 3. (p â&#x2020;&#x2019; q) â&#x2020;&#x2019; (ÂŹq â&#x2020;&#x2019; ÂŹp) Ejercicio 4.

Demuestra que:

1.  (Îą â&#x2C6;§ (Îą â&#x2020;&#x2019; β)) â&#x2020;&#x2019; β 2.  ((Îą â&#x2020;&#x2019; β) â&#x2C6;§ β) â&#x2020;&#x2019; ÂŹÎą

Modus ponens Modus tollens

3.  (ÂŹÎą â&#x2020;&#x2019; β) â&#x2020;&#x2019; ((ÂŹÎą â&#x2020;&#x2019; β) â&#x2020;&#x2019; Îą) 1


2

LĂłgica y mĂŠtodos discretos

4.  ((Îą â&#x2020;&#x2019; β) â&#x2020;&#x2019; Îą) â&#x2020;&#x2019; Îą 5.  (ÂŹÎą â&#x2020;&#x2019; Îą) â&#x2020;&#x2019; Îą 6.

Ley de Peirce Ley de Clavius

 (Îą â&#x2020;&#x2019; β) â&#x2020;&#x2019; ((β â&#x2020;&#x2019; Îł) â&#x2020;&#x2019; (Îą â&#x2020;&#x2019; Îł))  (β â&#x2020;&#x2019; Îł) â&#x2020;&#x2019; ((Îą â&#x2020;&#x2019; β) â&#x2020;&#x2019; (Îą â&#x2020;&#x2019; Îł))

7.  (Îą â&#x2020;&#x2019; (β â&#x2020;&#x2019; Îł)) â&#x2020;&#x2019; (β â&#x2020;&#x2019; (Îą â&#x2020;&#x2019; Îł)) 8.

 ÂŹÎą â&#x2020;&#x2019; (Îą â&#x2020;&#x2019; β)  Îą â&#x2020;&#x2019; (ÂŹÎą â&#x2020;&#x2019; β)

Ejercicio 5.

verdadero.

Leyes del silogismo Ley de conmutaciĂłn de premisas

Leyes de Duns Scoto

En cada uno de los apartados siguientes encuentra una fĂłrmula Îą que lo haga

1. {Îą, a â&#x2020;&#x2019; b}  a â&#x2020;&#x2019; c, pero Îą 6 a â&#x2020;&#x2019; c. 2. {Îą, a â&#x2C6;¨ ÂŹb}  ÂŹa y {Îą, b â&#x2020;&#x2019; c}  c. 3. {Îą, a â&#x2020;&#x2019; b}  ÂŹa y Îą  b â&#x2020;&#x2019; c. 4. {Îą, a â&#x2020;&#x2019; b}  ÂŹÎą y Îą 6 b. 5. {Îą, a}  b y Îą  a â&#x2C6;§ ÂŹb. 6. {Îą, a â&#x2020;&#x2019; c, b â&#x2020;&#x2019; c}  c, pero Îą 6 a, Îą 6 b y Îą 6 c. Una fĂłrmula se dice contingente si es satisfacible y refutable. Con esto, una fĂłrmula es tautologĂ­a, contingente o insatisfacible, y las tres opciones son mutuamente excluyentes. Ejercicio 6.

Justica si los siguientes enunciados son verdaderos o falsos.

1. Si Îą y β son contingentes, entonces Îą â&#x2C6;¨ β es contingente. 2. Si Îą y β son contingentes, entonces Îą â&#x2C6;§ β es contingente. 3. Si Îą y β son contingentes, entonces Îą â&#x2020;&#x2019; β es contingente. 4. Si Îą y β son contingentes, entonces Îą â&#x2020;&#x201D; β es contingente. 5. Si Îą y β son contradicciones, entonces Îą â&#x2020;&#x201D; β es tautologĂ­a. 6. Si Îą es tautologĂ­a, entonces β â&#x2C6;¨ Îą es tautologĂ­a. 7. Si Îą es insatisfacible, entonces Îą â&#x2020;&#x2019; β es una tautologĂ­a. 8. Îą â&#x2C6;¨ β es una tautologĂ­a si, y sĂłlo si, Îą y β son tautologĂ­as. 9. Si Îą â&#x2C6;¨ β es contradicciĂłn, entonces Îą y β son contradicciones. 10. Si Îą â&#x2C6;¨ β es una tautologĂ­a, entonces Îą o β son tautologĂ­as. 11. Si Îą â&#x2C6;¨ β es contingente, entonces Îą y β lo es. 12. Si Îą â&#x2020;&#x2019; β es una tautologĂ­a, entonces Îą es una contradicciĂłn o β es una tautologĂ­a. 13. Si Îą â&#x2020;&#x2019; β es una fĂłrmula contingente, entonces Îą y β son contingentes. En cada una de las situaciones siguientes indica en cada caso que tipo de fĂłrmula es β (o que tipo de fĂłrmula no es β ). Justica la respuesta.

Ejercicio 7.

Departamento de Ă lgebra


Tema 5. LĂłgica proposicional

3

1. Îą es una tautologĂ­a y Îą â&#x2020;&#x201D; β es una contradicciĂłn. 2. Îą es una tautologĂ­a y Îą â&#x2C6;§ β es cotingente. 3. Îą es una tautologĂ­a y Îą â&#x2C6;§ β es una contradicciĂłn. 4. Îą es una tautologĂ­a y Îą â&#x2020;&#x2019; β es contingente. 5. Îą es una tautologĂ­a y Îą â&#x2020;&#x2019; β es una contradicciĂłn. 6. Îą es una contradicciĂłn y Îą â&#x2020;&#x201D; β es una contradicciĂłn. 7. Îą es una contradicciĂłn y Îą â&#x2C6;¨ β es una contradicciĂłn. 8. Îą es una contradicciĂłn y Îą â&#x2C6;¨ β es contingente. 9. Îą es una contradicciĂłn y β â&#x2020;&#x2019; Îą es una tautologĂ­a. 10. Îą es contingente y Îą â&#x2C6;¨ β es una tautologĂ­a. 11. Îą es contingente y Îą â&#x2C6;§ β es una contradicciĂłn. 12. Îą es contingente y Îą â&#x2020;&#x2019; β es una tautologĂ­a. 13. Îą es contingente y Îą â&#x2020;&#x2019; β es contingente. Ejercicio 8.

Razona si las siguientes armaciones son verdaderas o falsas:

1. Si una fbf no es satisfacible, su negaciĂłn sĂ­ lo es. 2. Si una fbf no es consecuencia de un conjunto de fĂłrmulas, su negaciĂłn sĂ­ lo es. 3. Si una fbf no es consecuencia lĂłgica de un conjunto de fĂłrmulas, su negaciĂłn tampoco. 4. Si Î&#x201C;  Îą es posible que exista â&#x2C6;&#x2020; â&#x160;&#x201A; Î&#x201C; tal que â&#x2C6;&#x2020; 2 Îą. 5. Si Î&#x201C; 2 Îą es posible que exista â&#x2C6;&#x2020; â&#x160;&#x201A; Î&#x201C; tal que â&#x2C6;&#x2020;  Îą. Ejercicio 9.

Estudia si el siguiente conjunto de proposiciones es satisfacible o insatisfacible: Î&#x201C; = {Îł â&#x2020;&#x2019; (Îą â&#x2C6;¨ β), β â&#x2020;&#x2019; (Îł â&#x2020;&#x2019; Îą), δ â&#x2C6;§ ÂŹ(Îł â&#x2020;&#x2019; Îą)}

Ejercicio 10.

Estudia cuĂĄl (o cuĂĄles) de las siguientes implicaciones son ciertas:

1. {ÂŹ(a â&#x2C6;§ b), ÂŹc â&#x2C6;¨ a, b}  ÂŹa â&#x2C6;§ ÂŹc 2. {ÂŹ(a â&#x2C6;§ b), ÂŹc â&#x2C6;¨ a, b}  ÂŹa â&#x2020;&#x2019; ÂŹc 3. {ÂŹ(a â&#x2C6;§ b), ÂŹc â&#x2C6;¨ a, b}  a â&#x2020;&#x201D; ÂŹb 4. {ÂŹ(a â&#x2C6;§ b), ÂŹc â&#x2C6;¨ a, b}  b â&#x2020;&#x2019; c Ejercicio 11. Estudia si las siguientes armaciones son ciertas o no. Caso de no serlo, encuentra una asignaciĂłn que lo muestre.

1. {a â&#x2020;&#x2019; b, a â&#x2020;&#x2019; ÂŹb}  ÂŹa 2. {a â&#x2020;&#x2019; b, a â&#x2C6;¨ b}  b. 3. {a â&#x2020;&#x2019; ÂŹb, a â&#x2C6;§ b}  c. Departamento de Ă lgebra


4

LĂłgica y mĂŠtodos discretos

4. {a â&#x2C6;¨ b, ÂŹa â&#x2C6;¨ ÂŹb}  a â&#x2020;&#x201D; ÂŹb. 5. {a â&#x2020;&#x201D; ÂŹb, a â&#x2020;&#x2019; c}  b â&#x2C6;¨ c. 6. {(a â&#x2C6;§ b) â&#x2020;&#x201D; c, ÂŹc}  ÂŹa â&#x2C6;§ ÂŹb. 7. {ÂŹ(a â&#x2C6;§ b â&#x2C6;§ c), (a â&#x2C6;§ c) â&#x2C6;¨ (b â&#x2C6;§ c)}  a â&#x2020;&#x2019; ÂŹb. 8. {b â&#x2020;&#x2019; (c â&#x2C6;¨ a), a â&#x2020;&#x201D; ÂŹ(b â&#x2C6;§ d)}  b â&#x2020;&#x201D; (c â&#x2C6;¨ d). 9. {(a â&#x2C6;§ b) â&#x2020;&#x2019; c, c â&#x2020;&#x2019; (a â&#x2C6;¨ d)}  b â&#x2020;&#x2019; (ÂŹa â&#x2020;&#x2019; c). 10. {(a â&#x2C6;¨ c) â&#x2020;&#x2019; ÂŹa, c â&#x2020;&#x2019; ÂŹa, b â&#x2020;&#x2019; ÂŹa}  ÂŹa. 11. {(a â&#x2C6;§ b) â&#x2020;&#x2019; c, c â&#x2020;&#x2019; d, b â&#x2C6;§ ÂŹd}  ÂŹa. 12. {(a â&#x2020;&#x2019; b) â&#x2C6;¨ (c â&#x2020;&#x2019; d), ÂŹa â&#x2020;&#x2019; a, ÂŹc â&#x2020;&#x2019; c}  b â&#x2C6;¨ d. 13. {a â&#x2020;&#x2019; (b â&#x2C6;¨ c), c â&#x2020;&#x2019; d, ÂŹb â&#x2C6;¨ d}  ÂŹ(a â&#x2C6;§ ÂŹd). 14. {(b â&#x2020;&#x2019; a) â&#x2C6;§ b, c â&#x2020;&#x2019; d, b â&#x2020;&#x2019; c}  a â&#x2C6;¨ d. 15. {(a â&#x2C6;§ b) â&#x2020;&#x2019; c, (ÂŹa â&#x2C6;§ ÂŹb) â&#x2020;&#x2019; d, a â&#x2020;&#x201D; b}  c â&#x2C6;¨ d. 16. {a â&#x2020;&#x2019; (b â&#x2C6;¨ c), d â&#x2C6;¨ ÂŹc, b â&#x2C6;¨ d}  a â&#x2020;&#x2019; d. 17. {(ÂŹb â&#x2C6;§ ÂŹc) â&#x2020;&#x2019; ÂŹa, a â&#x2020;&#x2019; b, a â&#x2020;&#x201D; c}  b â&#x2C6;¨ c. 18. {a â&#x2020;&#x2019; (a â&#x2020;&#x2019; b), (b â&#x2C6;¨ c) â&#x2020;&#x2019; a, c â&#x2020;&#x2019; (a â&#x2C6;¨ b)}  b. 19. {(a â&#x2C6;§ ÂŹb) â&#x2020;&#x2019; ÂŹc, (ÂŹa â&#x2C6;§ b) â&#x2020;&#x2019; d, ÂŹa â&#x2C6;¨ ÂŹb, e â&#x2020;&#x2019; (a â&#x2C6;§ ÂŹd)}  ÂŹe. 20. {c â&#x2020;&#x2019; d, a â&#x2C6;¨ b, ÂŹ(ÂŹa â&#x2020;&#x2019; d), ÂŹa â&#x2020;&#x2019; b}  b â&#x2C6;§ ÂŹc. Ejercicio 12.

hagan ciertas.

Para cada una de las equivalencias siguientes, encuentra fórmulas ι y β que las

1. Îą â&#x2030;Ą Îą â&#x2020;&#x2019; β 2. ÂŹÎą â&#x2030;Ą Îą â&#x2020;&#x2019; β . 3. Îą â&#x2030;Ą ÂŹÎą â&#x2C6;§ β . 4. Îą â&#x2C6;¨ β â&#x2030;Ą Îą â&#x2020;&#x2019; β . 5. Îą â&#x2020;&#x201D; β â&#x2030;Ą β â&#x2020;&#x2019; ÂŹÎą. 6. Îą â&#x2C6;¨ β â&#x2030;Ą Îą â&#x2C6;§ β . Ejercicio 13.

žEs cierto que

{(a â&#x2020;&#x2019; ÂŹb â&#x2C6;¨ d) â&#x2C6;§ (b â&#x2C6;§ ÂŹd â&#x2020;&#x2019; a â&#x2C6;¨ c), (d â&#x2020;&#x2019; (a â&#x2020;&#x201D; ÂŹb)) â&#x2C6;¨ (b â&#x2C6;§ ÂŹc)}  (ÂŹb â&#x2020;&#x2019; (d â&#x2C6;§ (c â&#x2C6;¨ ÂŹd))) â&#x2020;&#x2019; c â&#x2C6;§ d?

En caso de respuesta armativa, demuĂŠstralo, y en caso de respuesta negativa, da una interpretaciĂłn que lo muestre. Ejercicio 14.

verdadero.

En cada uno de los apartados siguientes encuentra una fĂłrmula Îą que lo haga

1. {Îą, a â&#x2020;&#x2019; b}  a â&#x2020;&#x2019; c, pero Îą 6 a â&#x2020;&#x2019; c. Departamento de Ă lgebra


Tema 5. LĂłgica proposicional

5

2. {Îą, a â&#x2C6;¨ ÂŹb}  ÂŹa y {Îą, b â&#x2020;&#x2019; c}  c. 3. {Îą, a â&#x2020;&#x2019; b}  ÂŹa y Îą  b â&#x2020;&#x2019; c. 4. {Îą, a â&#x2020;&#x2019; b}  ÂŹÎą y Îą 6 b. 5. {Îą, a}  b y Îą  a â&#x2C6;§ ÂŹb. 6. {Îą, a â&#x2020;&#x2019; c, b â&#x2020;&#x2019; c}  c, pero Îą 6 a y Îą 6 b. Sean Îą, β , Îł y δ cuatro fĂłrmulas de un lenguaje proposicional, y supongamos que {Îą, β, Îł}  δ . Razona si las siguientes armaciones son ciertas o falsas.

Ejercicio 15.

1. {Îą, β, Îł, δ} es satisfacible 2. Îą â&#x2C6;¨ β â&#x2C6;¨ Îł â&#x2C6;¨ δ es una contradicciĂłn. 3. ÂŹÎą â&#x2C6;¨ β â&#x2C6;¨ ÂŹÎł â&#x2C6;¨ δ es una tautologĂ­a. 4. ((Îą â&#x2C6;¨ β) â&#x2020;&#x2019; Îł) â&#x2020;&#x2019; δ es una tautologĂ­a. 5. {Îą, Îł}  δ â&#x2020;&#x2019; β . 6. {Îą, β, Îł, δ} es insatisfacible. 7. {Îą â&#x2C6;§ Îł, δ â&#x2C6;§ β} es insatisfacible. 8. {Îą, β, δ}  Îł . 9. {Îą, β, δ}  ÂŹÎł . 10. Îą â&#x2C6;§ β â&#x2C6;§ Îł â&#x2020;&#x2019; δ es una tautologĂ­a. 11. {ÂŹÎą, β, ÂŹÎł, δ} es satisfacible. 12. δ  ÂŹÎą â&#x2C6;¨ β â&#x2C6;¨ ÂŹÎł . 13. {Îą, β, Îł}  δ â&#x2C6;§ β . Algunos problemas de exĂĄmenes anteriores: Ejercicio 16.

Demuestra que para cualesquiera proposiciones Îą y β , se da lo siguiente: |= (β â&#x2020;&#x2019; ÂŹÎą) â&#x2020;&#x2019; ((ÂŹÎą â&#x2020;&#x2019; ÂŹ(Îą â&#x2020;&#x2019; β)) â&#x2020;&#x2019; Îą)

Ejercicio 17.

Estudia si el siguiente conjunto de proposiciones es satisfacible o insatisfacible: Î&#x201C; = {Îł â&#x2020;&#x2019; (Îą â&#x2C6;¨ β), β â&#x2020;&#x2019; (Îł â&#x2020;&#x2019; Îą), δ â&#x2C6;§ ÂŹ(Îł â&#x2020;&#x2019; Îą)}

Ejercicio 18.

Prueba que las siguientes proposiciones son teoremas del cĂĄlculo proposicional:

1. (Îą â&#x2020;&#x2019; β) â&#x2020;&#x2019; ((β â&#x2020;&#x2019; Îł) â&#x2020;&#x2019; (Îą â&#x2020;&#x2019; Îł))

2. ((Îą â&#x2020;&#x2019; β) â&#x2020;&#x2019; Îą) â&#x2020;&#x2019; Îą Departamento de Ă lgebra


6

LĂłgica y mĂŠtodos discretos

Ejercicio 19.

En el CĂĄlculo de Proposiciones, si Î&#x201C; â&#x2C6;Ş {Îą} |= β â&#x2020;&#x2019; (δ â&#x2020;&#x2019; Îł) y Î&#x201C; â&#x2C6;Ş {β}  Îą â&#x2020;&#x2019; δ

Prueba que Î&#x201C; â&#x2C6;Ş {Îą, β} |= Îł Ejercicio 20.

Prueba los siguientes enunciados:

1. |= (β â&#x2020;&#x2019; Îł) â&#x2020;&#x2019; (ÂŹ(Îą â&#x2020;&#x2019; Îł) â&#x2020;&#x2019; ÂŹ(Îą â&#x2020;&#x2019; β)) 2. |= ((Îą â&#x2020;&#x2019; β) â&#x2020;&#x2019; Îł) â&#x2020;&#x2019; (β â&#x2020;&#x2019; Îł) Ejercicio 21.

Demuestra las siguientes implicaciones semĂĄnticas:

1. |= ((ÂŹÎą â&#x2C6;¨ β) â&#x2C6;§ (Îą â&#x2C6;¨ β)) â&#x2020;&#x201D; (Îą â&#x2020;&#x201D; β) 2. Si Î&#x201C; |= Îą â&#x2020;&#x2019; β y Î&#x201C; |= ÂŹÎą â&#x2020;&#x2019; β entonces Î&#x201C; |= β Ejercicio 22.

Prueba los siguientes enunciados:

1. |= ((Îą â&#x2020;&#x2019; β) â&#x2020;&#x2019; Îł) â&#x2020;&#x2019; (β â&#x2020;&#x2019; Îł)) 2. |= Îą â&#x2020;&#x2019; (β â&#x2020;&#x2019; (Îł â&#x2020;&#x2019; Îł)) Ejercicio 23.

Prueba: |= (p â&#x2020;&#x2019; q) â&#x2020;&#x2019; [(ÂŹp â&#x2020;&#x2019; q) â&#x2020;&#x2019; q]

Ejercicio 24.

Demuestra que

1. ÂŹ(a â&#x2020;&#x2019; b) â&#x2020;&#x2019; (ÂŹa â&#x2020;&#x2019; ÂŹb) es una tautologĂ­a. 2. Îą = (ÂŹa â&#x2020;&#x2019; ÂŹb) â&#x2020;&#x2019; ÂŹ(a â&#x2020;&#x2019; b) no es una tautologĂ­a Ejercicio 25.

Prueba |= (((Ď&#x2C6; â&#x2020;&#x2019; θ) â&#x2020;&#x2019; θ) â&#x2020;&#x2019; (Ď&#x2021; â&#x2020;&#x2019; θ)) â&#x2020;&#x2019; (Ď&#x2C6; â&#x2020;&#x2019; (Ď&#x2021; â&#x2020;&#x2019; θ))

Ejercicio 26.

Prueba que {q â&#x2020;&#x2019; (ÂŹp â&#x2020;&#x2019; r)} |= r â&#x2020;&#x2019; ÂŹq

Algunos ejercicios de traducciĂłn de lenguaje natural a proposicional Ejercicio 27.

correctos:

Formaliza en lenguaje proposicional los siguientes argumentos y decidir si son

1. Si no hay control de nacimientos, entonces la poblaciĂłn crece ilimitadamente. Pero si la poblaciĂłn crece ilimitadamente, aumentarĂĄ el Ă­ndice de pobreza. Por consiguiente, si no hay control de nacimientos, aumentarĂĄ el Ă­ndice de pobreza. 2. Si la funciĂłn f no es continua, entonces la funciĂłn g no es diferenciable. g es diferenciable. AsĂ­ pues, f no es continua. 3. Si hay petrĂłleo en Poligonia, entonces los expertos tienen razĂłn o el gobierno estĂĄ mintiendo. No hay petrĂłleo en Poligonia o los expertos se equivocan. AsĂ­ pues, el gobierno estĂĄ mintiendo. Ejercicio 28.

Estudia cuĂĄl de las dos siguientes ofertas es mejor: Departamento de Ă lgebra


Tema 5. LĂłgica proposicional

7

Formula un enunciado. Si es cierto, ganas 50 Euros. Si es falso, ganas una cantidad distinta de 50 Euros. Formula un enunciado. Tanto si es cierto como si es falso ganas mĂĄs de 50 Euros. Algunos ejercicios de mentirosos y veraces.

Estamos en una isla donde los habitantes se clasican en dos grupos: los veraces, que formulan únicamente enunciados verdaderos, y los mentirosos, que formulan únicamente enunciados falsos. Llegamos a la isla, llamamos a una casa, nos abre un matrimonio y preguntamos. žCuål, si alguno lo es, es veraz, y cuål, si alguno lo es es mentiroso?. A lo que el marido responde: Ambos somos mentirosos. žA que grupo pertenece el marido y que grupo la esposa?.

Ejercicio 29.

Ante la misma pregunta, en otra casa, nos responden: "Por lo menos uno de nosotros es un mentiroso". žA que grupo pertenece el marido y a que grupo pertenece la esposa?. Ejercicio 30.

En otra casa, la respuesta que obtuvimos fue: "Si soy veraz, entonces tambiĂŠn lo es mi mujer". Determina a que grupo pertenecen tanto el marido como la mujer. Ejercicio 31.

En una cuarta casa, la respuesta que dio el esposo fue: "Soy veraz si, y sólo si, lo es mi esposa". žQuÊ puede deducirse sobre el marido y sobre la mujer?. Ejercicio 32.

Ejercicio 33. En esta ocasión, la pregunta es si hay oro en la isla. La respuesta que obtuvimos de dos personas, Ana y BartolomÊ fueron: - Ana: "Si BartolomÊ y yo somos veraces, entonces hay oro en la isla". - BartolomÊ" Si Ana y yo somos veraces, entonces hay oro en la isla". žHay oro en la isla?. Demuestra que

{Îą â&#x2020;&#x201D; ((Îą â&#x2C6;§ β) â&#x2020;&#x2019; Îł), β â&#x2020;&#x201D; ((Îą â&#x2C6;§ β) â&#x2020;&#x2019; Îł)}  Îł

Ante la misma pregunta, Carmen nos respondió: "Daniel es veraz y hay oro en la isla". Sin embargo, no recordamos la respuesta de Daniel. Sabemos que dijo que Carmen es mentirosa, pero no estamos seguros si dijo que había oro o que no había oro. Sí recuerdo que la respuesta fue suciente para determinar si había o no oro. žPodrías tú saber si había o no oro?. Ejercicio 34.

Ejercicio 35.

Demuestra que la siguiente fĂłrmula es una tautologĂ­a. ((p â&#x2020;&#x201D; (q â&#x2C6;§ r)) â&#x2C6;§ (q â&#x2020;&#x201D; (ÂŹp â&#x2C6;§ r))) â&#x2020;&#x2019; ÂŹp â&#x2C6;§ ÂŹq â&#x2C6;§ ÂŹr

Deduce de que clase son Antonio, Benito y Celia a partir de las siguienes armaciones: - Antonio: Benito y Celia son ambos veraces. - Benito: Antonio es un mentiroso y Celia es veraz. Ejercicio 36.

Demuestra que {p â&#x2020;&#x201D; ÂŹq, q â&#x2020;&#x201D; (p â&#x2020;&#x201D; ÂŹr)}  r

žQuÊ podemos armar de Celia a partir de las armaciones siguientes? - Antonio: Benito es un mentiroso. - Benito: Antonio y Celia son de clases diferentes. žQuÊ podemos deducir de las siguientes armaciones? - Eugenia: Si soy veraz y Francisco es un mentiroso, entonces hay oro en la isla. - Francisco: Eso es falso.

Ejercicio 37.

Departamento de Ă lgebra


TEMA 6 Lenguajes de primer orden

Ejercicio 1.

Para las siguientes fórmulas, determina qué variables son libres y cuáles son ligadas

1.

∀z(R(x, z) → S(y, z))

2.

∃xR(x, y)

3.

∃xR(y, x)

4.

∃zR(y, x)

5.

∃x(R(x, y) ∧ S(x, y))

6.

∃xR(x, y) ∧ ∀yS(x, y)

7.

∃x(R(x, y) ∧ ∀yS(x, y))

8.

∃x(∀yR(x, y) ∧ S(x, y))

9.

∃z(R(x, z) ∨ P (y))

10.

∀x(P (x) → R(x, y))

11.

∀x((P (x) ∧ Q(x)) → ¬R(x, y))

12.

∃x(P (x) ∧ S(x, y))

13.

∃x(∃yQ(x) ∨ R(x, y))

14.

∀x(∃yR(x, y) → R(x, z))

15.

∀x(R(x, z) → ∃yR(x, y))

16.

∀x(∀zR(x, z) → S(x, z))

17.

((P (x) ∨ Q(y)) ∧ ∀x∀yR(x, y))

Ejercicio 2.

Sea el lenguaje de primer orden con:

a, b, c. x, y , z . H 1 , M 1 , P 2 , A2 , Hr2 .

- Símbolos de constante: - Símbolos de variable: - Símbolos de relación:

Consideramos la estructura cuyo universo es el conjunto formado por todos los seres humanos, e interpretamos cada uno de los símbolos como sigue:

a =Antonio, b =Begoña, c =Carmen. H(x) : x

es hombre.

M (x) : x

es mujer.

P (x, y) : x

es progenitor de

y. 1


2

Lógica y métodos discretos

A(x, y) : x

es antepasado de

Hr(x, y) : x

es hermano de

y.

y.

Expresa con este lenguaje los siguiente enunciados: 1. Begoña es la madre de Carmen 2. Begoña es tia de Antonio 3. Antonio es abuelo de Begoña 4. Begoña es nieta de Antonio 5. Todo el mundo tiene padre. 6. Todo el mundo tiene dos progenitores. 7. Nadie es progenitor de sí mismo. 8. Hay gente que no tiene hermanos. 9. Los antepasados de Begoña son antepasados de Carmen 10. Hay quien tiene hijos y quien no 11. Dos personas son hermanas si, y sólo si, tienen los mismos progenitores 12. Begoña es hermana de un hijo de Antonio 13. Un progenitor de un antepasado es un antepasado 14. Los padres son antepasados 15. Nadie es progenitor de sus hermanos 16. Toda persona tiene una única madre 17. Begoña es abuela materna de Carmen 18. Carmen es bisabuela de Antonio 19. Todos tenemos abuelos 20. Todos tenemos bisabuelos 21. Algunos antepasados de Begoña no son antepasados de Carmen 22. Begoña tiene al menos dos hermanos 23. Begoña tiene exactamente dos hermanos Añadimos al lenguaje los siguientes elementos:

p1 , m1 2 relación: Eq .

- Símbolos de función: - Símbolos de

que interpretamos como sigue:

p(x) :

El padre de

m(x) :

x.

La madre de

x. Departamento de Álgebra


Tema 6. Lenguajes de primer orden

3

Eq(x, y) : x = y . Expresa ahora, los enunciados

a), b), c), d), n)

y

p)

con este lenguaje, utilizando alguno de

los nuevos símbolos introducidos.

Ejercicio 3.

Consideramos el lenguaje de primer orden en el que sus elementos son:

t, s, l. x, y , z . 1 1 1 2 2 - Símbolos de predicado: P , S , E , G , Eq . Sea ahora una L estructura en la que el universo

- Símbolos de constante: - Símbolos de variable:

es el conjunto de los astros celestes.

Completa la estructura asignándole un signicado a las constantes y a los predicados, y expresa con este lenguaje los siguientes enunciados: 1. Hay a lo sumo un planeta. 2. Hay exactamente un planeta. 3. Hay al menos dos planetas. 4. Hay a lo sumo dos planetas. 5. Hay exactamente dos planetas. 6. La Luna es el único satélite de la Tierra. 7. Si un astro gira alrededor de un planeta, entonces es un satélite. 8. La Tierra tiene un movimiento de rotación y uno de traslación alrededor del Sol. 9. Todo cuerpo celeste, o es estrella, o gira alrededor de una estrella.

Ejercicio 4. variable son

Consideramos el lenguaje cuyos símbolos de constante son

x, y, z ,

y sus símbolos de predicado son

P 1 , Q1 , E 2 , R2 , S 2 .

c

y

d,

sus símbolos de

Sea la estructura dada

por: El universo es

c=0

d = 1.  1 P (x) = 0  1 Q(x) = 0

Z4 .

y

si si si si

x2 = 0 x2 6= 0 x2 = 2 x2 6= 2

E(x, y) := x = y R = {(0, 1), (0, 2), (2, 3), (2, 2), (1, 2), (3, 0)} S = {(0, 1), (0, 2), (0, 3), (2, 3), (0, 0)} Estudia cuáles de las siguientes sentencias son verdaderas para esta estructura: 1.

P (c)

2.

¬P (d)

3.

P (c) ∧ P (d). Departamento de Álgebra


4

Lógica y métodos discretos

4.

P (c) → ¬Q(d)

5.

∃xQ(x)

6.

¬(∃xQ(x))

7.

∃x¬Q(x)

8.

∃x(P (x) ∧ Q(x))

9.

∀xQ(x)

10.

∀x(P (x) → Q(x))

11.

∀x(Q(x) → ¬P (x))

12.

∀x(Q(x) → ∃y(P (x) ∨ Q(y)))

13.

∀xR(c, x)

14.

∀xS(c, x)

15.

∀x(R(c, x) → S(c, x))

16.

∃y∀x(R(c, x) → S(c, x))

17.

∀x∀y(R(x, y) → S(x, y))

18.

∀x∀y(R(x, y) → ∃z(S(x, z)))

19.

∀x(P (x) → ∃y(R(x, y)))

20.

∀x(P (x) → ∃y(S(x, y) ∧ R(y, x)))

21.

∀x∃yR(x, y)

22.

∀x∃yS(x, y)

23.

∃y∀xR(x, y)

24.

∃y∀xS(x, y)

25.

∃y∀xR(y, x)

26.

∀x∀y∀z((S(x, y) ∧ S(y, z)) → R(x, z))

27.

∀x∀y(R(x, y) → ¬R(y, x))

28.

∀x∀y(¬S(x, y) → ¬S(x, y))

29.

∀x∀y(∃z(R(x, z) ∧ R(z, y)) → R(x, y))

30.

∀x∀y(∃z(R(x, z) ∧ S(z, y)) → R(x, y))

31.

∀x∀y(∃z(S(x, z) ∧ R(z, y)) → R(x, y))

32.

∀x∀y(∃z(R(x, z) ∧ R(z, y)) → S(x, y))

33.

∀x(P (x) → ∃yR(y, x))

34.

∀x(E(x, c) → ∃yR(y, x))

35.

∀x(∃yR(y, x) → P (x)) Departamento de Álgebra


Tema 6. Lenguajes de primer orden

36.

5

∀x(E(x, d) ↔ R(c, x))

Ejercicio 5.

Calcula la interpretación de las siguientes fórmulas en cada uno de las L-estructuras

que se dan: 1.

∀x∀yE(f (x, y), f (y, x))

a ) D = {1, 2,3, 4, 5, 6, 7} x + y si pertenece a D f (x, y) = x en otro caso E = {(1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (1, 7), (7, 1), (2, 6), (6, 2), (3, 5), (5, 3)} b ) D = M3 (R) f (x, y) = xy E(x, y) ≡ x = y c) D = Z f (x, y) = xy E(x, y) ≡ x = y 2.

∀xE(f (x, e), f (e, x))

a ) D = M3 (R) e = I3 f (x, y) = xy E(x, y) ≡ x = y b ) D = M3 (R) e = O3 f (x, y) = xy E(x, y) ≡ x = y c ) D =M3 (R)  1 −1 0 1 −1  e= 0 0 0 1 f (x, y) = xy E(x, y) ≡ x = y 3.

∀x∃yE(f (x, y), e)

a ) D = M3 (R) e = I3 f (x, y) = xy E(x, y) ≡ x = y b ) D = M3 (R) e = O3 f (x, y) = xy E(x, y) ≡ x = y c) D = Z e = 1 f (x, y) = xy E(x, y) ≡ x = y Departamento de Álgebra


6

Lógica y métodos discretos

4.

∀x (E(f (x, x), e) → E(x, e))

a ) D = M3 (R) e = I3 f (x, y) = xy E(x, y) ≡ x = y b ) D = M3 (R) e = O3 f (x, y) = xy E(x, y) ≡ x = y c) D = Z e = 1, f (x, y) = xy E(x, y) ≡ x = y d) D = R e = 1, f (x, y) = xy E(x, y) ≡ x = y e) D = R e = 0, f (x, y) = xy E(x, y) ≡ x = y f ) D = Z4 e = 0, f (x, y) = xy E(x, y) ≡ x = y Ejercicio 6.

Determina el carácter (satisfacible y refutable, universalmente válida o contradic-

ción) de las siguientes f.b.f.s.: 1.

∀x∀y(P (x, y) → P (y, x))

2.

(∀x∃y(P (x, y) → P (y, x)) → (∃x∃y(P (x, y) → P (y, x)))

3.

∀x∀y(P (x, y) → ¬P (y, x))

Ejercicio 7.

Consideramos las siguientes sentencias:

(1)

∀x(P (x) → ∃yR(x, y))

(2)

∀x(Q(x) → ∃yR(y, x))

(3)

∃x(P (x) ∧ Q(x))

(4)

∀x∃yR(x, y)

(5)

∃x∃y¬R(x, y)

Encuentra, si existen, estructuras en las que: 1. Las sentencias (1), (3) y (5) sean verdaderas y las restantes falsas. 2. Las sentencias (1), (2) y (4) sean verdaderas y las restantes falsas. 3. Las sentencias (2) y (3) sean verdaderas y las restantes falsas. 4. Las sentencias (2), (3) y (4) sean verdaderas y las restantes falsas. 5. Las sentencias (2), (4) y (5) sean verdaderas y las restantes falsas.

Departamento de Álgebra


Tema 6. Lenguajes de primer orden

7

6. Las sentencias (2), (3) y (5) sean verdaderas y las restantes falsas. 7. Todas las sentencias sean verdaderas. 8. Todas las sentencias sean falsas.

Ejercicio 8.

Dadas las siguientes sentencias:

(1)

∀x(∃yR(x, y) → P (x))

(2)

∀x(P (x) → Q(x))

(3)

∃x(Q(x) ∧ ∀y¬R(x, y))

(4)

∃xR(x, x)

(5)

∃x¬R(x, x)

Encuentra, si existen, estructuras en las que: 1. Las sentencias (1), (3) y (5) sean verdaderas y las restantes falsas. 2. Las sentencias (1), (2) y (4) sean verdaderas y las restantes falsas. 3. Las sentencias (1), (2) y (4) sean falsas y las restantes verdaderas. 4. Las sentencias (2) y (3) sean verdaderas y las restantes falsas. 5. Las sentencias (2), (3) y (4) sean verdaderas y las restantes falsas. 6. Las sentencias (2), (4) y (5) sean verdaderas y las restantes falsas. 7. Las sentencias (2), (3) y (5) sean verdaderas y las restantes falsas. 8. Todas las sentencias sean verdaderas. 9. Todas las sentencias sean falsas.

Ejercicio 9.

Sea el lenguaje de primer orden con:

c. x, y , z . 1 1 2 2 predicado: P , Q , E , S .

- Símbolos de constante: - Símbolos de variable: - Símbolos de

Consideramos la estructura cuyo universo es

Z5 ,

e interpretamos cada uno de los símbolos

como sigue:

c = 0. P = {0, 1, 2}. Q = {2, 4}. R = {(0, 1), (0, 2), (1, 2), (2, 2)}. Q = {(0, 2), (2, 0), (2, 2)}. Para cada una de las fórmulas siguientes, con variables libres, encuentra las valoraciones que las hacen ciertas. Dicho de otra forma, resuelve la ecuación 1.

P (x) ∧ Q(x) Departamento de Álgebra

I(ϕ) = 1.


8

Lógica y métodos discretos

2.

P (x) ∧ Q(y)

3.

P (x) ∨ Q(x)

4.

P (x) ∨ Q(y)

5.

P (x) → Q(x)

6.

P (x) → Q(y)

7.

P (x) ↔ Q(x)

8.

P (x) ∨ ¬Q(x)

9.

¬R(x, y)

10.

R(x, y) ∧ S(x, y)

11.

P (x) ∧ ¬Q(x)

12.

((P (x) ∨ Q(x)) ∧ R(x, y))

13.

¬P (x) ∧ ¬Q(x)

14.

∃z(R(x, z) ∧ S(y, z))

15.

¬P (x) ∨ ¬Q(x)

16.

∀z(R(x, z) → S(y, z)

17.

∃xR(x, y)

18.

∃xR(y, x)

19.

∃x(R(x, y) ∧ S(x, y))

20.

∃z(R(x, z) ∨ P (y))

21.

∀x(P (x) → R(x, y))

22.

∀x((P (x) ∧ Q(x)) → ¬R(x, y))

23.

∃x(P (x) ∧ S(x, y))

24.

∃x(Q(x) ∨ R(x, y))

25.

∀x(∃yR(x, y) → R(x, z))

26.

∀x(R(x, z) → ∃yR(x, y))

27.

∀x(R(x, z) → ∃yS(x, y))

28.

((P (x) ∨ Q(y)) ∧ ∀x∀yR(x, y))

Ejercicio 10.

(X ≤) un conjunto ordenado. Consideramos un lenguaje de primer orden con R, y cinco símbolos de variables x, y, z, t, u. L estructura cuyo universo es X , y para la que R es la relación ≤, es decir:  1 si x ≤ y R(x, y) = 0 en otro caso.

Sea

un símbolo de predicado binario Sea ahora la

Escribe una fórmula que signique que

X

es un retículo.

Departamento de Álgebra


Tema 6. Lenguajes de primer orden

Ejercicio 11.

9

Dadas las fórmulas:

a)

∀xP (f (x)) → ¬Q(b, f (y))

b)

¬∃x¬(Q(x, x) ∨ (Q(g(x, a)) → P (x)))

c)

∀x∃y(P (x) → ¬Q(x, f (y))

d)

P (a) ↔ ∀x(P (x) ∨ ∃y(Q(y, b) → Q(x, x))

e)

∃xQ(x, a) → ∀x(P (x) → Q(x, b)) Y las estructuras y valoraciones:

1)

U = Z. f (x) = 2x − 1 P (x) ≡ x

g(x, y) = x − y . Q(x, y) ≡ x ≥ 2y .

es impar

v(x) = −1

v(y) = 2.

2)

U = Z5 . f (x) = x2

g(x, y) = x + 2y + 1.

P = {0, 2, 4}

Q(x, y) ≡ x = y .

v(x) = 2

v(y) = 3.

3)

U = M2 (Z). f (A) = A2

g(A, B) = A · B .

P (A) ≡ A = Id   1 −1 v(x) = 0 1

Q(A, B) ≡ A = B .  v(y) =

1 0 0 2

 .

4)

U = N. f (x) = 3x + 2

g(x, y) = x + y .

P (x) ≡ x

Q(x, y) ≡ x ≥ y .

es primo

v(x) = 2

v(y) = 0.

Interpreta cada una de las fórmulas en la estructura dada con la valoración correspondiente.

a

b

c

d

1 2 3 4

Departamento de Álgebra

e


10

LĂłgica y mĂŠtodos discretos

Problemas de exĂĄmenes Ejercicio 12.

Estudia si la siguiente fĂłrmula es o no universalmente vĂĄlida

P (x) â&#x2020;&#x2019; (â&#x2C6;&#x20AC;xÂŹP (x) â&#x2020;&#x2019; ÂŹP (f (a))) Ejercicio 13.

Estudia para cada una de las siguientes fĂłrmulas, si es universalmente vĂĄlida,

satisfacible, refutable o contradicciĂłn: 1.

â&#x2C6;&#x20AC;xâ&#x2C6;&#x192;yR(x, y) â&#x2020;&#x2019; â&#x2C6;&#x192;yâ&#x2C6;&#x20AC;xR(x, y)

2.

â&#x2C6;&#x192;xâ&#x2C6;&#x20AC;yR(x, y) â&#x2020;&#x2019; â&#x2C6;&#x20AC;yâ&#x2C6;&#x192;xR(x, y)

3.

â&#x2C6;&#x20AC;xâ&#x2C6;&#x20AC;y(R(x, y) â&#x2020;&#x2019; R(y, x))

Ejercicio 14.

Dadas las siguientes fĂłrmulas:

Ď&#x2022; = â&#x2C6;&#x20AC;xâ&#x2C6;&#x192;yP (x, y); Ď&#x2C6; = â&#x2C6;&#x192;xâ&#x2C6;&#x20AC;yP (x, y) Encuentra una interpretaciĂłn en la que ambas sean ciertas y otra en la que falsa. žEs cierto que

Ejercicio 15.

Ď&#x2022;

sea cierta y

Ď&#x2C6;

sea

{Ď&#x2022;}  Ď&#x2C6; ?

Dadas las siguientes fĂłrmulas

Îą = â&#x2C6;&#x20AC;x(P (x) â&#x2020;&#x2019; P (a)), β = â&#x2C6;&#x20AC;xP (x) â&#x2020;&#x2019; P (a) estudia cuĂĄles son universalmente vĂĄlidas, satisfacibles y/o refutables.

Ejercicio 16.

Consideramos el lenguaje de primer orden L denido por Cons(L) = {a} F unc(L) = {f, g}, Rel(L) = {P, Q} y la L-estructura U dada por: D = Z10 , a = 4, f = + (suma en Z10 ) y g(x) = x2 , P = {(k, k) : k â&#x2C6;&#x2C6; D}, Q = {(0, 0), (1, 9), (2, 8), (3, 7), (4, 6), (5, 5), (6, 4), (7, 3), (8, 2), (9, 1)} Interpreta las fĂłrmulas siguientes usando la valoraciĂłn

v : V ar(L) â&#x2020;&#x2019; Z10 x 7â&#x2020;&#x2019; 0, y 7â&#x2020;&#x2019; 4 1.

â&#x2C6;&#x20AC;x(P (g(x), a) â&#x2020;&#x2019; Q(f (y, a), x))

2.

â&#x2C6;&#x20AC;xâ&#x2C6;&#x192;yâ&#x2C6;&#x192;zP (x, f (g(y), g(z)))

Ejercicio 17.

Consideremos el lenguaje de primer orden

{f, g}, Rel(L) = {P }

y la

L-estructura U

L denido por Cons(L) = {a, b, c} F unc(L) =

dada por:

D = Z6 , a = 0, b = 1, c = 2 f = +(suma

en

Z6 )

y

g(x) = ¡(el

producto en

Z6 )

P = {(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5)} 1. Describe todas las valoraciones

v

sobre el conjunto de variables

para las que la siguiente fĂłrmula se interpreta como verdadera:

ÂŹP (g(x, f (b, b)), a) â&#x2020;&#x2019; P (f (y, c), g(y, y)) 2. Interpreta la sentencia

â&#x2C6;&#x20AC;xâ&#x2C6;&#x192;yP (g(y, c), x). Departamento de Ă lgebra

{x, y}

en esta estructura


Tema 6. Lenguajes de primer orden

Ejercicio 18.

11

1. Describe todas las estructuras en las que la fórmula siguiente es válida:

R(x) → ∀xR(x) 2. Estudia la fórmula

Ejercicio 19.

R(f (x)) → ∃yR(y).

Consideremos el lenguaje de primer orden

{f, g}, Rel(L) = {P }

y la

L-estructura U

L denido por Cons(L) = {a} F unc(L) =

dada por:

D = Z6 , a=2 f (x, y) = x + y

y

g(x, y) = x · y

P = {(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5)} Sea

v

la valoración dada por

v(x1 ) = 2, v(x2 ) = 0, v(x3 ) = 0, v(x4 ) = 3.

Interpreta las siguientes fórmulas: 1.

¬∃x1 ∀x2 P (f (x1 , x4 ), a)

2.

∀x1 (P (x1 , g(x1 , x1 )) ↔ P (g(a, x1 ), f (a, a)))

Ejercicio 20.

Dada la fórmula

R(x) ↔ ∃xR(x), se pide: 1. Prueba que

no

es universalmente válida.

2. Encuentra una estructura donde la fórmula no sea válida. 3. ¾Es satisfacible la fórmula en cualquier estructura? 4. ¾Es refutable en toda estructura?

Ejercicio 21.

Interpreta la fórmula

∀x∀y(P (x, y) → ¬P (y, x)) en las siguientes estructuras 1.

D = {0, 1, 2, 3} P = {(0, 0), (0, 1), (1, 2), (2, 1), (2, 2), (3, 3)}

2.

D=R P es la

relación binaria x es estrictamente menor que y

D=N P es la

relación binaria x es múltiplo de y

3.

Ejercicio 22.

Interpreta la fórmula

∀x∀y(P (x, y) → ¬P (y, x)) D = {0, 1, 2, 3} P = {(0, 0), (0, 1), (1, 2), (2, 1), (2, 2), (3, 3)}

en las siguiente estructura

Departamento de Álgebra


12

Lógica y métodos discretos

Ejercicio 23.

Determina el carácter (satisfacible y refutable, universalmente válida o contradic-

ción) de la fórmula:

Preguntas tipo test Ejercicio 24.

∀x∃y(P (x, y) → ¬P (y, x))

Dada la fórmula

P (x) → ∀x(P (x) ∨ ¬P (f (x))) señala para cuáles de las siguientes interpretaciones es

a)

b)

c)

d)

verdadera.

 D = Z4    f (x) = x + 1(mod 4) P = {0, 1, 3}    v(x) = 2    D = Z4  f (x) = x + 1(mod 4) P = {0, 1, 3}    v(x) = 1  D=Z    f (x) = x + 1 P (x) ≡ x es par    v(x) = 2  D=Z    f (x) = x + 1 P (x) ≡ x es par    v(x) = 1

Ejercicio 25.

Para el lenguaje de primer orden correspondiente se considera la estructura:

D=N R(x, y) ≡ “x a=0 b=1

es múltiplo de

y 00

Determina cuáles de las siguientes fórmulas son verdaderas bajo esta interpretación:

a) R(a, b) b) ∃y¬R(y, a) c) ∀xR(b, x) d) ∀x∀y(R(x, y) → R(y, x)) Ejercicio 26.

La fórmula

1.

∀x(Q(g(x, b), f (x)) → ¬(P (x) ∨ P (f (a))) ∧ Q(x, b)).

2.

p(f (a)) ∨ ¬∃xq(f (g(x, b))) → (¬∀xp(q(g(x, b))) ↔ p(g(b, x))).

3.

P (a, x, f (b)) → ∃x(Q(g(x, a), x) ∧ ¬P (g(x, a), f (a), x) ∨ Q(a, b)). Departamento de Álgebra


Tema 6. Lenguajes de primer orden

4.

∀z(∀xp(x, z) → ∃y(q(x, y, f (b)) ∧ r(g(a, x), f (g(x, f (a)))))).

5.

∀xP (f (x) → ¬Q(g(a, y), c)) ∧ ∃y(Q(f (a), g(g(b, y))) → ¬P (y)).

es una fórmula bien formada

Ejercicio 27.

La fórmula

1.

∃x(∀y(P (y) → ∃zR(y, z) ∧ ¬R(x, y))) → R(a, b).

2.

∀yR(y, b) → ∀x(P (x) → ∃yR(x, y)) ∧ ∃x¬∀yR(x, y).

3.

∀x(R(x, z) → ∃yS(x, y)).

4.

∀x∃y(P (x, y) → ¬P (f (y), x)).

5.

∀xP (x) ∧ ∀yQ(x, b) → ∀x(P (x) ∧ Q(x, y)).

es satisfacible y refutable.

Ejercicio 28.

Dada la fórmula

P (x) → ∀x(P (x) ∨ ¬P (f (x))) señala para cuáles de las siguientes interpretaciones es

a)

b)

c)

d)

verdadera.

 D = Z4    f (x) = x + 1(mod 4) P = {0, 1, 3}    v(x) = 2  D = Z4    f (x) = x + 1(mod 4) P = {0, 1, 3}    v(x) = 1  D=Z    f (x) = x + 1 P (x) ≡ x es par    v(x) = 2  D=Z    f (x) = x + 1 P (x) ≡ x es par    v(x) = 1

Ejercicio 29.

Para el lenguaje de primer orden correspondiente se considera la estructura:

D=N R(x, y) ≡ “x a=0 b=1

es múltiplo de

y 00

Determina cuáles de las siguientes fórmulas son verdaderas bajo esta interpretación:

a) R(a, b) b) ∃y¬R(y, a) Departamento de Álgebra

13


14

LĂłgica y mĂŠtodos discretos

c) â&#x2C6;&#x20AC;xR(b, x) d) â&#x2C6;&#x20AC;xâ&#x2C6;&#x20AC;y(R(x, y) â&#x2020;&#x2019; R(y, x)) Ejercicio 30.

La fĂłrmula

â&#x2C6;&#x20AC;x(R(x, z) â&#x2020;&#x2019; ÂŹâ&#x2C6;&#x192;yR(g(x, y), z))

1. Es vĂĄlida en la estructura

U = N; g(x, y) = 2x + y; R(x, y) â&#x2030;Ą x < y .

2. Es satisfacible en la estructura

U = N; g(x, y) = 2x + y; R(x, y) â&#x2030;Ą x < y .

3. Es satisfacible en la estructura

U = Z; g(x, y) = x + 2y; R(x, y) = x + y + 1(m´ od 2).

4. Es satisfacible y refutable en la estructura 5. Es refutable en la estructura

Ejercicio 31. funciĂłn

d, s, p

U = Q; g(x, y) = x2 + y; R(x, y) â&#x2030;Ą x ¡ y = 1.

U = Z4 ; g(x, y) = x + 2y; R(x, y) â&#x2030;Ą x2 + y 2 = 1.

Dado el lenguaje de primer orden con sĂ­mbolos de constantes

y sĂ­mbolos de predicado

U = Z;

a = 0; b = â&#x2C6;&#x2019;1; P r(x) â&#x2030;Ą x

1. La fĂłrmula

P r, P, M ,

a, b,

sĂ­mbolos de

y la estructura siguiente:

d(x) = 2x; s(x, y) = x + y; p(x, y) = x ¡ y;

es primo;

P (x) â&#x2030;Ą x

es par;

â&#x2C6;&#x20AC;x(P r(x) â&#x2020;&#x2019; ÂŹP (x) â&#x2C6;§ ��ŹM (p(b, d(b)), x)

M (x, y) â&#x2030;Ą x < y.

signica que no hay primos pares ma-

yores que

2. 2. La fĂłrmula

â&#x2C6;&#x20AC;xâ&#x2C6;&#x192;y(ÂŹ(M (s(x, y), a) â&#x2C6;¨ M (a, s(x, y))) â&#x2020;&#x2019; ÂŹ(M (x, p(b, y)) â&#x2C6;¨ M (p(b, y), x)))

sig-

nica que si 3.

x=y

x+y =0

entonces

x = â&#x2C6;&#x2019;y .

lo podemos decir mediante la fĂłrmula

4. La fĂłrmula

ÂŹM (x, y) â&#x2C6;§ ÂŹM (y, x).

â&#x2C6;&#x20AC;xâ&#x2C6;&#x192;y(ÂŹM (x, p(x, y))â&#x2C6;§ÂŹM (p(x, y), x) signica que hay un elemento neutro para

el producto. 5. Para decir que todo nĂşmero par es el doble de un nĂşmero lo podemos hacer con la fĂłrmula

â&#x2C6;&#x20AC;x(â&#x2C6;&#x20AC;yÂŹ(M (x, d(y)) â&#x2C6;§ ÂŹM (d(y), x)) â&#x2020;&#x2019; ÂŹP (x)). Ejercicio 32. en 2. Si

Îą, Îą

Îą es satisfacible y refutable en â&#x2C6;&#x192;xÎą es vĂĄlida en esa estructura.

1. Si

entonces

es satisfacible y refutable, y

3.

â&#x2C6;&#x192;x(Îą â&#x2C6;¨ β)  â&#x2C6;&#x192;Îą â&#x2C6;¨ β .

4.

â&#x2C6;&#x192;x(Îą â&#x2C6;§ β) â&#x2020;&#x2019; â&#x2C6;&#x192;xÎą â&#x2C6;§ â&#x2C6;&#x192;xβ

5. Si

x

no es libre en

Îą

x

es libre en

Îą

una estructura, y

entonces

â&#x2C6;&#x20AC;xÎą

x

es una variable libre

es una contradicciĂłn.

es universalmente vĂĄlida.

entonces

Îą â&#x2020;&#x2019; â&#x2C6;&#x20AC;xÎą

es universalmente vĂĄlida.

Ejercicio 33.

Sea Îą = â&#x2C6;&#x20AC;x(P (x, z) â&#x2020;&#x2019; â&#x2C6;&#x192;xâ&#x2C6;&#x20AC;zR(g(x, z), g(b, x))â&#x2C6;§Q(x)). Consideramos la estructura U = Z, b = 3, g(x, y) = 3x + 2y , P (x, y) â&#x2030;Ą x + y = 1, Q(x) â&#x2030;Ą x es primo, R(x, y) â&#x2030;Ą x + y es impar. Para la valoraciĂłn

Departamento de Ă lgebra


Tema 6. Lenguajes de primer orden

1.

v(x) = 2, v(z) = 3

2.

v(x) = 5, v(z) = 3

3.

v(x) = 5, v(z) = โˆ’3

4.

v(x) = 0, v(z) = 0

5.

v(x) = โˆ’3 v(z) = โˆ’4

la fรณrmula

Ejercicio 34.

ฮฑ

15

es cierta.

La siguiente implicaciรณn

1.

(โˆƒxยฌR(x, a) โ†’ P (f (b)))  (ยฌโˆƒxR(x, a) โ†’ P (f (b)))

2.

โˆƒxโˆ€y(P (x) โˆง R(x, y))  โˆƒxP (x) โˆง โˆƒxโˆ€yR(x, y))

3.

โˆ€xโˆƒy(P (x, a) โ†’ R(y, f (z)))  โˆƒyโˆ€x(P (x, a) โ†’ R(y, f (z)))

4.

โˆ€xQ(x, b) โˆจ โˆ€yR(y)  โˆ€x(Q(x, b) โˆจ R(y))

5.

โˆƒxP (x)  P (a)

es cierta.

Ejercicio 35.

La fรณrmula

โˆ€x(R(x, a) โˆง ยฌP (x)) โ†’ โˆƒy(Q(y, b) โˆง โˆƒzR(y, z))

1.

โˆ€xR(x, y) โˆง ยฌโˆƒyP (y) โ†’ โˆƒyQ(y, b) โˆจ โˆƒzโˆƒuR(z, u).

2.

โˆƒx(P (x) โˆจ ยฌR(x, a) โˆจ Q(x, b) โˆจ โˆƒzR(x, z)).

3.

โˆ€x(R(x, a) โˆง ยฌP (x) โ†’ โˆƒy(Q(y, b) โˆง โˆƒzR(y, z)))

4.

โˆƒy(โˆ€x(R(x, a) โˆง ยฌP (x)) โ†’ โˆƒy(Q(y, b) โˆจ โˆƒzR(y, z)))

5.

โˆ€x(R(x, a) โˆง ยฌP (x)) โ†’ โˆƒu(Q(u, b) โˆง โˆƒzR(y, z))

Departamento de รlgebra

es equivalente a:


TEMA

7

Formas normales

Ejercicio 1. Para las siguientes fórmulas calcula una forma normal prenexa, una forma normal de Skolem y una forma normal clausular. 1. ∀xS(x) → ∃z∀yR(z, y) 2. ∀x(R(x, y) ∧ ¬∀yR(x, y)) 3. ∀x[R(x, y) → ∀yS(x)] → [∃yS(y) → ∀zR(y, z)] 4. ∃x[R(x, y) ∨ ¬∀yS(x)] → [¬∃yS(y) ∧ ∀yS(y)] 5. ∃xR(x, y) ∨ [S(x) ∧ ¬∃zR(a, z)] 6. ∃x[S(x) → R(x, y)] → [∃y A(y) → ∀zB (y, z)] 7. ∀xR(x, y) ∧ [¬S(z) ∨ ¬∀zR(x, z)] 8. ∃x[R(x) → ¬∃yT (x, y)] ∧ ¬∃z[∀uP (u, z) → ∀vQ(v, z)] 9. ∀x[P (x) → (Q(x) ∨ ¬R(x))] ∧ ∃yQ(y) 10. ∀x(P (x) → Q(x)) → (∀yP (y) → ∀zQ(z)) 11. ∀xP (x) → ∃xQ(x) 12. ∀x∀y[∃z(P (x, z) ∧ P (y, z)) → ∃uQ(x, y, u)] 13. ∀x[P (x) ∧ ∀y(¬Q(x, y) → ∀zR(a, x, y))] 14. ∀x∀y[∃zP (z) ∧ ∃u(Q(x, u) → ∃vQ(y, v))] 15. ∃x∀y(∀x∀yR(a, x) → ¬∀z((¬R(z, y)) → ∀xS(g (x), z))) (Septiembre 2000) 16. ∃xR(x, f (x)) → ∃y∀xR(y, x) (Febrero 1999) 17. ¬∃x(P (x) ∧C (x)) (Diciembre 2004) 18. ∀x(P (x) → ¬V (x)) (Diciembre 2004) 19. ∃x[P (x) ∧ E (x) ∧ ∀y(S(x, y) ∧ P (y))] (Diciembre 2004) 20. ∀x[(E (x) ∧ ¬V (x)) → ∃y(S(x, y) ∧ C (y))] (Diciembre 2004) 21. ∀x(∃x(R(x) ∨ ∀yS(y, x)) → ∀y(S(y, x) ∨ ∀xR(y))) (Febrero 1999) ¡ ¢ 22. ∀z ∃y(∀xR(a, x) ∧ ∀yR(y, a) ∧ Q(y)) → (R(z, a) ∨ ∃zQ(z)) (Septiembre 2005) 23. ∀x(R(x) ∨ ¬∃x(P (x) → ∀yQ( f (y), x)) → ∃z(Q(z, a) ∨ ∀y(P ( f (y)) → Q(x, z)))) (Junio 2006) 24. ∀x[Q(x) → R(x, f (x))] → ∃y[Q(y) ∧ R(y, f (y))] 1


2

Lógica y métodos discretos

¡ ¢ Ejercicio 2. Dada la fórmula α = ∀x ¬P (x) ∨ ∀yR(y, a) → ∃z(P ( f (z)) ∧ ∀x¬R(x, z)) indica cuál de las siguientes fórmulas es una forma prenexa para α. 1. ∀x∃y∀u∃z((P (x) ∧ ¬R(y, a)) ∨ (P ( f (z)) ∧ ¬R(u, z))) 2. ∃y∀x∀z(¬P (x) ∨ R(y, a) → P ( f (y)) ∧ ¬R(z, y)) 3. ∃y∀z(∃x¬P (x) ∨ R(y, a) → P ( f (y)) ∧ ¬R(z, y)) 4. ∀x∃y∃z((P (x) ∧ ¬R(y, a)) ∨ (P ( f (z)) ∧ ¬R(x, z))) 5. ∀x∃y∃z∀u((P (x) ∧ ¬R(y, a)) ∨ (P ( f (z)) ∧ ¬R(u, z))) Ejercicio 3. Indica si cada una de las siguientes fórmulas está en forma prenexa, de Skolem y/o clausular. P 1. 2. 3. 4. 5.

S

C

∀x∃yP (x, y) → ¬R(a) ∀yQ(y, g (b)) ∧ ∀x∀y(P (x) ∨ ¬Q( f (x, z), y)) ∀x∀y(P (x, y) ∧ (¬R(y, y) ∨ (P (y, x) ∧ ¬Q(x)))) P (x) → ¬Q(x, a) ∀x(P (x) ∨ ¬R(x, a)) ∧ ∀x∀y(P ( f (x, y)) ∨ Q(a) ∨ ¬R(g (a), b))

Ejercicio 4. Cada una de las fórmulas siguientes transfórmala, si es posible, en forma clausular. 1. ∀x(P (x) → ∃yR(y)) 2. ∀x∀y(∃zP (z) ∧ ∃u(Q(x, u) → ∃vQ(y, v))) 3. ∃x(¬∃yP (y) → ∃z(Q(z) → R(x))) Ejercicio 5. Calcula forma prenexa, de Skolem y clausular de cada una de las siguienes fórmulas (de las que sea posible). La forma prenexa, debe ser calculada con el menor número posible de cuantificadores. 1. ∀xP (x) → Q(x, b) ∨ ∃yQ(y, y). 2. ∀x¬P ( f (x)) ∨ ∃xR(g (a, x)). 3. P (x) ↔ ∃xQ(x, g (a, x)). 4. ∃x∃y(P (g (x, a)) → ∀yQ(y, x)) ∧Q(y, x). 5. ¬∃x¬P (x) ∧ (∀yQ(a, b) ∨ ∃yP (y)). Ejercicio 6. Para cada una de las siguientes parejas de conjuntos de fórmulas, indica si las del segundo podrían ser las cláusulas resultantes de hacer la forma clausular del primero: 1.

X = {∀x∃y(P (x) → R(x, y)); ¬∀xQ(x, b); ∀x(P (x) ↔ ¬Q(x, a))} Y = {¬P (x) ∨ R(x, f (x)); ¬Q(a, b); ¬P (x) ∨ ¬Q(x, a); P (x) ∨ Q(x, a)}

2.

X = {∃x∀y(¬Q(x, b) → R(y, f (x))); ∀x¬R( f (x), x); ¬∃x∀y(Q(x, b) ∧ ¬R(b, y))} Y = {Q(a, b) ∨ R(y, f (a)); ¬R( f (y), y); ¬Q(x, b) ∨ R(b, g (x))}

3.

X = {∀x∃y(P (x) → ¬Q(y, b)); ∃x∀y∃z(¬R(x, f (y)) ∧Q(b, z)); ∀x∃yR( f (x), y)} Y = {¬P (x) ∨ ¬Q(a, b); ¬R(c, f (y)); Q(b, g (y)); R( f (x), h(x))}

4.

X = {¬Q( f (a), a); ∃xP (x) → P (a); ∀xP (x) ∧ ¬Q(a, x)} Y = {¬Q( f (a), a); ¬P (b) ∨ P (a); P (x); ¬Q(a, x)} Departamento de Álgebra


Tema 7. Formas normales

5.

X = {∀x(P (x) ∨ ¬Q(y, a)); ∀x∃yQ(y, x); ∃x∀z(Q(x) ∨ R(z))} Y = {P (x) ∨ ¬Q(y, a); Q( f (x), x); Q(b) ∨ R(z)}

¡ ¢ Ejercicio 7. Dada la fórmula α = ∀x ¬P (x) ∨ ∀yR(y, a) → ∃z(P ( f (z)) ∧ ∀x¬R(x, z)) indica cuál de las siguientes fórmulas es una forma prenexa para α. 1. ∀x∃y∀u∃z((P (x) ∧ ¬R(y, a)) ∨ (P ( f (z)) ∧ ¬R(u, z))) 2. ∃y∀x∀z(¬P (x) ∨ R(y, a) → P ( f (y)) ∧ ¬R(z, y)) 3. ∃y∀z(∃x¬P (x) ∨ R(y, a) → P ( f (y)) ∧ ¬R(z, y)) 4. ∀x∃y∃z((P (x) ∧ ¬R(y, a)) ∨ (P ( f (z)) ∧ ¬R(x, z))) 5. ∀x∃y∃z∀u((P (x) ∧ ¬R(y, a)) ∨ (P ( f (z)) ∧ ¬R(u, z)))

Departamento de Álgebra

3


EXAMENES

Curso: 2011/2012 Clase: Primero - Grupo: B



Lógica y Métodos Discretos