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. For example, the statement "she does not own a cell phone" will imply that the statement "all of her cell phones are turned off" will be assigned a truth value. Also, the statement "all of her cell phones are turned on" would also be vacuously true, as would the conjunction of the two: "all of her cell phones are turned on and turned off", which would otherwise be incoherent and false. For that reason, it is sometimes said that a statement is vacuously true because it is meaningless.
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 France, 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 France" 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 which can be characterized informally as vacuously true can 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. In addition, a vacuous truth is often used colloquially with absurd statements, either to confidently assert something (e.g. "the dog was red, or I'm a monkey's uncle" to strongly claim that the dog was red), or to express doubt, sarcasm, disbelief, incredulity or indignation (e.g. "yes, and I'm the King of England" to disagree a previously made statement).
Scope of the concept
- , 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.
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:
everyexecutes 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 the
everymethod on an empty array will return true for any condition.
- In Python, the
Trueif all of the elements of the given iterable are
True. The function also returns
Truewhen given an iterable of zero length.
- In Rust, the
Iterator::allfunction accepts an iterator and a predicate and returns
trueonly when the predicate returns
truefor all items produced by the iterator, or if the iterator produces no items.
- "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 are goats" would also be a vacuous truth, when spoken by the same person.
- 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)
- "Vacuously true". web.cse.ohio-state.edu. Retrieved 2019-12-15.
- "Vacuously true - CS2800 wiki". courses.cs.cornell.edu. Retrieved 2019-12-15.
- "Definition:Vacuous Truth - ProofWiki". proofwiki.org. Retrieved 2019-12-15.
- Edwards, C. H. (January 18, 1998). "Vacuously True" (PDF). swarthmore.edu. Retrieved 2019-12-14.
- 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
- "Built-in Functions — Python 3.10.2 documentation". docs.python.org.
- "Iterator in std::iter - Rust". doc.rust-lang.org.
- "logic - What precisely is a vacuous truth?". Mathematics Stack Exchange.
- 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.