As a keyword
Keyword: assume
Introduces a logical assumption into a context.
Exists as both a tactic and a statement.
As a concept
"Assumption" as a general concept also refers to a logical assumption introduced by any of:
- The
assume
keyword itself, which adds a general free-standing assumption in an action not associated with the action's visibility qualifiers or assume-guarantee reasoning between actions. - A precondition (keyword
require
) when considered from the perspective of verifying the action containing therequire
statement. - A postcondition (keyword
ensure
) when considered from the perspective of verifying an action that calls the action containing theensure
statement. - An invariant (keyword
invariant
) which also introduces an guarantee (as invariants are inductive, they both assume and guarantee).
Assumptions and guarantees together support assume-guarantee reasoning, which is a basis of modular verification in Ivy.
Assumptions occur positively in verification conditions.