Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/5/84; site randvax.UUCP Path: utzoo!watmath!clyde!cbosgd!ukma!psuvm.bitnet!psuvax1!burdvax!sdcrdcf!randvax!lseward From: lseward@randvax.UUCP (Larry Seward) Newsgroups: net.math.symbolic Subject: Re: Responce to Fatemans article "Eleven Proofs of sin^2+cos^2=1" Message-ID: <21@randvax.UUCP> Date: Tue, 11-Feb-86 12:03:35 EST Article-I.D.: randvax.21 Posted: Tue Feb 11 12:03:35 1986 Date-Received: Fri, 14-Feb-86 03:23:46 EST References: <258@wacsvax.OZ> <20@randvax.UUCP> Reply-To: Michael B. Monagan Organization: Rand Corp., Santa Monica Lines: 40 Received: from cbosgd.UUCP by rand-unix.ARPA; Sat, 8 Feb 86 08:44:36 pst Received: by ihnp4.ATT.UUCP id AA28886; 8 Feb 85 08:29:02 CST (Fri) Received: from watmum.UUCP (watmum) by watmath.UUCP (4.12/4.7) id AA28242; Thu, 6 Feb 86 17:40:28 est Received: by watmum.UUCP (4.12/4.7) id AA09557; Thu, 6 Feb 86 17:38:09 est Date: Thu, 6 Feb 86 17:38:09 est From: Michael B. Monagan Message-Id: <8602062238.AA09557@watmum.UUCP> Subject: Pattern matching in SMP Cc: mbmonagan@rand-unix.ARPA ... It is possible with current pattern matching techniques to Making use of the identity can be quite interesting. Your SMP program simplifies sin(x)^2+cos(x)^2 to 1, but does it also simplify sin(x)^4-cos(x)^4 to sin(x)^2-cos(x)^2 and ====================================================================== The message got cut off but I agree 100% with what you are trying to point out. There is a limit to what one can do with syntactic pattern matching as provided by SMP. The example given of telling SMP that sin(x)^2 + cos(x)^2 = 1 is full of holes. SMP will not be able to deduce that (sin(x)^4 + 2*sin(x)^2*cos(x)^2 + cos(x)^4) is also equal to 1. Neither will it be able to simplify your example above. Thus I feel that Kevin's implication that pattern matching a la SMP is the way to solve problems is wrong. Syntactic pattern matching is simply not powerful enough to do anything non-trivial. In any case, on the topic of implementing sin(x)^2 + cos(x)^2 = 1, we (Maple) have a good solution in sight - though not automatic. simplify( , {sin(x)^2 + cos(x)^2 = 1} ); Will simplify the expression with respect to the side relations sin(x)^2 + cos(x)^2 = 1. I would also have included i^2 + 1 = 0 if I was dealing with Gaussians. Maple will compute a grobner basis for the side-relations and reduce the expression with respect to the Grobner basis. In this case, sin(x)^2 + cos(x)^2 - 1 is the Grobner trivially.