languages and strings introduction to discrete structures 6278153