Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Vacuous truth
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Conditional statement which is true because the antecedent cannot be satisfied}} In [[mathematics]] and [[logic]], a '''vacuous truth''' is a [[Material conditional|conditional]] or [[Universal quantification|universal]] [[Statement (logic)|statement]] (a universal statement that can be converted to a conditional statement) that is true because the [[Antecedent (logic)|antecedent]] cannot be [[Satisfiability|satisfied]].<ref name=":1">{{cite web |title=Vacuously true |url=http://web.cse.ohio-state.edu/~patel.2004/Glossary/HTML_Files/vacuously_true.html |url-status=dead |archive-url=https://web.archive.org/web/20231118192904/https://web.cse.ohio-state.edu/~patel.2004/Glossary/HTML_Files/vacuously_true.html |archive-date=18 November 2023 |access-date=15 December 2019 |website=web.cse.ohio-state.edu}}</ref> It is sometimes said that a statement is vacuously true because it does not really say anything.<ref name=":2">{{cite web |title=Vacuously true - CS2800 wiki |url=https://courses.cs.cornell.edu/cs2800/wiki/index.php/Vacuously_true |url-status=live |archive-url=https://web.archive.org/web/20230621011654/https://courses.cs.cornell.edu/cs2800/wiki/index.php/Vacuously_true |archive-date=21 June 2023 |access-date=15 December 2019 |website=courses.cs.cornell.edu}}</ref> For example, the statement "all cell phones in the room are turned off" will be [[Truth (mathematics)|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 [[Logical conjunction|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-definition|well-defined]] usage refers to a conditional statement (or a universal conditional statement) with a false [[Antecedent (logic)|antecedent]].<ref name=":1" /><ref name=":3">{{cite web|url=https://proofwiki.org/wiki/Definition:Vacuous_Truth|title=Definition:Vacuous Truth β ProofWiki|website=proofwiki.org|access-date=2019-12-15}}</ref><ref name=":2" /><ref name=":4">{{cite web |last=Edwards |first=C. H. |date=January 18, 1998 |title=Vacuously True |url=http://www.swarthmore.edu/NatSci/smaurer1/Math18H/vacuous.pdf |url-status=dead |archive-url=https://web.archive.org/web/20210428063419/http://www.swarthmore.edu/NatSci/smaurer1/Math18H/vacuous.pdf |archive-date=28 April 2021 |access-date=14 December 2019 |website=swarthmore.edu}}</ref> 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 [[List of idioms of improbability|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]].<ref>{{citation|title=Algorithms and Data Structures: The Science of Computing|first1=Douglas L.|last1=Baldwin|first2=Greg W.|last2=Scragg|publisher=Cengage Learning|year=2011|isbn= 978-1-285-22512-8|page=261|url=https://books.google.com/books?id=ETA9AAAAQBAJ&pg=PA261}}</ref> 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 [[Grammatical modifier|qualified]] objects which [[Nonexistence|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 <math>S</math> is "vacuously true" if it [[Logical form|resembles]] a [[material conditional]] statement <math>P \Rightarrow Q</math>, where the [[Antecedent (logic)|antecedent]] <math>P</math> is known to be false.<ref name=":1" /><ref name=":3" /><ref name=":2" /> Vacuously true statements that can be reduced ([[Mutatis mutandis|with suitable transformations]]) to this basic form (material conditional) include the following [[Universal quantifier|universally quantified]] statements: * <math>\forall x: P(x) \Rightarrow Q(x)</math>, where it is the case that <math>\forall x: \neg P(x)</math>.<ref name=":4" /> * <math>\forall x \in A: Q(x)</math>, where the [[Set (mathematics)|set]] <math>A</math> is [[empty set|empty]]. ** This logical form <math>\forall x \in A: Q(x)</math> can be converted to the material conditional form in order to easily identify the [[Antecedent (logic)|antecedent]]. For the above example <math>S</math> "all cell phones in the room are turned off", it can be formally written as <math>\forall x \in A: Q(x)</math> where <math>A</math> is the set of all cell phones in the room and <math>Q(x)</math> is "<math>x</math> is turned off". This can be written to a material conditional statement <math>\forall x \in B: P(x) \Rightarrow Q(x)</math> where <math>B</math> is the set of all things in the room (including cell phones if they exist in the room), the antecedent <math>P(x)</math> is "<math>x</math> is a cell phone", and the [[consequent]] <math>Q(x)</math> is "<math>x</math> is turned off". * <math>\forall \xi: Q(\xi)</math>, where the symbol <math>\xi</math> is restricted to a [[type (type theory)|type]] that has no representatives. Vacuous truths most commonly appear in [[classical logic]] with [[Bivalent logic|two truth values]]. However, vacuous truths can also appear in, for example, [[intuitionistic logic]], in the same situations as given above. Indeed, if <math>P</math> is false, then <math>P \Rightarrow Q</math> will yield a vacuous truth in any logic that uses the [[material conditional]];<ref>[[Ingebrigt Johansson|Johansson's]] [[minimal logic]] is an exception, because the proof needs the [[principle of explosion]].</ref> if <math>P</math> is a [[Contradiction|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 <code>every</code> 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 the <code>every</code> method on an empty array will return true for any condition.<ref>{{Cite web|url=https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every|title=Array.prototype.every() - JavaScript | MDN|website=developer.mozilla.org|date=27 November 2023 }}</ref> * In [[Python (Programming Language)|Python]], the built in <code>all()</code> function returns <code>True</code> only when all of the elements of an array are <code>True</code> or the array is of length zero as shown in these examples: <code>all([1,1])==True; all([1,1,0])==False; all([])==True</code>.<ref>{{cite web |title=Built-in Functions β Python 3.10.2 documentation |url=https://docs.python.org/3/library/functions.html#all |website=docs.python.org}}</ref> A less ambiguous way to express this is to say <code>all()</code> returns True when '''none of the elements are False'''. * In [[Rust (programming language)|Rust]], the <code>Iterator::all</code> function accepts an iterator and a predicate and returns <code>true</code> only when the predicate returns <code>true</code> for all items produced by the iterator, or if the iterator produces no items.<ref>{{Cite web|url=https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.all|title=Iterator in std::iter β Rust|website=doc.rust-lang.org}}</ref> * In SQL, the function, the function <code>ANY_VALUE</code> can differ depending on the RDBMS's behaviour relating [[Null (SQL)|NULLs]] to vacuous truth. Some RDBMS might return <code>null</code> even if there are non-<code>null</code> values.<ref>{{Cite web |title=The ANY_VALUE(β¦) Aggregate Function |url=https://modern-sql.com/caniuse/any_value |access-date=2024-11-27 |website=modern-sql.com |language=en}}</ref> Some DBMS might not allow for its use in <code>filter(β¦)</code> or <code>over(β¦)</code> clauses. * In [[Kotlin (programming language)|Kotlin]], the collection method <code>all</code> returns <code>true</code> when the collection is empty. * In [[C Sharp (programming language)|C#]], the Linq method <code>All</code> returns <code>true</code> when the collection is empty. * In [[C++]], the <code>std::all_of</code> function template returns <code>true</code> for an empty collection.<ref>{{Cite web |date=19 March 2024 |title=std::all_of, std::any_of, std::none_of |url=https://en.cppreference.com/w/cpp/algorithm/all_any_none_of |url-status=live |archive-url=https://web.archive.org/web/20241201074645/https://en.cppreference.com/w/cpp/algorithm/all_any_none_of |archive-date=1 December 2024 |access-date=9 December 2024 |website=Cpprefeference}}</ref> == Examples == These examples, one from [[mathematics]] and one from [[natural language]], illustrate the concept of vacuous truths: * "For any integer ''x'', if {{nowrap|''x'' > 5}} then {{nowrap|''x'' > 3}}."<ref>{{Cite web|url=https://math.stackexchange.com/questions/734418/what-precisely-is-a-vacuous-truth|title=logic β What precisely is a vacuous truth?|website=Mathematics Stack Exchange}}</ref> β This statement is [[Truth|true]] non-vacuously (since some [[integer]]s 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 {{nowrap|2 > 5}} then {{nowrap|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#Extension_to_predicate_and_modal_logic|De Morgan's laws]] β specifically the law that a universal statement is true just in case no counterexample exists: <math>\forall x \, P(x) \equiv \neg \exists x \, \neg P(x)</math> * [[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 == {{reflist}} == Bibliography == {{refbegin}} * 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. * {{cite conference |last1=Beer |first1=Ilan |last2=Ben-David |first2=Shoham |last3=Eisner |first3=Cindy |last4=Rodeh |first4=Yoav |contribution=Efficient Detection of Vacuity in ACTL Formulas |year=1997|title=Computer Aided Verification: 9th International Conference, CAV'97 Haifa, Israel, June 22β25, 1997, Proceedings |series=[[Lecture Notes in Computer Science]] |volume=1254 |pages=279β290 |url=http://citeseer.ist.psu.edu/beer97efficient.html |doi=10.1007/3-540-63166-6_28|isbn=978-3-540-63166-8|doi-access=free }} {{refend}} == External links == {{refbegin}} * [https://abstractmath.org/MM/MMConditional.htm Conditional Assertions: Vacuous truth] {{refend}} [[Category:Mathematical logic]] [[Category:Informal fallacies]] [[Category:Logical truth]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Citation
(
edit
)
Template:Cite conference
(
edit
)
Template:Cite web
(
edit
)
Template:Nowrap
(
edit
)
Template:Refbegin
(
edit
)
Template:Refend
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)