1. L´ogica de Primer Orden
IIC2213
IIC2213 – L´ogica de Primer Orden 1 / 60
2. L´ogica de primer orden
Dos de los objetivos de la l´ogica proposicional:
◮ Poder modelar el proceso de razonamiento.
◮ Poder formalizar la noci´on de demostraci´on.
¿Podemos expresar el siguiente argumento en l´ogica proposicional?
Todos los hombres son mortales.
S´ocrates es hombre.
Por lo tanto, S´ocrates es mortal.
¿Podemos demostrar que para el conjunto de los n´umeros
naturales es cierto que todo n´umero es par o impar?
IIC2213 – L´ogica de Primer Orden 2 / 60
3. L´ogica de primer orden
El poder expresivo de la l´ogica proposicional es limitado.
◮ ¿Por qu´e usamos esta l´ogica?
Vamos a introducir una l´ogica m´as expresiva.
◮ Tiene algunas de las buenas propiedades de la l´ogica
proposicional, pero no todas.
Para expresar el argumento mostrado al principio necesitamos
cuantificadores: para todo y existe.
IIC2213 – L´ogica de Primer Orden 3 / 60
4. L´ogica de primer orden: Vocabulario
Una f´ormula en l´ogica de primer orden est´a definida sobre algunas
constantes, funciones y predicados.
Notaci´on
Un vocabulario L es la uni´on de tres conjuntos:
constantes : {c1, . . . , cℓ, . . .},
funciones : {f1, . . . , fm, . . .},
relaciones : {R1, . . . , Rn, . . .}.
Notaci´on
La aridad de una funci´on f (relaci´on R) es el n´umero de
argumentos de f (de R).
◮ Cada funci´on tiene una aridad mayor a 0.
◮ Cada relaci´on tiene una aridad mayor o igual a 0.
IIC2213 – L´ogica de Primer Orden 4 / 60
5. L´ogica de primer orden: Vocabulario
Ejemplo
Para los n´umeros naturales L es la uni´on de
constantes : {0, 1},
funciones : {s, +, ·},
relaciones : {<}.
s es una funci´on unaria, + y · son funciones binarias y < es una
relaci´on binaria.
IIC2213 – L´ogica de Primer Orden 5 / 60
6. L´ogica de primer orden: Sintaxis
Las f´ormulas de la l´ogica de primer orden se construyen usando:
◮ Conectivos l´ogicos: ¬, ∨, ∧, → y ↔.
◮ Par´entesis: ( y ).
◮ Relaci´on binaria =.
◮ Variables.
◮ Cuantificadores: ∀ y ∃.
Veamos algunos ejemplos, antes de introducir formalmente la
sintaxis de la l´ogica de primer orden.
IIC2213 – L´ogica de Primer Orden 6 / 60
7. Sintaxis de la l´ogica de primer orden: Ejemplos
Ejemplo
Sea L = {0, 1, s, +, ·, <}.
◮ 1 = s(0).
Para la igualdad usamos notaci´on infija: No escribimos
= (1, s(0)).
◮ ∀x x < s(x).
Usamos notaci´on infija para funciones y relaciones comunes.
◮ ∀x∃y x = y + y.
◮ ∀x∀y(s(x) = s(y) → x = y).
IIC2213 – L´ogica de Primer Orden 7 / 60
8. Sintaxis de la l´ogica de primer orden: T´erminos
Desde ahora en adelante: Suponemos dada una lista infinita de
variables.
Definici´on
El conjunto de L-t´erminos es el menor conjunto que satisface las
siguientes condiciones:
◮ Cada constante c en L es un L-t´ermino.
◮ Cada variable x es un L-t´ermino.
◮ Si t1, . . ., tn son L-t´erminos y f es una funci´on n-aria en L,
entonces f (t1, . . . , tn) es un L-t´ermino.
Ejemplos
0, s(s(s(1))) y s(0) · s(x)
IIC2213 – L´ogica de Primer Orden 8 / 60
9. Sintaxis de la l´ogica de primer orden: F´ormulas
Definici´on
El conjunto de L-f´ormulas es el menor conjunto que satisface las
siguientes condiciones:
◮ Si t1 y t2 son L-t´erminos, entonces t1 = t2 es una L-f´ormula.
◮ Si t1, . . ., tn son L-t´erminos y R es una relaci´on n-aria en L,
entonces R(t1, . . . , tn) es una L-f´ormula.
◮ Si ϕ y ψ son L-f´ormulas, entonces (¬ϕ), (ϕ ∨ ψ), (ϕ ∧ ψ),
(ϕ → ψ) y (ϕ ↔ ψ) son L-f´ormulas.
◮ Si ϕ es una L-f´ormula y x es una variable, entonces (∃x ϕ) y
(∀x ϕ) son L-f´ormulas.
Notaci´on
t1 = t2 y R(t1, . . . , tn) son llamadas f´ormulas at´omicas.
IIC2213 – L´ogica de Primer Orden 9 / 60
10. L´ogica de primer orden: Sem´antica
Notaci´on
Omitimos par´entesis si no se produce una ambig¨uedad.
¿Es ∀x∃y x = y + y cierta en L = {0, 1, s, +, ·, <}?
◮ Si pensamos en los n´umeros naturales es falsa.
◮ Pero L tambi´en puede usarse como vocabulario para los
n´umeros reales, y en este conjunto la f´ormula es cierta.
El valor de verdad de una f´ormula depende de la interpretaci´on
que se da a las constantes, funciones y relaciones.
◮ Tenemos que introducir la noci´on de estructura.
IIC2213 – L´ogica de Primer Orden 10 / 60
11. Sem´antica de la l´ogica de primer orden: Estructuras
Una L-estructura interpreta todos los componentes de L en un
dominio.
Definici´on
Una L-estructura A contiene:
◮ Un dominio A no vac´ıo.
◮ Para cada constante c ∈ L, una interpretaci´on cA ∈ A de c.
◮ Para cada funci´on m-aria f ∈ L, una interpretaci´on
f A : Am → A de f .
◮ Para cada relaci´on n-aria R ∈ L, una interpretaci´on RA ⊆ An
de R.
Notaci´on
A = A, cA, . . . , f A, . . . , RA, . . .
IIC2213 – L´ogica de Primer Orden 11 / 60
12. Algunos ejemplos de estructuras
Ejemplo
Para representar grafos usamos un vocabulario L = {E}. Por
ejemplo, el siguiente grafo:
4
1 2
3
es representado por la estructura A = A, EA , donde:
A = {1, 2, 3, 4},
EA
= {(1, 2), (1, 3), (3, 2), (4, 1), (4, 2)}.
IIC2213 – L´ogica de Primer Orden 12 / 60
13. Algunos ejemplos de estructuras
Ejemplo
Los n´umeros naturales son representados por la estructura:
N = N, 0N
, 1N
, sN
, +N
, ·N
, <N
.
Los n´umeros reales son representados por la estructura:
R = R, 0R
, 1R
, sR
, +R
, ·R
, <R
.
Ahora podemos decir que N no satisface ∀x∃y x = y + y y que R
si satisface esta f´ormula.
IIC2213 – L´ogica de Primer Orden 13 / 60
14. Sem´antica de la l´ogica de primer orden: Variables libres
Necesitamos introducir la noci´on de variable libre.
El conjunto de variables de un L-t´ermino t se define como:
◮ Si t es una constante, entonces V (t) = ∅.
◮ Si t = x es una variable, entonces V (t) = {x}.
◮ Si t = f (t1, . . . , tn), entonces V (t) = V (t1) ∪ · · · ∪ V (tn).
Ejemplo
V (f (g(x, y), s(0))) = V (g(x, y)) ∪ V (s(0))
= V (x) ∪ V (y) ∪ V (0)
= {x} ∪ {y} ∪ ∅
= {x, y}
IIC2213 – L´ogica de Primer Orden 14 / 60
15. Sem´antica de la l´ogica de primer orden: Variables libres
El conjunto de variables de una L-f´ormula ϕ se define como:
◮ Si ϕ = t1 = t2, entonces V (ϕ) = V (t1) ∪ V (t2).
◮ Si ϕ = R(t1, . . . , tn), entonces V (ϕ) = V (t1) ∪ · · · ∪ V (tn).
◮ Si ϕ = (¬ψ), entonces V (ϕ) = V (ψ).
◮ Si ϕ = (ψ ⋆ θ) (⋆ ∈ {∨, ∧, →, ↔}), entonces
V (ϕ) = V (ψ) ∪ V (θ).
◮ Si ϕ = (∃x ψ) o ϕ = (∀x ψ), entonces V (ϕ) = {x} ∪ V (ψ).
Ejemplo
V ((∃x P(x)) ∨ (∀y Q(s(y)))) = V (∃x P(x)) ∪ V (∀y Q(s(y)))
= ({x} ∪ V (P(x))) ∪ V (Q(s(y)))
= ({x} ∪ V (x)) ∪ V (s(y))
= {x, y}
IIC2213 – L´ogica de Primer Orden 15 / 60
16. Sem´antica de la l´ogica de primer orden: Variables libres
Definici´on
El conjunto de variables libres de una L-f´ormula ϕ se define como:
◮ Si ϕ es una f´ormula at´omica, entonces VL(ϕ) = V (ϕ).
◮ Si ϕ = (¬ψ), entonces VL(ϕ) = VL(ψ).
◮ Si ϕ = (ψ ⋆ θ) (⋆ ∈ {∨, ∧, →, ↔}), entonces
VL(ϕ) = VL(ψ) ∪ VL(θ).
◮ Si ϕ = (∃x ψ) o ϕ = (∀x ψ), entonces VL(ϕ) = VL(ψ) {x}.
Variable libre: No aparece cuantificada.
IIC2213 – L´ogica de Primer Orden 16 / 60
17. Sem´antica de la l´ogica de primer orden: Variables libres
Ejemplo
VL(P(x) ∧ ∃y Q(x, y)) = {x},
VL(P(z) ∧ ∃z R(z)) = {z}.
Notaci´on
◮ Si ϕ es una f´ormula, entonces usamos ϕ(x1, . . . , xk) para
indicar que VL(ϕ) = {x1, . . . , xk}.
◮ Decimos que ϕ es una oraci´on si VL(ϕ) = ∅.
IIC2213 – L´ogica de Primer Orden 17 / 60
18. Sem´antica de la l´ogica de primer orden: Definici´on
Si una f´ormula contiene variables libres, entonces no podemos
decir directamente que es verdadera o falsa en una estructura.
◮ ¿Es x < s(0) cierta en N?
El valor de verdad de una f´ormula con variables libres depende de
los valores dados a estas variables.
◮ Si x es 0, entonces x < s(0) es cierta en N. Pero si x es 1,
entonces es falsa.
IIC2213 – L´ogica de Primer Orden 18 / 60
19. Sem´antica de la l´ogica de primer orden: Definici´on
Dada una estructura A con dominio A, una asignaci´on σ es una
funci´on que asigna a cada variable un valor en A.
Extendemos σ para dar valores a los t´erminos:
◮ Si t = c es una constante, entonces ˆσ(t) = cA.
◮ Si t = x es una variable, entonces ˆσ(t) = σ(x).
◮ Si t = f (t1, . . . , tn), entonces ˆσ(t) = f A(ˆσ(t1), . . . , ˆσ(tn)).
IIC2213 – L´ogica de Primer Orden 19 / 60
20. Sem´antica de la l´ogica de primer orden: Definici´on
Ejemplo
Si σ(x) = 7 es una asignaci´on para N, entonces
ˆσ(s(1) · s(x)) = ˆσ(s(1)) ·N
ˆσ(s(x))
= sN
(ˆσ(1)) ·N
sN
(ˆσ(x))
= sN
(1N
) ·N
sN
(σ(x))
= 2 ·N
sN
(7)
= 2 ·N
8
= 16
Por simplicidad, usamos σ en lugar de ˆσ.
IIC2213 – L´ogica de Primer Orden 20 / 60
21. Sem´antica de la l´ogica de primer orden: Definici´on
Vamos a definir la sem´antica de la l´ogica de primer orden.
Dado: Un vocabulario L, una L-estructura A con dominio A y una
asignaci´on σ para A.
Definici´on
Decimos que (A, σ) satisface una L-f´ormula ϕ, denotado como
(A, σ) |= ϕ, si y s´olo si:
◮ ϕ = t1 = t2 y σ(t1) = σ(t2).
◮ ϕ = R(t1, . . . , tn) y (σ(t1), . . . , σ(tn)) ∈ RA.
◮ ϕ = (¬ψ) y (A, σ) |= ψ.
◮ ϕ = (ψ ∨ θ) y (A, σ) |= ψ o (A, σ) |= θ.
IIC2213 – L´ogica de Primer Orden 21 / 60
22. Sem´antica de la l´ogica de primer orden: Definici´on
◮ ϕ = (ψ ∧ θ), (A, σ) |= ψ y (A, σ) |= θ.
◮ ϕ = (ψ → θ) y (A, σ) |= ψ o (A, σ) |= θ.
◮ ϕ = (ψ ↔ θ) y ambos (A, σ) |= ψ, (A, σ) |= θ o ambos
(A, σ) |= ψ, (A, σ) |= θ.
◮ ϕ = (∃x ψ) y existe a ∈ A tal que (A, σ[x/a]) |= ψ, donde
σ[x/a](y) =
a y = x,
σ(y) y = x.
◮ ϕ = (∀x ψ) y para todo a ∈ A se tiene que
(A, σ[x/a]) |= ψ.
Nota: Si ϕ es una oraci´on, podemos decir que A |= ϕ.
IIC2213 – L´ogica de Primer Orden 22 / 60
23. Sem´antica de la l´ogica de primer orden: Ejemplos
Ejemplo
Sea A = A, EA , donde A = {1, 2, 3, 4} y EA = {(1, 2), (1, 3),
(3, 2), (4, 1), (4, 2)}.
◮ ¿Cu´ales de las siguientes f´ormulas son ciertas en A:
∃x∀y E(x, y), ∀x∃y E(x, y), ∃x∀y ¬E(x, y), ∀x∃y ¬E(x, y)?
Ejercicios
1. Sea f una funci´on unaria y L = {f }. Construya una estructura
finita que satisfaga ϕ = ∀x∀y (f (x) = f (y) → x = y).
2. Sean L y ϕ como en el ejercicio anterior. Construya una
estructura que satisfaga ψ = ϕ ∧ ∃x∀y f (y) = x. ¿Existe una
estructura finita que satisfaga ψ?
IIC2213 – L´ogica de Primer Orden 23 / 60
24. Dos nociones ´utiles
Decimos que una L-f´ormula ϕ es satisfacible si existe una
L-estructura A y una asignaci´on σ para A tal que (A, σ) |= ϕ.
◮ Si ϕ es oraci´on, entonces ϕ es satisfacible si existe A tal que
A |= ϕ.
Decimos que una L-f´ormula ϕ es v´alida si para toda L-estructura
A y toda asignaci´on σ para A se tiene que (A, σ) |= ϕ.
◮ Si ϕ es oraci´on, entonces ϕ es v´alida si para todo A se tiene
que A |= ϕ.
Ejercicio
Construya una f´ormula v´alida.
IIC2213 – L´ogica de Primer Orden 24 / 60
25. Dos nociones ´utiles
Al igual que en la l´ogica proposicional, la l´ogica de primer orden
tiene asociados algunos problemas de decisi´on:
SAT = {ϕ | ϕ es una oraci´on satisfacible},
VAL = {ϕ | ϕ es una oraci´on v´alida}.
¿Son estos problemas m´as dif´ıciles que para el caso de la l´ogica
proposicional?
◮ ¿C´omo se demuestra que son al menos tan dif´ıciles?
Vamos a mostrar una primera diferencia entre estas dos l´ogicas ...
IIC2213 – L´ogica de Primer Orden 25 / 60
26. La complejidad de VAL
Teorema (Church)
VAL es indecidible.
Demostraci´on: Vamos a reducir el siguiente problema a VAL:
L = {w ∈ {0, 1}∗
| existe una MT determinista M
tal que w = C(M) y M acepta ε}.
¿Por qu´e es este problema indecidible?
IIC2213 – L´ogica de Primer Orden 26 / 60
27. La complejidad de VAL
Para cada MT M determinista, tenemos que construir una f´ormula
ϕM tal que:
M acepta ε si y s´olo si ϕM es v´alida.
Suponemos que M = (Q, {0, 1}, q0, δ, F), donde
◮ Q = {q0, . . . , qm},
◮ F = {qm},
◮ no existe una transici´on en δ para qm.
IIC2213 – L´ogica de Primer Orden 27 / 60
28. La complejidad de VAL
Definimos un vocabulario L de la siguiente forma:
P(t) : t es el tiempo de partida de la m´aquina.
C(t, p) : M tiene un 0 en la posici´on p de la cinta en el
tiempo t.
U(t, p) : M tiene un 1 en la posici´on p de la cinta en el
tiempo t.
B(t, p) : M tiene un B en la posici´on p de la cinta en el
tiempo t.
Ei (t) : estado de M es qi (i ∈ [0, m]) en el tiempo t.
T(t, p) : la cabeza est´a en la posici´on p en el tiempo t.
L(x, y) : orden lineal en el dominio.
ϕM es definida como (ϕP ∧ ϕL ∧ ϕI ∧ ϕC ∧ ϕδ) → ϕA.
IIC2213 – L´ogica de Primer Orden 28 / 60
29. La complejidad de VAL
ϕP: Hay un ´unico punto de partida.
∃x(P(x) ∧ ∀y(x = y → ¬P(y))).
ϕL: L es un orden lineal donde cada elemento tiene un sucesor y un
predecesor.
∀x ¬L(x, x) ∧ ∀x∀y∀z ((L(x, y) ∧ L(y, z)) → L(x, z)) ∧
∀x∀y (x = y ∨ L(x, y) ∨ L(y, x)) ∧
∀x∃y (L(x, y) ∧ ¬∃z (L(x, z) ∧ L(z, y))) ∧
∀x∃y (L(y, x) ∧ ¬∃z (L(y, z) ∧ L(z, x))).
IIC2213 – L´ogica de Primer Orden 29 / 60
30. La complejidad de VAL
Usamos orden lineal L para definir un predicado auxiliar:
suc(x, y) = L(x, y) ∧ ¬∃z (L(x, z) ∧ L(z, y)).
ϕI : Estado inicial.
∀x (P(x) → (E0(x) ∧ T(x, x) ∧ ∀y B(x, y))).
IIC2213 – L´ogica de Primer Orden 30 / 60
31. La complejidad de VAL
ϕC : La m´aquina funciona correctamente.
ϕC se define como la conjunci´on de cuatro f´ormulas. Primero,
cada celda siempre contiene un ´unico s´ımbolo:
∀x∀y ((C(x, y) ∧ ¬U(x, y) ∧ ¬B(x, y)) ∨
(U(x, y) ∧ ¬C(x, y) ∧ ¬B(x, y)) ∨
(B(x, y) ∧ ¬C(x, y) ∧ ¬U(x, y))).
IIC2213 – L´ogica de Primer Orden 31 / 60
32. La complejidad de VAL
Segundo, la m´aquina siempre est´a en un ´unico estado:
∀x
m
i=0
Ei (x) ∧
j∈[0,m]{i}
¬Ej (x) .
Tercero, la cabeza siempre est´a en una ´unica posici´on:
∀x∃y (T(x, y) ∧ ∀z (y = z → ¬T(x, z))).
IIC2213 – L´ogica de Primer Orden 32 / 60
33. La complejidad de VAL
Cuarto, el contenido de una celda no cambia si no es apuntada por
la cabeza:
∀x∀y∀z ((¬T(x, y) ∧ suc(x, z)) → ((C(x, y) ∧ C(z, y)) ∨
(U(x, y) ∧ U(z, y)) ∨ (B(x, y) ∧ B(z, y)))).
IIC2213 – L´ogica de Primer Orden 33 / 60
34. La complejidad de VAL
ϕδ: funci´on δ define como funciona la m´aquina.
Para cada transici´on en δ se define una f´ormula, y ϕδ se define
como la conjunci´on de estas f´ormulas.
Ejemplo
Para δ(qi , 0) = (qj , 1, ←) se define la siguiente f´ormula:
∀x∀y∀u∀v ((Ei (x) ∧ T(x, y) ∧ C(x, y) ∧
suc(x, u) ∧ suc(v, y)) →
(Ej (u) ∧ T(u, v) ∧ U(u, y))).
IIC2213 – L´ogica de Primer Orden 34 / 60
35. La complejidad de VAL
ϕA: La m´aquina acepta ε.
∃x∃y (P(x) ∧ (x = y ∨ L(x, y)) ∧ Em(y)).
Para terminar s´olo falta demostrar que M acepta ε si y s´olo si ϕM
es v´alida.
◮ ¿Qu´e suceder´ıa si ϕM es definida como
ϕP ∧ ϕL ∧ ϕI ∧ ϕC ∧ ϕδ ∧ ϕA?
IIC2213 – L´ogica de Primer Orden 35 / 60
36. La complejidad de SAT
Corolario
SAT es indecidible.
Ejercicio
Demuestre el corolario.
Para la l´ogica proposicional SAT era decidible (pero dif´ıcil). ¡Para
la l´ogica de primer orden es indecidible!
IIC2213 – L´ogica de Primer Orden 36 / 60
37. La noci´on de isomorfismo
Sean A = N, 0N, sN y B = B, 0B , sB definida como:
◮ B = {0}∗.
◮ 0B = ε.
◮ sB (0 · · · 0
n veces
) = 0 · · · 0
n+1 veces
, para todo n ≥ 0.
¿Son similares estas estructuras? ¿Por qu´e?
◮ Si identificamos i ∈ N con 0 · · · 0
i veces
podemos ver que estas
estructuras son id´enticas.
IIC2213 – L´ogica de Primer Orden 37 / 60
38. La noci´on de isomorfismo
Dos estructuras son isomorfas si son id´enticas excepto por sus
dominios.
Definici´on
Dado un vocabulario L y dos L-estructuras A y B, decimos que A
y B son isomorfas, denotado como A ∼= B, si existe una biyecci´on
h : A → B tal que:
◮ h(cA) = cB, para cada constante c ∈ L.
◮ h(f A(a1, . . . , am)) = f B(h(a1), . . . , h(am)), para cada funci´on
m-aria f ∈ L y elementos a1, . . ., am ∈ A.
◮ (a1, . . . , an) ∈ RA si y s´olo si (h(a1), . . . , h(an)) ∈ RB, para
cada funci´on n-aria R ∈ L y elementos a1, . . ., an ∈ A.
IIC2213 – L´ogica de Primer Orden 38 / 60
39. La noci´on de isomorfismo: Ejemplos
Ejemplos
1. Sea A = N, 0N
, 1N
, +N
, <N
y B = B, 0B
, 1B
, +B
, <B
, donde
B es el conjunto de los n´umeros pares y los dem´as s´ımbolos son
definidos de manera usual. ¿Son A y B isomorfos?
2. ¿Qu´e pasa en el caso anterior si adem´as consideramos la
multiplicaci´on?
3. Sea L = {E} y A = A, EA
, donde A = {1, 2, 3, 4} y EA
= {(1, 2),
(1, 3), (3, 2), (4, 1), (4, 2)}. Defina una oraci´on ϕ tal que para toda
L-estructura B se tiene que B |= ϕ si y s´olo si A ∼= B.
4. Sea Z = Z, 0Z
, 1Z
, sZ
, +Z
, ·Z
, <Z
. ¿Son N y Z isomorfos?
5. ¿Son N y R isomorfos?
6. Sea A = R, +R
, ·R
y B = C, +C
, ·C
. ¿Son A y B isomorfos?
IIC2213 – L´ogica de Primer Orden 39 / 60
40. El teorema de isomorfismo
Si dos estructuras A y B son isomorfas, entonces son id´enticas
excepto por sus dominios.
◮ A y B son indistinguibles.
En particular: La l´ogica de primer orden no deber´ıa poder distinguir
entre estructuras isomorfas.
◮ Vamos a demostrar esto.
◮ ¿Por qu´e este resultado es fundamental?
IIC2213 – L´ogica de Primer Orden 40 / 60
41. El teorema de isomorfismo: Una primera versi´on
Teorema
Si A y B son L-estructuras isomorfas, entonces para cada
L-oraci´on ϕ se tiene que:
A |= ϕ si y s´olo si B |= ϕ
¿C´omo podemos demostrar este Teorema?
◮ ¿Podemos usar inducci´on?
◮ Tenemos que demostrar una versi´on mas fuerte del teorema.
IIC2213 – L´ogica de Primer Orden 41 / 60
42. El teorema de isomorfismo: Una segunda versi´on
Notaci´on
Si h : A → B es una biyecci´on que muestra que A y B son
estructuras isomorfas, entonces h es un isomorfismo de A en B.
Nota: Si σ es una asignaci´on para A, entonces h ◦ σ es una
asignaci´on para B.
IIC2213 – L´ogica de Primer Orden 42 / 60
43. El teorema de isomorfismo: Una segunda versi´on
Teorema (Isomorfismo)
Sea σ una asignaci´on para A y h un isomorfismo de A en B.
Entonces para toda L-f´ormula ϕ:
(A, σ) |= ϕ si y s´olo si (B, h ◦ σ) |= ϕ
La primera versi´on del teorema es un corolario de esta versi´on m´as
fuerte.
IIC2213 – L´ogica de Primer Orden 43 / 60
44. El teorema de isomorfismo: Aplicaciones
Antes de demostrar el teorema de isomorfismo, vamos a ver una de
sus aplicaciones.
Notaci´on
Si (A, σ) |= ϕ(x1, . . . , xk ) y σ(xi ) = ai (i ∈ [1, k]), entonces
decimos que A |= ϕ(a1, . . . , ak ).
Problema de Definibilidad
Dada una estructura A y S ⊆ Ak (k ≥ 1), decimos que S es
definible en A si existe una f´ormula ϕ(x1, . . . , xk) tal que
S = {(a1, . . . , ak) ∈ Ak
| A |= ϕ(a1, . . . , ak)}.
IIC2213 – L´ogica de Primer Orden 44 / 60
45. El problema de definibilidad: Ejemplos
Ejemplo
¿Qu´e conjuntos definen en N, +, · las siguientes f´ormulas?
ϕ1(x) = ∀y(x + y = y),
ϕ2(x) = ∀y(x · y = y),
ϕ3(x, y) = ∃z(¬ϕ1(z) ∧ x + z = y).
Para demostrar que un conjunto es definible tenemos que construir
una f´ormula.
¿C´omo podemos demostrar que un conjunto no es definible?
◮ ¡Podemos usar el teorema de isomorfismo!
IIC2213 – L´ogica de Primer Orden 45 / 60
46. El problema de definibilidad y el teorema de isomorfismo
¿Es la multiplicaci´on definible en R, + ?
◮ Si esto es cierto, entonces existe ϕ(x, y, z) tal que para todo
a, b, c ∈ R:
R, + |= ϕ(a, b, c) si y s´olo si a · b = c.
◮ Entonces para todo isomorfismo h de R, + en R, + , se
tiene que:
R, + |= ϕ(a, b, c) si y s´olo si R, + |= ϕ(h(a), h(b), h(c)).
Sea h : R → R definida por h(x) = x
2 .
◮ h es un isomorfismo de R, + en R, + .
◮ R, + |= ϕ(2, 2, 4) y R, + |= ϕ(h(2), h(2), h(4)). ¡Tenemos
una contradicci´on!
IIC2213 – L´ogica de Primer Orden 46 / 60
47. El problema de definibilidad y el teorema de isomorfismo
Ejercicios
1. Demuestre que la suma no es definible en R, · .
2. Demuestre que la suma no es definible en N, · .
3. ¿Puede usarse el teorema de isomorfismo para mostrar que la
multiplicaci´on no es definible en N, + ?
IIC2213 – L´ogica de Primer Orden 47 / 60
48. El teorema de isomorfismo: Demostraci´on
Ahora vamos a demostrar por inducci´on la versi´on fuerte del
teorema de isomorfismo.
◮ Dado: un vocabulario L y L-estructuras A y B.
Necesitamos el siguiente lema:
Lemma
Si σ es una asignaci´on para A y h es un isomorfismo de A en B,
entonces h ◦ σ = h ◦ ˆσ.
Demostraci´on: Por inducci´on en los L-t´erminos.
◮ Para cada constante c ∈ L: h ◦ σ(c) = cB = h(cA) =
h(ˆσ(c)) = (h ◦ ˆσ)(c).
IIC2213 – L´ogica de Primer Orden 48 / 60
49. El teorema de isomorfismo: Demostraci´on
◮ Para cada variable x: h ◦ σ(x) = (h ◦ σ)(x) = h(σ(x)) =
h(ˆσ(x)) = (h ◦ ˆσ)(x).
◮ Para cada funci´on n-aria f ∈ L: Si h ◦ σ(ti ) = (h ◦ ˆσ)(ti )
para todo i ∈ [1, n], entonces
h ◦ σ(f (t1, . . . , tn)) = f B
(h ◦ σ(t1), . . . , h ◦ σ(tn))
= f B
((h ◦ ˆσ)(t1), . . . , (h ◦ ˆσ)(tn))
= f B
(h(ˆσ(t1)), . . . , h(ˆσ(tn)))
= h(f A
(ˆσ(t1), . . . , ˆσ(tn)))
= h(ˆσ(f (t1, . . . , tn)))
= (h ◦ ˆσ)(f (t1, . . . , tn)).
IIC2213 – L´ogica de Primer Orden 49 / 60
50. El teorema de isomorfismo: Demostraci´on
Vamos a demostrar el teorema por inducci´on en la estructura de ϕ:
◮ Si ϕ = t1 = t2, entonces:
(A, σ) |= t1 = t2
si y s´olo si
ˆσ(t1) = ˆσ(t2)
si y s´olo si
h(ˆσ(t1)) = h(ˆσ(t2))
si y s´olo si
(h ◦ ˆσ)(t1) = (h ◦ ˆσ)(t2)
si y s´olo si
h ◦ σ(t1) = h ◦ σ(t2)
si y s´olo si
(B, h ◦ σ) |= t1 = t2.
IIC2213 – L´ogica de Primer Orden 50 / 60
51. El teorema de isomorfismo: Demostraci´on
◮ Si ϕ = R(t1, . . . , tn), entonces:
(A, σ) |= R(t1, . . . , tn)
si y s´olo si
(ˆσ(t1), . . . , ˆσ(tn)) ∈ RA
si y s´olo si
(h(ˆσ(t1)), . . . , h(ˆσ(tn))) ∈ RB
si y s´olo si
((h ◦ ˆσ)(t1), . . . , (h ◦ ˆσ)(tn)) ∈ RB
si y s´olo si
(h ◦ σ(t1), . . . , h ◦ σ(tn)) ∈ RB
si y s´olo si
(B, h ◦ σ) |= R(t1, . . . , tn).
IIC2213 – L´ogica de Primer Orden 51 / 60
52. El teorema de isomorfismo: Demostraci´on
Finalmente suponemos que la propiedad se cumple para ψ y θ.
◮ Si ϕ = ¬ψ, entonces:
(A, σ) |= ϕ
si y s´olo si
(A, σ) |= ψ
si y s´olo si
(B, h ◦ σ) |= ψ
si y s´olo si
(B, h ◦ σ) |= ϕ
IIC2213 – L´ogica de Primer Orden 52 / 60
53. El teorema de isomorfismo: Demostraci´on
◮ Si ϕ = ψ ∧ θ, entonces:
(A, σ) |= ϕ
si y s´olo si
(A, σ) |= ψ y (A, σ) |= θ
si y s´olo si
(B, h ◦ σ) |= ψ y (B, h ◦ σ) |= θ
si y s´olo si
(B, h ◦ σ) |= ϕ
IIC2213 – L´ogica de Primer Orden 53 / 60
54. El teorema de isomorfismo: Demostraci´on
◮ Suponga que ϕ = ∃x ψ.
S´olo vamos a demostrar una direcci´on. La otra direcci´on se
demuestra de la misma forma pero considerando h−1 en lugar
de h.
Si (A, σ) |= ϕ: Existe a ∈ A tal que (A, σ[x/a]) |= ψ.
Por hip´otesis de inducci´on: Existe a ∈ A tal que
(B, h ◦ σ[x/a]) |= ψ.
Pero: h ◦ σ[x/a] = (h ◦ σ)[x/h(a)].
Tenemos que: Existe b ∈ B tal que (B, (h ◦ σ)[x/b]) |= ψ.
Por lo tanto: (B, h ◦ σ) |= ϕ.
IIC2213 – L´ogica de Primer Orden 54 / 60
55. El sistema de Hilbert: L´ogica de Primer Orden
El sistema de deducci´on de Hilbert para la l´ogica de primer orden
consta de los siguientes elementos:
◮ Esquemas para generar f´ormulas v´alidas:
(a) ϕ → (ψ → ϕ).
(b) (ϕ → (ψ → θ)) → ((ϕ → ψ) → (ϕ → θ)).
(c) (¬ϕ → ¬ψ) → ((¬ϕ → ψ) → ϕ).
(d) (∀x ϕ(x)) → ϕ(t), donde t es un t´ermino cualquiera.
(e) ϕ(t) → (∃x ϕ(x)), donde t es un t´ermino cualquiera.
(f) (∃x ϕ) ↔ (¬∀x ¬ϕ).
IIC2213 – L´ogica de Primer Orden 55 / 60
56. El sistema de Hilbert: L´ogica de Primer Orden
◮ Axiomas para la igualdad:
(a) ∀x (x = x).
(b) ∀x∀y (x = y → y = x).
(c) ∀x∀y∀z ((x = y ∧ y = z) → x = z).
(d) Para todo predicado m-ario P:
∀x1 · · · ∀xm∀y1 · · · ∀ym ((P(x1, . . . , xm) ∧
x1 = y1 ∧ · · · ∧ xm = ym) → P(y1, . . . , ym)).
(e) Para toda funci´on n-aria f :
∀x1 · · · ∀xn∀y1 · · · ∀yn ((x1 = y1 ∧ · · · ∧ xn = yn) →
f (x1, . . . , xn) = f (y1, . . . , yn)).
IIC2213 – L´ogica de Primer Orden 56 / 60
57. El sistema de Hilbert: L´ogica de Primer Orden
◮ Reglas de inferencia:
(a) Modus Ponens:
ϕ → ψ
ϕ
ψ
(b) Generalizaci´on: Si y no aparece libre en ϕ, entonces
ϕ → ψ(y)
ϕ → ∀yψ(y)
IIC2213 – L´ogica de Primer Orden 57 / 60
58. El sistema de Hilbert: L´ogica de Primer Orden
Definici´on
Dado un conjunto de f´ormulas Σ ∪ {ϕ}, una deducci´on formal de
ϕ desde Σ es una secuencia de f´ormulas ϕ1, ϕ2, . . ., ϕn tal que:
◮ Para cada i ≤ n:
◮ ϕi ∈ Σ o
◮ ϕi es un axioma l´ogico o
◮ existen j, k < i tales que ϕi es obtenido desde ϕj y ϕk usando
modus ponens o
◮ existe j < i tal que ϕi es obtenido desde ϕj usando la regla de
generalizaci´on.
◮ ϕn = ϕ.
Notaci´on
Σ ⊢H ϕ
IIC2213 – L´ogica de Primer Orden 58 / 60
59. El sistema de Hilbert: Propiedades
Teorema (Correcci´on)
Dado un conjunto de f´ormulas Σ ∪ {ϕ}, si Σ ⊢H ϕ, entonces
Σ |= ϕ.
Ejercicio
Demuestre el teorema.
IIC2213 – L´ogica de Primer Orden 59 / 60
60. El sistema de Hilbert: Propiedades
Teorema (Completidad de G¨odel)
Dado un conjunto de f´ormulas Σ ∪ {ϕ}, si Σ |= ϕ, entonces
Σ ⊢H ϕ.
Corolario (Compacidad)
Un conjunto de f´ormulas Σ es satisfacible si y s´olo si Σ es
finitamente satisfacible.
Ejercicio
Demuestre el corolario.
IIC2213 – L´ogica de Primer Orden 60 / 60