Sure-thing principle
en.wikipedia.org
en.wikipedia.org
using "obtain" in it's archaic, old-french, meaning of roughly "succeed". Wikipedia math pages are generally useless for non-experts, but this is a new one!
No set of pages in Wikipedia imply “we hate everybody else” quite like the math pages. It’s like the math folks have either forgotten that Wikipedia is for communicating with people, they just don’t care, or they don’t know how.
Every time I read a math page on Wikipedia I want to go watch a Feynman lecture as eye bleach.
It's too bad there aren't more of these pages, as they are honestly excellent quick resources.
Other resources like http://mathworld.wolfram.com/ (and I think, there is also a proof wiki, or math wiki?). Such resources can be more useful, even if they are not as extensive as Wikipedia, they win in consistency between the articles and better at providing intuition and background information.
The meaning is current and has absolutely nothing to do with "succeeding": http://wordnetweb.princeton.edu/perl/webwn?s=obtain&sub=Sear...
> (v) prevail, hold, obtain (be valid, applicable, or true) "This theory still holds."
The mistake in the section you quote is labeling E an "event" rather than a state.
action(x) = a if x
= a if not x
Does action(x) not just equal a? - If E then I would take action A
- If not E then I would take A also
- However when the outcome of (E vs not E) is undetermined, hesitate from action A.
Does anyone know a real world example of such a situation?If I knew that the volcano is going to erupt, then I would drive to the airport (with all my belongings, and leave).
If I knew that the volcano on my island is not going to erupt this month, then I would drive to the airport (to go on a package holiday that I had planned).
However, if the outcome is undetermined, I might prefer to cancel my holiday (I would not enjoy it while worrying about all my stuff potentially being destroyed in a fiery inferno) and wait to see what happens. So I should hesitate from driving to the airport.
If (volcano_status == GONNA_BLOW)
pack_everything_and_run();
else if (volcano_status == NO_WORRIES)
pack_suitcase_and_leave_for_holiday();
else if (volcano_status == UNKNOWN)
cancel_holiday();if (volcano_status == GONNA_BLOW) refuel_car(); else if (volcano_status == NO_WORRIES) refuel_car(); else if (volcano_status == UNKNONW) nop();
then later
if (volcano_status == GONNA_BLOW) pack_everything_and_run(); else if (volcano_status == NO_WORRIES) pack_suitcase_and_leave_for_holiday(); else if (volcano_status == UNKNONW) call_to_cancel_holiday();
Then refueling the car is definitely the same action, even if it's followed by different actions later on.
It was probably posted due to recent discussion of casual inference. Judea Pearl talks about it in The Book of Why.
In decision theory, we try to define behavioral axioms in a way that choices under uncertainty can be encoded in mathematical functions (utility functions or reward functions as Machine Learning has renamed/rediscovered these things). Connecting properties of these "preference orders" with utility functions and probabilities is the basis of a lot (but not all!) of modern economics.
Check for example Savage's proof of the existence of a subjective probability measure and a utility function based on only handful of "trivial" axioms. If these axioms hold, we can do meaningful mathematical social science.
The issue is of course that people don't actually behave rationally. The examples (or paradoxes) by Ellsberg and Allais show that most people violate the sure things principle.
If you are interested to learn more, here are some excellent notes by Gilboa http://www.econ.hit-u.ac.jp/~makoto/education/Gilboa_Lecture...
I can answer questions as well.
You'd get much more value from phrasing it as
((p implies r) and (q implies r)) iff ((p or q) implies r).
No need to have a special rule stating that when you also have (p or q), you can resolve all three to just "r" in one step instead of two steps.Certain concepts like the law of excluded middle (either A or not A must hold), and proofs by contradiction that are common in math, simply don't exist in programming. That's because programming is based on constructive logic / constructive math foundation.
Learning the basics of logic can be beneficial for a programmer tho, and the connection with functional programming is especially high.
Given
a implies p
b implies p
a or b
you can conclude ((a or b) implies p) from my statement of the rule, and then conclude "p" from modus ponens. And if you're feeling really obscurist, you can rename modus ponens to "proposition elimination".But notice that if you have
a implies p
b implies p
c implies p
a or b or c
then my statement of the rule will still allow you to conclude "p", whereas the statement on wikipedia won't.This is most of the point I'm making -- there is no context where the brittle, overspecified version is useful but the more general version isn't. But there are lots of contexts where the overspecified version is useless.
And again, it's not a different rule. Brittle "disjunction elimination" is a special case of the rule I state. Similarly, the Pythagorean Theorem is a special case of the Law of Cosines, not a different rule.
It gets worse, though, because where the Pythagorean Theorem is simpler to state than the Law of Cosines, brittle disjunction elimination is more complex to state than the more general result is.
Think about exportation. We say:
(a implies (b implies p)) iff ((a and b) implies p)
We don't say: ((a implies (b implies p)) and (a and b)) implies p
That second version, which is the equivalent of brittle disjunction elimination for and instead of or, is harder to state, is less informative, and doesn't generalize.