Skip to content

HOL-Light: Unify "pre-conditions as post-conditions" style #995

@hanno-becker

Description

@hanno-becker

Pre-conditions can often be transformed into premises of the post-condition. While largely equivalent, this can lead to slightly stronger theorems: For example, if an NTT zeta table is fixed in the pre-condition, we have no guarantee of memory-safety if corrupted constants are passed. If instead, the values of the zeta pointer are constrained only in the post-condition, then the safety spec entails that even with a corrupted constant table, safety (albeit not correctness, of course) is retained.

Task:

  • Audit the mlkem-native and mldsa-native for the use of this specification pattern
  • Agree on a set of preconditions for which there is added value in expressing them as premises of the post-condition
  • Adjust all specifications and proofs as needed

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions