The Haar scaling function phi(x);. > > phi := x -> piecewise( 0 < x and x <= 1, 1 ); phi := x -> piecewise(0 < x and x <= 1, 1) > plot(phi(x), x=-1..2 ); The function phi[i,j]; is like phi; but scaled down by 2^(-j); and shifted by i;. > phi_ := (i,j) -> subs(I=i,J=j, x -> phi( 2^J * x - I ) ); J phi_ := (i, j) -> subs(I = i, J = j, x -> phi(2 x - I)) Notice that a sequence of these functions give phi(x); when they are added up: > plot( {phi_(i,2)(x) $ i=0..3}, x=-1..2 ); > plot( {phi_(i,3) $ i=0..7}, -1..2 ); In fact, this highlights a recursive property of phi(x);: phi(x) = phi(2*x)+phi(2*x-1);. > plot( phi(2*x) + phi(2*x - 1), x=-1..2 ); >