Discrete Structures Topics sets tuples sequence functions propositional logic predicates and inference logical reasoning definitions proofs counting program verification asymptotic analysis graphs trees