| n ≤ # y ⊦ a ' + firstn(n, y) = firstn(n, a ' + y) + (a ' + y)[n] ' |
∀ y, a. n0 ≤ # y → a ' + firstn(n0, y) = firstn(n0, a ' + y) + (a ' + y)[n0] ', n0 +1 ≤ # y ⊦ a ' + firstn(n0 +1, y) = firstn(n0 +1, a ' + y) + (a ' + y)[n0 +1] '
Used simplifier rules: firstN-zero: ⊦ firstn(0, x) = [];%get-zero-01: ⊦ (a ' + x)[0] = a;%nat freely generated by 0, +1;;%app: ⊦ x + [] = x; from specification list%a: ⊦ (x + y) + z = x + y + z; from specification list%Nil: ⊦ [] + x = x; from specification list%c-04: ⊦ a ' = b ' ↔ a = b; from specification list