SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
Math
behind
software
How are math &
software related?
How are math &
software related?
Binary
System
How are math &
software related?
Binary
System
Algorithms
How are math &
software related?
Binary
System
Algorithms
CAP
theorem
How are math &
software related?
Binary
System
Algorithms
CAP
theorem
Monads
What will be the value of B
What will be the value of B
True
What will be the value of B
True False
True
Why calling allMatch on
empty Stream always
return true?
Why calling allMatch on
empty Stream always
return true?
...And what does it have
to do with math?
Vacuous truth
Vacuous truth
Vacuous truth
Is a concept from logic used to describe all
statements that are evaluated as true because
their base condition (Antecedent) cannot be
fulfilled
Vacuous truth
Is a concept from logic used to describe all
statements that are evaluated as true because
their base condition (Antecedent) cannot be
fulfilled
Or in a more mathematical syntax
S: P ⇒Q
S: P ⇒Q
Then, if P is false, S is logically true and considered
vacuously true.
S: P ⇒Q
Then, if P is false, S is logically true and considered
vacuously true.
It can also be defined with quantificator - for all ∀:
S: P ⇒Q
Then, if P is false, S is logically true and considered
vacuously true.
It can also be defined with quantificator - for all ∀:
∀x ∈B : P(x) ⇒Q(x)
S: P ⇒Q
Then, if P is false, S is logically true and considered
vacuously true.
It can also be defined with quantificator - for all ∀:
∀x ∈B : P(x) ⇒Q(x)
Then, if P(x) is false for all x, our statement is also
considered vacuously true.
Example
If there are any developers in the
room next door, then they all work
with Haskell.
Example
If there are any developers in the
room next door, then they all work
with Haskell.
the base condition is: If there are any
developers in the room next door
Example
If there are any developers in the
room next door, then they all work
with Haskell.
the base condition is: If there are any
developers in the room next door
if the room's empty, the statement is
evaluated as vacuously true
Haskell devs & mixed syntax
Haskell devs & mixed syntax
P(x) is our explicit base condition - there are any
developers in the room
Haskell devs & mixed syntax
P(x) is our explicit base condition - there are any
developers in the room
Q(x) is our 'then' clause - they all work in Haskell
Haskell devs & mixed syntax
P(x) is our explicit base condition - there are any
developers in the room
Q(x) is our 'then' clause - they all work in Haskell
B is our set - all the people in the room
Haskell devs & mixed syntax
P(x) is our explicit base condition - there are any
developers in the room
Q(x) is our 'then' clause - they all work in Haskell
B is our set - all the people in the room
We can write the example in this form:
For all the people in the room, if a person is a developer,
then they work with Haskell.
How exactly do Stream
and allMatch fit into this?
How exactly do Stream
and allMatch fit into this?
∀x ∈B : P(x) ⇒Q(x)
Similar behavior in other languages
Similar behavior in other languages
In Scala: forall, present in many collections
Similar behavior in other languages
In Scala: forall, present in many collections
In JavaScript: every from array prototype
Similar behavior in other languages
In Scala: forall, present in many collections
In JavaScript: every from array prototype
In Python & Kotlin: all - which tests if all
elements of an array are true, will also return
true for empty arrays
Vacuous truth daily
Vacuous truth daily
when hell freezes
Vacuous truth daily
when hell freezes
when pigs fly
Vacuous truth daily
when hell freezes
when pigs fly
when shrimps learn to whistle
Vacuous truth daily
when hell freezes
when pigs fly
when shrimps learn to whistle
when the sun starts rising in the west
Vacuous truth daily
when hell freezes
when pigs fly
when shrimps learn to whistle
when the sun starts rising in the west
...or any other absurdity based on an obviously
false or impossible condition
Vacuous truth - recap:
Vacuous truth - recap:
is a concept from the mathematics field of
logic
Vacuous truth - recap:
is a concept from the mathematics field of
logic
represents logical statements with a false base
condition
Vacuous truth - recap:
is a concept from the mathematics field of
logic
represents logical statements with a false base
condition
is the reason why allMatch and their
counterparts will return true for empty
sequences
Vacuous truth - recap:
is a concept from the mathematics field of
logic
represents logical statements with a false base
condition
is the reason why allMatch and their
counterparts will return true for empty
sequences
can sometimes occur in real life
Thank you!
Bartek Żyliński
@PaskSoftware
softwaremill.com

Más contenido relacionado

Similar a How vacuous truth explains why allMatch returns true for empty streams

Macros and reflection in scala 2.10
Macros and reflection in scala 2.10Macros and reflection in scala 2.10
Macros and reflection in scala 2.10Johan Andrén
 
Chapter 01 - p1.pdf
Chapter 01 - p1.pdfChapter 01 - p1.pdf
Chapter 01 - p1.pdfsmarwaneid
 
The top 5 JavaScript issues in all our codebases
The top 5 JavaScript issues in all our codebasesThe top 5 JavaScript issues in all our codebases
The top 5 JavaScript issues in all our codebasesPhil Nash
 
Propositional logic in Discretes tructures.pptx
Propositional logic in Discretes tructures.pptxPropositional logic in Discretes tructures.pptx
Propositional logic in Discretes tructures.pptxShaukatAliChaudhry1
 
Intuitive Intro to Gödel's Incompleteness Theorem
Intuitive Intro to Gödel's Incompleteness TheoremIntuitive Intro to Gödel's Incompleteness Theorem
Intuitive Intro to Gödel's Incompleteness TheoremIlya Kuzovkin
 
Discrete Structure vs Discrete Mathematics
Discrete Structure vs Discrete MathematicsDiscrete Structure vs Discrete Mathematics
Discrete Structure vs Discrete MathematicsAbdulRehman378540
 
Lda2vec text by the bay 2016 with notes
Lda2vec text by the bay 2016 with notesLda2vec text by the bay 2016 with notes
Lda2vec text by the bay 2016 with notes👋 Christopher Moody
 
CMSC 56 | Lecture 1: Propositional Logic
CMSC 56 | Lecture 1: Propositional LogicCMSC 56 | Lecture 1: Propositional Logic
CMSC 56 | Lecture 1: Propositional Logicallyn joy calcaben
 
If You Think You Can Stay Away from Functional Programming, You Are Wrong
If You Think You Can Stay Away from Functional Programming, You Are WrongIf You Think You Can Stay Away from Functional Programming, You Are Wrong
If You Think You Can Stay Away from Functional Programming, You Are WrongMario Fusco
 
Knowledge Representation & Reasoning AI UNIT 3
Knowledge Representation & Reasoning AI UNIT 3Knowledge Representation & Reasoning AI UNIT 3
Knowledge Representation & Reasoning AI UNIT 3SURBHI SAROHA
 
Artificial intelligent Lec 5-logic
Artificial intelligent Lec 5-logicArtificial intelligent Lec 5-logic
Artificial intelligent Lec 5-logicTaymoor Nazmy
 
Effective Java - Methods Common to All Objects
Effective Java - Methods Common to All ObjectsEffective Java - Methods Common to All Objects
Effective Java - Methods Common to All ObjectsRoshan Deniyage
 

Similar a How vacuous truth explains why allMatch returns true for empty streams (20)

Macros and reflection in scala 2.10
Macros and reflection in scala 2.10Macros and reflection in scala 2.10
Macros and reflection in scala 2.10
 
Chapter 01 - p1.pdf
Chapter 01 - p1.pdfChapter 01 - p1.pdf
Chapter 01 - p1.pdf
 
The top 5 JavaScript issues in all our codebases
The top 5 JavaScript issues in all our codebasesThe top 5 JavaScript issues in all our codebases
The top 5 JavaScript issues in all our codebases
 
lect14-semantics.ppt
lect14-semantics.pptlect14-semantics.ppt
lect14-semantics.ppt
 
Chapter1p1
Chapter1p1Chapter1p1
Chapter1p1
 
Dscrete structure
Dscrete  structureDscrete  structure
Dscrete structure
 
True but Unprovable
True but UnprovableTrue but Unprovable
True but Unprovable
 
Propositional logic in Discretes tructures.pptx
Propositional logic in Discretes tructures.pptxPropositional logic in Discretes tructures.pptx
Propositional logic in Discretes tructures.pptx
 
Intuitive Intro to Gödel's Incompleteness Theorem
Intuitive Intro to Gödel's Incompleteness TheoremIntuitive Intro to Gödel's Incompleteness Theorem
Intuitive Intro to Gödel's Incompleteness Theorem
 
DISMATH_Part2
DISMATH_Part2DISMATH_Part2
DISMATH_Part2
 
Discrete Structure vs Discrete Mathematics
Discrete Structure vs Discrete MathematicsDiscrete Structure vs Discrete Mathematics
Discrete Structure vs Discrete Mathematics
 
Lda2vec text by the bay 2016 with notes
Lda2vec text by the bay 2016 with notesLda2vec text by the bay 2016 with notes
Lda2vec text by the bay 2016 with notes
 
CMSC 56 | Lecture 1: Propositional Logic
CMSC 56 | Lecture 1: Propositional LogicCMSC 56 | Lecture 1: Propositional Logic
CMSC 56 | Lecture 1: Propositional Logic
 
If You Think You Can Stay Away from Functional Programming, You Are Wrong
If You Think You Can Stay Away from Functional Programming, You Are WrongIf You Think You Can Stay Away from Functional Programming, You Are Wrong
If You Think You Can Stay Away from Functional Programming, You Are Wrong
 
Lecture 1 Propositional logic
Lecture 1   Propositional logicLecture 1   Propositional logic
Lecture 1 Propositional logic
 
Knowledge Representation & Reasoning AI UNIT 3
Knowledge Representation & Reasoning AI UNIT 3Knowledge Representation & Reasoning AI UNIT 3
Knowledge Representation & Reasoning AI UNIT 3
 
AI Lesson 17
AI Lesson 17AI Lesson 17
AI Lesson 17
 
Chapter1p1.pdf
Chapter1p1.pdfChapter1p1.pdf
Chapter1p1.pdf
 
Artificial intelligent Lec 5-logic
Artificial intelligent Lec 5-logicArtificial intelligent Lec 5-logic
Artificial intelligent Lec 5-logic
 
Effective Java - Methods Common to All Objects
Effective Java - Methods Common to All ObjectsEffective Java - Methods Common to All Objects
Effective Java - Methods Common to All Objects
 

Último

Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 

Último (20)

Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 

How vacuous truth explains why allMatch returns true for empty streams

  • 2. How are math & software related?
  • 3. How are math & software related? Binary System
  • 4. How are math & software related? Binary System Algorithms
  • 5. How are math & software related? Binary System Algorithms CAP theorem
  • 6. How are math & software related? Binary System Algorithms CAP theorem Monads
  • 7. What will be the value of B
  • 8. What will be the value of B True
  • 9. What will be the value of B True False
  • 10. True
  • 11. Why calling allMatch on empty Stream always return true?
  • 12. Why calling allMatch on empty Stream always return true? ...And what does it have to do with math?
  • 15. Vacuous truth Is a concept from logic used to describe all statements that are evaluated as true because their base condition (Antecedent) cannot be fulfilled
  • 16. Vacuous truth Is a concept from logic used to describe all statements that are evaluated as true because their base condition (Antecedent) cannot be fulfilled Or in a more mathematical syntax
  • 18. S: P ⇒Q Then, if P is false, S is logically true and considered vacuously true.
  • 19. S: P ⇒Q Then, if P is false, S is logically true and considered vacuously true. It can also be defined with quantificator - for all ∀:
  • 20. S: P ⇒Q Then, if P is false, S is logically true and considered vacuously true. It can also be defined with quantificator - for all ∀: ∀x ∈B : P(x) ⇒Q(x)
  • 21. S: P ⇒Q Then, if P is false, S is logically true and considered vacuously true. It can also be defined with quantificator - for all ∀: ∀x ∈B : P(x) ⇒Q(x) Then, if P(x) is false for all x, our statement is also considered vacuously true.
  • 22. Example If there are any developers in the room next door, then they all work with Haskell.
  • 23. Example If there are any developers in the room next door, then they all work with Haskell. the base condition is: If there are any developers in the room next door
  • 24. Example If there are any developers in the room next door, then they all work with Haskell. the base condition is: If there are any developers in the room next door if the room's empty, the statement is evaluated as vacuously true
  • 25. Haskell devs & mixed syntax
  • 26. Haskell devs & mixed syntax P(x) is our explicit base condition - there are any developers in the room
  • 27. Haskell devs & mixed syntax P(x) is our explicit base condition - there are any developers in the room Q(x) is our 'then' clause - they all work in Haskell
  • 28. Haskell devs & mixed syntax P(x) is our explicit base condition - there are any developers in the room Q(x) is our 'then' clause - they all work in Haskell B is our set - all the people in the room
  • 29. Haskell devs & mixed syntax P(x) is our explicit base condition - there are any developers in the room Q(x) is our 'then' clause - they all work in Haskell B is our set - all the people in the room We can write the example in this form: For all the people in the room, if a person is a developer, then they work with Haskell.
  • 30. How exactly do Stream and allMatch fit into this?
  • 31. How exactly do Stream and allMatch fit into this? ∀x ∈B : P(x) ⇒Q(x)
  • 32.
  • 33. Similar behavior in other languages
  • 34. Similar behavior in other languages In Scala: forall, present in many collections
  • 35. Similar behavior in other languages In Scala: forall, present in many collections In JavaScript: every from array prototype
  • 36. Similar behavior in other languages In Scala: forall, present in many collections In JavaScript: every from array prototype In Python & Kotlin: all - which tests if all elements of an array are true, will also return true for empty arrays
  • 38. Vacuous truth daily when hell freezes
  • 39. Vacuous truth daily when hell freezes when pigs fly
  • 40. Vacuous truth daily when hell freezes when pigs fly when shrimps learn to whistle
  • 41. Vacuous truth daily when hell freezes when pigs fly when shrimps learn to whistle when the sun starts rising in the west
  • 42. Vacuous truth daily when hell freezes when pigs fly when shrimps learn to whistle when the sun starts rising in the west ...or any other absurdity based on an obviously false or impossible condition
  • 43. Vacuous truth - recap:
  • 44. Vacuous truth - recap: is a concept from the mathematics field of logic
  • 45. Vacuous truth - recap: is a concept from the mathematics field of logic represents logical statements with a false base condition
  • 46. Vacuous truth - recap: is a concept from the mathematics field of logic represents logical statements with a false base condition is the reason why allMatch and their counterparts will return true for empty sequences
  • 47. Vacuous truth - recap: is a concept from the mathematics field of logic represents logical statements with a false base condition is the reason why allMatch and their counterparts will return true for empty sequences can sometimes occur in real life