You are on page 1of 32

El lenguaje P

smbolos
I

Logica y Computabilidad
I

Departamento de Computaci
on - FCEyN - UBA
I

L
ogica Proposicional - clase 1

I
I
I

p, p 0 , p 00 , p 000 , . . . son smbolos proposicionales

todo smbolo proposicional es una formula


si es una formula entonces es una formula
si y son formulas entonces ( ) es una formula
nada mas es una formula

convenciones
I

Lenguaje de l
ogica proposicional, semantica, tautologa, consecuencia
semantica, conjunto satisfacible, sistema axiomatico SP,
consecuencia sintactica

formulas
1.
2.
3.
4.

Verano 2011

escribimos q por p 0 r por p 00 s por p 000 ...


escribimos ( ) en lugar de ( )
escribimos ( ) en lugar de ( )
escribimos en lugar de () cuando convenga

llamamos PROP al conjunto de todos los smbolos


proposicionales
llamamos FORM al conjunto de todas las formulas

Semantica

Semantica

Una interpretaci
on es una funci
on
v : PROP {0, 1}

Observar que, por la convencion,


5. v |= ( ) sii v |= y v |=

A v tambien se la llama valuaci


on.

6. v |= ( ) sii v |= o v |=
Definimos la noci
on de verdad de una f
ormula para una valuacion.
Por ejemplo, si

Si FORM y v es una valuaci


on, notamos
I

v |= si es verdadera para v

v |= (p r )

v 6|= si es falsa para v

v |= (q r )

v 6|= p

v 6|= (p q)

La definicion de |= es recursiva:

v (p) = 1

v (q) = 0

v (r ) = 1

1. si p PROP, v |= p sii v (p) = 1


2. v |= sii v 6|=
3. v |= ( ) sii v 6|= o v |=
3

Tautologas y metodo de decision

Consecuencia semantica y conjunto satisfacible


Sea FORM y FORM

Una formula es una tautologa (|= ) si es verdadera para


toda interpretaci
on, i.e. para toda valuaci
on v , v |= .

es consecuencia semantica de ( |= ) si para toda


interpretacion v :

Proposicion

si v |= para toda , entonces v |=


{z
}
|
lo notamos v |=

Sea FORM y sean v y w son dos valuaciones tal que


v (p) = w (p) para toda variable proposicional que aparece en .
Entonces v |= sii w |= .

es satisfacible si existe una interpretacion v tal que v |= para


toda (i.e. tal que v |= )

Existe un metodo de decisi


on para saber si es tautologa o no:
I supongamos que tiene variables proposicionales p1 , . . . , pn
I sea P ({p1 , . . . , pn }) = {V1 , . . . , V2n }
(
1 si p Vi
I para i {1, . . . , 2n } definimos vi (p) =
0 si no
I es tautolog
a sii

Por ejemplo

vi |= para todo i {1, . . . , 2n }

{q} |= q

es satisfacible

{q} |= p q

{p, q} es satisfacible

{r , p q} 6|= p

{p, p q} no es satisfacible

{r , p q} 6|= s

{p, p q, q} no es satisfacible

Algunos resultados sobre |=

Mecanismo deductivo SP
I

Proposicion
1. |= sii |= (i.e. es tautologa)
2. si |= entonces |=
3. {} |=

4. si y |= entonces |=
5. si |= y |= entonces |=

axiomas. Sean , , FORM


SP1 ( )
SP2 ( ( )) (( ) ( ))
SP3 ( ) ( )
regla de inferencia
MP Sean , FORM. es una consecuencia
inmediata de y

Una demostracion de en SP es una cadena finita y no vaca

Demostracion de 5.
I

sea v una interpretaci


on tal que v |=

sabemos v |=

sabemos v |=

concluimos v |=

1 , . . . , n
de formulas de P tal que n = y
I i es un axioma o
I i es una consecuencia inmediata de k , l , k, l < i
En este caso, decimos que es un teorema (` )
7

Ejemplo: demostracion de p p

Consecuencia sintactica

Recordar
Sea FORM y FORM

SP1 ( )
SP2 ( ( )) (( ) ( ))

es una consecuencia sintactica de ( ` ) si existe una cadena


finita y no vaca
1 , . . . , n

SP3 ( ) ( )
MP Sean , FORM. es una consecuencia
inmediata de y

de formulas de P tal que n = y

Demostracion:
1.
2.
3.
4.
5.

p ((p p) p)
(p ((p p) p)) ((p (p p)) (p p))
(p (p p)) (p p)
p (p p)
pp

SP1
SP2
MP 1 y 2
SP1
MP 3 y 4

i es un axioma o

i o

i es una consecuencia inmediata de k , l , k, l < i

Aqu, 1 , . . . , n se llama derivacion de a partir de . se llama


teora. Decimos que es un teorema de la teora .

Concluimos ` p p (i.e. p p es un teorema)


9

Correctitud de SP

10

Demostracion de Correctitud de SP

Si ` entonces |= (i.e. si es teorema de la teora , es valido


en toda interpretaci
on de ).

Propiedad a demostrar:
P(n) = si 1 , . . . , n = es una derivacion de a partir de
entonces v |= v |=

Demostracion.

Demostramos que vale P(n) por induccion en n.

Teorema

1. caso base. Veamos que vale P(1). Sup. v tal que v |= . Queremos
ver que v |= v |= . Hay 2 posibilidades

Supongamos ` . Es decir, existe una cadena finita y no vaca

1.1 is axioma de SP: en este caso, v |= ;


1.2 : en este caso, tambien v |= .

1 , . . . , n
de formulas de P tal que n = y
I

i es un axioma o

i o

i es una consecuencia inmediata de k , l , k, l < i

2. paso inductivo. Sup. v tal que v |= . Sup. que vale P(m) para todo
m n. Queremos ver que vale P(n + 1).Sup. 1 , . . . , n , n+1 =
es una derivacion de a partir de . Hay 3 posibilidades
2.1 is axioma de SP: igual que en caso base;
2.2 : igual que en caso base;
2.3 es consecuencia inmediata de i y j = i (i, j n). Por HI
(P(i) y P(j)), sabemos v |= i y v |= i . Entonces
necesariamente v |= .

Demostramos que |= por inducci


on en n (la longitud de la
demostracion). Detalles a continuaci
on.
11

12

Ejemplos
I

Conjuntos y sistemas consistentes


FORM es consistente si no existe FORM tal que

1 = {p} ` p
1. p p 1
2 = {p} ` p
1. p
2. p ( p)
3. p

Un sistema S es consistente si no existe FORM tal que

p 2
SP1
MP 1 y 2

`S

`S

Teorema

3 = {p} 6` q
porque 3 6|= q (considerar v (p) = 1; v (q) = 0)
4 = {p, p} `
1. p ( p)
2. p
3. p
4. ( p) (p )
5. p
6. p
7.

SP1
p 4
MP 1 y 2
SP3
MP 3 y 4
p 4
MP 5 y 6

El sistema SP es consistente.

Demostracion.
I

sea v cualquier valuacion

por correctitud, todo teorema de SP es verdadero para v


`

v |=

v 6|=

6`

luego no puede pasar que y sean teoremas

13

Algunos resultados sobre `

14

Resumen
lenguaje P

Proposicion
1. ` sii ` (i.e. es teorema)
2. si ` entonces `
3. {} `

semantica

metodo deductivo

tautologa

teorema

(verdadera en toda interpretacion)

(tiene demostracion en SP)

consecuencia semantica |=

consecuencia sintactica `

conjunto satisfacible

conjunto consistente

(existe modelo para todos sus elementos)

(no permite probar y )

4. si y ` entonces `
5. si ` y ` entonces `
Si reemplazamos ` por |=, obtenemos los mismos resultados (ver
hoja 7)

15

16

Notas sobre computabilidad

Notas sobre computabilidad

Se pueden codificar las f


ormulas de P con n
umeros naturales.
I a cada f
ormula se le asigna un n
umero # > 0
I cada n
umero positivo representa una u
nica formula

Las demostraciones son listas (finitas) de formulas.


I

Se puede decidir algortmicamente si una f


ormula es un axioma o
no
I es computable la funci
on
(
1 si la f
ormula de n
umero x es un axioma de SP
ax(x) =
0 si no

Se puede decidir algortmicamente si una lista de formulas es una


demostracion valida o no

Se puede decidir algortmicamente si una formula es consecuencia


inmediata de otras dos
I es computable la funci
on

si la f
ormula de n
umero z es consecencia

1
mp(x, y , z) =
inmediata de las formulas de n
umeros x e y

0
si no

considerar el siguiente programa P:


IF dem(D) = 1 D[|D|] = X GOTO E
D D +1
GOTO A

P busca una demostraci


on para la f
ormula con n
umero X
I
I

si la encuentra, se detiene
si no, se indefine

` sii P (#) , o equivalentemente


es teorema

I
I

# domP

el conjunto de teoremas de SP es c.e.


esto pasa en general para cualquier sistema axiomatico
I

sii

es decir, cualquier sistema de deducci


on con un conjunto
computable de axiomas y reglas de inferencia computables
tiene un conjunto de teoremas c.e.

sera el conjunto de teoremas de SP computable?

es computable la funcion
(
1 x es una demostracion valida
dem(x) =
0 si no

en efecto,

cons(x, k) = (i, j {1, . . . , k 1})[mp(x[i], x[j], x[k])]

Notas sobre computabilidad

[A]

dem(x) = (k {1, . . . , |x|})[ax(x[k]) cons(x, k)]

17

la demostracion 1 . . . n se codifica como [#1 , . . . , #n ]

19

18

Plan

Logica y Computabilidad
I

Verano 2011

vimos que SP es correcto: ` |=


Esto prueba
I

Departamento de Computaci
on - FCEyN - UBA

L
ogica Proposicional - clase 2

ahora veremos que SP es completo: ` |=


Para esto:
I
I

Teorema de la deduccion, lema de Lindenbaum, completitud de SP,


compacidad

satisfacible consistente

Lema de Lindenbaum
satisfacible consistente

consecuencia: Teorema de Compacidad

El Teorema de la Deduccion

Demostracion del Teorema de la Deduccion

Teorema
Si {} ` entonces `

Demostracion.
Por induccion en la longitud de la demostracion de {} ` .
Supongamos que
1 , . . . , n

1.
2.
3.

es una derivaci
on de (= n ) a partir de {}.
I

caso base (n = 1)

paso inductivo
I

(caso base)

Supongamos
I 1 , . . . , n es una derivaci
on de a partir de {}
I n = 1 (i.e. la derivaci
on es una sola formula 1 = )
Queremos ver que ` . Hay 3 posibilidades:
1. es un axioma de SP

( )

es axioma
SP1
`

MP 1,2

2.
1.
2.
3.

HI: para toda derivacion de 0 a partir de {} de longitud


< n tenemos ` 0
probamos que para una demostracion de longitud n de
{} ` tenemos ` .

( )


SP1
`

MP 1,2

3. =
vimos que ` p p.
la misma demostracion sirve para probar `
3

Demostracion del Teorema de la Deduccion

Conjuntos consistentes

(paso inductivo)

Supongamos

Proposicion

1 , . . . , n

1. {} es inconsistente sii `

es una derivaci
on de a partir de {}

2. {} es inconsistente sii `

HI: para toda derivacion de 0 a partir de {} de longitud < n


tenemos ` 0

Demostracion de 1.

Queremos ver que ` . Hay 4 posibilidades:


1. es un axioma de SP: igual que en en caso base
2. : igual que en en caso base
3. = : igual que en en caso base
4. se infiere por MP de i y j (i, j < n)
I
I
I
I
I
I
I

sin perdida de generalidad, j = i


{} ` i y la derivacion tiene longitud < n
por HI ` i
{} ` j y la derivacion tiene longitud < n
por HI ` j , i.e. ` (i )
sabemos (SP2) ` ( (i )) (( i ) ( ))
por MP 2 veces `

()

` {} `
trivialmente {} `


{} es inconsistente

() existe tal que {} `


por el Teorema de la Deduccion,
`

{} `

se puede ver que (ejercicio)


` ( ) (( ) )
por MP 2 veces tenemos `

Satisfacible consistente

Lema de Lindenbaum

Teorema

FORM es maximal consistente (m.c.) en SP si

Si FORM es satisfacible entonces es consistente.

Demostracion.

supongamos v tal que v |= pero es inconsistente

existe tal que

por correctitud de SP,

v |= y v |=

es consistente y
para toda formula
I
I

o
existe tal que

{} `

{} `

|=

|=

Lema
Si FORM es consistente, existe 0 m.c. tal que 0 .

Demostracion del Lema de Lindenbaum

Conjuntos maximales consistentes

(obtener 0 m.c.)

Enumeramos todas las f


ormulas: 1 , 2 , . . . Definimos
I 0 =
(
n {n+1 } si n {n+1 } es consistente
I n+1 =
n
si no
S
0
I =
i0 i

Proposicion
Si 0 es m.c. entonces para toda FORM, o bien 0 o bien
0 .

Demostracion.

Tenemos
1. 0
2. cada i es consistente
3. 0 es consistente
I
I
I
I

4.

si no, existe tal que 0 ` y 0 `


en ambas derivaciones aparecen u
nicamente {1 , . . . , k } 0 .
sea j suficientemente grande tal que {1 , . . . , k } j
entonces j ` y j ` ; contradice 2

no puede ser que y esten en 0 porque sera inconsistente

supongamos que ninguna esta. Como 0 es maximal y por


Proposicion de la hoja 6,
0 {} es inconsistente 0 `
0 {} es inconsistente 0 `

0 inconsistente

es maximal
I
I
I

supongamos
/ 0 . Debe existir n tal que n+1 =
n+1
/ n+1 , entonces n {n+1 } es inconsistente
luego 0 {n+1 } es inconsistente (pues 0 n )

Proposicion
Sea 0 m.c. 0 ` sii 0 .
10

Consistente satisfacible

Demostracion de consistente satisfacible

(caso = )

Teorema
Si FORM es consistente entonces es satisfacible.

Demostracion.

HI: v |= sii 0 para toda de complejidad < m

Dado consistente, construimos 0 m.c. (Lindenbaum)

= tiene complejidad m.

Definimos la interpretaci
on v tal que

Quiero probar que v |= sii 0

v (p) = 1 sii p 0
Veamos v |= sii 0 por inducci
on en la complejidad de
I

caso base: = p. Trivial por definici


on de v .

paso inductivo:
HI: v |= sii 0 para toda de complejidad < m
Sea de complejidad m. Hay 2 casos:

HI

() v |= v 6|=
/ 0 0 0
HI

() 0
/ 0 v 6|= v |= v |=

1. =
2. =
11

12

Demostracion de consistente satisfacible

Teorema de Completitud (fuerte)

(caso = )

HI: v |= sii para toda de complejidad < m


= tiene complejidad m.
Quiero probar que v |= sii 0
() v |= v |= ( ) v 6|= o v |=
I

HI

Probamos que
I

consistente sii satisfacible

(hojas 7 y 11)

{} es inconsistente sii `

(hoja 6)

v 6|=
/ `
sabemos ` ( )
por MP 0 `
entonces 0
HI
v |= 0 0 `
sabemos por SP1 que ` ( )
por MP 0 `
entonces 0
HI

() v 6|= v |= y v 6|= y
/
0 y 0 0 ` y 0 `
sabemos ` ( ( ))
aplicando MP 2 veces, 0 ` ( )
por lo tanto ( ) 0
entonces
/ 0

(ejercicio)

Teorema
Si |= entonces ` .

Demostracion.

0
(ejercicio)

supongamos |=

{} es insatisfacible

{} es inconsistente

13

Consecuencias del Teorema de Completitud

14

Resumen

Corolario
` sii |=

lenguaje P

Corolario
` sii |= (i.e. es un teorema de SP sii es tautologa)

Teorema (Compacidad)
Sea FORM. Si todo finito incluido en es satisfacible,
entonces es satisfacible.

semantica

metodo deductivo

Demostracion.

tautologa

teorema

(verdadera en toda interpretacion)

(tiene demostracion en SP)

consecuencia semantica |=

consecuencia sintactica `

supongamos insatisfacible

es inconsistente

existe tal que

se usan solo finitos axiomas de

conjunto satisfacible

conjunto consistente

existe finito tal que ` y `

(existe modelo para todos sus elementos)

(no permite probar y )

es inconsistente

es insatisfacible

15

16

Notas sobre computabilidad

Habamos visto que el conjunto de teoremas de SP es c.e.


Vemos que es computable:
metodo de decisi
on = tablas de verdad
` sii

|=

` sii en la tabla de verdad de solo hay 1s en la u


ltima columna

17

Lenguajes de primer orden


Logica y Computabilidad
I

smbolos logicos y auxiliares:


I

Verano 2011

L
ogica de Primer Orden - clase 1

VAR es el conjunto de variables

se llama cuantificador universal

smbolos de cada lenguaje particular L = C F P, donde


I

Lenguaje de logica de primer orden, terminos, f


ormulas, variables
libres y ligadas, interpretacion, valuacion, niveles de verdad,
consecuencia semantica

x, x 0 , x 00 , x 000 , . . . son variables


I

Departamento de Computaci
on - FCEyN - UBA

I
I

C es un conjunto de smbolos de constantes (puede ser C = )


F es un conjunto de smbolos de funciones (puede ser F = )
P es un conjunto de smbolos de predicados (P =
6 )

Terminos

Formulas
Para un lenguaje fijo L, definimos las formulas de L:

Para un lenguaje fijo L, definimos los terminos de L:

1. si P es un smbolo de predicado n-adico de L y t1 , . . . , tn son


terminos de L, entonces P(t1 , . . . , tn ) es una formula de L
(atomica)
2. si es una formula de L entonces es una formula de L
3. si y son formulas de L entonces ( ) es una formula
de L
4. si es una formula de L y x una variable entonces (x) es
una formula de L
5. nada mas es una formula de L

1. toda variable es un termino


2. todo smbolo de constante de L es un termino
3. si f es un smbolo de funci
on n-adico de L y t1 , . . . , tn son
terminos de L, entonces f (t1 , . . . , tn ) es un termino de L
4. nada mas es un termino de L
TERM(L) es el conjunto de todos los terminos del lenguaje L
Un termino es cerrado si no tiene variables.

FORM(L) es el conjunto de todas las formulas del lenguaje L


Por ejemplo, para L = C F P, con C = {c, d}, F = {f } y
P = {R} (f de aridad 3, R binario) son terminos:
c

, d

f (c, d, x 0 )

Por ejemplo, para L = C F P, con C = {c, d}, F = {f } y


P = {R} (f de aridad 3, R binario) son formulas:

, f (c, f (x 000 , x 00 , x 00 ), x 0 )

R(d, x 0 )
3

, (x 0 ) R(d, x 00 )

(x 00 ) R(f (x 00 , x 0 , x 000 ), d)
4

Convenciones

Variables libres y ligadas


una aparicion de una variable x en una formula esta ligada si
esta dentro del alcance de un cuantificador. En caso contrario,
dicha aparicion esta libre.
I una variable est
a libre en una formula si todas sus apariciones
estan libres.
I una variable est
a ligada en una formula si todas sus
apariciones estan ligadas.
I una f
ormula es una sentencia si todas las variables son ligadas
(es decir, no hay apariciones libres de variables)
Por ejemplo, (para un lenguaje con un smbolo de predicado binario P)
I en
P(x, y ) , x esta libre
I en
(y ) P(x, y ) , x esta libre
I en
(x) P(x, y ) , x esta ligada
I en
(x)(y ) P(x, y ) , x esta ligada
I en
P(x, y ) (x)(y ) P(x, y )
I

usamos x, y , z, . . . para variables

usamos a, b, c, d, . . . para smbolos de constante

usamos f , g , h, . . . para smbolos de funcion (la aridad


siempre va a quedar clara del contexto)

usamos P, Q, R, . . . para smbolos de predicado (la aridad


siempre va a quedar clara del contexto)

escribimos (x) en lugar de (x)

escribimos ( ) en lugar de ( )

escribimos ( ) en lugar de ( )

escribimos en lugar de () cuando convenga

I
I
I

Interpretacion de un lenguaje

la primera aparicion de x esta libre


la segunda aparicion de x esta ligada
entonces, x no esta ni libre ni ligada

Ejemplos

Una L-estructura A de un lenguaje L = C F P es


I

un conjunto A no vaco, se lo llama universo o dominio

Para L = C F P, con C = {c, d}, F = {f , g } y P = {P}

las siguientes asignaciones:

(f unaria, g binaria, P binario)

para cada smbolo de constante c C, un elemento fijo

L-estructura A

cA A
I

I
I

para cada smbolo de funcion n-aria f F, una funci


on

fA : An A
I

I
I

para cada smbolo de predicado n-ario P P, una relaci


on

PA An

A=Z
cA = 0
dA = 1
fA (x) = x
gA (x, y ) = x + y
PA (x, y ) sii x divide a y

L-estructura B
I
I
I
I
I
I

B = P(N)
cB =
dB = N
fB (x) = x
gB (x, y ) = x y
PB (x, y ) sii x y

Las funciones fA y predicados PA son siempre totales.


7

No ejemplos

Valuaciones
Fijemos una L-estructura A con dominio A.

Para L = C F P, con C = {c, d}, F = {f , g } y P = {P}

Una valuacion para A es una funcion v : VAR A

(f unaria, g binaria, P binario)

Extendemos v a v : TERM(L) A, que interpreta un termino t


en una L-estructura A:
I si t = x (variable) entonces

L-estructura M
I
I
I
I
I
I

M=Z
cM = 0
dM = 1
fM (x) = 1/x
gM (x, y ) = x y
PM (x, y ) sii x divide a y

L-estructura N
I
I
I
I
I
I

en general
I

1/x
/Z

xy
/Z

v (t) = v (x)

N = funciones R R
cN = funcion identidad
dN = funcion 0
fN (x) = derivada de x
gN (x, y ) = x y
PN (x, y ) sii x = y

v (t) = cA
I

una funcion R R puede no


ser derivable

Ejemplos
L-estructura A

I
I
I

L-estructura B

A=Z
cA = 0
dA = 1
fA (x) = x
gA (x, y ) = x + y
PA (x, y ) sii x divide a y

Tenemos
I

I
I
I
I
I
I

1. es de la forma P(t1 , . . . , tn ) (atomica)

B = P(N)
cB =
dB = N
fB (x) = x
gB (x, y ) = x y
PB (x, y ) sii x y

A |= P(t1 , . . . , tn )[v ]

si v (x) = 2

v g (x, f (d)) = 2+(1) = 1


para cualquier v

v g (c, f (d)) = 0+(1) = 1

A |= [v ] sii


v (t1 ), . . . , v (tn ) PA

no A |= [v ]

3. es de la forma ( )

si v (x) = {1, 2}

v g (x, f (d)) = {1, 2}N = {1, 2}
para cualquier v

v g (c, f (d)) = N =

sii

2. es de la forma

Tenemos

10

Sea A una L-estructura con dominio A y v una valuacion de A.


Definimos cuando es verdadera en A bajo la valuacion v
(notacion: A |= [v ])

(f unaria, g binaria, P binario)

Sea v una valuacion de A y sea a A. Definimos la valuacion


v (x = a) de la siguiente manera
(
v (y ) x 6= y
v (x = a) (y ) =
a
x =y

Interpretacion de una formula

Para L = C F P, con C = {c, d}, F = {f , g } y P = {P}

si t = f (t1 , . . . , tn ) (funcion) entonces


v (t) = fA (
v (t1 ), . . . , v (tn ))

si t = c (constante) entonces

A |= ( )[v ]

no A |= [v ] o A |= [v ]

4. es de la forma (x)
A |= (x)[v ] sii

11

sii

para cualquier a A, A |= [v (x = a)]


12

Notacion (, , )

Ejemplos
Para L = C F P, con C = {c, d}, F = {f , g } y P = {P}
(f unaria, g binaria, P binario)

L-estructura A
I
I
I
I
I
I

A=Z
cA = 0
dA = 1
fA (x) = x
gA (x, y ) = x + y
PA (x, y ) sii x divide a y

Tenemos

Sea A una L-estructura y v una valuacion de A. Se deduce:

L-estructura B
I
I
I
I
I
I

5. es de la forma ( )

B = P(N)
cB =
dB = N
fB (x) = x
gB (x, y ) = x y
PB (x, y ) sii x y

A |= ( )[v ]

para v (x) = 0
A 6|= P(x, c)[v ]

para v (x) = {1, 2, 3}


B 6|= P(x, c)[v ]

para cualquier v
A 6|= (y )P(y , g (y , d))[v ]

para cualquier v
B |= (y )P(y , g (y , d))[v ]

A |= [v ]

A |= ( )[v ] sii

A |= [v ]

A |= [v ]

A |= (x)[v ]

sii

hay un a A tal que A |= [v (x = a)]

14

13

3 niveles de verdad

Ejemplos
I

A = hZ; <, 0i con la interpretacion usual


I

Para un lenguaje L fijo.

I
I

1. es satisfacible si existe una L-estructura A y una valuacion


v de A tal que A |= [v ]

3. es universalmente valida (|= ) si A |= [v ] para toda


L-estructura A y toda valuaci
on v de A

D = h{0}; =i con la interpretacion usual


E = hN; i con la interpretacion usual

|= (x) P(x) P(x)


6|= P(x) (x) P(x)
I

15

C |= x < y (z) (x < z z < y )


C |= (x) x < 0

(x)(y ) P(x, y ) es satisfacible


I

B |6 = x < y (z) (x < z z < y )


B 6|= (x) x < 0

C = hQ; <, 0i con la interpretacion usual


I

decimos que A es un modelo de

A |= (x)(y ) x < y
A |= (y ) x < y
A 6|= x < y (z) (x < z z < y )
A |= (x) x < 0

B = hN; <, 0i con la interpretacion usual


I

2. es verdadera (o valida) en una L-estructura A (A |= ) si


A |= [v ] para toda valuaci
on v de A
I

7. es de la forma (x)

para v (x) =
B |= P(x, d)[v ]

para v (x) = 1
A |= P(x, d)[v ]

A |= [v ]

6. es de la forma ( )

Tenemos

sii


se entiende (x) P(x) P(x)

F = hN; pari con la interpretacion usual, v (x) = 0


16

Algunos resultados sobre satisfacibilidad y validez

Consecuencia semantica
Sea FORM(L) y FORM(L)

si es una sentencia, A |= sii A |= [v ]

es universalmente valida sii es insatisfacible

preservaci
on de validez del Modus Ponens:
I
I
I

es consecuencia semantica de ( |= ) si para toda


L-estructura A y toda valuacion v de A:
si A |= [v ] entonces A |= [v ]

A |= [v ] y A |= ( )[v ] entonces A |= [v ]
A |= y A |= ( ) entonces A |=
|= y |= ( ) entonces |=

Notaci
on:

clausura universal
I
I

A |= [v ]

A |= sii A |= (x)
|= sii |= (x)

significa que para toda ,


A |= [v ]

18

17

Ejemplos

Lenguajes con igualdad


L es un lenguaje con igualdad si tiene un smbolo proposicional
binario especial (el =) que solo se interpreta como la igualdad.

L = {P, Q}, con P y Q smbolos de predicado 1-arios


I

1 =
I
I
I

(x)(P(x) Q(x))

Fijemos un lenguaje L con igualdad y con ning


un otro smbolo.
Buscamos FORM(L) tal que {A : A |= } sea la clase de
modelos
I con exactamente 1 elemento

1 |6 = (x)P(x)
1 |= (x)P(x) (x)Q(x)
1 |= (x)P(x) (x)Q(x)

= (x)(y )x = y
I

2 =
I
I
I

(x)(P(x) Q(x)) ,

(x)P(x)

2 |= (x)Q(x)
2 |= (x)(P(x) Q(x))
2 6|= (x)(P(x) Q(x))

x=y

z }| {

= (x)(y ) x 6= y (z)(z = x z = y )
I

3 =
I

(x)(P(x) Q(x)) ,

3 |=

con exactamente 2 elementos

(x)(P(x) Q(x))

con al menos 3 elementos


= (x)(y )(z) x 6= y x 6= z y 6= z

para cualquier
I
19

con infinitos elementos... con finitos elementos. Se podra?


20

Reemplazo de variables libres por terminos


Sea L = C F P un lenguaje fijo.

Logica y Computabilidad

Sea FORM(L), t TERM(L) y x VAR. [x/t] es la


formula obtenida a partir de sustituyendo todas las apariciones
libres de la variable x por t

Verano 2011
Por ejemplo, (para un lenguaje con smbolo de predicado binario P y
Departamento de Computaci
on - FCEyN - UBA

smbolo de funcion unario f )

L
ogica de Primer Orden - clase 2
Lema de sustitucion, sistema axiomatico SQ, consecuencia sintactica,
teorema de la generalizacion, teorema de la generalizaci
on en
constantes

P(x, y )[x/f (z)] = P(f (z), y )

P(x, y )[x/f (x)] = P(f (x), y )



(x)(y ) P(x, y ) [x/f (z)] = (x)(y ) P(x, y )

P(x, y ) (x)(y ) P(x, y ) [x/f (z)] =
P(f (z), y ) (x)(y ) P(x, y )

I
I

Si c C, [c/t] es la formula obtenida a partir de sustituyendo


todas las apariciones de la constante c por t
1

Variable reemplazable por un termino

Lema de Sustitucion

Sea t TERM(L), x VAR, FORM(L).

Lema
Decimos que x es reemplazable por t en cuando

Si x es reemplazable por t en entonces

1. t es un termino cerrado (i.e. no tiene variables) o

A |= ([x/t])[v ]

2. t tiene variables pero ninguna de ellas queda atrapada por un


cuantificador en el reemplazo [x/t]

Demostracion.
Por induccion en la complejidad de .
(a veces escribo v por v )

Por ejemplo, (para un lenguaje con smbolo de predicado unario P y


smbolo de funcion binaria f )

En
(y ) (x)P(x) P(x)

= P(u) es atomica (u es termino; el caso n-ario es similar).


A |= P(u[x/t])[v ] sii v (u[x/t]) PA sii (lema auxiliar)
v [x = v (t)](u) PA sii A |= [v (x = v (t))].

es de la forma o de la forma . Directo.


(y ) (x)P(x) P(z)

I x es reemplazable por f (x, z):
(y ) (x)P(x) P(f (x, z))

I x no es reemplazable por f (x, y ): (y ) (x)P(x) P(f (x, y ))
I

sii A |= [v (x = v (t))]

x es reemplazable por z:

(sigue )

Mecanismo deductivo SQ (para un lenguaje fijo L)

Lema de Sustitucion
Demostracion (cont.)
I

Para un lenguaje fijo L

es de la forma (y ) .
Sup. x no aparece libre en . Entonces v y v [x = v (t)] coinciden en todas las
variables que aparecen libres en . Ademas, = [x/t]. Inmediato.

axiomas. Sean , , FORM(L), x VAR, t TERM(L)


SQ1 ( )
SQ2 ( ( )) (( ) ( ))
SQ3 ( ) ( )
SQ4 (x) [x/t] si x es reemplazable por t en
SQ5 (x)
si x no aparece libre en
SQ6 (x)( ) ((x) (x))
SQ7 si es un axioma entonces (x) tambien es un
axioma

regla de inferencia
MP Sean , FORM(L). es una consecuencia
inmediata de y

Sup. x aparece libre en . Como t es reemplazable por x en , y no ocurre en t.


Luego para todo d A,
v (t) = v (y = d)(t).
(1)
Ademas, t es reemplazable por x en . Como x 6= y ,
[x/t] = ((y ) )[x/t] = (y ) ([x/t]).

Luego
A |= [x/t][v ]

sii (def.)

para todo d A, A |= [x/t][v (y = d)]

sii (HI)

para todo d A, A |= [v (y = d)(x = w (t))]


| {z }

sii (1)

para todo d A, A |= [v (y = d)(x = v (t))]

sii (x 6= y )

para todo d A, A |= [v (x = v (t))(y = d)]

sii (def.)

A |= [v (x = v (t))]



Ejemplo = (x)([z/x]) ` (z)

Consecuencia sintactica, demostraciones, teoremas, teoras

(x no aparece en )

Fijamos un lenguaje L. Sea FORM(L) y FORM(L)


1. una demostraci
on de en SQ es una cadena finita y no vaca
1.
2.
3.
4.
5.
6.
7.

1 , . . . , n
de formulas de L tal que n = y
I
I

i es un axioma o
i es una consecuencia inmediata de k , l , k, l < i

En este caso, decimos que es un teorema (` ).


2. es una consecuencia sintactica de ( ` ) si existe una
cadena finita y no vaca


(z) (x)([z/x]) 

(z) (x)([z/x]) (z)(x)([z/x]) (z)
(z)(x)([z/x]) (z)
(x)([z/x]) (z)(x)([z/x])
(x)([z/x])
(z)(x)([z/x])
(z)

SQ4+SQ7
SQ6
MP 1,2
SQ5

MP 4,5
MP 3,6

1 , . . . , n
de formulas de L tal que n = y
I
I
I

Observar

i es un axioma o
i o
i es una consecuencia inmediata de k , l , k, l < i

Aqu, 1 , . . . , n se llama derivaci


on de a partir de . se
llama teora. Decimos que es un teorema de la teora .

paso 1: x es reemplazable por z en [z/x]

paso 1: [z/x][x/z] =

paso 4: z no aparece libre en (x)([z/x])


8

Correctitud y consistencia

Resultados similares a los de SP


Teorema (de la Deduccion)
Si {} ` entonces `
FORM(L) es consistente si no existe FORM(L) tal que

Teorema (Correctitud)

El sistema SQ es correcto, i.e. si ` entonces |= .

Proposicion
Teorema (Consistencia)

1. {} es inconsistente sii `

El sistema SQ es consistente, i.e. no existe FORM(L) tal que


`

2. {} es inconsistente sii `

Teorema
Si es satisfacible, entonces es consistente.

Teorema
Si es inconsistente, entonces existe un subconjunto finito de
que es inconsistente.
10

Instancias de esquemas tautologicos


I

I
I

Variantes alfabeticas
Sea L = {0, S} con igualdad y FORM(L) definida como

sea (p1 , . . . , pn ) una tautologa de P con variables


proposicionales p1 , . . . , pn .
sean 1 , . . . , n f
ormulas cualesquiera de primer orden
(1 , . . . , n ) es una instancia de un esquema tautologico
(reemplazar pi por i en la f
ormula original )

= x 6= 0 (y )x = S(y )
En la variable x es reemplazable por z:
[x/z] = z 6= 0 (y )z = S(y )
Sin embargo, la variable x no es reemplazable por y :

Proposicion

[x/y ] = y 6= 0 (y )y = S(y )

Si es una instancia de un esquema tautologico entonces ` .

No habra habido problemas si la formula original hubiese sido


0 = x 6= 0 (w )x = S(w )

Por ejemplo, la f
ormula de P

0 se llama variante alfabetica de

(p q) p

Lema
es tautologa. Entonces

Sea FORM(L). Dados x VAR y t TERM(L) podemos


encontrar 0 (variante alfabetica de ) tal que


` (x)R(x) (y )Q(y ) (x)R(x)
11

{} ` 0 y {0 } `

x es reemplazable por t en 0

12

Teorema de Generalizacion (TG)

Demostracion del TG

P(n) = para toda , y x tal que ` y x no aparece


libre en ninguna formula de , si 1 , . . . , n es una
derivacion de a partir de entonces ` (x)

Teorema
Si ` y x no aparece libre en ninguna f
ormula de , entonces
` (x)

Probamos P(1):

Observar que es necesario pedir que x no aparezca libre en ninguna


formula de :
I
I

{R(x)} 6|= (x)R(x)


entonces {R(x)} 6` (x)R(x)

(caso base)

(por correctitud)

sea , y x tal que x no aparece libre en

sea una derivacion de a partir de

queremos ver que ` (x)

Hay 2 posibilidades:

Demostracion del teorema.

1. es axioma de SQ

Planteo
P(n) = para toda , y x tal que ` y x no aparece
libre en ninguna f
ormula de , si 1 , . . . , n es una
derivacion de a partir de entonces ` (x)

SQ7

` (x) ` (x)

2. entonces
I
I
I
I

Demostracion por inducci


on en n (detalles a continuacion).

`
por hipotesis x no aparece libre en
por SQ5, ` (x)
por MP, ` (x)

13

Demostracion del TG

Teorema de Generalizacion en Constantes (TGC)

(paso inductivo)

P(n) = para toda , y x tal que ` y x no aparece


libre en ninguna f
ormula de , si 1 , . . . , n es una
derivacion de a partir de entonces ` (x)

Teorema
Supongamos que ` y c es un smbolo de constante que no
aparece en . Entonces existe una variable x que no aparece en
tal que ` (x)([c/x]). Mas aun, hay una derivacion de
(x)([c/x]) a partir de en donde c no aparece.

Probamos P(n):
I sea , y x tal que x no aparece libre en
I sea 1 , . . . , n una derivaci
on de a partir de
I queremos ver que ` (x)
I HI: vale P(m) para todo m < n

Idea de la demostracion.
Sea 1 , . . . , n una derivacion de a partir de .
Sea x la primera variable que no aparece en ninguna de las i .
1. demostrar que 1 [c/x], . . . , n [c/x]

Hay 3 posibilidades:
1 y 2. es axioma de SQ o : igual que en caso base.
3. se obtiene por MP de i y j (i, j < n):
supongamos que j = i . Usamos HI 2 veces:
I
I

1.1 es una derivacion de [c/x] a partir de (por induccion en n)


1.2 no contiene al smbolo de constante c

2. hay un finito tal que ` [c/x] con derivacion que no


usa c y tal que x no aparece libre en ninguna formula de

como i < n, vale P(i), en particular, ` (x)i


como j < n, vale P(j), en particular, ` (x)(i )

por SQ6, ` (x)(i ) ((x)i (x))


usando MP 2 veces, ` (x)

14

2.1 es el conjunto de axiomas de que se usan en 1 , . . . , n

3. por el TG, ` (x)([c/x]) con derivacion que no usa c


15

16

Consecuencias del TGC

Lenguajes con igualdad


Fijamos un lenguaje L con igualdad.
Para los lenguajes con igualdad, se considera el sistema SQ = con
los axiomas y regla de inferencia de SQ, sumando estos dos
axiomas

Corolario
Supongamos que ` [z/c] y c es un smbolo de constante que
no aparece en ni en . Entonces ` (z). Mas aun, hay una
derivacion de (z) a partir de en donde c no aparece.

Demostracion.
I

por el TGC, existe x tal que


I
I
I

x no aparece en [z/c]

` (x) [z/c][c/x]
en esta u
ltima derivacion no aparece c

como c no aparece en ,

[z/c][c/x] = [z/x]

` (x) [z/x]

` (x) [z/x] (z)

entonces

sabemos

Se puede probar que

(aplicar el Teorema de la Deduccion a derivaci


on de hoja 8)
I

por MP concluimos ` (z)

en esta u
ltima derivaci
on no aparece c
17

Notas sobre computabilidad


Fijemos un lenguaje numerable L. Se pueden codificar las formulas
de FORM(L) con n
umeros naturales.
Igual que para la l
ogica proposicional:
I es computable la funci
on
(
1 x es una demostraci
on valida en SQ para L
demL (x) =
0 si no
I

considerar el siguiente programa P:


[A]

IF demL (D) = 1 D[|D|] = X GOTO E


D D +1
GOTO A

I
I
I

axiomas adicionales para SQ = . Sean , FORM(L),


x, y VAR
SQ= 1 x = x
SQ= 2 x = y ( ) donde es atomica y se
obtiene de reemplazando x por y en cero o
mas lugares

es teorema de SQ para L sii # domP


el conjunto de teoremas del sistema SQ para L es c.e.
sera el conjunto de teoremas de SQ para L computable?
19

SQ = es consistente

Si hay una derivacion de en SQ = entonces es verdadera


en toda L-estructura en donde el = se interpreta como la
igualdad
18

Consistente satisfacible
Sea L un lenguaje fijo. Sea FORM(L) consistente. Queremos
construir un modelo canonico B y una valuacion v de B tal que:
B |= [v ] para toda

Logica y Computabilidad

Demostracion en 5 pasos:
Paso 1. expandir L a L0 con nuevas constantes. L0 = L C. En C hay
una cantidad infinita numerable de nuevas constantes
(nuevas porque no aparecen en L)
Paso 2. agregar testigos a . Trabajamos con , donde es un
conjunto de formulas especiales que usan las constantes
nuevas de L0
Paso 3. aplicar el Lema de Lindenbaum para . Obtener
maximal consistente
Paso 4. construir el modelo canonico A y valuacion v (para el
lenguaje L0 ) tal que A |= [v ] sii
Paso 5. restringir A y v al lenguaje original L y obtener B

Verano 2011
Departamento de Computaci
on - FCEyN - UBA

L
ogica de Primer Orden - clase 3
Completitud de SQ, compacidad

Paso 1: expandir de L a L0 con nuevas constantes

Paso 2: agregar testigos a


Sean y C como en el paso 1. Sea

Teorema
Sea FORM(L) consistente. Sea C un conjunto de nuevas
constantes que no aparecen en L. Si L0 = L C entonces es
consistente en el lenguaje L0 .

h1 , x1 i, h2 , x2 i, . . .
una enumeracion de FORM(L0 ) VAR
Definimos
n = (xn )n (n [xn /cn ])

Demostracion.
I

supongamos inconsistente en el nuevo lenguaje L0 . Entonces


existe FORM(L0 ) tal que
`
y
`

cada una de estas derivaciones usa f


ormulas en FORM(L0 ),
pero aparecen solo finitas constantes nuevas

por el TGC, cada constante nueva utilizada (por hipotesis no


aparece en ) puede reemplazarse por una variable nueva

obtenemos una derivaci


on de

donde cn es la primera constante de C que


I no aparece en n y
I no aparece en 1 , . . . , n1
Definimos
= {1 , 2 , . . . }

Teorema
FORM(L0 ) es consistente.

` [c1 , . . . , cn /x1 , . . . , xn ] y ` [c1 , . . . , cn /x1 , . . . , xn ]

Observar que agrega testigos a . Si ocurre (x) entonces


hay una constante c que atestigua que no vale para todo x, i.e.
([x/c])

en el lenguaje original L (ci son nuevas constantes; xi son


nuevas variables)
I

entonces es inconsistente en el lenguaje L

Paso 3: Lema de Lindenbaum para

Demostracion del paso 2


Supongamos consistente. Recordemos que = {1 , 2 , . . . }
I supongamos inconsistente
I debe existir i tal que {1 , . . . , i+1 } es inconsistente
I sea n el m
nimo tal i y sea 0 = {1 , . . . , n+1 }
I observar que {1 , . . . , n } es consistente

I {1 , . . . , n } ` (x) ([x/c])
{z
}
|

Teorema
Sean y como en los pasos 1 y 2. Existe un conjunto
tal que es maximal consistente.

Demostracion.

n+1

donde c no aparece en {1 , . . . , n } ni en
las siguientes son instancias de esquemas tautologicos:
I
I

n+1 (x)
n+1 ([x/c])

Como en el caso proposicional, para toda FORM(L0 )

por lo tanto
I
I

Igual que para el caso proposicional.

MP

` n+1 (x) {1 , . . . , n } ` (x)

o bien

sii `

MP

` n+1 ([x/c]) {1 , . . . , n } ` [x/c]

por el corolario del TGC,

{1 , . . . , n } ` (x)

(notar que c no aparece en {1 , . . . , n } ni en )


I

entonces {1 , . . . , n } es inconsistente
6

Paso 4: construccion del modelo canonico A

Paso 4: definicion de la valuacion v

Definimos el modelo can


onico A:
I
I

Definimos la valuacion v : VAR TERM(L0 ) como


| {z }

A = TERM(L0 )
para cada smbolo de funci
on n-aria f L0 ,

v (x) = x

fA (t1 , . . . , tn ) = f (t1 , . . . , tn ) A
| {z }
An

para cada smbolo de constante c

Lema
Para todo t TERM(L0 ), v (t) = t.

L0 ,

Demostracion.
cA = c A

Por induccion en la complejidad de t (facil).

Teorema
I

Para toda FORM(L0 ), A |= [v ] sii .

L0 ,

para cada smbolo de predicado n-ario P



t1 , . . . , tn PA sii P(t1 , . . . , tn )
| {z }

Demostracion.
Por induccion en la complejidad de (detalles a continuacion).

An

Paso 4: A |= [v ] sii

Paso 4: A |= [v ] sii

(caso base)

(paso inductivo; = )

Si es una formula at
omica P(t1 , . . . , tn ):
A |= [v ]
A |= P(t1 , . . . , tn )[v ]

sii
sii
sii


v (t1 ), . . . , v (tn ) PA
t1 , . . . , tn PA
P(t1 , . . . , tn )

sii
sii
sii

A 6|= [v ]

por HI
por propiedad de

pues v (t) = t
por def. de A

Paso 4: A |= [v ] sii

10

Paso 4: A |= [v ] sii

(paso inductivo; = )

A |= [v ]

sii
sii
sii

A 6|= [v ] o A |= [v ]

/o
o
`

I
I

por HI
por propiedad de
(ejercicio)
por propiedad de

I
I
I
I

sii
sii

/ o ( y ` )

/ o ( y )

/o
A 6|= [v ] o A |= [v ]
A |= [v ]

MP en 2do caso
por propiedad de

supongamos A |= (x)[v ]
para todo t A, A |= [v (x = t)]
supongamos (x) ([x/c])
en particular, A |= [v (x = c)]
por definicion de v , A |= [v (x = v (c))]
por el Lema de Sustitucion, A |= ([x/c])[v ]
por HI, [x/c]
por propiedad de , ([x/c])
/
veamos que (x)
/ :
I
I

por HI

I
I
I
I

I
11

(paso inductivo () ; = (x))

supongamos que (x)


` (x)
como , (x) ([x/c])
` (x) ([x/c])
por MP tenemos ` ([x/c])
por propiedad de , ([x/c])

concluimos (x)
12

Paso 4: A |= [v ] sii
I

supongamos A 6|= [v ]

existe t A, A 6|= [v (x = t)]

sea 0 una variante alfabetica de tal que x sea reemplazable


por t en 0 )

A 6|= 0 [v (x = t)]

como v (t) = t, A 6|= 0 [v (x = v (t))]

por el Lema de Sustituci


on A 6|= ( 0 [x/t])[v ]

por HI, 0 [x/t]


/
veamos que (x) 0
/ :

I
I
I
I
I

Paso 5: restringir A y v al lenguaje original L

(paso inductivo () ; = (x))

Volvemos al lenguaje original L.


Definimos B como la restriccion de A a L.
Del paso 4 sabemos que para toda FORM(L0 ),
A |= [v ]

sii

Obviamente, si FORM(L) tenemos


A |= [v ]

sii

B |= [v ]

supongamos que (x)


` (x) 0
sabemos ` (x) 0 0 [x/t] por SQ4
por MP concluimos ` 0 [x/t]
por propiedad de , 0 [x/t]

Luego, para consistente, encontramos una L-estructura B tal que


B |= [v ] para toda
Concluimos que es satisfacible.

por equivalencia de variantes alfabeticas, (x)


/
14

13

Teorema de Lowenheim-Skolem

Completitud y Compacidad

Corolario
es consistente sii es satisfacible

Teorema (Completitud fuerte, Godel)

Teorema (sin igualdad)

Si |= entonces ` .

Sea L numerable y sin igualdad. Si FORM(L) es satisfacible,


es satisfacible en un modelo infinito numerable.

Demostracion.
Igual que para proposicional

Demostracion.
Es lo que acabamos de ver. Si L es numerable, A = FORM(L) es
infinito numerable.

Corolario

Teorema (con igualdad)

Teorema (Compacidad)

Sea L numerable y con igualdad. Si FORM(L) es satisfacible,


es satisfacible en un modelo finito o infinito numerable.

Sea FORM(L). Si todo finito, es satisfacible,


entonces es satisfacible.

Se puede probar algo mas fuerte

Demostracion.

|= sii ` .

Igual que para proposicional

Teorema (ascendente)
Si L es numerable y FORM(L) tiene modelo infinito, tiene
modelo de cualquier cardinalidad.

15

16

Aplicaciones de Compacidad - no expresividad


Teorema
Si tiene modelos arbitrariamente grandes, tiene modelo infinito.

Logica y Computabilidad

Demostracion.
Definimos (en el lenguaje con solo la igualdad)

Verano 2011

(x)(y )x 6= y

=
..
.

(x)(y )(z)(x 6= y x 6= z y 6= z)

hay al menos n elementos

Departamento de Computaci
on - FCEyN - UBA

L
ogica de Primer Orden - clase 4
Aplicaciones de compacidad, indecidibilidad de la l
ogica de primer
orden

Aplicaciones de Compacidad - modelos no estandar

por hipotesis, todo subconjunto finito de {i | i 2} tiene


modelo

por Compacidad, {i | i 2} tiene alg


un modelo M

M tiene que ser infinito

Conclusion:
I A es infinito sii A |= {i | i 2}
I no existe tal que A es finito sii A |=

Repaso de Maquina Turing

Consideremos un lenguaje L = {0, S, <, +, } con igualdad.


Consideremos la estructura N = hN; 0, S, <, +, i con la
interpretacion usual. Sea

Fijamos = {1, }.
Recordar que una maquina de Turing es una tupla

Teo(N ) = { FORM(L) : es sentencia y N |= }

M = (, Q, T , q0 , qf )

Expandimos el lenguaje con una nueva constante c y definimos

I
I
I

= {0 < c, S(0) < c, S(S(0)) < c, S(S(S(0))) < c, . . . }

donde

cada subconjunto finito de Teo(N ) tiene modelo


por Compacidad, Teo(N ) tiene modelo
por Lowenheim-Skolem Teo(N ) un modelo numerable

N |= Teo(N ) M |= M0 |=
N 6|= N |= Teo(N )
M |= M0 |= M0 6|=

N y M0 no son isomorfos: c M es inalcanzable en M0

tiene dos estados distinguidos:


I

sea M0 la restricci
on de M al lenguaje original L
N |= sii M0 |= para toda sentencia FORM(L)
I

(finito) es el conjunto smbolos que puede escribir en la


cinta
Q (finito) es el conjunto de estados
I

M = hM; 0M , S M , <M , +M , M , c M i
I

q0 Q es el estado inicial
qf Q es el estado final

T Q {L, R} Q es la tabla finita de instrucciones

Modelo de computo de maquina de Turing

Idea de la demostracion de que Primer Orden es indecidible


I
I

Recordar que la maquina


M = (, Q, T , q0 , qf )

con entrada w {1}+ termina (notado M(w ) ) sii partiendo de


w en la cinta de entrada y la cabeza leyendo el primer caracter
despues de w ,
...

1 1 ...

...
q0

fijar un lenguaje adecuado L


dada una maquina M y w {1}+ , construir (uniformemente)
una sentencia M,w FORM(L) tal que
M(w ) sii ` M,w
si el problema de determinar si vale ` o 6` para
FORM(L) fuese computable, en particular sera
computable determinar si ` M,w o 6` M,w para cualquier
maquina M y entrada w .
como esto u
ltimo es no-computable, tampoco es computable
determinar si vale ` o 6` para cualquier FORM(L)

Dados M y w , quien es M,w ?


I una f
ormula de L que se construye computablemente a partir
de M y w
I M,w describe el comportamiento de M con entrada w en una
cierta interpretacion A
I M,w es una f
ormula-programa

llega al estado qf despues de una cantidad finita de pasos.


No es computable determinar si una maquina de Turing termina o
no.

El lenguaje L
I

smbolos de constante:
I

uno solo: 

smbolos de funci
on:
I
I

Notacion de los terminos de L

la funcion 1 unaria
la funcion * unaria

si t es un termino de L, 1(t) lo notamos 1t

si t es un termino de L, (t) lo notamos t

smbolos de relaci
on:
I

Por ejemplo

infinitos (tantas como necesitemos) smbolos de relaciones


binarias
sea E = {q0 , qf , p, q, r , . . . } un conjunto infinito de estados
que podemos llegar a usar en maquinas de Turing
cada m
aquina particular usar
a solo una cantidad finita de
estados de E

1(x) lo notamos 1x

1(1()) lo notamos 11

1(1((1(y )))) lo notamos 11 1y

los smbolos des relacion son:


Rq0 , Rqf , Rp , R q , Rr , . . .

La interpretacion A

Definicion de la formula-programa M,w


Dada una maquina

Dada una maquina


M = (, Q, T , q0 , qf )

M = (, Q, T , q0 , qf )

y una entrada w {1}+ , fijamos una interpretaci


on A = AM,w

I el universo: A = {1, } = cadenas finitas sobre {1, }


I

A = cadena vaca

las funciones

z }| {
w = 1...1

la cinta es infinita, pero infinitos se representan como 

1A : A A
se interpretan as:
I

va a representar datos en la cinta de M

y una entrada

fijamos la interpretacion A = AM,w que acabamos de ver.

A : A A

k
I

1A (x) = 1x, o sea la cadena que empieza por 1 y sigue con x


A (x) = x, o sea la cadena que empieza por y sigue con x

I
I

para q Q, (Rq )A (x, y ) es verdadero sii la maquina M con


entrada w llega a una configuraci
on en la que:
I
I
I

z }| {
0 := Rq0 (1 . . . 1 , )

el estado es q
en la cinta esta escrito x en orden inverso y a continuaci
on y
la cabeza de M apunta al primer caracter de y

dice: el estado inicial es alcanzable


A |= 0

f := (x)(y ) Rqf (x, y )


I
I

dice: el estado final es alzanzable


A |= f sii M(w )
10

Definicion de la formula-programa M,w

Definicion de la formula-programa M,w


I

Para cada instrucci


on I T :
I

si I dice si M esta en el estado q y lee un 1, escribir b y pasar


al estado r, definir
I

(y ) (Rq (, 1y ) Rr (, 1y ))

:= (x)(y ) (Rq (x, 1y ) Rr (x, by ))

si I dice si M esta en el estado q y lee un , escribir b y pasar


al estado r, definir
I

:= (x)(y ) (Rq (1x, 1y ) Rr (x, 11y ))


(x)(y ) (Rq (x, 1y ) Rr (x, 1y ))

I
I

si I dice si M esta en el estado q y lee un 1, moverse a la


izquierda y pasar al estado r, definir

si I dice si M esta en el estado q y lee un moverse a la


izquierda y pasar al estado r, definir
I

:= (x)(y ) (Rq (1x, y ) Rr (x, 1 y ))


(x)(y ) (Rq (x, y ) Rr (x, y ))

:= (x)(y ) (Rq (x, y ) Rr (x, by ))

(y ) (Rq (, y ) Rr (, y ))

(x) (Rq (x, ) Rr (x, b))

(Rq (, ) Rr (, ))


(Misma idea con moverse a la derecha...)
11

12

Definicion de la formula-programa M,w

Entscheidungsproblem
Teorema

Recordar que la maquina

` M,w sii M(w ) .

M = (, Q, T , q0 , qf )

Demostracion.

tiene siempre un conjunto finito de instrucciones T

() Si ` M,w entonces |= M,w , es decir, M,w es verdadera en


toda interpretacion. En particular, A |= M,w . Luego M(w ) .

Definimos
M,w

() Idea. Si M(w ) entonces existe un computo de M(w ):

:= (Rq0 (wn , . . . w1 , )
{z
}
|
0

^
I T

(x2 , r2 , y2 )

(xn , rn , yn )

con xi , yi {1, } ,ri Q, x1 = w , r1 = q0 , y1 = , rn = qf .


Cada (xi , ri , yi ) representa una configuracion del computo M(w ):
I el estado es ri
(x1 , r1 , y1 )

I ) (x)(y ) Rqf (x, y )


|
{z
}
f

Proposicion

Si A |= M,w sii M(w ) .

Demostracion.

la cinta contiene [ xi ][ yi ]
la cabeza esta apuntando al primer caracter de yi

Cada paso de la ejecucion coincide con una sustitucion de una de


las formulas I .

Sabemos que A |= 0 . Sabemos que A |= f sii M(w ) . Es facil


ver que A |= I para cada I T .
Luego A |= M,w sii A |= f sii M(w ) .
13

Entscheidungsproblem
Teorema (Turing, 1936)
Sea L el lenguaje descripto y sea FORM(L). El problema de
decidir si ` o 6` no es computable.

Demostracion.
Supongamos que hay un programa que dada FORM(L)
devuelve verdadero sii ` .
Dada M y w , habra un procedimiento para decidir si M(w ) o
M(w ) :
1. construir M,w (esto se hace computablemente)
2. si ` M,w entonces M(w ) ; si no M(w )

15

computo de M(w ) = demostracion de M,w

formula M,w = programa de M

14

Artimetica de Peano
Lenguaje L = {0, S, +, } con igualdad.
I

axiomas (para x, y VAR, FORM(L) con variable libre x)


S1.
S2.
S3.
S4.
S5.
S6.
S7.

Logica y Computabilidad
Verano 2011
Departamento de Computaci
on - FCEyN - UBA
I

L
ogica de Primer Orden - clase 5

0 6= S(x)
S(x) = S(y ) x = y
x +0=x
x + S(y ) = S(x + y )
x 0=0
x S(y ) = (x y ) + x

[x/0] (x)( [x/S(x)]) (x)

definimos la teora S:


S = : es instanciacion de alguno de estos 7 esquemas

Teorema de incompletitud de G
odel

Sea N = hN; 0, S, +, i el modelo estandar de los naturales.


I
I
1

Notacion (solo para esta clase)


I

representa

( ) = 0 S + x1 x2 x3 . . .
1 2 3 4 5 6 7 8 9 10 11 12 13 . . .

[x1 , . . . , xn /t1 , . . . , tn ]

Por ejemplo,

notacion para los numerales:

( x1 )

S
(
x1
)
=
x1
2 3
5
7 11 13 17
19
23 29
31
1 5 11 2
3
8
1
11
2
6
13
Q 1 5 11 2
3
8
1
11
2
6
2 3 5
7 11 13 17 19
23 29 3113

1 = S(0)
2 = S(S(0))
..
.
n = S(. . . S (0) . . . )
| {z }
n veces
Por ejemplo,
I
I

Aritmetizacion de formulas

notamos (x1 , . . . , xn ) a una f


ormula que tiene variables libres
x1 , . . . , xn
sea (x1 , . . . , xn ) y sean t1 , . . . , tn terminos
(t1 , . . . , tn )

querramos capturar todas las verdades de N con los teoremas


de S (en el sistema SQ = )
querramos
N |= sii S `
se puede ver que
N |= S `

(x) = (y )y + 2 = x
(3) = (y )y + 2 = 3
3

toda formula de L se representa con un n


umero natural (se
llama n
umero de Godel de la formula)

de la misma manera, toda demostracion en S se representa


con un n
umero natural (se llama n
umero de Godel de la
demostracion)
4

Resultados previos

Funciones expresables en S

Teorema
Los siguientes predicados son primitivos recursivos
I

var(x): x es el n
umero de G
odel de una expresion que consiste
de una variable

term(x): x es el n
umero de G
odel de una expresion que
consiste de un termino

form(x): x es el n
umero de G
odel de una formula de
FORM(L)

axSQi (x): x es el n
umero de G
odel de una instanciacion del
=
i-esimo axioma de SQ

axSi (x): x es el n
umero de G
odel de una instanciacion del
i-esimo axioma de S

MP(x, y , z): z es el n
umero de G
odel de una expresion que
resulta de MP de las expresiones con n
umero de Godel x e y

dem(x) = x es el n
umero de G
odel de una demostracion de S

Una relacion R : Nn N es expresable en S si existe una formula


con (
unicas) variables libres x1 , . . . , xn tal que para todo
k1 , . . . , kn N:
I

si R(k1 , . . . , kn ) es verdadero en N entonces


S ` (k1 , . . . , kn )

si R(k1 , . . . , kn ) es falso en N entonces


S ` (k1 , . . . , kn )

Teorema
Toda relacion computable es expresable en S.

Consistencia y -consistencia

La formula de Godel
W (e, y )

Sea FORM(L)
es consistente si no existe FORM(L) tal que
`

e es el n
umero de Godel de una formula
con una u
nica variable libre x1 y ademas
y es el n
umero de Godel de una demostracion en S de (e)

El predicado W : N2 {0, 1} es primitivo recursivo, luego es


expresable en S por una formula W(x1 , x2 ). Consideremos

(x1 ) = (x2 )W(x1 , x2 )


= la formula con numero de Godel x1 instanciada en x1

es -consistente cuando

no es demostrable en S

si ` (n) para todo n, entonces 6` (x)(x)

Sea m el n
umero de Godel de (x1 ). Consideremos
(m) = (x2 )W(m, x2 )

Proposicion

= la formula con numero de Godel m instanciada en m

Si es -consistente entonces es consistente.

no es demostrable en S

Una teora es completa si para toda sentencia , ` o `

= (m) no es demostrable en S
= yo no soy demostrable en S
7

Formulas verdaderas en N pero no demostrables en S

Teorema de incompletitud de Godel (1931)


Recordemos que m es el n
umero de G
odel de

Recordemos que m es el n
umero de Godel de
(x1 ) = (x2 )W(x1 , x2 )

(x1 ) = (x2 )W(x1 , x2 )


de modo que

Teorema
1. si S es consistente, S 6` (m)
2. si S es -consistente, S 6` (m)

Demostracion.
1. Sup. S ` (x2 )W(m, x2 )
I

I
I
I

(m) = (x2 )W(m, x2 )


si S es -consistente, es incompleto

= (m) no es demostrable en S
I

2. Sup. S ` (x2 )W(m, x2 )

sea k el n
umero de Godel de
alguna demostraci
on en S
W (m, k) es verdadero
S ` W(m, k)
como S ` (x2 )W(m, x2 )
por SQ4, S ` W(m, k)
S es inconsistente

I
I
I

I
I

como S es consistente,
S 6` (x2 )W(m, x2 )
W (m, k) es falso para todo k
S ` W(m, k) para todo k
como S es -consistente,
S 6` (x2 )W(m, x2 )
S 6` (x2 )W(m, x2 )
S 6` (m)

si (m) fuese falsa en N (i.e. N 6|= (m)), (m) sera


demostrable en S, pero acabamos de ver que esto no es as
entonces (m) es verdadera en N , pero no demostrable en S:
N |= (m)

S 6` (m)

esto no contradice el teorema de completitud:


S |6 = (m)
| {z }

sii

S 6` (m)

hay un modelo de S
en donde (m) es falsa

Decimos que (m) es independiente


9

10

Teoras completas para N

Teorema de Godel-Rosser (1936)

Teorema
Si S es consistente, es incompleta.

Sin embargo, es posible dar teoras completas que capturen todas


las verdades de N

Una teora es recursivamente axiomatizable si existe una teora 0


tal que x 0 ? es computable y ` sii 0 `

Para L = {0, S, +, } con igualdad, existe FORM(L) tal que


` sii N |= :
I

= { : N |= }

Corolario
Cualquier teora recursivamente axiomatizable que extiende a S es
incompleta.

es completa, pero no es decidible.

11

12

Aritmetica de Presburger (1929)


Lenguaje L = {0, S, +} con igualdad. Sin
I

axiomas (como S pero sin S5 ni S6):


S1.
S2.
S3.
S4.
S7.

0 6= S(x)
S(x) = S(y ) x = y
x +0=x
x + S(y ) = S(x + y )

[x/0] (x)( [x/S(x)]) (x)

definimos la teora P:


P = : es instanciaci
on de alguno de estos 5 esquemas

P es completa

P es decidible

13

You might also like