D
Size: a a a
D
D
AG
AG
AG
AG
ex1 : TermT [] Test1 ([[V] ~> V] ~> [V] ~> V)
ex1 = LamT $ LamT $ App1 {ns1=[0,1]} {ns2=[1,0]}
(VarT $ Suc Zero)
(VarT Zero)
ex2 : TermT [] Test2 ([[V] ~> V, [V] ~> V] ~> [V] ~> V)
ex2 = LamT $ LamT $ App1 {ns1=[0,1]} {ns2=[1,1]}
(VarT $ Suc Zero) $
App1 {ns1=[0,1]} {ns2=[1,0]}
(VarT $ Suc Zero)
(VarT Zero)
w
ex1 : TermT [] Test1 ([[V] ~> V] ~> [V] ~> V)
ex1 = LamT $ LamT $ App1 {ns1=[0,1]} {ns2=[1,0]}
(VarT $ Suc Zero)
(VarT Zero)
ex2 : TermT [] Test2 ([[V] ~> V, [V] ~> V] ~> [V] ~> V)
ex2 = LamT $ LamT $ App1 {ns1=[0,1]} {ns2=[1,1]}
(VarT $ Suc Zero) $
App1 {ns1=[0,1]} {ns2=[1,0]}
(VarT $ Suc Zero)
(VarT Zero)
AT
AG
R
ex1 : TermT [] Test1 ([[V] ~> V] ~> [V] ~> V)
ex1 = LamT $ LamT $ App1 {ns1=[0,1]} {ns2=[1,0]}
(VarT $ Suc Zero)
(VarT Zero)
ex2 : TermT [] Test2 ([[V] ~> V, [V] ~> V] ~> [V] ~> V)
ex2 = LamT $ LamT $ App1 {ns1=[0,1]} {ns2=[1,1]}
(VarT $ Suc Zero) $
App1 {ns1=[0,1]} {ns2=[1,0]}
(VarT $ Suc Zero)
(VarT Zero)
AG
λf.λx.f x
и λf.λx.f (f x)
AG
AG
AG
AG
P
SK
AG