Writing additive specification documents

Since a while, I add the following clause to my requirements documents:

This is an additive specification document: it only adds information, never subtracts (i.e. it never contradicts any other statement in any other part) and does not exclude more additions elsewhere (i.e. lists cannot be presumed complete unless stated as such).

How to write in an additive way?

What does this mean in practice?
How do you add requirements without contradicting or overruling previously made statements?

Never use restrictive words like “only”, “all”

Instead of: “The Ford model T shall only exist in black” write: “The Ford model T shall exist in black”.
The latter statement allows you to add somewhere else in an other document: “The Ford model T shall exist in white”, and there will be no contradiction.

Do not restrict lists as being complete

Instead of writing:

The intention of the work is to reach one of the following conclusions: good, bad, canceled.

You better write:

The intention of the work is to reach a conclusion.
A possible conclusion is: good.
A possible conclusion is: bad.
A possible conclusion is: canceled.

The latter way allows you to add a conclusion here or elsewhere for e.g. inconclusive.

My preferred way to specify this (which allows giving a description of the semantics and a translation to show in the UI):

An incomplete list

Use specialization to overrule general principles

If you have to describe a special case, that is a bit different than something described elsewhere, then use the principle of generalization - specialization, as described in the UML.

Why writing in an additive way?

Well, as the IEEE Standard 830 puts it:

An SRS should be: Correct, Unambiguous, Complete, Consistent, …

Preventing contradiction by writing additive requirements makes a specification document better maintainable.