Quiz03 Sol
Quiz03 Sol
II semester 2017-18
Mon 16 Sep 2019 Quiz 3 30 minutes Max Marks 10
2. However, programmers are more interested in the sequential composition of functions defined as (f ; g)(x) =
g(f (x). Define another combinator D which captures sequential composition and prove that it is also
associative.
Solution.
which when applied to the functions f and g and to the functions g and h yield new combinators as follows:
df
Fg = ((C f ) g) =β λz[(f (g z))] . . . (1.1)
df
Gf = ((D f ) g) =β λz[(g (f z))] . . . (2.1)
df
Gh = ((C g) h) =β λz[(g (h z))] . . . (1.2)
df
Hg = ((D g) h) =β λz[(h (g z))] . . . (2.2)
(C f (C g h)) =β (C (C f g) h))
(C (C f g) h) (C f (C g h))
=β (C Fg h) by (1.1) =β (C f Gh) by (1.2)
≡ (λx y z[(x (y z))] Fg h) ≡ ((λx y z[(x (y z))] f ) Gh)
→2β λz[(Fg (h z))] →2β λz[(f (Gh z))]
≡α λz[(λu[(f (g u))] (h z))] by (2.1) ≡α λz[(f (λu[(g (h u))] z))] by (2.2)
→β λz[(f (g (h z)))] →β λz[(f (g (h z)))]
(D f (D g h)) =β (D (D f g) h))
(D (D f g) h) (D f (D g h))
=β (D Gf h) by (2.1) =β (D f Hg) by (2.2)
≡ (λx y z[(y (x z))] Gf h) ≡ ((λx y z[(y (x z))] f ) Hg)
→2β λz[(h (Gf z))] →2β λz[(Hg (f z))]
≡α λz[(h (λu[(g (f u))] z))] by (2.1) ≡α λz[(λu[(h (g u))] (f z))] by (2.2)
→β λz[(h (g (f z)))] →β λz[(h (g (f z)))]