def swap_view.go

lawful-arrays@0.1.0.0 · PROOF.bend:139

import lawful-arrays@0.1.0.0/PROOF.bend as PROOF
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
import lawful-arrays@0.1.0.0/proof_index.bend as I

139def swap_view.go(-T: Data, -a: Array<T>, +d: Nat, +i: U32, +v: T, hf: {D.full(T, a, d) == True{} : Bool},
140  +hd: {Nat.is_lt(d, 32n) == True{} : Bool}, m: P.Mirror(T, a)) ->
141  {D.view(T, Pair.fst(Array<T>, T, Array.swap(T, a, i, v))) == List.set(&2, T, D.view(T, a), D.slot(i, d), v) : List<&2, T>}:
142  (t, +e) = m
143  %e : {D.view(T, Pair.fst(Array<T>, T, Array.swap(T, _, i, v))) == List.set(&2, T, D.view(T, _), D.slot(i, d), v) : List<&2, T>}
144  I.swap_view_t(T, t, d, i, v, full_t(T, a, t, d, e, hf), hd)

Uses (16)

Used by (1)