I believe I found a legality bug for Gen 2. In Generation 2, Substitute is not a TM, so the only ways to get Substitute is by transferring from Generation 1 (any mon from Gen 1 and their evolutions), learning it naturally (only Mr. Mime), or getting it through an event (Sudowoodo and Pineco). The issue is with Flail on Gyarados. Currently, if you validate a team with a Gyarados with the moves Substitute and Flail, it will say it is a legal combination. However, I don't believe this is possible. The only way to get a Gyarados with Flail is to have a Magikarp in Gen 2 learn it, and then evolve into Gyarados. Then you cannot transfer the Gyarados back to gen 1 to learn Substitute since it has a non gen 1 move. The only way to have a Gyarados with Sub is to teach it in gen 1, but when you transfer it to gen 2, you won't be able to learn Flail since it only gets it as a Magikarp.
tl:dr: PS says Flail + Substitute is legal on Gyarados in Gen 2, while in reality it shouldn't be.
BUG STATUS: CONFIRMED - LEGALITY, great find! to be clear, Magikarp only learns Flail in Gen II, so Gyarados must have a Gen II origin to learn it, which rules out Gen 1 exclusive moves like Substitute, BubbleBeam, etc. (DaWoblefet)