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?