law drop_word
lawful-bytes@0.1.1.0 · proof_fast_find.bend:119
import lawful-bytes@0.1.1.0/proof_fast_find.bend as ProofFastFind
import Base
import lawful-bytes@0.1.1.0/defs.bend as D
import lawful-bytes@0.1.1.0/proof_core.bend as C
119
120law drop_word:
121 for +ws: List<&2, U32>
122 for +q: Nat
123 for +o: Nat
124 for +w: U32
125 for +hw: {List.get(&2, U32, ws, q) == Some{w} : Maybe<&2, U32>}
126 for +ho: {Nat.is_le(o, 4n) == True{} : Bool}
127 {List.drop(&2, U32, D.unpack(ws), Nat.add(Nat.mul(q, 4n), o)) == List.append(&2, U32, List.drop(&2, U32, C.L4(w), o), D.unpack(List.drop(&2, U32, ws, Nat.add(q, 1n)))) : List<&2, U32>}