Introduciremos una notacion que hace mas dinamica e intuitiva la
manera de escribir las cosas. Por supuesto el precio que esto tiene es
que deberemos dedicarnos bastante a aprender a manejar esta notacion en
forma precisa, para no perder rigor matematico.
7.10.1 Notacion declaratoria para
terminos
Si t es un termino de tipo τ, entonces escribiremos t=dt(v1,...,vn) para declarar
que v1,...,vn son variables
distintas (con n≥1) y tales que
toda variable que ocurre en t
pertenece a {v1,...,vn} (no
necesariamente toda vj debe
ocurrir en t).
El uso de declaraciones de la forma t=dt(v1,...,vn) sera muy util
cuando se lo convina con ciertas convenciones notacionales que
describiremos a continuacion.
Convencion
Notacional 1: Cuando hayamos hecho la declaracion t=dt(v1,...,vn), si P1,...,Pn son palabras cualesquiera
(no necesariamente terminos), entonces t(P1,...,Pn) denotara la palabra
que resulta de reemplazar simultaneamente cada ocurrencia de v1 en t, por P1, cada ocurrencia de v2 en t, por P2, etc.
Notese que cuando las palabras P′is son terminos, t(P1,...,Pn) es un termino (Lema 7.6).
Ademas notese que en esta convencion notacional, el orden de las
variables v1,...,vn es clave.
Por ejemplo si τ=(∅,{FU},∅,{(FU,2)})
y t=FU(FU(x2,x16),x3)
y declaramos t=dt(x3,x2,x16), entonces
- Si declaramos t=dt(x3,x2,x16), entonces
t(##,▲#▲,@@)
denotara la palabra FU(FU(▲#▲,@@),##)
- Si declaramos t=dt(x16,x3,x2), entonces
t(##,▲#▲,@@)
denotara la palabra FU(FU(@@,##),▲#▲)
Tambien podriamos haber declarado t=dt(x3,x200,x2,x16,x100)
y en tal caso t(##,!!!!,▲#▲,@@,!!)
denotara la palabra FU(FU(▲#▲,@@),##)
Convencion
Notacional 2: Cuando hayamos declarado t=dt(v1,...,vn), si A es un modelo de tipo τ y a1,...,an∈A, entonces con tA[a1...,an]
denotaremos al elemento tA[→b], donde →b es una asignacion tal que a cada
vi le asigna el valor ai. (Notese que esta notacion es
inhambigua gracias al Lema 7.13.)
Nuevamente cabe destacar que en esta convencion notacional, el orden
de las variables v1,...,vn es
clave. Por ejemplo si τ y t son los dados en el ejemplo anterior y
A es dado por A={1,2,3} y FUA(i,j)=j, para
cada i,j∈A, tenemos que
- Si declaramos t=dt(x3,x2,x16), entonces
tA[2,1,3]=FU(FU(x2,x16),x3)A[2,1,3]=FUA(FUA(1,3),2)=2
- Si declaramos t=dt(x16,x3,x2), entonces
tA[2,1,3]=FU(FU(x2,x16),x3)A[2,1,3]=FUA(FUA(3,2),1)=1
Tambien podriamos haber declarado t=dt(x3,x200,x2,x16,x100)
y en tal caso tA[2,10,1,3,1000]=2.
Lectura
unica de terminos declarados
Para establecer nuestra Convencion Notacional 3, debemos antes probar
un lema de "lectura de terminos declarados", el cual sera muy util para
hacer demostraciones usando la notacion declaratoria.
7.24 (Lectura unica de terminos declarados).
Sea τ un tipo cualquiera y
supongamos t∈Tτ. Si t=dt(v1,...,vn), entonces se da
una y solo una de las siguientes:
(1) t=c, para algun c∈C
(2) t=vj, para algun j
(3) t=f(t1,...,tm), con f∈Fm y t1,...,tm∈Tτ unicos y
tales que las variables que ocurren en cada uno de ellos estan en {v1,...,vn}
Proof. Rutina
Convencion
Notacional 3: Cuando hayamos declarado t=dt(v1,...,vn) y se el caso (3)
del Lema 7.24 supondremos
tacitamente que tambien hemos hecho las declaraciones t1=dt1(v1,...,vn),...,tm=dtm(v1,...,vn).
Cabe destacar que esta ultima convencion notacional junto con la
Convencion Notacional 1, nos dice que cuando se de el caso (3) del Lema
7.24, si P1,...,Pn son palabras
cualesquiera, entonces t(P1,...,Pn)=f(t1(P1,...,Pn),...,tm(P1,...,Pn))
Caracter
recursivo de la notacion tA[a1,....,an]
El siguiente lema se basa en la Convencion Notacional 3 y nos permite
darle caracter recursivo a la notacion tA[a1,....,an]. Esto
sera muy util para hacer demostraciones usando la notacion
declaratoria.
7.25 (Caracter recursivo de la notacion tA[a1,....,an]).
Sea τ un tipo cualquiera y
t∈Tτ. Supongamos t=dt(v1,...,vn). Sea A un modelo de tipo τ. Sean a1,...,an∈A. Se tiene
que:
(1) Si t=c, entonces tA[a1,....,an]=cA
(2) Si t=vj, entonces tA[a1,....,an]=aj
(3) Si t=f(t1,...,tm), con f∈Fm y t1,...,tm∈Tτ, entonces
tA[a1,....,an]=fA(tA1[a1,....,an],...,tAm[a1,....,an])
Proof. (1) y (2) son triviales.
(3) Sea →b una asignacion
tal que a cada vi le asigna el
valor ai. Tenemos que tA[a1,....,an]=tA[→b] (por def. de tA[a1,....,an])=fA(tA1[→b],...,tAm[→b]) (por def. de tA[→b])=fA(tA1[a1,....,an],...,tAm[a1,....,an]) (por def. de cada tAi[a1,....,an])
Veamos un ejemplo de como se pueden probar cosas con la notacion
declaratoria.
7.26. Supongamos que F:A→B es un
homomorfismo. Sea t=d(v1,...,vn)∈Tτ. Entonces
F(tA[a1,a2,...,an])=tB[F(a1),F(a2),...,F(an)]
para cada a1,a2,...,an∈A. Proof. Por induccion. Sea
Teok: Sea F:A→B un
homomorfismo y sea t=d(v1,...,vn)∈Tτk.
Entonces
F(tA[a1,a2,...,an])=tB[F(a1),F(a2),...,F(an)]
para todo a1,a2,...,an∈A.
Probaremos primero que vale Teo0. Como t=d(v1,...,vn)∈Tτ0={Var∪C}, tenemos que dos casos
posibles. Si t=c, para algún c∈C entonces tenemos lo
siguiente
Veamos ahora que Teok implica Teok+1. Podemos suponer que t∈Tτk+1−Tτk, usando
el lema anterior tenemos que t=f(t1,...,tm) con f∈Fm y t1,...,tm∈Tτk. Dado a
que hemos declarado t=d(v1,...,vn), por la
Convención Notacional 3, tenemos declarados también t1=d(v1,...,vn),...,tm=d(v1,...,vn).
Entonces
Si φ es una formula de
tipo τ, entonces escribiremos
φ=dφ(v1,...,vn) para
declarar que v1,...,vn son
variables distintas (con n≥1)
tales que Li(φ)⊆{v1,...,vn}.
Tal como para el caso de terminos, el uso de declaraciones de la forma
φ=dφ(v1,...,vn) sera
muy util cuando se convina con ciertas convenciones notacionales que
describiremos a continuacion.
Convencion
Notacional 4: Cuando hayamos hecho la declaracion φ=dφ(v1,...,vn), si
P1,...,Pn son palabras
cualesquiera, entonces φ(P1,...,Pn) denotara la
palabra que resulta de reemplazar simultaneamente cada ocurrencia libre
de v1 en φ, por P1, cada ocurrencia libre de v2 en φ, por P2, etc.
Notese que cuando las palabras P′is son terminos, φ(P1,...,Pn) es una formula.
Ademas notese que tal como para el caso de terminos, en esta convencion
notacional, el orden de las variables v1,...,vn es clave. Es facil dar el
ejemplo analogo al dado para terminos.
Convencion
Notacional 5: Cuando hayamos declarado φ=dφ(v1,...,vn), si
A es un modelo de tipo
τ y a1,...,an∈A, entonces A⊨φ[a1...,an]
significara que A⊨φ[→b], donde
→b es una asignacion tal que a
cada vi le asigna el valor ai. (Notese que esta definicion es
inambigua gracias al Lema 7.14). En
gral A⊭φ[a1,....,an]
significara que no sucede A⊨φ[a1,....,an]
Nuevamente cabe destacar que en esta convencion notacional, el orden
de las variables v1,...,vn es
clave. Veamos un ejemplo. Sea τ=(∅,{F},{E},{(F,1),(E,2)})
y sea φ=((F(x16)≡F(x17))∧∀x16E(x2,x16)) Sea A el modelo de tipo τ dado por A={1,2,3,4,5}, FA(x)=max{x,3} y
EA={1}×A. Entonces
- Si declaramos φ=dφ(x2,x16,x17,x18)
tenemos que A⊨φ[1,2,2,4]
- Si declaramos φ=dφ(x18,x16,x17,x2)
tenemos que no se da que A⊨φ[1,2,2,4]
Lectura
unica de formulas declaradas
Para establecer nuestra Convencion Notacional 6, debemos antes
enunciar un "lema de lectura unica de formulas declaradas".
7.27 (Lectura unica de formulas declaradas).
Sea τ un tipo cualquiera y
φ∈Fτ. Supongamos
φ=dφ(v1,...,vn).
Entonces se una y solo una de las siguientes:
(1) φ=(t≡s), con t,s∈Tτ, unicos y tales que las
variables que ocurren en t o en
s estan todas en {v1,...,vn}
(2) φ=r(t1,...,tm), con r∈Rm y t1,...,tm∈Tτ, unicos y
tales que las variables que ocurren en cada ti estan todas en {v1,...,vn}
(3) φ=(φ1∧φ2),
con φ1,φ2∈Fτ, unicas y tales que Li(φ1)∪Li(φ2)⊆{v1,...,vn}
(4) φ=(φ1∨φ2), con
φ1,φ2∈Fτ, unicas y tales que Li(φ1)∪Li(φ2)⊆{v1,...,vn}
(5) φ=(φ1→φ2),
con φ1,φ2∈Fτ, unicas y tales que Li(φ1)∪Li(φ2)⊆{v1,...,vn}
(6) φ=(φ1↔φ2),
con φ1,φ2∈Fτ, unicas y tales que Li(φ1)∪Li(φ2)⊆{v1,...,vn}
(7) φ=¬φ1, con φ1∈Fτ, unica y tal que
Li(φ1)⊆{v1,...,vn}
(8) φ=∀vjφ1, con
vj∈{v1,...,vn} y φ1∈Fτ, unicas y tales
que Li(φ1)⊆{v1,...,vn}
(9) φ=∀vφ1, con v∈Var−{v1,...,vn} y φ1∈Fτ, unicas y tales
que Li(φ1)⊆{v1,...,vn,v}
(10) φ=∃vjφ1, con
vj∈{v1,...,vn} y φ1∈Fτ, unicas y tales
que Li(φ1)⊆{v1,...,vn}
(11) φ=∃vφ1, con v∈Var−{v1,...,vn} y φ1∈Fτ, unicas y tales
que Li(φ1)⊆{v1,...,vn,v}
Proof. Ejercicio (haga induccion en el k tal que φ∈Fτk).
Convencion
Notacional 6: Cuando hayamos declarado φ=dφ(v1,...,vn),
entonces:
- si se da el caso (1) del Lema 7.27, supondremos
tacitamente que tambien hemos hecho las declaraciones t=dt(v1,...,vn) y s=ds(v1,...,vn).
- si se da el caso (2) del Lema 7.27, supondremos
tacitamente que tambien hemos hecho las declaraciones t1=dt1(v1,...,vn),...,tm=dtm(v1,...,vn).
- si se da cualquiera de los casos
(3), (4), (5) o (6) del Lema 7.27, supondremos
tacitamente que tambien hemos hecho las declaraciones φ1=dφ1(v1,...,vn)
y φ2=dφ2(v1,...,vn).
- si se da cualquiera de los casos
(7), (8) o (10) del Lema 7.27, supondremos
tacitamente que tambien hemos hecho la declaracion φ1=dφ1(v1,...,vn).
- si se da el caso (9) o el caso
(11) del Lema 7.27, supondremos
tacitamente que tambien hemos hecho la declaracion φ1=dφ1(v1,...,vn,v).
Caracter
recursivo de la notacion A⊨φ[a1,....,an]
El siguiente lema se basa en la Convencion Notacional 6 y nos permite
darle caracter recursivo a la notacion A⊨φ[a1,....,an].
Esto sera muy util para hacer demostraciones usando la notacion
declaratoria.
7.28 (Caracter recursivo de la notacion A⊨φ[a1,....,an]).
Supongamos φ=dφ(v1,...,vn). Sea
A=(A,i) un modelo de tipo
τ y sean a1,...,an∈A. Entonces
(1) Si φ=(t≡s), entonces
- A⊨φ[a1,....,an]
si y solo si tA[a1,...,an]=sA[a1,...,an]
(2) Si φ=r(t1,...,tm),
entonces
- A⊨φ[a1,....,an]
si y solo si (tA1[a1,...,an],...,tAm[a1,...,an])∈rA
(3) Si φ=(φ1∧φ2),
entonces
- A⊨φ[a1,....,an]
si y solo si A⊨φ1[a1,....,an]
y A⊨φ2[a1,....,an]
(4) Si φ=(φ1∨φ2),
entonces
- A⊨φ[a1,....,an]
si y solo si A⊨φ1[a1,....,an]
o A⊨φ2[a1,....,an]
(5) Si φ=(φ1→φ2),
entonces
- A⊨φ[a1,....,an]
si y solo si A⊨φ2[a1,....,an]
o A⊭φ1[a1,....,an]
(6) Si φ=(φ1↔φ2),
entonces
- A⊨φ[a1,....,an]
si y solo si ya sea A⊨φ1[a1,....,an]
y A⊨φ2[a1,....,an]
o A⊭φ1[a1,....,an]
y A⊭φ2[a1,....,an]
(7) Si φ=¬φ1,
entonces
- A⊨φ[a1,....,an]
si y solo si A⊭φ1[a1,....,an]
(8) Si φ=∀vjφ1,
entonces
- A⊨φ[a1,....,an]
si y solo si A⊨φ1[a1,....,a,...,an],
para todo a∈A.
(9) Si φ=∀vφ1, con v∉{v1,...,vn},
entonces
- A⊨φ[a1,....,an]
si y solo si A⊨φ1[a1,....,an,a],
para todo a∈A.
(10) Si φ=∃vjφ1,
entonces
- A⊨φ[a1,....,an]
si y solo si A⊨φ1[a1,....,a,...,an],
para algun a∈A.
(11) Si φ=∃vφ1, con v∉{v1,...,vn},
entonces
- A⊨φ[a1,....,an]
si y solo si A⊨φ1[a1,....,an,a],
para algun a∈A.