|
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]
RE: st: My last word on strange world
At 12:37 PM 1/10/2008, Nick wrote:
Chasing up that reference, it seems to me that in what you
proposed, -if2- is the lesser part of the proposal, as logical
expressions
often arise separately from -if-.
The larger part of the proposal is a three-way logic:
true AND true = true
true OR true = true
true AND false = false
true OR false = true
false AND false = false
false OR false = false
true AND missing = missing
true OR missing = true
missing AND missing = missing
missing OR missing = missing
false AND missing = false
false OR missing = missing
In essence, there are 6 pairs here that we know already,
true AND true = true
true OR true = true
true AND false = false
true OR false = true
false AND false = false
false OR false = false
and (to my first reading) two that seem "obvious"
missing AND missing = missing
missing OR missing = missing
and four that don't seem totally "obvious" to me,
at least not as a set
true AND missing = missing
true OR missing = true
false AND missing = false
false OR missing = missing
No doubt there's a larger story here.
[...]
Yes.
Seven years ago I did a presentation on 3-valued logic, in which I
showed the above scheme (what you might call the standard scheme). I
also gave another interpretation called "liberal", activated by the
-liberal- option in the various programs of the trinary package. The
liberal interpretation is...
true AND missing = true
false OR missing = false
with all the others the same as the standard.
Since then, I have come to realize that these alternative options
indicate that the results of such operations depend on what you mean
by missing. In the standard scheme, missing signifies "unknown". The
liberal scheme says that missing means "vacuous" -- there is nothing there.
There in another option as well, which I leave aside.
It is possible to construct logic operations (AND, OR) that include
all the interpretations together. (You get 5-valued logic, one of my
back-burner projects.)
Furthermore, these notions can carry over to numeric computations.
2 + unknown = unknown
2 + vacuous = 2
And comparisons.
2 < unknown = unknown
2 < vacuous is an absurdity
(And other complications arise with comparisons.)
Computing a value is one thing, but this still leaves what to do when
a action is conditional on a value:
list x if .
There is yet a larger story.
--David
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/