law swap_view_t
lawful-arrays@0.1.0.0 · proof_index.bend:499
import lawful-arrays@0.1.0.0/proof_index.bend as ProofIndex
import Base
import lawful-arrays@0.1.0.0/defs.bend as D
import lawful-arrays@0.1.0.0/proof_tree.bend as P
499law swap_view_t:
500 for -T: Data
501 for +t: P.Tree<T>
502 for +d: Nat
503 for +i: U32
504 for +v: T
505 for +hf: {D.full(T, P.fromT(T, t), d) == True{} : Bool}
506 for +hd: {Nat.is_lt(d, 32n) == True{} : Bool}
507 {D.view(T, Pair.fst(Array<T>, T, Array.swap(T, P.fromT(T, t), i, v)))
508 == List.set(&2, T, D.view(T, P.fromT(T, t)), D.slot(i, d), v) : List<&2, T>}