Re: Expanding logical expressions

• To: mathgroup at smc.vnet.net
• Subject: [mg70926] Re: Expanding logical expressions
• From: dh <dh at metrohm.ch>
• Date: Wed, 1 Nov 2006 03:56:49 -0500 (EST)
• References: <ei19lh\$94v\$1@smc.vnet.net>

```
Hi Bonny,

you have 2 (actually  3 because there is also a typo "=>" should read

>=) problems. First you must prevent the evaluation of Reduce. This can

e.g. be done by wrapping the Head (or the whole ecxpressio) in "Hold".

Second, because of the Hold, Thread does no more work, but we can do it

"by hand" using Replace:

Hold[Reduce][ForAll[t, 0

<= t <= 1, (A + Bt) >= E] || ForAll[t, 0 <= t <= 1, (C + Dt) >=

F],Reals] /. Hold[Reduce][x_ || y_, z_] -> Hold[Reduce][x, z] ||

Hold[Reduce][x, z]

Bonny Banerjee wrote:

> I want to expand logical expressions over the function Reduce.

>

> For example, if I have the expression

>

> Reduce[ ForAll[t, 0 <= t <= 1, (A + Bt) => E] || ForAll[t, 0 <= t <= 1, (C +

> Dt) => F], Reals]

>

> I would like to write it as

>

> Reduce[ ForAll[t, 0 <= t <= 1, (A + Bt) => E], Reals] ||

> Reduce[ ForAll[t, 0 <= t <= 1, (C + Dt) => F], Reals]

>

> Is there any function in Mathematica to accomplish this?

>

> Thanks,

> Bonny.

>

>

```

• Prev by Date: Re: Curiosity concerning transformation rules for List
• Next by Date: Re: "unload" a package
• Previous by thread: Re: Counting Symbols