RE: 'Unknown' and three-valued logic (was: Example where Euphoria ...)

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

On 27 Nov 2002, at 18:28, rforno at tutopia.com wrote:

> 
> For me, the main arguments against 3-valued logic are, in decreasing order
> of importance:
> 1) It appears that there are few, if any, useful applications using this
> kind of logic.
> 2) These possible applications can be handled by ad-hoc routines and data
> types. For example, you may select 'F', 'T' and 'N' to represent the 3
> values, and write 'not', 'and', 'or', 'xor', 'implication', etc. routines to
> compute the results.
> 3) There is, to my knowledge, no universal consensus about the results of
> operations including 'nil', as the recent discussions in this list have
> shown.
> 4) For the application analyst and the programmer, it is much more difficult
> thinking in terms of 3 values and the respective operations.
> 5) It is difficult to draw useful conclusions or actions from the results in
> 3-valued logic.
> 6) While operations on strict Boolean logic are implemented very
> efficiently, one cannot say the same about 3-valued logic. Especially
> operations like and_bits, or_bits, etc., will suffer from severe
> inefficiency.
> 7) If, as suggested, a bit is reserved for 'nil' in each data item, then the
> representation ceases to be standard, and difficulties regarding
> compatibility will arise.
> 
> Regarding the examples, I think that they should be provided by the one
> proposing this logic. Up to now, the examples provided by Rom have been not
> successful, in my view. The only example that can show a small benefit was
> (once more in my view) the very general one about its use in data bases for
> non-existing records or fields, particularly under Oracle, but even then I
> think it is only of theoretical importance, since I could not find a
> convincing practical use for it.
> Best wishes.


I never had need of a 'third' logical boolean state. In fact, I don't 
believe it even exists, except as an abstraction. Note that this is 
just my opinion. The only other place where I found 'nil' referenced 
was on uninitialized variables (as in Lua).

Taking Lua as example, variables have no need to be declared as string, 
number, table, etc. until it receives a 'value' of string, number, 
table, etc. This way, when created, any variable has a 'nil' (from 
Latin nihil - nothing) content. Lua also uses nil as boolean value but 
meaning FALSE. A boolean result in Lua can be 1 (TRUE) or nil (FALSE). 
There's no third stage. As in Euphoria, all variables must be declared 
and initialized before its use, there's no need of a 'nil' value, IMHO.

Kind regards,

-- Euler German

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

Search



Quick Links

User menu

Not signed in.

Misc Menu