Elements of digital logic