Logic has been called the calculus of computer science, because logic plays a fundamental role in computer science, starting from the construction of computers to the computing devices beyond our ability to construct, such as computer architecture (digital gates, hardware verification), software engineering (specification, verification), programming languages (semantics, type theory, abstract data types, object-oriented programming), databases (relational algebra), artificial intelligence (automated theorem proving, knowledge representation), algorithms and theory of computation (complexity, computability), etc.