def open_nonce_bad
bend-collections-laws-crypto@1.0.0.0 · proofs/crypto/aes/proof.bend:62
import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/aes/proof.bend as Proof
import Base
import bend-collections-laws-crypto@1.0.0.0/proofs/lib/logic.bend as L
import bend-collections-laws-crypto@1.0.0.0/src/crypto/aes/aes.bend as A
import bend-collections-laws-crypto@1.0.0.0/src/crypto/aes/gcm.bend as GI
62def open_nonce_bad(+sched: A.Schedule, +nonce: List<&2, U32>, +h: {Nat.is_eq(List.length(&2, U32, nonce), 12n) == False{} : Bool}, +aad: List<&2, U32>, +ct: List<&2, U32>) -> {GI.open_nonce(sched, nonce, aad, ct) == None{} : Maybe<&2, List<&2, U32>>}:
63 match nonce:
64 case Nil{}:
65 {==}
66 case n0 <> Nil{}:
67 {==}
68 case n0 <> n1 <> Nil{}:
69 {==}
70 case n0 <> n1 <> n2 <> Nil{}:
71 {==}
72 case n0 <> n1 <> n2 <> n3 <> Nil{}:
73 {==}
74 case n0 <> n1 <> n2 <> n3 <> n4 <> Nil{}:
75 {==}
76 case n0 <> n1 <> n2 <> n3 <> n4 <> n5 <> Nil{}:
77 {==}
78 case n0 <> n1 <> n2 <> n3 <> n4 <> n5 <> n6 <> Nil{}:
79 {==}
80 case n0 <> n1 <> n2 <> n3 <> n4 <> n5 <> n6 <> n7 <> Nil{}:
81 {==}
82 case n0 <> n1 <> n2 <> n3 <> n4 <> n5 <> n6 <> n7 <> n8 <> Nil{}:
83 {==}
84 case n0 <> n1 <> n2 <> n3 <> n4 <> n5 <> n6 <> n7 <> n8 <> n9 <> Nil{}:
85 {==}
86 case n0 <> n1 <> n2 <> n3 <> n4 <> n5 <> n6 <> n7 <> n8 <> n9 <> n10 <> Nil{}:
87 {==}
88 case n0 <> n1 <> n2 <> n3 <> n4 <> n5 <> n6 <> n7 <> n8 <> n9 <> n10 <> n11 <> Nil{}:
89 Empty.absurd({GI.open_nonce(sched, [n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11], aad, ct) == None{} : Maybe<&2, List<&2, U32>>}, L.true_false(h))
90 case n0 <> n1 <> n2 <> n3 <> n4 <> n5 <> n6 <> n7 <> n8 <> n9 <> n10 <> n11 <> n12 <> rest:
91 {==}