In
mathematical logic, a fragment of a logical language or
theory is a subset of this logical language obtained by imposing
syntactical
In linguistics, syntax () is the study of how words and morphemes combine to form larger units such as phrases and sentences. Central concerns of syntax include word order, grammatical relations, hierarchical sentence structure (constituency), ...
restrictions on the language.
[.] Hence, the
well-formed formulae of the fragment are a subset of those in the original logic. However, the semantics of the formulae in the fragment and in the logic coincide, and any formula of the fragment can be expressed in the original logic.
The
computational complexity
In computer science, the computational complexity or simply complexity of an algorithm is the amount of resources required to run it. Particular focus is given to computation time (generally measured by the number of needed elementary operations) ...
of tasks such as
satisfiability or
model checking
In computer science, model checking or property checking is a method for checking whether a finite-state model of a system meets a given specification (also known as correctness). This is typically associated with hardware or software systems ...
for the logical fragment can be no higher than the same tasks in the original logic, as there is a
reduction from the first problem to the other. An important problem in
computational logic is to determine fragments of well-known logics such as
first-order logic that are as expressive as possible yet are decidable or more strongly have low computational complexity.
The field of
descriptive complexity theory aims at establishing a link between logics and
computational complexity theory, by identifying logical fragments that exactly capture certain
complexity classes.
[.]
References
Mathematical logic
{{logic-stub