solution2012-08-15-v3m

Upload: tanmaya1991

Post on 03-Jun-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/12/2019 Solution2012-08-15-V3M

    1/8

    Z,B, . . .

    f : Z Z f(x) =

    1 x Z x 0

    0

    g : (Z Z) Z g(h) =

    0

    h(x)= x Z

    t s t s

    f S={, 0}

    f(S) ={0, 1} f(S) =f(S)

    fi(x) = 0 x i

    S = {f1, f2, . . .} S = f f(x) = 0 x Z g(S) = = 0 = g(S)

    g

    (x.42) bot bot bot

    42

  • 8/12/2019 Solution2012-08-15-V3M

    2/8

    > 1

  • 8/12/2019 Solution2012-08-15-V3M

    3/8

  • 8/12/2019 Solution2012-08-15-V3M

    4/8

    D f : D D {fi()| i N}

    f

    D = 2N

    D

    S D

    D

    (D, )

    f : D D f

    f mult nf mult

    () n N

    n

    f

    mult

    f mult

  • 8/12/2019 Solution2012-08-15-V3M

    5/8

    S(S (S))S (S Z)

    Z

    S(S)S Z

    S

    fi() fi+1()

    i N

    i= 0 f0() = f1()

    i >0

    fi1() fi() f

    f

    f(fi1()) f(fi()) fi() fi+1()

    {fi() | i N} D {fi() | i N}

    f

    f({fi()| i N}) =f({fi()| i N}) (f )

    ={fi+1

    ()| i N}=({fi+1()| i N} { })

    ={fi()| i N}

    d

    f {fi()| i N} d

    fi() d f0() = d

    fi() d f f(fi()) f(d) d f fi+1()d

    S= {M1, M2, . . .} Mi Mi+1

    S=

    Mi Mi

    Mi

    B Mi B e Mi\ B k

    e Mk eB Mk B B S

  • 8/12/2019 Solution2012-08-15-V3M

    6/8

    Mi D

    D

    Ni := {k N | k i} Ni Ni+1 {N1, N2, . . .}

    f(M) =

    M

    {42}

    g

    (nf

    mult())(x, y) =

    0

    x= 0 n > 0

    x y 0< x < n y=

    f mult

    g(x, y) =

    0

    x= 0

    x y 0< x y=

    h(x, y) =

    0

    x= 0

    x y x= y=

    x= (x= 0 y = ) (

    )

    f f(c1, c2) = f mult(f)(c1, c2)

    f(c1, c2) = 0 c1 = 0

    c1 = 0 f(c1, c2) =c2+f(c11, c2) c1 =

    c1 1 c2 = c1 = 0

    c2+f(c1 1, c2) h

    c1, c2 Z f(c1, c2) = c2+ f(c1 1, c2)

    B H

    A (A ) A (E)A (B)

    A B

    B(E)A H

  • 8/12/2019 Solution2012-08-15-V3M

    7/8

    Lam

    t= fact.(x.(If(LessThanOrEx 1) 1 (Timesx (fact (Minusx 1)))))

    = { If True x y.x,

    If Falsex y.y,

    fix f.f(fixf)}

    { Minus x y z | x, y Z z= x y}

    { Times x y z | x, y Z z= x y}

    { LessThanOrE x y b | x, y Z ((x y b= True) (x > y b= False))}

    fixt 1 t

    n

    f x.fn x

    fx.x

    fx.fx

    Succ n n+ 1 Succ (f x.t) f x.f t t

    fn x

    Plus

    n

    m

    Succ

    n+m m n

    (fix(quot x y.If(LessThanx y) 0 (Plus1 (quot (Minusx y) y )))) v w

    fixt 1

    (f.(f (fixf))) t 1

    t (fixt) 1

    (x.(If(LessThanOrEx 1) 1 (Timesx (fixt (Minusx 1))))) 1

    If(LessThanOrE1 1) 1 (Times1 (fixt (Minus1 1))) ()

    If True1 (Times1 (fixt (Minus1 1)))

    (x.(y.x)) 1 (Times1 (fixt (Minus1 1)))

    (y.1) (Times1 (fixt (Minus1 1)))

    1

    If if

    ()

    Succ= n f x.f (n f x)

    Plus= n m f x.n f (m f x)

    Plus= n m.n Succ m

  • 8/12/2019 Solution2012-08-15-V3M

    8/8

    A0 := {x:: a.a Int} y.y x W

    W(A0, y.y x)W(A0+ {y:: b1}, y x)

    W(A0+ {y:: b1}, y) = (id,b1)W(A0+ {y:: b1}, x) = (id,b2 Int)

    mgu(b1, (b2 Int)b3) = [b1/(b2 Int) b3])= ([b1/(b2 Int) b3], b3)

    = ([b1/(b2 Int) b3], ((b2 Int) b3) b3)