In mathematical logic, Craig's interpolation theorem is a result about the relationship between different logical theories. Roughly stated, the theorem says that if a formula ¿ implies a formula ¿ then there is a third formula ¿, called an interpolant, such that every nonlogical symbol in ¿ occurs both in ¿ and ¿, ¿ implies ¿, and ¿ implies ¿. The theorem was first proved for first-order logic by William Craig in 1957. Variants of the theorem hold for other logics, such as propositional logic.
more from Wikipedia
Nested word
In computer science, more specifically in automata and formal language theory, nested words are a concept proposed by Alur and Madhusudan as a joint generalization of words, as traditionally used for modelling linearly ordered structures, and of ordered unranked trees, as traditionally used for modelling hierarchical structures. Finite-state acceptors for nested words, so-called nested word automata, then give a more expressive generalization of finite automata on words.
more from Wikipedia
Correctness (computer science)
In theoretical computer science, correctness of an algorithm is asserted when it is said that the algorithm is correct with respect to a specification. Functional correctness refers to the input-output behaviour of the algorithm (i.e. , for each input it produces the correct output). A distinction is made between total correctness, which additionally requires that the algorithm terminates, and partial correctness, which simply requires that if an answer is returned it will be correct.
more from Wikipedia
Classical logic
Classical logic identifies a class of formal logics that have been most intensively studied and most widely used. The class is sometimes called standard logic as well.
more from Wikipedia
Model checking
In computer science, model checking refers to the following problem: Given a model of a system, test automatically whether this model meets a given specification. Typically, the systems one has in mind are hardware or software systems, and the specification contains safety requirements such as the absence of deadlocks and similar critical states that can cause the system to crash. Model checking is a technique for automatically verifying correctness properties of finite-state systems.
more from Wikipedia
Recursion
Recursion is the process of repeating items in a self-similar way. For instance, when the surfaces of two mirrors are exactly parallel with each other the nested images that occur are a form of infinite recursion. The term has a variety of meanings specific to a variety of disciplines ranging from linguistics to logic.
more from Wikipedia
Predicate abstraction
In logic, predicate abstraction is the result of creating a predicate from an open sentence. If Q(x) is any formula with x free then the predicate formed from that sentence is (¿x. Q), where ¿ is an abstraction operator. The resultant predicate (¿x. Q) is a monadic predicate capable of taking a term t as argument as in (¿x. Q)(t), which says that the object denoted by 't' has the property of being such that Q. The law of abstraction states (¿x.
more from Wikipedia