this post was submitted on 05 Dec 2024
227 points (93.2% liked)
Science Memes
11442 readers
1764 users here now
Welcome to c/science_memes @ Mander.xyz!
A place for majestic STEMLORD peacocking, as well as memes about the realities of working in a lab.
Rules
- Don't throw mud. Behave like an intellectual and remember the human.
- Keep it rooted (on topic).
- No spam.
- Infographics welcome, get schooled.
This is a science community. We use the Dawkins definition of meme.
Research Committee
Other Mander Communities
Science and Research
Biology and Life Sciences
- !abiogenesis@mander.xyz
- !animal-behavior@mander.xyz
- !anthropology@mander.xyz
- !arachnology@mander.xyz
- !balconygardening@slrpnk.net
- !biodiversity@mander.xyz
- !biology@mander.xyz
- !biophysics@mander.xyz
- !botany@mander.xyz
- !ecology@mander.xyz
- !entomology@mander.xyz
- !fermentation@mander.xyz
- !herpetology@mander.xyz
- !houseplants@mander.xyz
- !medicine@mander.xyz
- !microscopy@mander.xyz
- !mycology@mander.xyz
- !nudibranchs@mander.xyz
- !nutrition@mander.xyz
- !palaeoecology@mander.xyz
- !palaeontology@mander.xyz
- !photosynthesis@mander.xyz
- !plantid@mander.xyz
- !plants@mander.xyz
- !reptiles and amphibians@mander.xyz
Physical Sciences
- !astronomy@mander.xyz
- !chemistry@mander.xyz
- !earthscience@mander.xyz
- !geography@mander.xyz
- !geospatial@mander.xyz
- !nuclear@mander.xyz
- !physics@mander.xyz
- !quantum-computing@mander.xyz
- !spectroscopy@mander.xyz
Humanities and Social Sciences
Practical and Applied Sciences
- !exercise-and sports-science@mander.xyz
- !gardening@mander.xyz
- !self sufficiency@mander.xyz
- !soilscience@slrpnk.net
- !terrariums@mander.xyz
- !timelapse@mander.xyz
Memes
Miscellaneous
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The boolean operator 'If and only if' do not have a relation with the program instruction 'if'.
The programatic 'if' is a jump, not a boolean operator. It do not have truth table.
In logic:, if and iff can be seen like functions taking two booleans and returning a boolean
'if a then b' (noted a -> b): return true if a is false or b is true. Example: 'if I eat pizza then I fart' This is true even if I fart all the time (if b is true, we do not care about the value of a) as long as I fart when eating pizza (if a is true, b must be also true)
'a <-> b' is equivalent to 'a -> b and b -> a': the two should be true at the same time. I can only fart will eating pizza and cannot fart otherwise.
So in programming, you'd write 'if' as:
not pizza or fart
where the farting is irrelevant until the pizza is involved.While 'iff' would be:
pizza equals fart
where pizza means fart and no pizza means no fart.I actually wrote iff as
(not pizza and not fart) or (pizza and fart)
before, and I'm pretty sure that's the way I wrote an iff in production code in the past, but your comment made me realize that "they should be true at the same time" can be tested really easily with equality.I don't love the pizza fart variable naming convention, but it's better than foobar and I don't have a better suggestion 😅
If not pizza and not fart: pass
If pizza then fart else !fart