| ⊦ slice(n, n, x) = [] |
⊦ slice(n0, n1, x) = (n0 ≤ n1 ⊃ prefixn(n1 - n0, dropn(n0, x));[])
⊦ dropn(n, x) = (n ≤ # x ⊃ restn(n, x);[])
⊦ prefixn(0, x) = []
Used simplifier rules: slice: ⊦ slice(n0, n1, x) = (n0 ≤ n1 ⊃ prefixn(n1 - n0, dropn(n0, x));[]);%dropn: ⊦ dropn(n, x) = (n ≤ # x ⊃ restn(n, x);[]);%prefixn-0: ⊦ prefixn(0, x) = [];% ⊦ m - m = 0; (s)% ⊦ m ≤ m; (s)