Parametrized assumptions
- To: mathgroup at smc.vnet.net
- Subject: [mg107828] [mg107828] Parametrized assumptions
- From: Torsten Schoenfeld <kaffeetisch at gmx.de>
- Date: Sat, 27 Feb 2010 03:17:02 -0500 (EST)
I'm having trouble using parametrized assumptions consistently. I have
two objects, q and r, both having a label and an index. Now, I want
that the following holds for any label L:
q[L, 0]^2 - q[L, 1]^2 == 1
q[L, 0] r[L, 0] - q[L, 1] r[L, 1] == t[L]
For the first condition, I find that the following works
Assuming[1 == HoldPattern[q[l_, 0]^2 - q[l_, 1]^2],
q[w, 0]^2 - q[w, 1]^2 // Simplify]
-> 1
The HoldPattern[] is, apparently, necessary, and it also needs to be
only on the right hand side. However, I can't find a way to realize the
second condition. My attempts include
Assuming[t[l_] == HoldPattern[q[l_, 0] r[l_, 0] - q[l_, 1] r[l_, 1]],
q[w, 0] r[w, 0] - q[w, 1] r[w, 1] // Simplify]
Assuming[HoldPattern[t[l_] == q[l_, 0] r[l_, 0] - q[l_, 1] r[l_, 1]],
q[w, 0] r[w, 0] - q[w, 1] r[w, 1] // Simplify]
Assuming[0 == HoldPattern[q[l_, 0] r[l_, 0] - q[l_, 1] r[l_, 1] - t[l_]],
q[w, 0] r[w, 0] - q[w, 1] r[w, 1] // Simplify]
None of these work. I assume part of the problem is that I don't
understand why this doesn't work:
q[w, 0] r[w, 0] - q[w, 1] r[w, 1] /.
HoldPattern[q[l_, 0] r[l_, 0] - q[l_, 1] r[l_, 1]] -> a
Whereas this works:
q[w, 0] r[w, 0] - q[w, 1] r[w, 1] /.
q[l_, 0] r[l_, 0] - q[l_, 1] r[l_, 1] -> a
So, how do I go about implementing these kinds of parametrized assumptions?