Chapter 1 Solutions



If this is too big, I will try to find another way.

/* Examples and Problems from
    Calculus With Analytic Geometry
    Earl W. Swokowski
    Second Edition

    Solutions by: tomdean at speakeasy.org

    */

/* This is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This is distributed in the hope that it will be useful, but WITHOUT
    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
    License for more details.

    You should have received a copy of the GNU General Public License
    along with Foobar.  If not, see <http://www.gnu.org/licenses/>;.
    */

kill(all);

plot2d(x^2,[x,-10,10]);

/* circle at (-2,3), passing thru (4,5) */
eq1:(x+h)^2+(y+k)^2=r^2;
/* the radius is distance (-2,3) .. (4,5); */
req:sqrt((4-(-2))^2+(5-3)^2);
heq:-2; keq:3;
eq2:subst([r=req, h=heq, k=keq],eq1);
eq3:expand(eq2);
eq3-rhs(eq3);

kill(all);
depends(y,x);
eq1:x^2+y^2-4*x+6*y-3=0;
eq2: (x^2-4*x+m^2) + (y^2+6*y+n^2) = 3;
eq3:first(solve(1*m*2=-4,m));
eq4:first(solve(1*n*2=6,n));
eq5:lhs(subst([eq3, eq4],eq2))=rhs(eq3)^2+rhs(eq4)^2+3;
eq6:factor(x^2-4*x+rhs(eq3)^2);
eq7:factor(y^2+6*y+rhs(eq4)^2);
eq8:sqrt(rhs(eq5));
print(eq6," + ", eq7, " = ",rhs(eq5))$

kill(all);

/****************************************************************/
/* Exercises 1.2 Coordinate systems in R^2 */

dist(a,b):=sqrt((a-b).(a-b));
/* 1 */ A:[6,-2]; B:[2,1];   dist(A,B);
/* 2 */ A:[-4,-1];B:[2,3];   dist(B,A);
/* 3 */ A:[0,-7]; B:[-1,-2]; dist(B,A);
/* 4 */ A:[4,5];  B:[4,-4];  dist(A,B);
/* 5 */ A:[-3,-2];B:[-8,2];  dist(A,B);
/* 6 */ A:[11,-7];B:[-9,0];  dist(A,B);

/* 7 */ A:[-3,4]; B:[2,-1]; C:[9,6];
[dist(A,B)^2,dist(B,C)^2,dist(A,C)^2];
/* 8 */ A:[7,2]; B:[-4,0]; C:[4,6];
[dist(A,B)^2,dist(B,C)^2,dist(A,C)^2];
/* 9 thru 32 are sketches */

circle(a,b,r):=(x+a)^2+(y+b)^2=r^2;
/* 33 */circle(3,-2,4);
/* 34 */circle(-5,2,5);
circle(p1,p2):=(x+p1[1])^2+(y+p1[2])^2=(p2-p1).(p2-p1);
/* 35 */circle([0,0],[-3,5]);
/* 36 */circle([-4,6],[1,2]);
/* 37 */circle([-4,2],[-4,0]);
/* 38 */circle([3,5],[0,5]);
p1:[4,-3];p2:[-2,7];
dist(p1,p2);
/* 39 */circle((p1+p2)/2,p2);
/* 40 */circle([2,2],[2,0]);
ctr(eq):=(
   x2:coeff(lhs(eq),x^2),
   eq:expand(eq/x2),
   x2:1,
   x1:coeff(lhs(eq),x^1),
   c:coeff(coeff(lhs(eq),x,0),y,0),
   y2:coeff(lhs(eq),y^2),
   y1:coeff(lhs(eq),y^1),
   x0:x1^2/4/x2^2,
   y0:y1^2/4/y2^2,
   factor(x2*x^2+x1*x+x0)+factor(y2*y^2+y1*y+y0)=-c+x0+y0
)$
/* 41 */ ctr(x^2+y^2+4*x-6*y+4=0);
/* 42 */ ctr(x^2+y^2-10*x+2*y+22=0);
/* 43 */ ctr(x^2+y^2 +6*x=0);
/* 44 */ ctr(x^2+y^2+x+y-1=0);
/* 45 */ ctr(2*x^2+2*y^2-x+y-3=0);
/* 46 */ ctr(9*x^2+9*y^2-6*x+12*y-31=0);


/******************************************************/
/* section 1.3 */
dist(a,b):=sqrt((a-b).(a-b));
A:[-1,-3]; B:[6,1]; C:[2,-5];
[dist(A,B)^2,dist(B,C)^2,dist(A,C)^2];
m1:B-C$ m1:m1[2]/m1[1]; m2:A-C$ m2:m2[2]/m2[1];

/* example 4 */
A:[1,7]; B:[-3,2];
mid:(A+B)/2;
m0:A-B; m0:m0[2]/m0[1];
m:-1/m0;
y-mid[2]=m*(x-mid[1]);


/* page 27 example 6 */
kill(all);
p:[5,-7];
eq1:6*x+3*y-4=0;
eq2:first(expand(solve(eq1,y)));
m:coeff(rhs(eq2),x,1);
eq3:y-p[2]=m*(x-p[1]);
eq:[rhs(first(solve(eq1,y))),rhs(first(solve(eq3,y)))];
plot2d(eq,[x,-5,5]);
gnuplot_close();

/****************************************************************/
/* Exercises 1.3 lines */
slope(a,b):=(a-b)[2]/(a-b)[1];
dist(a,b):=sqrt((a-b).(a-b));
midpoint(a,b):=(a+b)/2;
pointslope(p,m):=y-p[2]=m*(x-p[1]);
pointpoint(p1,p2):=y-p1[2]=slope(p1,p2)*(x-p1[1]);
pointxintercept(p,b):=pointpoint(p,[b,0]);
pointyintercept(p,yintercept):=pointpoint(p,[0,yintercept]);
slopexintercept(m,b):=y=m*x+b;
slopeyintercept(m,yintercept):=y=m*x+yintercept/m;
xy(xintercept,yintercept):=y=yintercept*x/xintercept+xintercept;
parallelline(l,p):=(
   m:coeff(expand(rhs(first(solve(l,y)))),x,1),
   pointslope(p,m)
   )$
/* 1 */ A:[-4,6]$ B:[-1,18]$slope(A,B);
/* 2 */ A:[6,-2];B:[-3,5];slope(A,B);
/* 5 */ A:[-3,1];B:[5,3];C:[3,0];D:[-5,-2];
slope(A,B);slope(C,D);slope(B,C);slope(A,D);
/* 6 */ A:[2,3];B:[5,-1];C:[0,-6];D:[-6,2];
slope(A,B);slope(C,D);slope(B,C);slope(A,D);
/* 7 */ A:[6,15];B:[11,12];C:[-1,-8];D:[-6,-5];
slope(A,B);slope(C,D);slope(B,C);slope(A,D);
/* 8 */ A:[1,4];B:[6,-4];C:[-15,-6];
slope(A,B);slope(A,C);slope(B,C);
dist(A,B)^2;dist(A,C)^2;dist(B,C)^2;
/* 9 */ A:[-1,-3];B:[4,2];C:[-7,5];kill(D);
l1:pointpoint(A,B);
l2:pointpoint(B,C);
l3:parallelline(l1,C);
l4:parallelline(l2,A);
D:first(solve([l3,l4],[x,y]));
/* 10 */ A:[x1,y1];B:[x2,y2];C:[x3,y3];D:[x4,y4];
E:midpoint(A,B);F:midpoint(B,C);G:midpoint(C,D);H:midpoint(D,A);
sl:ratsimp([slope(E,F),slope(F,G),slope(G,H),slope(H,E)]);
soln:[is(equal(sl[1],sl[3])),is(equal(sl[2],sl[4]))];
is(equal(soln[1],soln[2]));
/* 11 */ pointslope([2,-6],1/2);
/* 12 */ slopexintercept(-2,5);
/* 13 */ pointpoint([-5,-7],[3,-4]);
/* 14 */ xy(-4,8);
/* 15 */ pointyintercept([87,-2],-3);
/* 16 */ slopexintercept(6,-2);
/* 17 */ A:[10,-6];  (a) x=10  (b) y=-6
/* 18 */ A:[-5,1];  (a) y=1  (b) x=-5
/* 19 */ A:[7,-3]; eq1:x+3*y=1;
eq2:first(expand(solve(eq1,y)));
m:-coeff(rhs(eq2),x,1);
pointslope(A,m);
/* 20 */ A:[-3/4,-1/2]; eq1:x+3*y=1;
eq2:first(expand(solve(eq1,y)));
m:coeff(rhs(eq2),x,1);
pointslope(A,m);
/* 21 */ A:[3,-1]; B:[-2,6];C:midpoint(A,B);
eq1:pointpoint(A,B);
eq2:first(expand(solve(eq1,y)));
m:-coeff(rhs(eq2),x,1);
eq3:pointslope(C,m);
/* 22 */ y=-1x
/* 23 */ A:[-3,2];B:[5,4];C:[3,-8];
m1:slope(A,B); m2:slope(A,C); m3:slope(B,C);
eq1:pointslope(C,-m1); eq2:pointslope(B,-m2); eq3:pointslope(A,-m3);
solve([eq1,eq2]);solve([eq1,eq3]);solve([eq2,eq3]);
/* 24 */ A:[-3,2];B:[5,4];C:[3,-8];
D:midpoint(A,B); E:midpoint(A,C); F:midpoint(B,C);
m1:slope(A,B); m2:slope(A,C); m3:slope(B,C);
eq1:pointpoint(D,C); eq2:pointpoint(E,B); eq3:pointpoint(F,A);
solve([eq1,eq2]);solve([eq1,eq3]);solve([eq2,eq3]);
ymfromeq(eq1):=(
   eq2:first(expand(solve(eq1,y))),
   m:coeff(rhs(eq2),x,1),
   yintercept:solve(subst(x=0,eq2),y),
   print("slope",m,"intercept",yintercept)
   )$
/* 25 */ ymfromeq(3*x-4*y+8=0)$
/* 26 */ ymfromeq(2*y-5*x=1)$
/* 27 */ ymfromeq(x+2*y=0);
/* 28 */ ymfromeq(8*x=1-4*y);
/* 29 */ ymfromeq(y=4);
/* 30 */ ymfromeq(x+2=y/2);
/* 31 */ ymfromeq(5*x+4*y=20);
/* 32 */ ymfromeq(y=0);
/* 33 */ ymfromeq(x=3*y+7);
/* 34 */ ymfromeq(x-y=0);
/* 35 */ A:[-1,2]; eq1:k*x+2*y-7=0;
yintercept:rhs(subst(x=0,expand(first(solve(eq1,y)))));
m1:coeff(rhs(first(expand(solve(eq1,y)))),x,1);
eq2:first(expand(solve(pointyintercept(A,yintercept),y)));
m2:coeff(rhs(eq2),x,1);
solve(m1=m2,k);
/* 36 */ eq1:5*x+k*y-3=0;
yintercept:-5;
solve(yintercept=rhs(first(solve(subst(x=0,eq1),y))),k);
/* 37 */ assume(notequal(a,0), notequal(b,0));
eq1:expand(pointslope([0,b],b/a)/b);
eq2:eq1-x/a+1;
eq3:subst(a=-a,eq2);
eq4:4*x-2*y=6;
eq5:expand(eq4/6);
solve(1/a=coeff(lhs(eq5),x,1),a);
solve(1/b=coeff(lhs(eq5),y,1),b);
/* 38 */ A:[x1,y1]; B:[x2,y2];
eq1:pointpoint(A,B);
eq2:eq1*(x1-x2);
/* 39 */ A:[r,4];B:[1,3-2*r];
eq1:expand(first(solve(pointpoint(A,B),y)));
m:coeff(rhs(eq1),x,1);
to_poly_solve(m<5,r);
/* 40 */ A:[t,3*t+1];B:[1-2*t,t];
eq1:expand(first(solve(pointpoint(A,B),y)));
m:factor(coeff(rhs(eq1),x,1));
to_poly_solve(m>4,t);

/******************************************************/
/* section 1.4  Functions */
kill(all);
/* example 1 */
f(x):=x^2;
f(-6);f(sqrt(3));f(a+b);
/* domain R, range 0 <= x <= infinity */
/******************************************************/
/* Exercises 1.4 functions */
/* 1 */ f(x):=x^3+4*x-3;
f(1);f(-1);f(0);f(sqrt(2));
/* 2 */ f(x):=sqrt(x-1);
f(1);f(3);f(5);f(10);
/* 3 */ f(x):=3*x^2-x+2;
f(a);f(-a);-f(a);f(a+h);f(a)+f(h);(f(a+h)-f(a))/h;
/* 4 */ f(x):=1/(x^2-1);
f(a);f(-a);-f(a);f(a+h);f(a)+f(h);(f(a+h)-f(a))/h;
/* 5 */ g(x):=1/(x^2+4);
g(1/a);1/g(a);g(a^2);g(a)^2;g(sqrt(a));sqrt(g(a));
/* 6 */ g(x):=1/x;
g(1/a);1/g(a);g(a^2);g(a)^2;g(sqrt(a));sqrt(g(a));

/* load solver */ load(to_poly_solve);
/* 7 */ f(x):=sqrt(3*x-5); to_poly_solve(3*x-5>=0,x);
/* 8 */ f(x):=sqrt(7-2*x); to_poly_solve(7-2*x>=0,x);
/* 9 */ f(x):=sqrt(4-x^2); to_poly_solve(4-x^2>=0,x);
/* 10 */ f(x):=sqrt(x^2-9); to_poly_solve(x^2-9>=0,x);
/* 11 */ f(x):=(x+1)/(x^3-9*x); to_poly_solve(denom(f(x))#0,x);
/* 12 */ f(x):=(4*x+7)/(6*x^2+13*x-5); to_poly_solve(denom(f(x))#0,x);
assume(a>0);
/* 13 */ f(x):=7*x-4; to_poly_solve(f(x)=4,x); to_poly_solve(f(x)=a,x);
/* 14 */ f(x):=3*x; to_poly_solve(f(x)=4,x); to_poly_solve(f(x)=a,x);
/* 15 */ f(x):=sqrt(x-3); to_poly_solve(f(x)=4,x); to_poly_solve(f(x)=a,x);
/* 16 */ f(x):=1/x; to_poly_solve(f(x)=4,x); to_poly_solve(f(x)=a,x);
/* 17 */ f(x):=x^3; to_poly_solve(f(x)=4,x); to_poly_solve(f(x)=a,x);
/* 18 */ f(x):=(x-4)^(1/3); to_poly_solve(f(x)=4,x); 
to_poly_solve(f(x)=a,x);
forget(a>0);
/* 19 thru 26, inspection */
oddeven(f):=(
   if f(-a)=f(a) then print(f(x),"is even")
   elseif f(-a)=-f(a) then print(f(x),"is odd")
   else print(f(x),"is neither even or odd")
   )$
/* 27 */ f(x):=x^3-4*x; oddeven(f);
/* 28 */ f(x):=7*x^4-x^2+7; oddeven(f);
/* 29 */ f(x):=9-5*x^2; oddeven(f);
/* 30 */ f(x):=2*x^5-4*x^3; oddeven(f);
/* 31 */ f(x):=2; oddeven(f);
/* 32 */ f(x):=2*x^3+x^2; oddeven(f);
/* 33 */ f(x):=2*x^2-3*x+4; oddeven(f);
/* 34 */ f(x):=sqrt(x^2+1); oddeven(f);
/* 35 */ f(x):=(x^3-4)^(1/3); oddeven(f);
/* 36 */ f(x):=abs(x)+5; oddeven(f);
/* 37 thru 59 sketch and determine domain and range */
/* 61 x^2+y^2=1 is not a function because every value of x */
/*    produces two values of y */
/* 62 */ solve(x^2+y^2=1,y);
/******************************************************/
/* section 1.5 */
kill(all);
/* load solver */ load(to_poly_solve);
/* Example 1 */ f(x):=sqrt(4-x^2); g(x):=3*x+1;
to_poly_solve(4-x^2>=0,x);
f(x)+g(x);f(x)-g(x);f(x)*g(x);f(x)/g(x);
/* Example 2 */ f(x):=x-2; g(x):=5*x+sqrt(x);
g(f(x));f(g(x));
/* Example 3 */ f(x):=x^2-1; g(x):=3*x+5;
g(f(x));f(g(x));
/******************************************************/
/* Exercises 1.5 */
kill(all);
/* load solver */ load(to_poly_solve);
/* in 1 thru 6 find f(x)+g(x), f(x)-g(x), f(x)*g(x), f(x)/g(x)
/* 1 */ f(x):=3*x^2;  g(x):=1/(2*x-3);
to_poly_solve(2*x-3#0,x);  /* x<>3/2 */
f(x)+g(x);f(x)-g(x);f(x)*g(x);f(x)/g(x);
to_poly_solve(3*x+5#0,x);  /* x<>-5/3 */
/* 2 */ f(x):=sqrt(x+3); g(x):=sqrt(x+3);
to_poly_solve(x+3>=0,x);
f(x)+g(x);f(x)-g(x);f(x)*g(x);f(x)/g(x);
/* 3 */ f(x):=x+1/x; g(x):=x-1/x;
f(x)+g(x);f(x)-g(x);f(x)*g(x);f(x)/g(x);
/* 4 */ f(x):=x^3+3*x; g(x):=3*x^2+1;
f(x)+g(x);f(x)-g(x);f(x)*g(x);f(x)/g(x);
/* 5 */ f(x):=2*x^3-x+5; g(x):=x^2+x+2;
f(x)+g(x);f(x)-g(x);f(x)*g(x);f(x)/g(x);
dsoln:solve(diff(g(x),x)=0,x);
diff(g(x),x,2);
subst(dsoln,g(x));
/* 6 */ f(x):=7*x^4+x^2-1; g(x):=7*x^4-x^3+4*x;
f(x)+g(x);f(x)-g(x);f(x)*g(x);f(x)/g(x);
dsoln:solve(diff(g(x),x)=0,x);
diff(g(x),x,2);
subst(dsoln,g(x));
/* in 7 thru 20, find FoG(x)  and GoF(x) */
/* 7 */ f(x):=2*x^5+5; g(x):=4-7*x;
f(g(x)); g(f(x));
/* 8 */ f(x):=1/(3*x+1); g(x):=2/x^2;
f(g(x)); g(f(x));
to_poly_solve(3*x+1#0,x);
/* 9 */ f(x):=x^3; g(x):=x+1;
f(g(x)); g(f(x));
/* 10 */ f(x):=sqrt(x^2+4); g(x):=7*x^2+1;
f(g(x)); g(f(x));
/* 11 */ f(x):=3*x^2+2; g(x):=1/(3*x^2+2);
f(g(x)); g(f(x));
/* 12 */ f(x):=7; g(x):=4;
f(g(x)); g(f(x));
/* 13 */ f(x):=sqrt(2*x+1); g(x):=x^2+3;
f(g(x)); g(f(x));
to_poly_solve(2*x+1>=0,x);
/* 14 */ f(x):=6*x-12; g(x):=x/6+2;
f(g(x)); g(f(x));
/* 15 */ f(x):=abs(x); g(x):=(x+3)/2;
f(g(x)); g(f(x));
/* 16 */ f(x):=(x^2+1)^(1/3); g(x):=x^3+1;
f(g(x)); g(f(x));
/* 17 */ f(x):=x^2; g(x):=1/x^2;
f(g(x)); g(f(x));
/* 18 */ f(x):=1/(x+1); g(x):=x+1;
f(g(x)); g(f(x));
/* 19 */ f(x):=2*x-3; g(x):=(x+3)/2;
f(g(x)); g(f(x));
/* 20 */ f(x):=x^3-1; g(x):=(x+1)^(1/3);
f(g(x)); g(f(x));
/* 21 If f and g are 5th degree polynomials, show f+g is a fifth
       degree polynomial
       */
f(x):=sum(a[i]*x^i,i,0,5);
g(x):=sum(b[i]*x^i,i,0,5);
collectterms(f(x)+g(x),x);
/* 22 Show the degree of the product of two nonzero polynomials equals
       the sum of the degrees of the polynominals
       */
f(x):=sum(a[i]*x^i,i,0,n);
g(x):=sum(b[i]*x^i,i,0,m);
sumexpand:true;
collectterms(f(x)*g(x),x);
/* 23 Prove the product of two odd functions is even, the product of
       two even functions is even and the product of an even function
       and an odd function is odd
       */
   /*elseif ratsimp(f(-a)=(-f(a))) then print("odd")*/
oddeven(oe_arg_f):=(
   if ratsimp(oe_arg_f(-a)=oe_arg_f(a)) then print("even")
   elseif ratsimp(oe_arg_f(-a)=(-oe_arg_f(a))) then print("odd")
   else print("neither even or odd")
   );
kill(e,o,f);
e(x):=(f(x)+f(-x))/2; oddeven(e);
o(x):=(f(x)-f(-x))/2; oddeven(o);
h(x):=o(x)*o(x);
oddeven(h);
h(x):=e(x)*e(x);
oddeven(h);
h(x):=e(x)*o(x);
oddeven(h);
/* 25 Prove that every function with domain R can be written as the
    sum of an even and an odd function
    */
kill(f);
if f(x)=f(-x) then print("even")
elseif f(x)=(-f(-x)) then print("odd")
else print("neither even or odd");
e(x):=(f(x)+f(-x))/2; oddeven(e);
o(x):=(f(x)-f(-x))/2; oddeven(o);
ratsimp(e(x)+o(x));
/* 26 Prove there exists an infinite number of functions f and g such
       that f+g=fg*/
kill(f,g);
solve(f(x)+g(x)=f(x)*g(x),f(x));
/******************************************************/
/* section 1.6 */
kill(all);
/* load solver */ load(to_poly_solve);
/* Example 1 find the inverse of a function ('') forces evaluation */
f(x):=3*x-5;
eq:''subst(y=x,rhs(first(solve(y=f(x),x))));
g(x):=''eq;
g(x);g(y);g(3);f(g(x));g(f(x));
/* Example 2 f(x) and its inverse are reflected about y=x */
f(x):=x^2-3;
eq:''subst(y=x,rhs(solve(y=f(x),x)[2]));
g(x):=''eq;
g(x);g(y);g(3);f(g(x));g(f(x));
plot2d([f(x),g(x),x],[x,-3,3]);
gnuplot_close();
/******************************************************/
/* Exercises 1.6 */
kill(all);
/* 1 thru 4 prove f(x) and g(x) are inverses */
/* 1 */
f(x):=9*x+2; g(x):=x/9-2/9;
ratsimp(f(g(x))); ratsimp(g(f(x)));
/* 2 */
f(x):=x^3+1; g(x):=(x-1)^(1/3);
ratsimp(f(g(x))); ratsimp(g(f(x)));
/* 3  domain allows change abs(x) to x */
f(x):=sqrt(2*x+1); /* x >= -1/2 */
g(x):=x^2/2-1/2;   /* x >=  0 */
ratsimp(f(g(x))); ratsimp(g(f(x)));
/* 4 */
f(x):=1/(x-1);  /* x > 1 */
g(x):=(1+x)/x;  /* x > 0 */
ratsimp(f(g(x))); ratsimp(g(f(x)));
/* 5 thru 14 find the inverse of f */
/* 5 */
f(x):=8+11*x;
eq:''subst(y=x,rhs(first(solve(y=f(x),x))));
g(x):=''eq;
g(x);g(y);g(3);f(g(x));g(f(x));
/* 6  */
f(x):=1/(8+11*x); /* x > -8/11 */
eq:''subst(y=x,rhs(first(solve(y=f(x),x))));
g(x):=''eq;
g(x);g(y);g(3);ratsimp(f(g(x)));ratsimp(g(f(x)));
/* 7 */
f(x):=6-x^2; /* 0 <= x <= sqrt(6) */
eq:''subst(y=x,rhs(solve(y=f(x),x)[2]));  /* choose + sqrt */
g(x):=''eq;
g(x);g(y);g(3);ratsimp(f(g(x)));ratsimp(g(f(x)));
/* 8 */
f(x):=2*x^3-5;
eq:''subst(y=x,rhs(solve(y=f(x),x)[3]));  /* choose real root */
g(x):=''eq;
g(x);g(y);g(3);ratsimp(f(g(x)));ratsimp(g(f(x)));
/* 9 */
assume(y>0, x>=2/7);
f(x):=sqrt(7*x-2); /* x >= 2/7 */
eq:''subst(y=x,rhs(first(solve(y=f(x),x))));  /* choose real root */
g(x):=''eq;
g(x);g(y);g(3);ratsimp(f(g(x)));ratsimp(g(f(x)));
forget(y>0, x>=2/7);
/* 10 */
assume(0<=x, x<=1/2, y>0);
f(x):=sqrt(1-4*x^2);
eq:''subst(y=x,rhs(solve(y=f(x),x)[2]));  /* choose real root */
g(x):=''eq;
g(x);g(y);g(3);ratsimp(f(g(x)));ratsimp(g(f(x)));
forget(0<=x, x<=1/2, y>0);
/* 11 */
f(x):=7-3*x^3;
solve(y=f(x),x);
eq:''subst(y=x,rhs(solve(y=f(x),x)[3]));  /* choose real root */
g(x):=''eq;
g(x);g(y);g(3);ratsimp(f(g(x)));ratsimp(g(f(x)));
/* 12 */
f(x):=x;
solve(y=f(x),x);
eq:''subst(y=x,rhs(solve(y=f(x),x)[1]));  /* choose real root */
g(x):=''eq;
g(x);g(y);g(3);ratsimp(f(g(x)));ratsimp(g(f(x)));
/* 13 */
f(x):=(x^3+8)^5;
solve(y=f(x),x);