Lógica y Computabilidad Lenguajes de primer orden Términos

Anuncio
Lenguajes de primer orden
Lógica y Computabilidad
I
sı́mbolos lógicos y auxiliares:
I
Verano 2011
I
I
Lógica de Primer Orden - clase 1
∀
¬
→
(
)
VAR es el conjunto de variables
∀ se llama cuantificador universal
sı́mbolos de cada lenguaje particular L = C ∪ F ∪ P, donde
I
Lenguaje de lógica de primer orden, términos, fórmulas, variables
libres y ligadas, interpretación, valuación, niveles de verdad,
consecuencia semántica
0
x, x 0 , x 00 , x 000 , . . . son variables
I
Departamento de Computación - FCEyN - UBA
x
I
I
C es un conjunto de sı́mbolos de constantes (puede ser C = ∅)
F es un conjunto de sı́mbolos de funciones (puede ser F = ∅)
P es un conjunto de sı́mbolos de predicados (P =
6 ∅)
1
Términos
2
Fórmulas
Para un lenguaje fijo L, definimos las fórmulas de L:
Para un lenguaje fijo L, definimos los términos de L:
1. si P es un sı́mbolo de predicado n-ádico de L y t1 , . . . , tn son
términos de L, entonces P(t1 , . . . , tn ) es una fórmula de L
(atómica)
2. si ϕ es una fórmula de L entonces ¬ϕ es una fórmula de L
3. si ϕ y ψ son fórmulas de L entonces (ϕ → ψ) es una fórmula
de L
4. si ϕ es una fórmula de L y x una variable entonces (∀x)ϕ es
una fórmula de L
5. nada más es una fórmula de L
1. toda variable es un término
2. todo sı́mbolo de constante de L es un término
3. si f es un sı́mbolo de función n-ádico de L y t1 , . . . , tn son
términos de L, entonces f (t1 , . . . , tn ) es un término de L
4. nada más es un término de L
TERM(L) es el conjunto de todos los términos del lenguaje L
Un término es cerrado si no tiene variables.
FORM(L) es el conjunto de todas las fórmulas 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 términos:
c
, d
,
x
,
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 fórmulas:
, 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 aparición de una variable x en una fórmula está ligada si
está dentro del alcance de un cuantificador. En caso contrario,
dicha aparición está libre.
I una variable está libre en una fórmula si todas sus apariciones
están libres.
I una variable está ligada en una fórmula si todas sus
apariciones están ligadas.
I una fórmula es una sentencia si todas las variables son ligadas
(es decir, no hay apariciones libres de variables)
Por ejemplo, (para un lenguaje con un sı́mbolo de predicado binario P)
I en
P(x, y ) , x está libre
I en
(∀y ) P(x, y ) , x está libre
I en
(∀x) P(x, y ) , x está ligada
I en
(∀x)(∀y ) P(x, y ) , x está ligada
I en
P(x, y ) → (∀x)(∀y ) P(x, y )
I
I
usamos x, y , z, . . . para variables
I
usamos a, b, c, d, . . . para sı́mbolos de constante
I
usamos f , g , h, . . . para sı́mbolos de función (la aridad
siempre va a quedar clara del contexto)
I
usamos P, Q, R, . . . para sı́mbolos de predicado (la aridad
siempre va a quedar clara del contexto)
I
escribimos (∃x)ϕ en lugar de ¬(∀x)¬ϕ
I
escribimos (ϕ ∨ ψ) en lugar de (¬ϕ → ψ)
I
escribimos (ϕ ∧ ψ) en lugar de ¬(ϕ → ¬ψ)
I
escribimos ϕ en lugar de (ϕ) cuando convenga
I
I
I
5
Interpretación de un lenguaje
la primera aparición de x está libre
la segunda aparición de x está ligada
entonces, x no está ni libre ni ligada
6
Ejemplos
Una L-estructura A de un lenguaje L = C ∪ F ∪ P es
I
un conjunto A no vacı́o, se lo llama universo o dominio
Para L = C ∪ F ∪ P, con C = {c, d}, F = {f , g } y P = {P}
I
las siguientes asignaciones:
(f unaria, g binaria, P binario)
I
para cada sı́mbolo de constante c ∈ C, un elemento fijo
L-estructura A
cA ∈ A
I
I
I
para cada sı́mbolo de función n-aria f ∈ F, una función
I
fA : An → A
I
I
I
para cada sı́mbolo de predicado n-ario P ∈ P, una relación
I
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
8
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 valuación para A es una función v : VAR → A
(f unaria, g binaria, P binario)
Extendemos v a ṽ : TERM(L) → A, que interpreta un término 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
I
xy ∈
/Z
ṽ (t) = v (x)
N = funciones R → R
cN = función identidad
dN = función 0
fN (x) = derivada de x
gN (x, y ) = x ◦ y
PN (x, y ) sii x = y
I
ṽ (t) = cA
I
una función 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 ) (atómica)
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
I
ṽ g (x, f (d)) = 2+(−1) = 1
para cualquier v
ṽ g (c, f (d)) = 0+(−1) = −1
I
A |= ¬ψ[v ] sii
ṽ (t1 ), . . . , ṽ (tn ) ∈ PA
no A |= ψ[v ]
3. ϕ es de la forma (ψ → ρ)
si v (x) = {1, 2}
ṽ g (x, f (d)) = {1, 2}∪N = {1, 2}
para cualquier v
ṽ g (c, f (d)) = ∅ ∪ N = ∅
sii
2. ϕ es de la forma ¬ψ
Tenemos
I
10
Sea A una L-estructura con dominio A y v una valuación de A.
Definimos cuando ϕ es verdadera en A bajo la valuación v
(notación: A |= ϕ[v ])
(f unaria, g binaria, P binario)
I
Sea v una valuación de A y sea a ∈ A. Definimos la valuación
v (x = a) de la siguiente manera
(
v (y ) x 6= y
v (x = a) (y ) =
a
x =y
Interpretación de una fórmula
Para L = C ∪ F ∪ P, con C = {c, d}, F = {f , g } y P = {P}
I
si t = f (t1 , . . . , tn ) (función) entonces
ṽ (t) = fA (ṽ (t1 ), . . . , ṽ (tn ))
9
I
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
Notación (∧, ∨, ∃)
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 valuación 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 ]
I
I
para v (x) = 0
A 6|= P(x, c)[v ]
I
para v (x) = {1, 2, 3}
B 6|= P(x, c)[v ]
I
para cualquier v
A 6|= (∀y )P(y , g (y , d))[v ]
I
para cualquier v
B |= (∀y )P(y , g (y , d))[v ]
A |= ρ[v ]
A |= (ψ ∧ ρ)[v ] sii
A |= ψ[v ]
y
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 interpretación usual
I
Para un lenguaje L fijo.
I
I
1. ϕ es satisfacible si existe una L-estructura A y una valuación
v de A tal que A |= ϕ[v ]
I
I
I
I
I
I
3. ϕ es universalmente válida (|= ϕ) si A |= ϕ[v ] para toda
L-estructura A y toda valuación v de A
I
I
D = h{0}; =i con la interpretación usual
E = hN; ≤i con la interpretación 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
I
B |6 = x < y → (∃z) (x < z ∧ z < y )
B 6|= (∃x) x < 0
C = hQ; <, 0i con la interpretación 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 interpretación usual
I
2. ϕ es verdadera (o válida) en una L-estructura A (A |= ϕ) si
A |= ϕ[v ] para toda valuación v de A
I
o
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
I
sii
se entiende (∀x) P(x) → P(x)
F = hN; pari con la interpretación usual, v (x) = 0
16
Algunos resultados sobre satisfacibilidad y validez
Consecuencia semántica
Sea Γ ⊆ FORM(L) y ϕ ∈ FORM(L)
I
si ϕ es una sentencia, A |= ϕ sii A |= ϕ[v ]
I
ϕ es universalmente válida sii ¬ϕ es insatisfacible
I
preservación de validez del Modus Ponens:
I
I
I
I
ϕ es consecuencia semántica de Γ (Γ |= ϕ) si para toda
L-estructura A y toda valuación 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ón:
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 sı́mbolo proposicional
binario especial (el =) que sólo se interpreta como la igualdad.
L = {P, Q}, con P y Q sı́mbolos de predicado 1-arios
I
Γ1 =
I
I
I
(∀x)(P(x) → Q(x))
Fijemos un lenguaje L con igualdad y con ningún otro sı́mbolo.
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)
I
Γ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
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 podrá?
20
Descargar