Re: 'Unknown' and three-valued logic

new topic     » topic index » view thread      » older message » newer message

Derek wrote:

<snip>
> Looks fine to me, except that 'not U' should be 'U', paradoxically. Because
> if A is unknown then 'not A' means that we know what A is, however we don't.

I think I now have an idea how it can be interpreted: If the answer to
the question "Does it rain tomorrow?" is unknown, then the answer to the
question "Does it *not* rain tomorrow?" is also unknown.  smile

> Non boolean operations will always produce an unknown value though when at
> least one of the operands is unknown.
>
>  A | B | A + B | A  -  B | A *  B | A = B
>  --+---+-------+---------+--------+--------
>  1 | 1 |   2   |    0    |   1    |    1
>  1 | U |   U   |    U    |   U    |    U
>  U | 1 |   U   |    U    |   U    |    U
>  U | U |   U   |    U    |   U    |    U

I see. I'd like to implement some of those operations, too.
I think I will then use {} for UNKNOWN rather than -1, so that any
number is a 'known' value.

But if I implement non boolean operations, I can't call the whole stuff
'three-valued logic' any more, can I? What is then a proper name for it?
Maybe something like "Arithmetic that can handle 'unknown'"?

Many thanks!

Best regards,
   Juergen

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu