@@ -411,6 +411,15 @@ module AwsCryptographyDbEncryptionSdkStructuredEncryptionOperations refines Abst
411
411
else
412
412
SIGN_ONLY;
413
413
414
+ assert ValidParsedCryptoSchema (cryptoSchema, authSchema, tableName) by {
415
+ assert forall k < - cryptoSchema. Keys :: k in authSchema && authSchema[k]. SIGN?;
416
+ assert forall k < - fieldMap :: authSchema[fieldMap[k]]. SIGN?;
417
+ assert forall k < - fieldMap :: fieldMap[k] in cryptoSchema;
418
+ assert forall k < - authSchema | authSchema[k]. SIGN? :: fieldMap[Paths. SimpleCanon (tableName, k)] in cryptoSchema;
419
+ assert forall k < - authSchema | authSchema[k]. SIGN? :: k in cryptoSchema;
420
+ assert forall k < - authSchema | authSchema[k]. SIGN? :: k in cryptoSchema. Keys;
421
+ assert forall v < - cryptoSchema. Values :: IsAuthAttr (v);
422
+ }
414
423
assert forall k :: k in data. Keys && authSchema[k]. SIGN? ==> Paths. SimpleCanon (tableName, k) in data_c. Keys;
415
424
416
425
var c := DecryptCanonData (
@@ -730,7 +739,7 @@ module AwsCryptographyDbEncryptionSdkStructuredEncryptionOperations refines Abst
730
739
// Every field in the crypto map exists in the auth map as SIGN
731
740
&& (forall k < - cryptoSchema. Keys :: k in authSchema && authSchema[k]. SIGN?)
732
741
// The crypto map is not missing any SIGN fields from the auth map
733
- && (forall kv < - authSchema. Items | kv . 1 . SIGN? :: kv . 0 in cryptoSchema. Keys)
742
+ && (forall k < - authSchema | authSchema[k] . SIGN? :: k in cryptoSchema. Keys)
734
743
// Every field in the crypto map is ENCRYPT_AND_SIGN, SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT or SIGN_ONLY
735
744
&& (forall v < - cryptoSchema. Values :: IsAuthAttr (v))
736
745
}
0 commit comments