1 (* Title: HOL/Power.thy
3 Author: Lawrence C Paulson, Cambridge University Computer Laboratory
4 Copyright 1997 University of Cambridge
6 The (overloaded) exponentiation operator, ^ :: [nat,nat]=>nat
7 Also binomial coefficents
12 binomial :: "[nat,nat] => nat" ("'(_ choose _')" [50,50])
16 "p ^ (Suc n) = (p::nat) * (p ^ n)"
18 primrec "binomial" nat
19 binomial_0 "(0 choose k) = (if k = 0 then 1 else 0)"
21 binomial_Suc "(Suc n choose k) =
22 (if k = 0 then 1 else (n choose (k - 1)) + (n choose k))"