Associate Law For Functions Compose

    Feb 22, 2023

    The derivation process for functions compose

    The introduction for functions compose is here.

    Definition : Functions Compose
    compose = (funa, funb) => (c) => funa(funb(c));

    Now we are supposed to give the proof and derivation process of the following conclusions

    Associate Law For Functions Compose
    compose((funa, funb), func)) = compose(funa, (funb, func))

    It's simple to prove this proposition with the definition of functions compose.

    according to

    compose(a, b) = (D) => a(b(D));
    

    We assign the argument b with

    b = compose(x, y);
    

    So we get

    compose(a, b) = compose(a, compose(x, y))
    = (D) => a(compose(x, y))
    = (D) => a(x(y(D)))
    

    We find that

    (D) => a(x(y(D)))
    = (D) => compose(compose(a,x),y)
    

    So we have the conclusion

    compose(compose(a, x), y) = compose(a,compose(x, y));
    

    QED.

    We logically have the expanded conclusion: If there are n function combinations

    compose(...,ai,ai+1,...,compose(aj,aj+1,...),...,an)=compose(...,ax,ax+1,...,compose(ay,ay+1,...),...,an);i,j,x,y(0,n];ji=yxcompose(...,a_{i},a_{i+1},...,compose(a_{j},a_{j+1},...),...,a_{n}) \\ = compose(...,a_{x},a_{x+1},...,compose(a_{y},a_{y+1},...),...,a_{n}); \\ i,j,x,y∈(0,n]; j-i = y-x

    The proof of this proposition is omitted.