Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

In his article on Virtual Environments (a part of his VFSM specification method) Ferdinand Wagner describes some new ways of thinking about Boolean Algebra as a software design tool. On page 4 of this PDF article, when describing operators in his system he says this:

Control statements need Boolean values. Hence, the names must be used to produce Boolean results. To achieve this we want to combine them together using Boolean operators. There is nothing wrong with usage of AND and OR operators with their Boolean meaning. For instance, we may write:

DI_ON OR AI_LARGER_THAN_8.1 AND TIMER_OVER

to express the control situation: digital input is on or analog input is larger than 8.1 and timer is over.

We cannot use the NOT operator, because the result of the Boolean negation makes sense only for true Boolean values. The result of, for instance,

NOT (AI_LARGER_THAN_8.1)

would be ambiguous.

If "AI_LARGER_THAN_8.1" is acceptable, why would he consider "NOT (AI_LARGER_THAN_8.1)" to be ambiguous?

share|improve this question
    
NOT (AI_LARGER_THAN_8.1) has two potential results: one lesser and one equal??! I don't know... –  IMHO Feb 18 '11 at 20:20
add comment

1 Answer

up vote 6 down vote accepted

There's an error in this paper. Wagner claims this is boolean algebra, but also includes 'UNKNOWN' as a value along with TRUE and FALSE. Therefore, this is not actually boolean algebra but a trinary system of his own creation.

Notably, he does not define NOT with respect to this trinary system. This is a classic gotcha in trinary systems. Unlike a binary system, NOT TRUE does not necessarily equal FALSE, nor does NOT FALSE necessarily equal TRUE.

share|improve this answer
4  
In a trinary system, NOT TRUE yields FileNotFound... :P thedailywtf.com/Articles/What_Is_Truth_0x3f_.aspx –  FrustratedWithFormsDesigner Feb 18 '11 at 20:47
    
Thanks. I was coming to the same conclusion, but wanted a second opinion. –  oosterwal Feb 19 '11 at 1:31
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.