Skip to content
Category

Logic in computer science

page 1
fuzzy logic
system for reasoning about vagueness
Karnaugh map
method to simplify boolean algebra expressions; refinement of Edward Veitch's 1952 Veitch diagram
Peano axioms
axiomatic system for the natural numbers
sequential logic
type of logic circuit
combinational logic
type of digital logic which is implemented by boolean circuits
race condition
situation in computer system that occurs when multiple processes try to access a common resource
boolean satisfiability problem
problem of determining if a Boolean formula could be made true
programming language semantics
the field concerned with the rigorous mathematical study of the meaning of programming languages
combinatory logic
logical formalism using combinators instead of variables
intuitionistic logic
various systems of symbolic logic
formal verification
act of proving or disproving the correctness of intended algorithms
Horn clause
clause (a disjunction of literals) with at most one positive, i.e. unnegated, literal
unification
algorithmic process of solving equations between symbolic expressions
automated reasoning
subfield of computer science and logic
assertion
in computer programming, statement that a predicate is always true at that point in code execution
Curry–Howard correspondence
the direct relationship between computer programs and mathematical proofs
denotational semantics
approach of formalizing the meanings of programming languages by constructing mathematical objects (called denotations) that describe the meanings of expressions from the languages
rewriting
In mathematics, linguistics, computer science, and logic, rewriting covers a wide range of methods of replacing subterms of a formula with other terms. Such methods may be achieved by rewriting systems (also known as rewrite systems, rewrite engines, or reduction systems). In their most basic form, they consist of a set of objects, plus relations on how to transform those objects.
operational semantics
category of formal programming language semantics
model checking
verifying whether a finite-state model meets a given specification
undecidable problem
decision problem for which it is impossible to construct an algorithm that always leads to a correct yes-or-no answer
structural induction
form of mathematical proof
backward chaining
method of forming inferences
axiomatic semantics
approach based on mathematical logic for proving the correctness of computer programs; closely related to Hoare logic; define the meaning of a command in a program by describing its effect on assertions about the program state
successor function
elementary operation on a natural number
Presburger arithmetic
first-order theory of the natural numbers with addition
functional completeness
property of a set of logical connectives which can express all possible truth tables by combining members of the set
Boolean circuit
model of computation
typed lambda calculus
typed formalism that uses the lambda-symbol (λ) to denote anonymous function abstraction
logic in computer science
academic discipline
satisfiability modulo theories
problem of determining whether a mathematical formula is satisfiable
intuitionistic type theory
alternative foundation of mathematics
postcondition
In computer programming, a postcondition is a condition or predicate that must always be true just after the execution of some section of code or after an operation in a formal specification. Postconditions are sometimes tested using assertions within the code itself. Often, postconditions are simply included in the documentation of the affected section of code.
precondition
In computer programming, a precondition is a condition or predicate that must always be true just prior to the execution of some section of code or before an operation in a formal specification.
bisimulation
In theoretical computer science, a bisimulation is a binary relation between state transition systems, associating systems that behave in the same way in that one system simulates the other and vice versa.
computation tree logic
theory in computer science
Brouwer–Heyting–Kolmogorov interpretation
interpretation of intuitionistic logic
computational logic
use of logic to perform or reason about computation
Herbrand Award
award for research contributions to automated deduction
Tseytin transformation
operation in Boolean circuit theory
Anti-unification
Anti-unification is the process of constructing a generalization common to two given symbolic expressions. As in unification, several frameworks are distinguished depending on which expressions (also called terms) are allowed, and which expressions are considered equal. If variables representing functions are allowed in an expression, the process is called "higher-order anti-unification", otherwise "first-order anti-unification". If the generalization is required to have an instance literally equal to each input expression, the process is called "syntactical anti-unification", otherwise "E-ant
Horn-satisfiability
In formal logic, Horn-satisfiability, or HORNSAT, is the problem of deciding whether a given conjunction of propositional Horn clauses is satisfiable or not. Horn-satisfiability and Horn clauses are named after Alfred Horn.
dynamic logic
extension of modal logic
Logic optimization
process in digital electronics and integrated circuit design
abstract rewriting system
formal system for transcribing expressions into equivalent terms
normal form
an object that cannot be rewritten further