Assumptions weaken properties
Adding assumptions to a formal property makes it logically weaker—guaranteed to work in fewer cases. Engineers add assumptions when stronger properties are impossible, too costly, or unverifiable. These assumptions often involve factors outside the program, like the operating environment or external dependencies.