Logica Esc 5
Logica Esc 5
Logica Esc 5
Lectura Fundamental
La noción de predicado y
cuantificador
Contenido
3 El cálculo de predicados
Referencias
Palabras clave: Predicados, cuantificadores lógicos, tipos, variables libres, variables ligadas, sustitución textual
Introducción
Hasta este punto del módulo se han desarrollado las herramientas necesarias para estudiar si un argumento es
válido. Por ejemplo, al simbolizar el argumento: Si hoy es lunes entonces hoy voy a la escuela. Hoy no voy a la
escuela, por lo tanto, hoy no es lunes, se obtiene la expresión ((P → Q) ∧ ¬Q) → ¬P que es un teorema del cálculo
proposicional y con lo cual se demuestra que el argumento es válido.
Pero el sistema no es suficiente para estudiar otro tipo de situaciones, como: Para todo número natural, si el
número es divisible por 6 entonces es divisible por 3. El número 258 es un número natural divisible por 6, por lo
tanto es divisible por 3. Si se simboliza en el cálculo proposicional se obtiene la expresión P ∧ Q → R, donde P :
Para todo número natural, si el número es divisible por 6 entonces es divisible por 3, Q : El número 258 es un
número natural divisible por 6 y R : El número 258 es un número natural divisible por 3, que no es un teorema
del sistema. Pero claramente el argumento es correcto.
En esta lectura extendemos el cálculo proposicional e introducimos las nociones de predicado y cuantificador,
necesarias para aumentar el poder de expresión del sistema. Se construye un nuevo sistema formal para manipular
las nuevas fórmulas que se conoce como el cálculo de predicados. Se definen nuevos axiomas y por lo tanto se
derivan nuevos teoremas. Los esquema de demostración hasta ahora empleados se extienden al nuevo sistema.
1.1. Predicados
Observe la siguiente proposición: Para todo número entero x, x2 ≥ 0, al mirar con detalle su interpretación se
nota que esta indica que una propiedad o predicado (x2 ≥ 0) se cumple para todos (cuantificador) los números
enteros (dominio de discurso). En el caso de la proposición: Algunos seres humanos le gustas viajar y aprender
nuevos idiomas existen dos predicados: a un ser humano le gusta viajar, a un ser humano le gusta aprender nuevos
idiomas; el dominio de discurso es el conjunto de los seres humanos y el cuantificador es la palabra “algunos”.
Estas proposiciones si se representan a través de las expresiones booleanas de los escenarios anteriores, pierden su
estructura semántica, dado que solo corresponderı́a a expresiones como P o Q.
De manera más formal se puede indicar que un predicado es una función de valor booleano1 cuyos argumentos son
expresiones no booleanas y se denominan términos (Gries y Schneider, 1993). Algunos ejemplos de predicados
son:
1. R(x) : x2 ≥ 0
3. M (x, y) : x < y
1
Se recuerda que una función es de valor booleano si al aplicarla sobre sus argumentos retorna una valor booleano (true, false).
1
4. I(y + z, x − 1) : y + z = x − 1
El estudiante puede notar que cada una de las funciones anteriores evaluada retorna un valor booelano. Por
ejemplo, M (13, 6) es false.
Una expresión como x > 7 ∨ x2 − 1 = 6 está compuesta de dos predicados: x > 7 y x2 − 1 = 6. Con lo cual para
establecer su valor de verdad en un valor concreto de x es necesario conocer el valor de verdad de cada predicado
y utilizar la tabla de verdad del operador disyunción.
Una forma de reconocer predicados es buscar en las proposiciones expresiones que indiquen una propiedad o
relación de sus términos (expresiones no booelanas).
Ejemplo 1. En la proposición: Para todo número real positivo x, existe un número real positivo y tal que y ∗ y = x
existen dos predicados:
2. I(y, x) : y ∗ y = x
Se resalta que el predicado “y es un real positivo” corresponde al predicado P (x) pero evaluado en la variable y.
Ejemplo 2. En la proposición: No existe un número racional w tal que w ∗ w = 2 existe un predicado C(w) :
w∗w =2
Ejemplo 3. En la proposición: Existe un humano que no le gusta saltar en paracaı́das existe un predicado P (x) : x
le gusta saltar en paracaı́das.
En este ejemplo se asume que la variable x toma valores en el conjunto de los seres humanos.
Una expresión construida con predicados y operadores booleanos (de forma coherente) se llama una fórmula
del cálculo de predicados. Por ejemplo,
1. x2 ≥ 0 ∨ x > 1
3. x < y → x + 1 < y + 1
4. y ∗ x = 1 ≡ y ∗ x = 1
1.2. Tipos
Otro de los elementos que se destacó de las proposiciones analizadas hasta ahora es la existencia de un dominio
de discurso, que corresponde al conjunto de valores que pueden tomar las variables de un predicado. Por ejemplo,
en la proposición: Existe un número real x tal que x ∗ x = 5, se tiene que el predicado es C(x) : x ∗ x = 5 y el
dominio sobre el cual se evalúa el predicado es el conjunto de los números reales R.
Para denotar que una variable z puede tomar valores de un tipo T se utiliza la siguiente escritura:
z:T
2
Con lo cual, una forma de indicar en el ejemplo anterior que la variable x toma valores en el conjunto de los reales
seria
C(x : real) : x ∗ x = 5
Ejemplo 4. Observe la siguiente proposición: El cuadrado de un número par es un número par. El predicado es
P (x) : x es par y el dominio de la variable es el conjunto de los números enteros (dado que la noción de ser par,
solo tiene sentido en ese conjunto). Con lo cual una forma de indicar el tipo de la variable del predicado es:
P (x : int) : x es par
También se puede indicar el tipo de una función f , el cual señala su dominio y su codominio. Por ejemplo,
(x : int + y : nat) : int indica que esta (función) suma se realiza entre un número de tipo entero y un número de
tipo natural y que el resultado es de tipo entero. Por lo tanto, el tipo de esta función suma se denota como:
Introducir el tipo de una variable o función obliga a construir expresiones que sean coherentes, es decir,
expresiones donde los tipos sean compatibles. Por ejemplo, no se espera que una función como (x : int + y :
bool) : int esté correcta, dado que la suma no está definida entre valores enteros y booleanos.
Si el tipo de una variable, constante o función se puede determinar del contexto entonces en la fórmula no se hará
explı́cito el tipo de cada término.
1.3. Cuantificadores
Un cuantificador corresponde a las expresiones de una proposición que indican sobre “cuantos” elementos del
dominio de discurso se espera que el predicado sea verdadero.
Ejemplo 5. En la proposición: No existe un número racional w tal que w ∗ w = 2 el cuantificador es: Existe.
Ejemplo 6. En la proposición: Para todo número real positivo x, existe un número real positivo y tal que y ∗ y = x
existen dos cuantificadores: Para todo y existe.
En ambos ejemplos el cuantificador expresa el alcance que tiene el predicado sobre los elementos que pueden llegar
a tomar las variables.
3
Ejemplo 7. En la proposición: Algún paı́s de suramerica tiene la mayor riqueza de fauna el predicado en la
proposición corresponde a F (x) : x tiene la mayor riqueza de fauna, el tipo de la variable x corresponde al
conjunto de los paı́ses suramericanos y el cuantificador es la palabra “algún”.
Para representar los cuantificadores se usan los sı́mbolos ∀ (para todo) y ∃ (existe). Y para representar una
proposición cuantificada se usa la siguiente estructura:
(?x : t |: P )
donde ? es un sı́mbolo de cuantificador, x una variable, t un tipo y P es una fórmula del cálculo de predicados.
Ejemplo 8. La proposición: Para todo número real, si x es positivo entonces x + 1 es un número positivo, se
representa de la forma:
(∀x : real |: x > 0 → x + 1 > 0)
(∃y : int |: y + 3 = 0)
Ejemplo 10. La proposición: El cuadrado de un número entero par es par, se puede representar ası́:
En este último ejemplo, el cuantificador no está presente de forma explı́cita pero al interpretar la proposición se
nota que este corresponde al cuantificador “para todo”.
Ejemplo 11. La proposición: Algún dı́a seré millonario, se puede representar ası́:
De aquı́ en adelante, cuando se haga referencia a una fórmula (del cálculo de predicados) se entenderá que
es una expresión booleana que fue construida a partir de predicados, operadores booleanos y expresiones
cuantificadas.
4
2. Variables libres y ligadas
Para definir en el cálculo de predicados la operación de sustitución textual E[p := F ] es necesario establecer una
distinción entre las variables cuantificadas y no cuantificadas de una fórmula.
Definición 1. Una variable w se dice que aparece (o está) ligada en la expresión E si E contiene una
subexpresión de la forma (?w : t |: P ) (con ? igual a ∀ o ∃).
Ejemplo 14. Sea E : k > 0 → (∃z |: z 6= 0 ∧ z ∗ z = k) entonces una variable ligada en E es la variable z, dado
que corresponde a la variable del cuantificador ∃z
Ejemplo 15. Sea E : (∀r |: exp(r) > 0) ∨ (∃k |: k ∗ k = r) entonces las variables ligadas son r y k dado que son
las variables de los cuantificadores que aparecen en E
Definición 2. Una variable w se dice que aparece (o está) libre en la expresión E si E contiene una subex-
presión donde w no está ligada.
Ejemplo 16. Sea E : k > 0 → (∃z |: z 6= 0 ∧ z ∗ z = k) entonces una variable libre en E es la variable k, dado que
esta aparece en la subexpresión k > 0 donde no está ligada.
Ejemplo 17. Sea E : (∃k |: k ∗ k = r) entonces la variable libre es r, dado que aparece en la subexpresión k ∗ k = r
y no está ligada al cuantificador.
El siguiente ejemplo demuestra que los conceptos de variable libre y variable ligada no son excluyentes.
• Las variables ligadas en E son x, y, dado que son las variables de los cuantificadores que aparecen en E.
• Las variables libres en E son x, y, z dado que existen subexpresiones en E donde estas variables no están
ligadas. Por ejemplo, x y z aparecen libres en la expresión (∃y |: y < x ∗ z).
Aunque en principio esto parece contradictorio más adelante se brindará un mecanismo para evitar esta situación.
Para definir la operación E[x := F ] sobre fórmulas, es necesario establecer algunas condiciones:
• Si E es una expresión cuantificada de la forma (?w |: P ) entonces w no puede ser una variable libre en F y
debe ser distinta a x.
Definición 3. Sean E : (?w |: P ) una fórmula cuantificada, x una variable y F una fórmula en las condiciones
descritas anteriormente entonces:
E[x := F ] = (?w |: P [x := F ])
5
Ejemplo 19. Sea E : (∀x : int |: x ∗ y > 2), F el término z ∗ z entonces
Ejemplo 20.
(∃z |: z + z = y + 1)[y := y + 1] = (∃z |: z + z = (y + 1) + 1)
Ejemplo 21.
(∃r |: r ∗ r = 0 ≡ A)[A := (x > 0)] = (∃r |: r ∗ r = 0 ≡ x > 0)
En este ejemplo, se asume que A es una expresión booelana y r no aparece libre en A.
Para el caso en que E no es un fórmula cuantificada, E[p := F ] se realiza como se definió en el escenario 2.
3. El cálculo de predicados
Con el objetivo de construir un sistema formal con las fórmulas del cálculo de predicados para derivar afirmaciones
válidas, igual que se hizo con el cálculo proposicional, es necesario introducir axiomas y definir las reglas de
derivación del sistema.
En el cálculo de predicados se mantienen las reglas de derivación del cálculo proposicional, es decir, la regla de
Leibniz, transitividad y subtitución solo que ahora se aplican a fórmulas del cálculo de predicados. Por ejemplo,
en una fórmula cuantificada la regla de Leibniz corresponde a:
A≡B
(?w |: P [q := A]) ≡ (?w |: P [q := B])
Los axiomas del sistema formal corresponden a los siguientes (Bohórquez, 2012):
6
En los axiomas anteriores el estudiante debe tener presente que P representa una fórmula del cálculo de predicados
y se dice que un término t es libre para remplazar x en P si ninguna variable libre de t queda ligada cuando se
sustituye x por t en P .
En los axiomas (7) y (8) s, t y r son términos del mismo tipo, x una variable y P una fórmula del cálculo de
predicados.
Debido al axioma (1), y que las reglas de inferencia de este nuevo sistema son las mismas del cálculo proposicional,
se tiene que todos los teoremas desarrollados en los escenarios anteriores son válidos en el cálculo de predicados.
A continuación se definen nuevas fórmulas del cálculo de predicados. En primera instancia se considera una fórmula
del cálculo de predicados una expresión de la forma:
(?w | P : Q)
y se lee de la siguiente manera: “para todo número real x tal que x > 0 se cumple que x + 1 > 0”. Como puede
notarse de la lectura de esta expresión, la fórmula P cumple el rol de establecer una condición (o rango) sobre los
valores de la variable x en los cuales se verifica Q.
Otra expresión en el cálculo de predicados será:
(?x : t, y : s |: Q)
Se dirá que una expresión cuantificada de la forma (?w | P : Q) tiene rango no vacı́o si (∃w |: P ) es un teorema
del sistema.
7
3.3. Primeros teoremas
A continuación se presentan los primeros teoremas del sistema formal del cálculo de predicados, recuerde que los
métodos de demostración del cálculo proposicional son válidos en este sistema.
Demostración.
(∀x |: (∀ |: P ))
≡ hAxioma anidamiento: (9)i
(∀x, x |: P )
≡ hVariable repetida en el cuantificadori
(∀x |: P )
Demostración.
(∀x |: true)
≡ hAxioma término constante: (4)i
true
Demostración.
8
Demostración. Implicación mutua:
⇒:
P ∨ (∀x |: Q) → (∀x |: P ∨ Q)
≡ hAxioma definición de la implicación i
(P ∨ (∀x |: Q)) ∧ (∀x |: P ∨ Q) ≡ (P ∨ (∀x |: Q))
≡ hDistributiva de ∧ sobre ∨i
(P ∧ (∀x |: P ∨ Q)) ∨ ((∀x |: Q) ∧ (∀x |: P ∨ Q)) ≡ (P ∨ (∀x |: Q))
≡ hAxioma del término constante: (4)i
((∀x |: P ) ∧ (∀x |: P ∨ Q)) ∨ ((∀x |: Q) ∧ (∀x |: P ∨ Q)) ≡ ((∀x |: P ) ∨ (∀x |: Q))
≡ hAxioma conjunción: (5)i
(∀x |: P ∧ (P ∨ Q)) ∨ (∀x |: Q ∧ (P ∨ Q)) ≡ ((∀x |: P ) ∨ (∀x |: Q))
≡ hAbsorción: A ∧ (B ∨ A) ≡ Ai
(∀x |: P ) ∨ (∀x |: Q) ≡ (∀x |: P ) ∨ (∀x |: Q)
⇐:
(∀x |: P ∨ Q)
≡ hTeorema definición de la implicación i
(∀x |: ¬P → Q)
⇒ hMonotonı́a ∀ sobre →: Teorema4i
(∀x |: ¬P ) → (∀x |:→ Q)
≡ hAxioma del término constante: (4)i
¬P → (∀x |:→ Q)
≡ hTeorema definición de la implicacióni
P ∨ (∀x |:→ Q)
9
Ejercicios
Los siguientes ejercicios tienen como objetivo que el estudiante afiance los conceptos presentados en la lectura, no
se deben entregar al tutor del módulo.
1. Simbolice en el cálculo de predicados, la proposición “Para todo número real positivo x existe un número
entero y tal que y1 < x.
3. Simbolice de la forma (?w | P : Q) la proposición “Para todo número real x tal que 0 < x < 1 se tiene que
x100 < 1
10
Referencias
Bohórquez, J. A. (2012). Lógica y matemáticas discretas en la informática. el estilo calculatorio. Escuela Colom-
biana de Ingenierı́a Julio Garavito.
Goldstern, M., y Judah, H. (1995). The incompleteness phenomenon: a new course in mathematical logic. A K
Peters.
Gries, D., y Schneider, F. B. (1993). A logical approach to discrete math. Berlin, Heidelberg: Springer-Verlag.
Hofstadter, D. (1979). Gödel, escher, bach: An eternal golden braid. Vintage Books.
Hrbacek, K., y Jech, T. (1999). Introduction to set theory, third edition, revised and expanded. Taylor & Francis.
Recuperado de https://books.google.com.co/books?id=Er1r0n7VoSEC
Huth, M., y Ryan, M. (2004). Logic in computer science: Modelling and reasoning about systems. New York, NY,
USA: Cambridge University Press.
11
INFORMACIÓN TÉCNICA
12