At this point a script that uses this previous NOP code now enforces a rule check to make sure that the nLocktime is greater than or equal to the value on the stack (if not then the result is zero).
This is a restriction not a relaxation (as it can now fail this test) - when any node that hasn't upgraded sees this in a block that has been mined then it will also accept the script as valid even though it didn't do the check and this prevents a fork (as it is indeed being treated as a NOP for such nodes and the value that was pushed onto the stack is the result which is non-zero).
I understand that perfectly, thank you. But, IIUC, Greg just claimed that, in fact, the miners running the current version of the software reject any transactions and blocks with such NOPs. Whereas the miners running the new version will accept them, if the new semantics given to them is satisfied.
If that is true, then old miners, even if they are a minority, should reject the blocks created by the new miners, as soon as they start including the redefined opcode. Isn't that correct?
and again you need to understand the difference between relaying, mining and validating
The policies of independent non-mining relay nodes are irrelevant, since they can reject transactions by any criteria they like, and have no incentives to behave in any particular way; and also because clients can (should) always bypass them and talk to miners directly (or to relays run by miners). The functioning of the network cannot depend on them.
The policies that matter are those of the miners. It does not make any difference for the network where in the mining software a certain rule is enforced: if the miners reject transactions that have some property, then that property is effectively part of their validity rules.
If you want to keep on arguing about definitions without actually bothering to understand how the system works then I don't think that anyone here is going to keep on wasting their time trying to explain it to you.
Bitcoin isn't some sort of theoretical model but instead is a practical piece of software (so it doesn't actually care about what you think the behaviour of things should be according to what you think the terms should refer to).
Wait, you are telling me that bitcoin is not "guaranteed by math"?
Edit: created by the miners --> created by the new miners