@acer TYVM for taking the time to respond.
0. The most important thing I'd like to learn is why Assume (the way I wrote it does not work).
The reason: It is cumbersome to keep asserting the same thing at every step.
1. What's the difference between MatrixInverse(U) and MatrixInverse([U])?
2. If Assume doesn't work as I used it, then what is its intedned use? maybe using a simple example
3. If I denote r' as "atomic" then it seems that typing r' in the next line still returns "dr(x)/dx" (nevermind r(x) was never even defined) but if I copy/paste the atomic symbol from the previous line, then it seems to recognize r'. Is this correct?