Logic in Computer Science

Logic in computer science describes topics where logic is applied to computer science and artificial intelligence. These include:

  1. Investigations into logic that are guided by applications in computer science. For example:
    • Rewriting systems were motivated by solving equations algorithmically;
    • Many developments in type theory were motivated by applications in programming language theory;
    • Abstract interpretation was developed to allow proofs of certain program properties;
    • Logics of knowledge and beliefs (of human and artificial agents);
    • Spatial logics, used for reasoning about interaction between concurrent and distributed processes.
    • Logics for spatial reasoning, e.g. about moving in Euclidean space (which should not be confused with spatial logics used for concurrent systems);
    • some developments in categorical logic;
    • Program logics, such as Hoare logic, Hennessy-Milner logic, and dynamic logic are used to reason about program correctness
    • Process calculi were developed to reason about correctness of concurrent systems.
    • Descriptive complexity theory relates logics to computational complexity
  2. Applications of logic in computer science, such as Formal methods:
    • Boolean logic, is used for the design of computer circuits;
    • Specification languages are extended logics for reasoning about whether programs behave correctly, such as the Z specification language. Cf. program logics, below, which can be considered to be minimalist specification logics, and cf. also, automated theorem provers, below; specification languages are often integrated into theorem provers.
    • The notion of institution has been developed as an abstract formalization of the notion of logical system, with the goal of handling the "population explosion" of logics used in formal methods.
    • Predicate logic and logical frameworks are used for proving programs correct, and logics such as temporal logic and #Fundamental concepts in computer science that are naturally expressible in formal logic. For example:
    • Formal semantics of programming languages;
    • Logic programming;
    • Definition of formal languages;
  3. Aspects of the theory of computation that cast light on fundamental questions of formal logic. For example: Curry-Howard correspondence and Game semantics;
  4. Tools for logicians considered as computer science. For example: Automated theorem proving and Model checking;

The study of basic mathematical logic such as propositional logic and predicate logic (normally in conjunction with set theory) is considered an important theoretical underpinning to any undergraduate computer science course. Higher-order logic is usually considered an advanced topic, but is important in theorem proving tools like HOL.

Read more about Logic In Computer Science:  Books

Famous quotes containing the words logic, computer and/or science:

    Neither Aristotelian nor Russellian rules give the exact logic of any expression of ordinary language; for ordinary language has no exact logic.
    Sir Peter Frederick Strawson (b. 1919)

    The Buddha, the Godhead, resides quite as comfortably in the circuits of a digital computer or the gears of a cycle transmission as he does at the top of a mountain or in the petals of a flower.
    Robert M. Pirsig (b. 1928)

    Current illusion is that science has abolished all natural laws.
    Marshall McLuhan (1911–1980)