NB. Argument definitions x =: 'x' y =: 'y' NB. Ilustrating Composition Rules (Mathematical Notation) NB. f =: 3 : 0 NB. 'f(',y.,')' NB. : NB. 'f(',x.,',',y.,')' NB. ) math_pat =: 3 : 0 '''',y.,'('',y.,'')''',LF,':',LF,'''',y.,'('',x.,'','',y.,'')''' ) f =: (3 : (math_pat 'f')) :. (3 : (math_pat 'f_inv')) g =: (3 : (math_pat 'g')) :. (3 : (math_pat 'g_inv')) h =: (3 : (math_pat 'h')) :. (3 : (math_pat 'h_inv')) i =: (3 : (math_pat 'i')) :. (3 : (math_pat 'i_inv')) f g y f(g(y)) (f g) y f(y,g(y)) x f g y f(x,g(y)) x (f g) y f(x,g(y)) f g h y f(g(h(y))) (f g h) y g(f(y),h(y)) x f g h y f(x,g(h(y))) x (f g h) y g(f(x,y),h(x,y)) f g h i y f(g(h(i(y)))) (f g h i) y f(y,h(g(y),i(y))) x f g h i y f(x,g(h(i(y)))) x (f g h i) y f(x,h(g(y),i(y))) f@g y f(g(y)) x f@g y f(g(x,y)) f&g y f(g(y)) x f&g y f(g(x),g(y)) f&.g y g_inv(f(g(y))) x f&.g y g_inv(f(g(x),g(y))) f&:g y f(g(y)) x f&:g y f(g(x),g(y)) (f&g) 'ab' f(g(ab)) (f&(g"0)) 'ab' f(g(a)) f(g(b)) (f&:(g"0)) 'ab' f( g(a) g(b) )))) f^:3 y f(f(f(y))) f^:_2 y f_inv(f_inv(y)) f^:0 y y f 'abcd' f(abcd) f/'abcd' f(a,f(b,f(c,d))) f\'abcd' f(a) f(ab) f(abc) f(abcd) f/ 2 3$'abcdef' f(abc,def) (f/"0) 2 3$'abcdef' abc def (f/"1) 2 3$'abcdef' f(a,f(b,c)) f(d,f(e,f)) (f/"2) 2 3$'abcdef' f(abc,def) 'abc' f/ 'de' f(abc,de) 'abc' (f"0)/ 'de' f(a,d) f(a,e) f(b,d) f(b,e) f(c,d) f(c,e) 'abc' (f"1)/ 'de' f(abc,de) NB. Ilustrating Composition Rules (J Notation) NB. f =: 3 : 0 NB. 'f ',y. NB. : NB. '(',x. ,') f ',y. NB. ) j_pat =: 3 : 0 '''',y.,' '',y.',LF,':',LF,'''('',x.,'') ',y.,' '',y.' ) f =: (3 : (j_pat 'f')) :. (3 : (j_pat 'f_inv')) g =: (3 : (j_pat 'g')) :. (3 : (j_pat 'g_inv')) h =: (3 : (j_pat 'h')) :. (3 : (j_pat 'h_inv')) i =: (3 : (j_pat 'i')) :. (3 : (j_pat 'i_inv')) f g y f g y (f g) y (y) f g y x f g y (x) f g y x (f g) y (x) f g y f g h y f g h y (f g h) y (f y) g h y x f g h y (x) f g h y x (f g h) y ((x) f y) g (x) h y f g h i y f g h i y (f g h i) y (y) f (g y) h i y x f g h i y (x) f g h i y x (f g h i) y (x) f (g y) h i y f@g y f g y x f@g y f (x) g y f&g y f g y x f&g y (g x) f g y f&.g y g_inv f g y x f&.g y g_inv (g x) f g y f&:g y f g y x f&:g y (g x) f g y (f&g) 'ab' f g ab (f&(g"0)) 'ab' f g a f g b (f&:(g"0)) 'ab' f g a g b f^:3 y f f f y f^:_2 y f_inv f_inv y f^:0 y y f 'abcd' f abcd f/'abcd' (a) f (b) f (c) f d f\'abcd' f a f ab f abc f abcd f/ 2 3$'abcdef' (abc) f def (f/"0) 2 3$'abcdef' abc def (f/"1) 2 3$'abcdef' (a) f (b) f c (d) f (e) f f (f/"2) 2 3$'abcdef' (abc) f def 'abc' f/ 'de' (abc) f de 'abc' (f"0)/ 'de' (a) f d (a) f e (b) f d (b) f e (c) f d (c) f e 'abc' (f"1)/ 'de' (abc) f de