def internal_apply_shift
import bend-mathlib@0.8.1.0/perm.bend as Permimport Base
import bendlib-kernel-list@1.0.0.0/list.bend as K
20def internal_apply_shift(-A: Data, +s: List<&2, Nat>, +x: A, +xs: List<&2, A>) -> {K.apply(A, internal_shift(s), x <> xs) == x <> K.apply(A, s, xs) : List<&2, A>}:
21 match s:
22 case Nil{}:
23 {==}
24 case +i <> rest:
25 internal_apply_shift(A, rest, x, K.swap_at(A, i, xs))