Lógica de Primer Orden -...

60
L´ogica de Primer Orden IIC2213 IIC2213 ogica de Primer Orden 1 / 60

Transcript of Lógica de Primer Orden -...

Logica de Primer Orden

IIC2213

IIC2213 – Logica de Primer Orden 1 / 60

Logica de primer orden

Dos de los objetivos de la logica proposicional:

◮ Poder modelar el proceso de razonamiento.

◮ Poder formalizar la nocion de demostracion.

¿Podemos expresar el siguiente argumento en logica proposicional?

Todos los hombres son mortales.Socrates es hombre.

Por lo tanto, Socrates es mortal.

¿Podemos demostrar que para el conjunto de los numerosnaturales es cierto que todo numero es par o impar?

IIC2213 – Logica de Primer Orden 2 / 60

Logica de primer orden

El poder expresivo de la logica proposicional es limitado.

◮ ¿Por que usamos esta logica?

Vamos a introducir una logica mas expresiva.

◮ Tiene algunas de las buenas propiedades de la logicaproposicional, pero no todas.

Para expresar el argumento mostrado al principio necesitamoscuantificadores: para todo y existe.

IIC2213 – Logica de Primer Orden 3 / 60

Logica de primer orden: Vocabulario

Una formula en logica de primer orden esta definida sobre algunasconstantes, funciones y predicados.

Notacion

Un vocabulario L es la union de tres conjuntos:

constantes : {c1, . . . , cℓ, . . .},funciones : {f1, . . . , fm, . . .},relaciones : {R1, . . . ,Rn, . . .}.

Notacion

La aridad de una funcion f (relacion R) es el numero deargumentos de f (de R).

◮ Cada funcion tiene una aridad mayor a 0.

◮ Cada relacion tiene una aridad mayor o igual a 0.

IIC2213 – Logica de Primer Orden 4 / 60

Logica de primer orden: Vocabulario

Ejemplo

Para los numeros naturales L es la union de

constantes : {0, 1},funciones : {s, +, ·},relaciones : {<}.

s es una funcion unaria, + y · son funciones binarias y < es unarelacion binaria.

IIC2213 – Logica de Primer Orden 5 / 60

Logica de primer orden: Sintaxis

Las formulas de la logica de primer orden se construyen usando:

◮ Conectivos logicos: ¬, ∨, ∧, → y ↔.

◮ Parentesis: ( y ).

◮ Relacion binaria =.

◮ Variables.

◮ Cuantificadores: ∀ y ∃.

Veamos algunos ejemplos, antes de introducir formalmente lasintaxis de la logica de primer orden.

IIC2213 – Logica de Primer Orden 6 / 60

Sintaxis de la logica de primer orden: Ejemplos

Ejemplo

Sea L = {0, 1, s, +, ·, <}.

◮ 1 = s(0).Para la igualdad usamos notacion infija: No escribimos= (1, s(0)).

◮ ∀x x < s(x).Usamos notacion infija para funciones y relaciones comunes.

◮ ∀x∃y x = y + y .

◮ ∀x∀y(s(x) = s(y)→ x = y).

IIC2213 – Logica de Primer Orden 7 / 60

Sintaxis de la logica de primer orden: Terminos

Desde ahora en adelante: Suponemos dada una lista infinita devariables.

Definicion

El conjunto de L-terminos es el menor conjunto que satisface lassiguientes condiciones:

◮ Cada constante c en L es un L-termino.

◮ Cada variable x es un L-termino.

◮ Si t1, . . ., tn son L-terminos y f es una funcion n-aria en L,entonces f (t1, . . . , tn) es un L-termino.

Ejemplos

0, s(s(s(1))) y s(0) · s(x)

IIC2213 – Logica de Primer Orden 8 / 60

Sintaxis de la logica de primer orden: Formulas

Definicion

El conjunto de L-formulas es el menor conjunto que satisface lassiguientes condiciones:

◮ Si t1 y t2 son L-terminos, entonces t1 = t2 es una L-formula.

◮ Si t1, . . ., tn son L-terminos y R es una relacion n-aria en L,entonces R(t1, . . . , tn) es una L-formula.

◮ Si ϕ y ψ son L-formulas, entonces (¬ϕ), (ϕ ∨ ψ), (ϕ ∧ ψ),(ϕ→ ψ) y (ϕ↔ ψ) son L-formulas.

◮ Si ϕ es una L-formula y x es una variable, entonces (∃x ϕ) y(∀x ϕ) son L-formulas.

Notacion

t1 = t2 y R(t1, . . . , tn) son llamadas formulas atomicas.

IIC2213 – Logica de Primer Orden 9 / 60

Logica de primer orden: Semantica

Notacion

Omitimos parentesis si no se produce una ambiguedad.

¿Es ∀x∃y x = y + y cierta en L = {0, 1, s,+, ·, <}?

◮ Si pensamos en los numeros naturales es falsa.

◮ Pero L tambien puede usarse como vocabulario para losnumeros reales, y en este conjunto la formula es cierta.

El valor de verdad de una formula depende de la interpretacion

que se da a las constantes, funciones y relaciones.

◮ Tenemos que introducir la nocion de estructura.

IIC2213 – Logica de Primer Orden 10 / 60

Semantica de la logica de primer orden: Estructuras

Una L-estructura interpreta todos los componentes de L en undominio.

Definicion

Una L-estructura A contiene:

◮ Un dominio A no vacıo.

◮ Para cada constante c ∈ L, una interpretacion cA ∈ A de c.

◮ Para cada funcion m-aria f ∈ L, una interpretacionf A : Am → A de f .

◮ Para cada relacion n-aria R ∈ L, una interpretacion RA ⊆ An

de R.

Notacion

A = 〈A, cA, . . . , f A, . . . , RA, . . .〉

IIC2213 – Logica de Primer Orden 11 / 60

Algunos ejemplos de estructuras

Ejemplo

Para representar grafos usamos un vocabulario L = {E}. Porejemplo, 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 – Logica de Primer Orden 12 / 60

Algunos ejemplos de estructuras

Ejemplo

Los numeros naturales son representados por la estructura:

N = 〈N, 0N, 1N, sN,+N, ·N, <N〉.

Los numeros 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 formula.

IIC2213 – Logica de Primer Orden 13 / 60

Semantica de la logica de primer orden: Variables libres

Necesitamos introducir la nocion de variable libre.

El conjunto de variables de un L-termino 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 – Logica de Primer Orden 14 / 60

Semantica de la logica de primer orden: Variables libres

El conjunto de variables de una L-formula ϕ 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 ϕ = (ψ ⋆ θ) (⋆ ∈ {∨,∧,→,↔}), entoncesV (ϕ) = V (ψ) ∪ V (θ).

◮ Si ϕ = (∃x ψ) o ϕ = (∀x ψ), entonces V (ϕ) = {x} ∪ V (ψ).

EjemploV ((∃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 – Logica de Primer Orden 15 / 60

Semantica de la logica de primer orden: Variables libres

Definicion

El conjunto de variables libres de una L-formula ϕ se define como:

◮ Si ϕ es una formula atomica, entonces VL(ϕ) = V (ϕ).

◮ Si ϕ = (¬ψ), entonces VL(ϕ) = VL(ψ).

◮ Si ϕ = (ψ ⋆ θ) (⋆ ∈ {∨,∧,→,↔}), entoncesVL(ϕ) = VL(ψ) ∪ VL(θ).

◮ Si ϕ = (∃x ψ) o ϕ = (∀x ψ), entonces VL(ϕ) = VL(ψ) \ {x}.

Variable libre: No aparece cuantificada.

IIC2213 – Logica de Primer Orden 16 / 60

Semantica de la logica de primer orden: Variables libres

Ejemplo

VL(P(x) ∧ ∃y Q(x , y)) = {x},

VL(P(z) ∧ ∃z R(z)) = {z}.

Notacion◮ Si ϕ es una formula, entonces usamos ϕ(x1, . . . , xk) para

indicar que VL(ϕ) = {x1, . . . , xk}.

◮ Decimos que ϕ es una oracion si VL(ϕ) = ∅.

IIC2213 – Logica de Primer Orden 17 / 60

Semantica de la logica de primer orden: Definicion

Si una formula contiene variables libres, entonces no podemosdecir directamente que es verdadera o falsa en una estructura.

◮ ¿Es x < s(0) cierta en N?

El valor de verdad de una formula con variables libres depende delos 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 – Logica de Primer Orden 18 / 60

Semantica de la logica de primer orden: Definicion

Dada una estructura A con dominio A, una asignacion σ es unafuncion que asigna a cada variable un valor en A.

Extendemos σ para dar valores a los terminos:

◮ 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 – Logica de Primer Orden 19 / 60

Semantica de la logica de primer orden: Definicion

Ejemplo

Si σ(x) = 7 es una asignacion 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 – Logica de Primer Orden 20 / 60

Semantica de la logica de primer orden: Definicion

Vamos a definir la semantica de la logica de primer orden.

Dado: Un vocabulario L, una L-estructura A con dominio A y unaasignacion σ para A.

Definicion

Decimos que (A, σ) satisface una L-formula ϕ, denotado como(A, σ) |= ϕ, si y solo si:

◮ ϕ = t1 = t2 y σ(t1) = σ(t2).

◮ ϕ = R(t1, . . . , tn) y (σ(t1), . . . , σ(tn)) ∈ RA.

◮ ϕ = (¬ψ) y (A, σ) 6|= ψ.

◮ ϕ = (ψ ∨ θ) y (A, σ) |= ψ o (A, σ) |= θ.

IIC2213 – Logica de Primer Orden 21 / 60

Semantica de la logica de primer orden: Definicion

◮ ϕ = (ψ ∧ θ), (A, σ) |= ψ y (A, σ) |= θ.

◮ ϕ = (ψ → θ) y (A, σ) 6|= ψ o (A, σ) |= θ.

◮ ϕ = (ψ ↔ θ) y ambos (A, σ) |= ψ, (A, σ) |= θ o ambos(A, σ) 6|= ψ, (A, σ) 6|= θ.

◮ ϕ = (∃x ψ) y existe a ∈ A tal que (A, σ[x/a]) |= ψ, donde

σ[x/a](y) =

{

a y = x ,

σ(y) y 6= x .

◮ ϕ = (∀x ψ) y para todo a ∈ A se tiene que(A, σ[x/a]) |= ψ.

Nota: Si ϕ es una oracion, podemos decir que A |= ϕ.

IIC2213 – Logica de Primer Orden 22 / 60

Semantica de la logica 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)}.

◮ ¿Cuales de las siguientes formulas 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 funcion unaria y L = {f }. Construya una estructurafinita que satisfaga ϕ = ∀x∀y (f (x) = f (y)→ x = y).

2. Sean L y ϕ como en el ejercicio anterior. Construya unaestructura que satisfaga ψ = ϕ ∧ ∃x∀y f (y) 6= x . ¿Existe unaestructura finita que satisfaga ψ?

IIC2213 – Logica de Primer Orden 23 / 60

Dos nociones utiles

Decimos que una L-formula ϕ es satisfacible si existe unaL-estructura A y una asignacion σ para A tal que (A, σ) |= ϕ.

◮ Si ϕ es oracion, entonces ϕ es satisfacible si existe A tal queA |= ϕ.

Decimos que una L-formula ϕ es valida si para toda L-estructuraA y toda asignacion σ para A se tiene que (A, σ) |= ϕ.

◮ Si ϕ es oracion, entonces ϕ es valida si para todo A se tieneque A |= ϕ.

Ejercicio

Construya una formula valida.

IIC2213 – Logica de Primer Orden 24 / 60

Dos nociones utiles

Al igual que en la logica proposicional, la logica de primer ordentiene asociados algunos problemas de decision:

SAT = {ϕ | ϕ es una oracion satisfacible},

VAL = {ϕ | ϕ es una oracion valida}.

¿Son estos problemas mas difıciles que para el caso de la logicaproposicional?

◮ ¿Como se demuestra que son al menos tan difıciles?

Vamos a mostrar una primera diferencia entre estas dos logicas ...

IIC2213 – Logica de Primer Orden 25 / 60

La complejidad de VAL

Teorema (Church)

VAL es indecidible.

Demostracion: 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 que es este problema indecidible?

IIC2213 – Logica de Primer Orden 26 / 60

La complejidad de VAL

Para cada MT M determinista, tenemos que construir una formulaϕM tal que:

M acepta ε si y solo si ϕM es valida.

Suponemos que M = (Q, {0, 1}, q0, δ,F ), donde

◮ Q = {q0, . . . , qm},

◮ F = {qm},

◮ no existe una transicion en δ para qm.

IIC2213 – Logica de Primer Orden 27 / 60

La complejidad de VAL

Definimos un vocabulario L de la siguiente forma:

P(t) : t es el tiempo de partida de la maquina.C (t, p) : M tiene un 0 en la posicion p de la cinta en el

tiempo t.U(t, p) : M tiene un 1 en la posicion p de la cinta en el

tiempo t.B(t, p) : M tiene un B en la posicion 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 esta en la posicion p en el tiempo t.L(x , y) : orden lineal en el dominio.

ϕM es definida como (ϕP ∧ ϕL ∧ ϕI ∧ ϕC ∧ ϕδ)→ ϕA.

IIC2213 – Logica de Primer Orden 28 / 60

La complejidad de VAL

ϕP : Hay un unico punto de partida.

∃x(P(x) ∧ ∀y(x 6= y → ¬P(y))).

ϕL: L es un orden lineal donde cada elemento tiene un sucesor y unpredecesor.

∀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 – Logica de Primer Orden 29 / 60

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 – Logica de Primer Orden 30 / 60

La complejidad de VAL

ϕC : La maquina funciona correctamente.

ϕC se define como la conjuncion de cuatro formulas. 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 – Logica de Primer Orden 31 / 60

La complejidad de VAL

Segundo, la maquina siempre esta en un unico estado:

∀x

( m∨

i=0

(

Ei(x) ∧∧

j∈[0,m]\{i}

¬Ej(x)

))

.

Tercero, la cabeza siempre esta en una unica posicion:

∀x∃y (T (x , y) ∧ ∀z (y 6= z → ¬T (x , z))).

IIC2213 – Logica de Primer Orden 32 / 60

La complejidad de VAL

Cuarto, el contenido de una celda no cambia si no es apuntada porla 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 – Logica de Primer Orden 33 / 60

La complejidad de VAL

ϕδ : funcion δ define como funciona la maquina.

Para cada transicion en δ se define una formula, y ϕδ se definecomo la conjuncion de estas formulas.

Ejemplo

Para δ(qi , 0) = (qj , 1,←) se define la siguiente formula:

∀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 – Logica de Primer Orden 34 / 60

La complejidad de VAL

ϕA: La maquina acepta ε.

∃x∃y (P(x) ∧ (x = y ∨ L(x , y)) ∧ Em(y)).

Para terminar solo falta demostrar que M acepta ε si y solo si ϕM

es valida.

◮ ¿Que sucederıa si ϕM es definida comoϕP ∧ ϕL ∧ ϕI ∧ ϕC ∧ ϕδ ∧ ϕA?

IIC2213 – Logica de Primer Orden 35 / 60

La complejidad de SAT

Corolario

SAT es indecidible.

Ejercicio

Demuestre el corolario.

Para la logica proposicional SAT era decidible (pero difıcil). ¡Para

la logica de primer orden es indecidible!

IIC2213 – Logica de Primer Orden 36 / 60

La nocion 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 que?

◮ Si identificamos i ∈ N con 0 · · · 0︸ ︷︷ ︸

i veces

podemos ver que estas

estructuras son identicas.

IIC2213 – Logica de Primer Orden 37 / 60

La nocion de isomorfismo

Dos estructuras son isomorfas si son identicas excepto por susdominios.

Definicion

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 biyeccionh : 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 funcionm-aria f ∈ L y elementos a1, . . ., am ∈ A.

◮ (a1, . . . , an) ∈ RA si y solo si (h(a1), . . . , h(an)) ∈ RB , paracada funcion n-aria R ∈ L y elementos a1, . . ., an ∈ A.

IIC2213 – Logica de Primer Orden 38 / 60

La nocion de isomorfismo: Ejemplos

Ejemplos

1. Sea A = 〈N, 0N, 1N, +N, <N〉 y B = 〈B, 0B , 1B , +B , <B〉, dondeB es el conjunto de los numeros pares y los demas sımbolos sondefinidos de manera usual. ¿Son A y B isomorfos?

2. ¿Que pasa en el caso anterior si ademas consideramos lamultiplicacion?

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 oracion ϕ tal que para todaL-estructura B se tiene que B |= ϕ si y solo 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 – Logica de Primer Orden 39 / 60

El teorema de isomorfismo

Si dos estructuras A y B son isomorfas, entonces son identicasexcepto por sus dominios.

◮ A y B son indistinguibles.

En particular: La logica de primer orden no deberıa poder distinguirentre estructuras isomorfas.

◮ Vamos a demostrar esto.

◮ ¿Por que este resultado es fundamental?

IIC2213 – Logica de Primer Orden 40 / 60

El teorema de isomorfismo: Una primera version

Teorema

Si A y B son L-estructuras isomorfas, entonces para cadaL-oracion ϕ se tiene que:

A |= ϕ si y solo si B |= ϕ

¿Como podemos demostrar este Teorema?

◮ ¿Podemos usar induccion?

◮ Tenemos que demostrar una version mas fuerte del teorema.

IIC2213 – Logica de Primer Orden 41 / 60

El teorema de isomorfismo: Una segunda version

Notacion

Si h : A→ B es una biyeccion que muestra que A y B sonestructuras isomorfas, entonces h es un isomorfismo de A en B.

Nota: Si σ es una asignacion para A, entonces h ◦ σ es unaasignacion para B .

IIC2213 – Logica de Primer Orden 42 / 60

El teorema de isomorfismo: Una segunda version

Teorema (Isomorfismo)

Sea σ una asignacion para A y h un isomorfismo de A en B.Entonces para toda L-formula ϕ:

(A, σ) |= ϕ si y solo si (B, h ◦ σ) |= ϕ

La primera version del teorema es un corolario de esta version masfuerte.

IIC2213 – Logica de Primer Orden 43 / 60

El teorema de isomorfismo: Aplicaciones

Antes de demostrar el teorema de isomorfismo, vamos a ver una desus aplicaciones.

Notacion

Si (A, σ) |= ϕ(x1, . . . , xk) y σ(xi ) = ai (i ∈ [1, k]), entoncesdecimos que A |= ϕ(a1, . . . , ak).

Problema de Definibilidad

Dada una estructura A y S ⊆ Ak (k ≥ 1), decimos que S esdefinible en A si existe una formula ϕ(x1, . . . , xk) tal que

S = {(a1, . . . , ak) ∈ Ak | A |= ϕ(a1, . . . , ak)}.

IIC2213 – Logica de Primer Orden 44 / 60

El problema de definibilidad: Ejemplos

Ejemplo

¿Que conjuntos definen en 〈N,+, ·〉 las siguientes formulas?

ϕ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 construiruna formula.

¿Como podemos demostrar que un conjunto no es definible?

◮ ¡Podemos usar el teorema de isomorfismo!

IIC2213 – Logica de Primer Orden 45 / 60

El problema de definibilidad y el teorema de isomorfismo

¿Es la multiplicacion definible en 〈R,+〉?

◮ Si esto es cierto, entonces existe ϕ(x , y , z) tal que para todoa, b, c ∈ R:

〈R,+〉 |= ϕ(a, b, c) si y solo si a · b = c .

◮ Entonces para todo isomorfismo h de 〈R,+〉 en 〈R,+〉, setiene que:

〈R,+〉 |= ϕ(a, b, c) si y solo si 〈R,+〉 |= ϕ(h(a), h(b), h(c)).

Sea h : R→ R definida por h(x) = x2 .

◮ h es un isomorfismo de 〈R,+〉 en 〈R,+〉.

◮ 〈R,+〉 |= ϕ(2, 2, 4) y 〈R,+〉 6|= ϕ(h(2), h(2), h(4)). ¡Tenemosuna contradiccion!

IIC2213 – Logica de Primer Orden 46 / 60

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 lamultiplicacion no es definible en 〈N,+〉?

IIC2213 – Logica de Primer Orden 47 / 60

El teorema de isomorfismo: Demostracion

Ahora vamos a demostrar por induccion la version fuerte delteorema de isomorfismo.

◮ Dado: un vocabulario L y L-estructuras A y B.

Necesitamos el siguiente lema:

Lemma

Si σ es una asignacion para A y h es un isomorfismo de A en B,

entonces h ◦ σ = h ◦ σ.

Demostracion: Por induccion en los L-terminos.

◮ Para cada constante c ∈ L: h ◦ σ(c) = cB = h(cA) =h(σ(c)) = (h ◦ σ)(c).

IIC2213 – Logica de Primer Orden 48 / 60

El teorema de isomorfismo: Demostracion

◮ Para cada variable x : h ◦ σ(x) = (h ◦ σ)(x) = h(σ(x)) =h(σ(x)) = (h ◦ σ)(x).

◮ Para cada funcion 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 – Logica de Primer Orden 49 / 60

El teorema de isomorfismo: Demostracion

Vamos a demostrar el teorema por induccion en la estructura de ϕ:

◮ Si ϕ = t1 = t2, entonces:

(A, σ) |= t1 = t2si y solo si

σ(t1) = σ(t2)si y solo si

h(σ(t1)) = h(σ(t2))si y solo si

(h ◦ σ)(t1) = (h ◦ σ)(t2)si y solo si

h ◦ σ(t1) = h ◦ σ(t2)si y solo si

(B, h ◦ σ) |= t1 = t2.

IIC2213 – Logica de Primer Orden 50 / 60

El teorema de isomorfismo: Demostracion

◮ Si ϕ = R(t1, . . . , tn), entonces:

(A, σ) |= R(t1, . . . , tn)si y solo si

(σ(t1), . . . , σ(tn)) ∈ RA

si y solo si(h(σ(t1)), . . . , h(σ(tn))) ∈ RB

si y solo si((h ◦ σ)(t1), . . . , (h ◦ σ)(tn)) ∈ RB

si y solo si

(h ◦ σ(t1), . . . , h ◦ σ(tn)) ∈ RB

si y solo si(B, h ◦ σ) |= R(t1, . . . , tn).

IIC2213 – Logica de Primer Orden 51 / 60

El teorema de isomorfismo: Demostracion

Finalmente suponemos que la propiedad se cumple para ψ y θ.

◮ Si ϕ = ¬ψ, entonces:

(A, σ) |= ϕsi y solo si(A, σ) 6|= ψsi y solo si

(B, h ◦ σ) 6|= ψsi y solo si

(B, h ◦ σ) |= ϕ

IIC2213 – Logica de Primer Orden 52 / 60

El teorema de isomorfismo: Demostracion

◮ Si ϕ = ψ ∧ θ, entonces:

(A, σ) |= ϕsi y solo si

(A, σ) |= ψ y (A, σ) |= θsi y solo si

(B, h ◦ σ) |= ψ y (B, h ◦ σ) |= θsi y solo si

(B, h ◦ σ) |= ϕ

IIC2213 – Logica de Primer Orden 53 / 60

El teorema de isomorfismo: Demostracion

◮ Suponga que ϕ = ∃x ψ.

Solo vamos a demostrar una direccion. La otra direccion sedemuestra de la misma forma pero considerando h−1 en lugarde h.

Si (A, σ) |= ϕ: Existe a ∈ A tal que (A, σ[x/a]) |= ψ.

Por hipotesis de induccion: 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 – Logica de Primer Orden 54 / 60

El sistema de Hilbert: Logica de Primer Orden

El sistema de deduccion de Hilbert para la logica de primer ordenconsta de los siguientes elementos:

◮ Esquemas para generar formulas validas:

(a) ϕ→ (ψ → ϕ).(b) (ϕ→ (ψ → θ))→ ((ϕ→ ψ)→ (ϕ→ θ)).(c) (¬ϕ→ ¬ψ)→ ((¬ϕ→ ψ)→ ϕ).(d) (∀x ϕ(x))→ ϕ(t), donde t es un termino cualquiera.(e) ϕ(t)→ (∃x ϕ(x)), donde t es un termino cualquiera.(f) (∃x ϕ)↔ (¬∀x ¬ϕ).

IIC2213 – Logica de Primer Orden 55 / 60

El sistema de Hilbert: Logica 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 funcion n-aria f :

∀x1 · · · ∀xn∀y1 · · · ∀yn ((x1 = y1 ∧ · · · ∧ xn = yn) →

f (x1, . . . , xn) = f (y1, . . . , yn)).

IIC2213 – Logica de Primer Orden 56 / 60

El sistema de Hilbert: Logica de Primer Orden

◮ Reglas de inferencia:

(a) Modus Ponens:

ϕ→ ψϕψ

(b) Generalizacion: Si y no aparece libre en ϕ, entonces

ϕ→ ψ(y)ϕ→ ∀yψ(y)

IIC2213 – Logica de Primer Orden 57 / 60

El sistema de Hilbert: Logica de Primer Orden

Definicion

Dado un conjunto de formulas Σ ∪ {ϕ}, una deduccion formal deϕ desde Σ es una secuencia de formulas ϕ1, ϕ2, . . ., ϕn tal que:

◮ Para cada i ≤ n:◮ ϕi ∈ Σ o◮ ϕi es un axioma logico 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

generalizacion.

◮ ϕn = ϕ.

Notacion

Σ ⊢H ϕ

IIC2213 – Logica de Primer Orden 58 / 60

El sistema de Hilbert: Propiedades

Teorema (Correccion)

Dado un conjunto de formulas Σ ∪ {ϕ}, si Σ ⊢H ϕ, entoncesΣ |= ϕ.

Ejercicio

Demuestre el teorema.

IIC2213 – Logica de Primer Orden 59 / 60

El sistema de Hilbert: Propiedades

Teorema (Completidad de Godel)

Dado un conjunto de formulas Σ ∪ {ϕ}, si Σ |= ϕ, entoncesΣ ⊢H ϕ.

Corolario (Compacidad)

Un conjunto de formulas Σ es satisfacible si y solo si Σ esfinitamente satisfacible.

Ejercicio

Demuestre el corolario.

IIC2213 – Logica de Primer Orden 60 / 60