(isPrefix.1) isPrefix([], B) = true (isPrefix.2) isPrefix(A, []) = false (when A is not []) (isPrefix.3) isPrefix(A, B) = head(A) == head(B) and isPrefix(tail(A), tail(B)) (when A ≠ [] and B ≠ [])Evaluation is as follows.
isPrefix([2,3], [2])
= 2 == 2 and isPrefix([3], []) by (isPrefix.3)
= true and isPrefix([3], [])
= isPrefix([3], [])
= isPrefix(3:[], [])
= false by (isPrefix.2)