if N < 1 then N! = 1 else N! = N * (N-1)!
if b = 1 then a * b = a else a * b = a * (b-1) + a
if n = 0 or n = 1 then fib(n) = n else fib(n) = fib(n-2) + fib(n-1)
if low > high then return 0 mid = (low + high)/2 if x = a[mid] then return mid if x < a[mid] then return(search(x, low, mid-1, a)) else return(search(x, mid+1, high, a))
def: recursive string S 1. if S is empty or 2. if S is made up of a single char, followed by S` and S` is a string "abc" 'a' "bc" 'b' "c" ""