Typically inductive or recursive
"Basis" length([]) Þ 0;
"Induction"
length([A|L]) Þ 1 + length(L);
"Rewrite" computation model