Re: Making a new definition of Equal work with lists as well
- To: mathgroup at smc.vnet.net
- Subject: [mg63368] Re: Making a new definition of Equal work with lists as well
- From: "Jean-Marc Gulliet" <jeanmarc.gulliet at gmail.com>
- Date: Tue, 27 Dec 2005 04:42:38 -0500 (EST)
- Organization: The Open University, Milton Keynes, U.K.
- References: <doohbr$kua$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
"Dan Bernstein" <dan.bernstein at gmail.com> a écrit dans le message de news: doohbr$kua$1 at smc.vnet.net... | Hi, | | I have defined | Equal[a_CL,b_CL] := a[[1]]-a[[2]] == b[[1]]-b[[2]] | and then | CL[2,3] == CL[4,5] | CL[2,3] == CL[2,4] | evaluate to True and False respectively, as expected. However, | {CL[2,3]} == {CL[4,5]} | just stays in that form. | | What should I do to make list equality use my "CL equality"? | | Thanks in advance, | -- Dan Bernstein | Hi Dan, A quick way is to use alternative patterns as in In[1]:= Unprotect[Equal]; ((a_CL) | {a_CL}) == ((b_CL) | {b_CL}) := a[[1]] - a[[2]] == b[[1]] - b[[2]] Protect[Equal]; In[4]:= CL[2, 3] == CL[4, 5] CL[2, 3] == CL[2, 4] Out[4]= True Out[5]= False In[6]:= {CL[2, 3]} == {CL[4, 5]} {CL[2, 3]} == {CL[2, 4]} Out[6]= True Out[7]= False In[8]:= CL[2, 3] == {CL[4, 5]} {CL[2, 3]} == CL[2, 4] Out[8]= True Out[9]= False Best regards, /J.M.