def aes_bytes_proof_none_if_invalid
qasim-bend-kit@0.1.0.2 · PROOF.bend:450
import qasim-bend-kit@0.1.0.2/PROOF.bend as PROOF
import Base
import qasim-bend-kit@0.1.0.2/libs/AES256GCM.bend as AES
import qasim-bend-kit@0.1.0.2/proof/JSON_PrimitiveProof.bend as PrimitiveProof
450def aes_bytes_proof_none_if_invalid(+bytes: List<&2, U32>,
451 generated: Maybe<&0, {AES.bytes_valid(bytes) == True{} : Bool}>,
452 no: {AES.bytes_valid(bytes) == False{} : Bool}) ->
453 {generated == None{} : Maybe<&0, {AES.bytes_valid(bytes) == True{} : Bool}>}:
454 match generated:
455 case None{}: {==}
456 case Some{valid}:
457 contradiction = Equal.trans(Bool, True{}, AES.bytes_valid(bytes),
458 False{}, Equal.sym(Bool, AES.bytes_valid(bytes), True{}, valid),
459 no)
460 PrimitiveProof.absurd(
461 {Some{valid} == None{} :
462 Maybe<&0, {AES.bytes_valid(bytes) == True{} : Bool}>},
463 PrimitiveProof.false_true(Equal.sym(Bool, True{}, False{},
464 contradiction)))