| ⊦ firstn(1, a ') = a ' |
Used simplifier rules: first-num: n ≠ 0 ⊦ firstn((* n), x) = x.first ' + firstn(n -1, x.rest);%firstN-zero: ⊦ firstn(0, x) = [];%c-04: ⊦ a ' = b ' ↔ a = b; from specification list%a: ⊦ (x + y) + z = x + y + z; from specification list%app: ⊦ x + [] = x; from specification list%first: ⊦ a '.first = a; from specification list%rest: ⊦ a '.rest = []; from specification list