In mathematics and logic, a vacuous truth is a conditional or universal statement (a universal statement that can be converted to a conditional statement) that is true because the antecedent cannot be satisfied. It is sometimes said that a statement is vacuously true because it does not really say anything. For example, the statement "all cell phones in the room are turned off" will be true when no cell phones are present in the room. In this case, the statement "all cell phones in the room are turned on" would also be vacuously true, as would the conjunction of the two: "all cell phones in the room are turned on and turned off", which would otherwise be incoherent and false.
More formally, a relatively well-defined usage refers to a conditional statement (or a universal conditional statement) with a false antecedent. One example of such a statement is "if Tokyo is in Spain, then the Eiffel Tower is in Bolivia".
Such statements are considered vacuous truths because the fact that the antecedent is false prevents using the statement to infer anything about the truth value of the consequent. In essence, a conditional statement, that is based on the material conditional, is true when the antecedent ("Tokyo is in Spain" in the example) is false regardless of whether the conclusion or consequent ("the Eiffel Tower is in Bolivia" in the example) is true or false because the material conditional is defined in that way.
Examples common to everyday speech include conditional phrases used as idioms of improbability like "when hell freezes over ..." and "when pigs can fly ...", indicating that not before the given (impossible) condition is met will the speaker accept some respective (typically false or absurd) proposition.
In pure mathematics, vacuously true statements are not generally of interest by themselves, but they frequently arise as the base case of proofs by mathematical induction. This notion has relevance in pure mathematics, as well as in any other field that uses classical logic.
Outside of mathematics, statements in the form of a vacuous truth, while logically valid, can nevertheless be misleading. Such statements make reasonable assertions about qualified objects which do not actually exist. For example, a child might truthfully tell their parent "I ate every vegetable on my plate", when there were no vegetables on the child's plate to begin with. In this case, the parent can believe that the child has actually eaten some vegetables, even though that is not true.
Scope of the concept
A statement is "vacuously true" if it resembles a material conditional statement , where the antecedent is known to be false.
Vacuously true statements that can be reduced (with suitable transformations) to this basic form (material conditional) include the following universally quantified statements:
- , where it is the case that .
- , where the set is empty.
- This logical form can be converted to the material conditional form in order to easily identify the antecedent. For the above example "all cell phones in the room are turned off", it can be formally written as where is the set of all cell phones in the room and is " is turned off". This can be written to a material conditional statement where is the set of all things in the room (including cell phones if they exist in the room), the antecedent is " is a cell phone", and the consequent is " is turned off".
- , where the symbol is restricted to a type that has no representatives.
Vacuous truths most commonly appear in classical logic with two truth values. However, vacuous truths can also appear in, for example, intuitionistic logic, in the same situations as given above. Indeed, if is false, then will yield a vacuous truth in any logic that uses the material conditional; if is a necessary falsehood, then it will also yield a vacuous truth under the strict conditional.
Other non-classical logics, such as relevance logic, may attempt to avoid vacuous truths by using alternative conditionals (such as the case of the counterfactual conditional).
In computer programming
Many programming environments have a mechanism for querying if every item in a collection of items satisfies some predicate. It is common for such a query to always evaluate as true for an empty collection. For example:
- In JavaScript, the array method
every
executes a provided callback function once for each element present in the array, only stopping (if and when) it finds an element where the callback function returns false. Notably, calling theevery
method on an empty array will return true for any condition. - In Python, the built in
all()
function returnsTrue
only when all of the elements of an array areTrue
or the array is of length zero as shown in these examples:all()==True; all()==False; all()==True
. A less ambiguous way to express this is to sayall()
returns True when none of the elements are False. - In Rust, the
Iterator::all
function accepts an iterator and a predicate and returnstrue
only when the predicate returnstrue
for all items produced by the iterator, or if the iterator produces no items. - In SQL, the function, the function
ANY_VALUE
can differ depending on the RDBMS's behaviour relating NULLs to vacuous truth. Some RDBMS might returnnull
even if there are non-null
values. Some DBMS might not allow for its use infilter(…)
orover(…)
clauses. - In Kotlin, the collection method
all
returnstrue
when the collection is empty. - In C#, the Linq method
All
returnstrue
when the collection is empty. - In C++, the
std::all_of
function template returnstrue
for an empty collection.
Examples
These examples, one from mathematics and one from natural language, illustrate the concept of vacuous truths:
- "For any integer x, if x > 5 then x > 3." – This statement is true non-vacuously (since some integers are indeed greater than 5), but some of its implications are only vacuously true: for example, when x is the integer 2, the statement implies the vacuous truth that "if 2 > 5 then 2 > 3".
- "All my children are goats" is a vacuous truth when spoken by someone without children. Similarly, "None of my children is a goat" would also be a vacuous truth when spoken by the same person.
See also
- Definite description
- De Morgan's laws – specifically the law that a universal statement is true just in case no counterexample exists:
- Empty sum and empty product
- Empty function
- Paradoxes of material implication, especially the principle of explosion
- Presupposition, double question
- State of affairs (philosophy)
- Tautology (logic) – another type of true statement that also fails to convey any substantive information
- Triviality (mathematics) and degeneracy (mathematics)
References
- ^ "Vacuously true". web.cse.ohio-state.edu. Archived from the original on 18 November 2023. Retrieved 15 December 2019.
- ^ "Vacuously true - CS2800 wiki". courses.cs.cornell.edu. Archived from the original on 21 June 2023. Retrieved 15 December 2019.
- ^ "Definition:Vacuous Truth – ProofWiki". proofwiki.org. Retrieved 2019-12-15.
- ^ Edwards, C. H. (January 18, 1998). "Vacuously True" (PDF). swarthmore.edu. Archived from the original (PDF) on 28 April 2021. Retrieved 14 December 2019.
- Baldwin, Douglas L.; Scragg, Greg W. (2011), Algorithms and Data Structures: The Science of Computing, Cengage Learning, p. 261, ISBN 978-1-285-22512-8
- "Array.prototype.every() - JavaScript | MDN". developer.mozilla.org.
- "Built-in Functions – Python 3.10.2 documentation". docs.python.org.
- "Iterator in std::iter – Rust". doc.rust-lang.org.
- "The ANY_VALUE(…) Aggregate Function". modern-sql.com. Retrieved 2024-11-27.
- "std::all_of, std::any_of, std::none_of". Cpprefeference. 19 March 2024. Archived from the original on 1 December 2024. Retrieved 9 December 2024.
- "logic – What precisely is a vacuous truth?". Mathematics Stack Exchange.
Bibliography
- Blackburn, Simon (1994). "vacuous", The Oxford Dictionary of Philosophy. Oxford: Oxford University Press, p. 388.
- David H. Sanford (1999). "implication". The Cambridge Dictionary of Philosophy, 2nd. ed., p. 420.
- Beer, Ilan; Ben-David, Shoham; Eisner, Cindy; Rodeh, Yoav (1997). "Efficient Detection of Vacuity in ACTL Formulas". Computer Aided Verification: 9th International Conference, CAV'97 Haifa, Israel, June 22–25, 1997, Proceedings. Lecture Notes in Computer Science. Vol. 1254. pp. 279–290. doi:10.1007/3-540-63166-6_28. ISBN 978-3-540-63166-8.