Added some proofs and definitions