| O => true | S O => false | S (S n') => is_even n' end. O => true は 0の場合に対応してます S O => false は 1の場合に対応してます S (S n') => is_even n' は 2以上の場合に対応してます 例えば、ピアノ数では3は S (S (S O)) と表現されます S (S n') を S (S (S O)) にマッチさせると、 n' の部分に S O =1が入ります、 この n' を再帰的に is_even に渡すことで、偶数判定がうまいこと出来ます。 13