Aritm tica en el c lculo
Download
1 / 13

ARITMÉTICA EN EL λ -CÁLCULO - PowerPoint PPT Presentation


  • 136 Views
  • Uploaded on

ARITMÉTICA EN EL λ -CÁLCULO. Inmaculada Berrocal Rincón Pablo Camacho Aires Adrián Muñoz Alba. CONTENIDOS. El sistema de numerales ¿Es un sistema adecuado? Operaciones con los numerales de Church Suma Resta Multiplicación El uso de combinadores Numerales de Church y Numerales Estándar

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' ARITMÉTICA EN EL λ -CÁLCULO' - umay


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Aritm tica en el c lculo

ARITMÉTICA EN EL λ-CÁLCULO

Inmaculada Berrocal Rincón

Pablo Camacho Aires

Adrián Muñoz Alba


Contenidos
CONTENIDOS

  • El sistema de numerales

  • ¿Es un sistema adecuado?

  • Operaciones con los numerales de Church

    • Suma

    • Resta

    • Multiplicación

  • El uso de combinadores

  • Numerales de Church y Numerales Estándar

  • Otras operaciones

    • La igualdad entre pares Church

    • Factorial


El sistema de numerales
EL SISTEMA DE NUMERALES

Un sistema N de numerales es una terna N ≡< N, Cero, Suc > donde N es una sucesión de combinadores

N ≡ N0, N1,…

Y Cero y Suc son dos términos (funciones) tales que

Suc Nk = Nk+1


Numerales de church
NUMERALES DE CHURCH

Se definen de la siguiente forma:

C0 ≡ λfx.x

C1 ≡ λfx.fx

C2 ≡ λfx.f(fx)

Cn+1 ≡ λfx.fn+1(x)

Función sucesor: Suc ≡ λnfx.f (n f x)

Función Test Cero: EsCero ≡ λn.n (λx.F) T

F ≡ λxy.y

T ≡ λxy.x

Combinadores

siendo


Es un sistema adecuado
¿ES UN SISTEMA ADECUADO?

Un sistema de numerales es adecuado si existe una función Pred (predecesor) tal que:

Pred Nk+1 = Nk

El sistema de numerales de Church podemos decir que es un sistema de numerales adecuado, ya que podemos definir una función Pred que garantiza lo anterior.

Nuestra función Pred es:

Pred ≡ λ nfx. n (λgh.h(gf)) (λu.x) (λu.u)


Operaciones i
OPERACIONES (I)

  • Podemos definir la operación suma entre dos números como:

    Suma = λ mnfx. m f (n f x)

  • La resta en el lenguaje lambda calculo es muy sencilla de definir

    Resta = λ mn. n Pred m

    Sustituyendo la función predecesor que vimos con anterioridad,

    nos quedaría:

    Resta = λ mp. p (λ nfx. n (λgh.h(gf)) (λu.x) (λu.u)) m


Operaciones ii
OPERACIONES (II)

La multiplicación entre dos números definidos en lambda cálculo se puede definir de varias formas:

1) Mult1 = λ mnf. m (n f)

2) Mult2 = λ mn. m (Suma n) 0

Sustituyendo la función Suma que vimos con anterioridad, nos quedaría:

Mult2 = λ mn. m ((λpqfx. p f (q f x)) n) (λfx.x)

lo podemos simplificar como

Mult2 = λ mn. m (λqfx. n f (q f x)) (λfx.x)


Combinadores i
COMBINADORES (I)

Los combinadores son una versión reducida del lambda cálculo sin tipo. A través de ellas se pueden obtener funciones de orden superior. Existen dos combinadores especiales S y K, definidos de la forma:

S = λxyz.x z (y z)

K = λxy.x

Existe un combinador I ≡ λx.x que se puede expresar en términos de S y K:

I x = S K K x = K x (K x) = x


Combinadores ii
COMBINADORES (II)

Conversión del numeral de Church 0 en un combinador:

C0 = λf. λx.x = λf.I = (K I)

Conversión del numeral de Church 1 en un combinador

C1 = λf. λx.(f x)

= λf.(S λx.f λx.x)

= λf.(S (K f) I)

= (S λf.(S (K f)) λf.I))

= (S (S λf.S λf.(K f)) (K I))

= (S (S (K S) (S λf.K λf.f)) (K I))

= (S (S (K S) (S λf.K λf.f)) (K I))

= (S (S (K S) (S (K K) I)) (K I))


Numerales est ndar
NUMERALES ESTÁNDAR

Otro sistema adecuado de numerales a parte de los pares de Church son los numerales estándar. Se definen:

[0] ≡ I

[n +1] ≡ [F,[n]] ≡ λz.z F[n]

El número 2 se representaría en los numerales estándar como:

[2] = λz.z F [1] = λz.z F (λf.f F I)

Como ya hemos dicho que es un sistema adecuado, sean las funciones SucE (sucesor), PredE (predecesor) y CeroE (test cero) las siguientes:

SucE ≡ λx.[F,x]

PredE ≡ λx.x F

CeroE ≡ λx.x T


Numerales de church y numerales est ndar
NUMERALES DE CHURCH Y NUMERALES ESTÁNDAR

Sería interesante crear unas funciones H y H-1 que sirvan para pasar de un sistema a otro.

{c0, c1, … }  H-1 { [0], [1], …}

{c0, c1, … }  H  { [0], [1], …}

tales que:

H [n] = cn H-1 cn = [n]

  • Recursividad en las funciones H:

    Combinador para puntos fijos Y = λf. (λx. f(x x)) (λx. f (x x))


Funciones h y h 1
FUNCIONES H Y H-1

  • Función H-1 que pasa de los pares de Church a los numerales estándar:

    H-1 ≡ λg.H-1aux g [0] ≡ λg. H-1aux g I

    H-1aux ≡ Y ϕ -1aux

    ϕ -1aux ≡ λ h.(λgn. COND (EsCero g) n (h (Pred g) (SucE n)))

  • Función H que pasa de los numerales estándar a los pares de Church:

    H ≡ λg.Haux g c0 ≡ λg. Haux g (λfx.x)

    Haux ≡ Y ϕ aux

    ϕ aux ≡ λ h.(λgn. COND (CeroE g) n (h (PredE g) (Suc n)))


Otras operaciones
OTRAS OPERACIONES

  • IGUALDAD ENTRE PARES DE CHURCH

    Iguales ≡ Y ϑ

    ϑ ≡ λh. (λnm. COND (EsCero n)

    (COND (EsCero m) T F)

    (COND (EsCero m) F (h (Pred n) (Pred m)))

  • FUNCIÓN FACTORIAL

    Factorial ≡ Y ϖ

    ϖ ≡ λh. (λn. (EsCero n) (λfx.fx) (Mult n (h (Pred n))))


ad