def get_set_other.go
lawful-arrays@0.1.0.0 · PROOF.bend:125
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
125def get_set_other.go(-T: Data, -a: Array<T>, +d: Nat, +i: U32, +j: U32, +v: T,
126 hf: {D.full(T, a, d) == True{} : Bool}, +hd: {Nat.is_lt(d, 32n) == True{} : Bool},
127 +hij: {Nat.is_eq(D.slot(i, d), D.slot(j, d)) == False{} : Bool}, m: P.Mirror(T, a)) ->
128 {Pair.snd(Array<T>, T, Array.get(T, Array.set(T, a, i, v), j)) == Pair.snd(Array<T>, T, Array.get(T, a, j)) : T}:
129 (t, +e) = m
130 %e : {Pair.snd(Array<T>, T, Array.get(T, Array.set(T, _, i, v), j)) == Pair.snd(Array<T>, T, Array.get(T, _, j)) : T}
131 I.get_set_other_t(T, t, d, i, j, v, full_t(T, a, t, d, e, hf), hd, hij)