True if a shiftable (`sec`, and — when enabled — `cot`) inert head appears * anywhere (gates the shift to a strict no-op for integrands that carry none).
(e: Expression)
| 2486 | if (zeroQ(cls[i].exp.mul(2).sub(cls[j].exp.add(cls[k].exp)))) return true; |
| 2487 | } |
| 2488 | return false; |
| 2489 | } |
| 2490 | |
| 2491 | // --------------------------------------------------------------------------- |
| 2492 | // Inert ↔ active trig bridge (docs/rubi/RUBI.md §1, the Chapter-4 "inert |
| 2493 | // trig" machinery). Rubi's trig rules match against INERT lowercase heads |
| 2494 | // (`sin`/`cos`/…) that its dispatcher produces from the user's ACTIVE |