Failure to simplify logical expressions
- To: mathgroup at smc.vnet.net
- Subject: [mg27951] Failure to simplify logical expressions
- From: Ignacio Rodriguez <ignacio at sgirmn.pluri.ucm.es>
- Date: Sat, 24 Mar 2001 15:15:53 -0500 (EST)
- Organization: UCM
- Sender: owner-wri-mathgroup at wolfram.com
I am using Mathematica 3.0 for Win 2k and I want to prove the following theorem: ((a=>b)&&(!a=>c))<=>((a&&b)||(!a&&c)) so let us try the following code Iff[a_,b_]:=And[Implies[a,b],Implies[b,a]] f=FullSimplify[LogicalExpand[And[Implies[a,b],Implies[Not[a],c]]]] g=FullSimplify[LogicalExpand[Or[And[a,b],And[Not[a],c]]]] t=Iff[f,g] FullSimplify[t] FullSimplify[LogicalExpand[t]] clearly, f is the first member of the theorem, g is the second and t is the theorem. The answer from Mathematica is Out[2] = a&&b||b&&c||c&&!a Out[3] = a&&b||c&&!a Out[4] = Implies[a&&b||b&&c||c&&!a,a&&b||c&&!a] && Implies[a&&b||c&&!a,a&&b||b&&c||c&&!a] Out[5] = Implies[a&&b||b&&c||c&&!a,a&&b||c&&!a] && Implies[a&&b||c&&!a,a&&b||b&&c||c&&!a] Out[6] = True so the theorem is clearly proved. However, I have the following concerns: If expressions 2 and 3 are equivalent, why does FullSimplify fail to give the same results? If expression 5 is true, why does FullSimplify fail to show it? Is it possible to do anything with Equal? I had no luck. -- Ignacio Rodriguez Ramirez de Arellano Unidad de RMN Universidad Complutense Paseo Juan XXIII, 1 Madrid 28040, Spain Tel. 34-91-394-3288 Fax 34-91-394-3245 e-mail: ignacio at sgirmn.pluri.ucm.es