MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: How to tell Mathematica to stop conditional testing in an If statment if one condition is niether True or False? McCarthy evaluation rules? 'and then' test?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg69556] Re: How to tell Mathematica to stop conditional testing in an If statment if one condition is niether True or False? McCarthy evaluation rules? 'and then' test?
  • From: "Jens-Peer Kuska" <kuska at informatik.uni-leipzig.de>
  • Date: Fri, 15 Sep 2006 06:45:58 -0400 (EDT)
  • Organization: Uni Leipzig
  • References: <eebfu3$5dt$1@smc.vnet.net>

Hi,

you mean:

xc = Table[i, {i, 1, 3}]
x = 5;
If[TrueQ[x == b] && xc[[10]] == 4, Print["True"], 
Print["False"],
   Print["Can't  decide"]]


?? because And[] will automatical stop evaluation 
it's arguments when

the result is sure.

Regards

  Jens

"Nasser Abbasi" <nma at 12000.org> schrieb im 
Newsbeitrag news:eebfu3$5dt$1 at smc.vnet.net...
|I can better describe this with simple example:
|
| ------------- code ------------
|
| Remove["Global`*"];
| xc = Table[i, {i, 1, 3}]
| x = 5;
| If[x == b && xc[[10]] == 4, Print["True"], 
Print["False"], Print["Can't
| decide"]]
|
| ----- end code -------------
| In the above, 'x==b' is neither True nor False, 
since 'b' has no numerical
| value.
|
| But what I want is when this happens, for 
Mathematica to NOT continue with
| the  testing if xc[[10]]==4  is True (because 
even if it is True, it will
| not change the outcome, which is can't decide.
|
| I am looking for something like 'and then' 
which says to test the next
| condition only if the one just tested was true.
|
| The interesting thing is that if 'b' had a 
value, say 7, which makes the
| first test (the x==b) to be False, then 
Mathematica does the right thing,
| and will not try to check the xc[[10]]==4 
condition.  I need it to do the
| same thing when also the result of the check is 
'undecided', not just
| 'False' or 'True'.
|
| Is there a way to do this?  Notice in the 
example above, I get the error
| that xc[[10]] is out of bound, but still get the 
can't decide message.
|
| It is clear to me that the way Mathematica does 
it now is not the right way.
| I do not see why it tries to check for 
xc[[10]]==4 when it will not make a
| difference to the final result.
|
| any thoughts?
|
| thanks,
| Nasser
|
|
| 



  • Prev by Date: Re: Known recursion link to Hermite polynomials not solved in Mathematica
  • Next by Date: Re: Batch evaluation of multiple notebooks?
  • Previous by thread: RE: How to tell Mathematica to stop conditional testing in an If statment if one condition is niether True or False? McCarthy evaluation rules? 'and then' test?
  • Next by thread: Re: How to tell Mathematica to stop conditional testing in an If statment if one condition is niether True or False? McCarthy evaluation rules? 'and then' test?