Ground expression: Difference between revisions
→Examples: fix |
m →Formal definition: we don't need this |
||
Line 6: | Line 6: | ||
==Examples== |
==Examples== |
||
Consider the following expressions in [[first order logic]] over a [[signature (mathematical logic)|signature]] containing |
Consider the following expressions in [[first order logic]] over a [[signature (mathematical logic)|signature]] containing a constant symbol <math>0</math> for the number <math>0,</math> a unary function symbol <math>s</math> for the successor function and a binary function symbol <math>+</math> for addition. |
||
* <math>s(0), s(s(0)), s(s(s(0))), \ldots</math> are ground terms |
* <math>s(0), s(s(0)), s(s(s(0))), \ldots</math> are ground terms, |
||
* <math>0 + 1, \; 0 + 1 + 1, \ldots</math> are ground terms |
* <math>0 + 1, \; 0 + 1 + 1, \ldots</math> are ground terms, |
||
* <math>0+s(0), \; s(0)+ s(0), \; s(0)+s(s(0))+0</math> are ground terms |
* <math>0+s(0), \; s(0)+ s(0), \; s(0)+s(s(0))+0</math> are ground terms, |
||
* <math>x + s(1)</math> and <math>s(x)</math> are terms, but not ground terms |
* <math>x + s(1)</math> and <math>s(x)</math> are terms, but not ground terms, |
||
* <math>s(0) = 1</math> and <math>0 + 0 = 0</math> are ground formulae |
* <math>s(0) = 1</math> and <math>0 + 0 = 0</math> are ground formulae, |
||
==Formal definition== |
==Formal definition== |
||
What follows is a formal definition for [[first-order language]]s. Let a first-order language be given, with <math>C</math> the set of constant symbols |
What follows is a formal definition for [[first-order language]]s. Let a first-order language be given, with <math>C</math> the set of constant symbols, <math>F</math> the set of functional operators, and <math>P</math> the set of [[predicate symbol]]s. |
||
===Ground terms=== |
===Ground terms=== |
||
Line 38: | Line 38: | ||
A '''{{visible anchor|ground formula}}''' or '''{{visible anchor|ground clause}}''' is a formula without variables. |
A '''{{visible anchor|ground formula}}''' or '''{{visible anchor|ground clause}}''' is a formula without variables. |
||
Formulas with free variables may be defined by syntactic recursion as follows: |
|||
# The free variables of an unground atom are all variables occurring in it. |
|||
# A ground atom is a ground formula. |
|||
# |
# The free variables of <math>\lnot p</math> are the same as those of <math>p.</math> The free variables of <math>p \lor q, p \land q, p \to q</math> are those free variables of <math>p</math> or free variables of <math>q.</math> |
||
# The free variables of <math>\forall x \; p</math> and <math>\exists x \; p</math> are the free variables of <math>p</math> except <math>x.</math> |
|||
Ground formulas are a particular kind of [[Sentence (mathematical logic)|closed formulas]]. |
|||
==See also== |
==See also== |
Revision as of 16:18, 19 October 2022
In mathematical logic, a ground term of a formal system is a term that does not contain any variables. Similarly, a ground formula is a formula that does not contain any variables.
In first-order logic with identity, the sentence is a ground formula, with and being constant symbols. A ground expression is a ground term or ground formula.
Examples
Consider the following expressions in first order logic over a signature containing a constant symbol for the number a unary function symbol for the successor function and a binary function symbol for addition.
- are ground terms,
- are ground terms,
- are ground terms,
- and are terms, but not ground terms,
- and are ground formulae,
Formal definition
What follows is a formal definition for first-order languages. Let a first-order language be given, with the set of constant symbols, the set of functional operators, and the set of predicate symbols.
Ground terms
A ground term is a term that contains no variables. Ground terms may be defined by logical recursion (formula-recursion):
- Elements of are ground terms;
- If is an -ary function symbol and are ground terms, then is a ground term.
- Every ground term can be given by a finite application of the above two rules (there are no other ground terms; in particular, predicates cannot be ground terms).
Roughly speaking, the Herbrand universe is the set of all ground terms.
Ground atom
A ground predicate, ground atom or ground literal is an atomic formula all of whose argument terms are ground terms.
If is an -ary predicate symbol and are ground terms, then is a ground predicate or ground atom.
Roughly speaking, the Herbrand base is the set of all ground atoms, while a Herbrand interpretation assigns a truth value to each ground atom in the base.
Ground formula
A ground formula or ground clause is a formula without variables.
Formulas with free variables may be defined by syntactic recursion as follows:
- The free variables of an unground atom are all variables occurring in it.
- The free variables of are the same as those of The free variables of are those free variables of or free variables of
- The free variables of and are the free variables of except
See also
- Open formula – formula that contains at least one free variable
- Sentence (mathematical logic) – In mathematical logic, a well-formed formula with no free variables
References
- Dalal, M. (2000), "Logic-based computer programming paradigms", in Rosen, K.H.; Michaels, J.G. (eds.), Handbook of discrete and combinatorial mathematics, p. 68
- Hodges, Wilfrid (1997), A shorter model theory, Cambridge University Press, ISBN 978-0-521-58713-6
- First-Order Logic: Syntax and Semantics