| x = firstn(# x - 1 + # z, x) + a ' + z, # x - # z = 0 ⊦ |
Used simplifier rules: first-length: ⊦ # firstn(n, x) = n;%len: ⊦ #(x + y) = # x + # y; from specification list%len-05: ⊦ #(a ' + x) = (# x)+1; from specification list%succ: ⊦ m +1 = m + 1; from specification nat-basic2%a: ⊦ (x + y) + z = x + y + z; from specification list%eq-01: ⊦ m + n - m = n; from specification nat%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%c: ⊦ m + n = n + m; from specification nat-basic2%z-01: ⊦ m + n = 0 ↔ m = 0 ∧ n = 0; from specification nat-basic2