Вы находитесь на странице: 1из 5

FUNCIONES

1. 2. 3. 4. 5. 6. 7. Introduccin Funciones parciales Notacin Lambda Funciones sobre relaciones Operador de predominancia (Overriding) Propiedades de funciones Conjuntos finitos

Introduccin
Algunas relaciones son especiales: cada objeto origen tiene como mximo una imagen. Estas relaciones son funciones. En este tema se ver:
Cmo definir funciones Cmo utilizarlas para definir varios operadores del lenguaje. Qu propiedades tienen las funciones Qu ocurre cuando el dominio de la funcin es finito.

Funciones parciales
Definicin: Funcin parcial es relacin que proyecta un elemento del origen con un elemento del destino como mximo. Formalmente: X Y == {f: X Y| x:X; y1, y2: Y x y1 f x y2 f y1=y2 }. Funciones totales: aquellas que todo elemento del origen tiene imagen.
X Y == {f: X Y | dom f = X}

Denotamos con f(a) el nico objeto que, dada f, es imagen de a. Reglas de inferencia:
1 p: f p.1 = a a b f ----------------------------------b = f(a)
[app-intro]

1 p: f p.1 = a b = f(a) ----------------------------------a bf

[app-elim]

Notacin Lambda
Nos permite definir una funcin con una sintaxis especial. Supuesto f una funcin con dominio los elementos de X que cumplen la restriccin p. Si el resultado de aplicar f un elemento arbitrario x se puede mostrar por la expresin e, f puede describirse como:
f = { x:X | p x f = ( x:X | p e) e}

Mediante la notacin Lambda, podra describirse como: Si la parte de declaracin de la expresin introduce ms de una variable, el tipo origen de la funcin ser una tupla obtenida del producto cartesiano de los tipos implicados
( a:A; b:B; c:C .... e)

Funciones sobre relaciones


Los operadores definios para relaciones en el captulo anterior pueden redefinirse como funciones sobre relaciones. Por ejemplo los operadores de dominio y rango.
[X,Y] dom: (X Y) ran: (X Y) R: X Y dom R = {x:X | y: Y x ran R = {y:Y | x: X x y R} y R} PX PX

Operador de predominancia (Overriding)


Este operador nos permite combinar dos funciones y garantizar que el resultado es, a su vez, una funcin. Dadas dos funciones f y g, en algunos casos f g puede no ser una funcin. Sintaxis: f g. Y se define como:
[X,Y] _ _ : (X Y) x (X Y) f,g: X Y f g = (dom g f) g (X Y)

Propiedades de funciones (I)


Es importante clasificar las funciones dependiendo de sus caractersticas, as hablamos de:
Funciones parciales inyectivas Funciones totales inyectivas Funciones parciales suprayectivas Funciones totales suprayectivas Funciones parciales biyectivas Funciones totales biyectivas

Definiciones informales:
Inyectiva: x1, x2: dom f f x1 = f x2 x1 = x2 Suprayectiva: ran f = B (supesto B conjunto imagen) Biyectiva: Inyectiva y suprayectiva.

Propiedades de funciones (II)


Definiciones formales:
Inyectivas:
A A B == {f: A B == (A B| x1, x2: dom f f x1 = f x2 x1 = x2} B) ( A B)

Suprayectivas
A A B == {f: A B == (A B| ran f = B} B) ( A B)

Biyectiva: Inyectiva y suprayectiva.


A A B == (A B == (A B) ( A B)

B) ( A

B)

Conjuntos finitos (I)


Definicin: conjunto cuyos elementos son contables hasta un cierto nmero natural n. Pueden verse como una biyeccin de los naturales en el conjunto en cuestin. Est definido el operador rango para trabajar con ellos, del siguiente modo:
_.._: N x N PN m,n: N m ..n = {i:N | m i n}

Otro operador definido es la potencia finita de conjuntos:


F X = = {s: PX | n: N f: 1..n s true}

Conjuntos finitos (II)


Se denota con #s, el nmero de elementos del conjunto s. Este operador est definido del siguiente modo:
[X]

#:FX

s: F X; n: N n = # s f: (1..n) s true

Si el dominio de una funcin es finito, la funcin es tambin finita.


A B = = {f: A B| dom f F A}

Вам также может понравиться