There are at least a couple of CBMC validator functions in the code base with names *_is_valid_cbmc. These functions typically do more assumptions than their non-CBMC versions and cannot be used as preconditions in E-SDK functions.
For example, aws_cryptosdk_sig_ctx_is_valid_cbmc was being used in #659 but had to be removed since including it as a precondition to sign_header would require CBMC libraries to be included as well. This is not an option.
The goal is to entirely remove these functions from the code base. To this end, we have to amend proofs where they are being used and then remove their definition (e.g., from cbmc_invariants.c).
There are at least a couple of CBMC validator functions in the code base with names
*_is_valid_cbmc. These functions typically do more assumptions than their non-CBMC versions and cannot be used as preconditions in E-SDK functions.For example,
aws_cryptosdk_sig_ctx_is_valid_cbmcwas being used in #659 but had to be removed since including it as a precondition tosign_headerwould require CBMC libraries to be included as well. This is not an option.The goal is to entirely remove these functions from the code base. To this end, we have to amend proofs where they are being used and then remove their definition (e.g., from cbmc_invariants.c).