I didn't look in the programming guide, but to show de Morgan's laws I would just do:
with(Logic):
Equivalent(¬(a &and b), (¬ a) &or (¬ b));
Equivalent(¬(a &or b), (¬ a) &and (¬ b));
Since both are true this is a proof.
Cheers,
David.

note that x=10 (log(x)=1) is plotted one unit of length to the left of x=100 (log(x)=2). So moving left one unit each time, we plot x values of
100
10
1
0.1
0.01
1e-3
1e-4
1e-5
1e-6
Since log(0)= -infinity, very far left we get very small positive values, but we never get to negative x values.

note that x=10 (log(x)=1) is plotted one unit of length to the left of x=100 (log(x)=2). So moving left one unit each time, we plot x values of
100
10
1
0.1
0.01
1e-3
1e-4
1e-5
1e-6
Since log(0)= -infinity, very far left we get very small positive values, but we never get to negative x values.

This perfectly represents the Maple learning curve, and is very much the way I go about things, i.e., you eventually get it, and then contract it down.
In simple cases like this, where I know where I am headed and just want to check it, I simplify the difference of my starting expression and my guess and check for zero; in your case that would be:
simplify((tan(a)+tan(b))/(1-tan(a)*tan(b))-tan(a+b));
But it doesn't work! A quick fiddle and it does
simplify(expand(tan(a)+tan(b))/(1-tan(a)*tan(b))-tan(a+b)));
Cheers,
David.

Glad it worked for you. Just a tip:
diff(y(x), x, x, x, x);
is simpler as
diff(y(x), x, x, x, x);
which can be further abbreviated as
diff(y(x), x$4);

Glad it worked for you. Just a tip:
diff(y(x), x, x, x, x);
is simpler as
diff(y(x), x, x, x, x);
which can be further abbreviated as
diff(y(x), x$4);

That's interesting, and very mysterious. Do you get it OK with my example? I am using Maple 10 under Windows. The only other thing I can think of would be that using a list might force the order, and I was just lucky skipping it.
display([points, curve]);
display([curve,points]);

That's interesting, and very mysterious. Do you get it OK with my example? I am using Maple 10 under Windows. The only other thing I can think of would be that using a list might force the order, and I was just lucky skipping it.
display([points, curve]);
display([curve,points]);

Thanks, this works. I look forward to Maple 11 then.

Thanks, this works. I look forward to Maple 11 then.

Thanks for pointing me there, I would never have found. I can now do what I want to. BTW, you can save at least simple *.mw files as help pages with makehelp (which just reads the lines and calls INTERFACE_HELP), but not sure which features you might lose.

Thanks for pointing me there, I would never have found. I can now do what I want to. BTW, you can save at least simple *.mw files as help pages with makehelp (which just reads the lines and calls INTERFACE_HELP), but not sure which features you might lose.

I agree about the difficulty and annoyance in a long code of finding such problems. But qualified responses could quickly get complicated. Consider
solve(a*x^2+b*x+c,x);
This needs a qualification that a<>0, which is simple enough. But should it also be mentioned that there is one answer, not two, if b^2=4*a*c? And that if a=0, then the solution is -c/b unless b=0, in which case the equation doesn't have x in it any more ...
Cheers,
David.