> with(student):
--------------------------------------------------------------------------------
> x := Int( p / (r * sqrt(u(r)^2 - p^2)), r=rb..rt);

                                rt
                                /
                               |           p
                         x :=  |   ----------------- dr
                               |          2    2 1/2
                              /    r (u(r)  - p )
                              rb
--------------------------------------------------------------------------------
> u := r -> A*r^B;

                                              B
                                 u := r -> A r
--------------------------------------------------------------------------------
> 'x' = x;

                              rt
                              /
                             |             p
                        x =  |   -------------------- dr
                             |       2   B 2    2 1/2
                            /    r (A  (r )  - p )
                            rb
--------------------------------------------------------------------------------
> x := changevar(A*r^B = u, x);

                                   B
                               A rt
                                 /
                                |            p
                        x :=    |    ---------------- du
                                |      2    2 1/2
                               /     (u  - p )    B u
                                 B
                             A rb
--------------------------------------------------------------------------------
> assume( p , nonneg): additionally(ut >0): additionally(ut >= p): additionally(ub>0):additionally(ub >= p): 
> dist :=  simplify(factor(subs(A*rt^B = ut, A*rb^B = ub, x)));

                                    ut~
                                     /
                                    |          1
                               p~   |   --------------- du
                                    |     2     2 1/2
                                   /    (u  - p~ )    u
                                  ub~
                       dist := ---------------------------
                                            B
> dist := simplify(value( dist), assume=real, additionally(p, nonneg));

                                   p~                        p~
                     arctan(---------------) - arctan(---------------)
                                2     2 1/2               2     2 1/2
                            (ut~  - p~ )              (ub~  - p~ )
           dist := - -------------------------------------------------
                                             B
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
> u:='u': ut:='ut': ub:='ub':\

> t := Int( u(r)^2 / (r * sqrt(u(r)^2 - p^2)), r=rb..rt);

                                rt
                                /             2
                               |          u(r)
                         t :=  |   ------------------ dr
                               |          2     2 1/2
                              /    r (u(r)  - p~ )
                              rb
--------------------------------------------------------------------------------
> u:=r->A*r^B;

                                              B
                                 u := r -> A r
--------------------------------------------------------------------------------
> 't'=t;

                              rt
                              /          2   B 2
                             |          A  (r )
                        t =  |   --------------------- dr
                             |       2   B 2     2 1/2
                            /    r (A  (r )  - p~ )
                            rb
> t := changevar(A*r^B=u, t);

                                    B
                                A rt
                                  /
                                 |           u
                         t :=    |    --------------- du
                                 |      2     2 1/2
                                /     (u  - p~ )    B
                                  B
                              A rb
--------------------------------------------------------------------------------
> value(subs(A*rt^B=ut, A*rb^B=ub, t));

                            2     2 1/2      2     2 1/2
                         (ut  - p~ )      (ub  - p~ )
                         -------------- - --------------
                                B                B
--------------------------------------------------------------------------------
> 
