Open formula
In-game article clicks load inline without leaving the challenge.
An open formula is a formula that contains at least one free variable.
Definition and uses
An open formula does not have a truth value assigned to it, in contrast with a closed formula which constitutes a proposition and thus can have a truth value like true or false. An open formula can be transformed into a closed formula by applying a quantifier for each free variable. This transformation is called capture of the free variables to make them bound variables.
For example, when reasoning about natural numbers, the formula "x+2 > y" is open, since it contains the free variables x and y. In contrast, the formula "∃y ∀x: x+2 > y" is closed, and has truth value true.
Open formulas are often used in rigorous mathematical definitions of properties, like
"x is an aunt of y if, for some person z, z is a parent of y, and x is a sister of z"
(with free variables x, y, and bound variable z) defining the notion of "aunt" in terms of "parent" and "sister". Another, more formal example, which defines the property of being a prime number, is
"P(x) if ∀m,n∈N {\displaystyle \mathbb {N} }: m>1 ∧ n>1 → x≠ m⋅n",
(with free variable x and bound variables m,n).
Fermat example
An example of a closed formula with truth value false involves the sequence of Fermat numbers
F n = 2 2 n + 1 , {\displaystyle F_{n}=2^{2^{n}}+1,}
studied by Fermat in connection to the primality. The attachment of the predicate letter P (is prime) to each number from the Fermat sequence gives a set of closed formulae. While they are true for n = 0,...,4, no larger value of n is known that obtains a true formula, as of 2023[update]; for example, F 5 = 4 294 967 297 = 641 ⋅ 6 700 417 {\displaystyle F_{5}=4\,294\,967\,297=641\cdot 6\,700\,417} is not a prime. Thus the closed formula ∀n P(Fn) is false.
In database theory, when expressing a query as an open first-order formula, the free variables represent the ones that in an SQL query would occur in the SELECT clause. For example, a formula like:
φ ( s o n ) = b i r t h Y e a r ( s o n , 2020 ) ∧ ∃ m o m . ( m o t h e r O f ( m o m , s o n ) ∧ b i r t h Y e a r ( m o m , 1999 ) ) {\displaystyle \varphi (son)=birthYear(son,2020)\land \exists mom{\textbf {.}}(motherOf(mom,son)\land birthYear(mom,1999))}
where s o n {\displaystyle son} is the only free variable, could be expressed in SQL as follows:
which selects all the people born in 2020 and having a mother born in 1999.
Formally, executing the above SQL query over a database is equivalent to look for all the substitutions σ {\displaystyle \sigma } of the free variables of φ {\displaystyle \varphi } with constants such that the Herbrand interpretation of D {\displaystyle {\mathcal {D}}} satisfies σ ( φ ) {\displaystyle \sigma (\varphi )}, where D {\displaystyle {\mathcal {D}}} is the set of ground atoms representing the database.
See also
- First-order logic
- Higher-order logic
- Quantifier (logic)
- Predicate (mathematical logic)
- Scope (logic)
- Glossary of logic
Further reading
- Wolfgang Rautenberg (2008), Einführung in die Mathematische Logik (in German) (3.ed.), Wiesbaden: Vieweg+Teubner, ISBN978-3-8348-0578-2
- H.-P. Tuschik, H. Wolter (2002), Mathematische Logik – kurzgefaßt (in German), Heidelberg: Spektrum, Akad. Verlag, ISBN3-8274-1387-7