List.perm_steps: def of bendlib-kernel-list@1.0.0.0 Import: import bendlib-kernel-list@1.0.0.0/list.bend as List Lines 37-39 of bendlib-kernel-list@1.0.0.0/list.bend: https://jend.leeeet.dev/read.txt?path=bendlib-kernel-list@1.0.0.0/list.bend&start_line=37&end_line=39 import Base # The derivation `perm_steps(A, steps, xs, ys)` holds when `apply(A, steps, xs)` is `ys`. def perm_steps(-A: Data, +steps: List<&2, Nat>, xs: List<&2, A>, ys: List<&2, A>) -> Data: {apply(A, steps, xs) == ys : List<&2, A>} Uses (3): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=bendlib-kernel-list@1.0.0.0/list.bend&name=apply