[Top] [All Lists]

Re: [ontolog-forum] Oooh, FOL is too hard to learn.

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Ed Barkmeyer <edbark@xxxxxxxx>
Date: Mon, 18 Oct 2010 19:05:56 -0400
Message-id: <4CBCD2D4.7000603@xxxxxxxx>

John F. Sowa wrote:    (01)

> EB>
>> First-order logic is therefore only for the top 20% of data modelers,
>> not the average...
> I suspect that Ian and Ed are mistakenly equating FOL with a concrete
> notation like predicate calculus or CLIF.  I keep telling people that
> they've been speaking FOL all their lives.  Every sentence that uses
> the words 'and', 'or', 'not', 'if', 'some', or 'every' is using full
> FOL or some subset of it.
>       (02)

I think, John, that you are here exemplifiying the top 20%, who think 
that every other competent engineer can do more or less what they do.     (03)

My experience has been quite the opposite.  All these professionals 
understand logic in a casual, intuitive way.   Many people use modeling 
languages in the same way, to state unclear thoughts clearly and often 
incorrectly.  They don't use the language to mean exactly what the 
formal semantics of the language says is meant by the syntax they used.     (04)

Many people have no problem with simple syllogisms, but are seriously 
confused about quantification. 
A very intelligent engineer I recently worked with could not tell the 
difference between:    (05)

Bank Manager:  a person who manages a bank
Bank Manager:  the person who manages a given bank.    (06)

The first is a relation -- a classifier; it contains an existential 
quantification of bank.  The second is a function -- it maps banks to 
persons.  We know that; but he merged the concepts, by using the first 
definition to mean both, not realizing that the English phraseology is 
ambiguous.    (07)

And I can tell you first hand that the first encounter between 
electrical engineering students and boolean algebra is a filter -- the 
ones who will work in electronics understand quickly, the ones who don't 
understand quickly will become radar technicians or something.  It is 
not just the notation; it is the abstraction.  Many of the 
simplifications of gating logic are counter-intuitive.    (08)

FOL is not casual logic; it is a mathematical discipline.  Many 
intelligent people can use logic correctly in their work, but they don't 
have the discipline, and most of them don't understand that there is a 
discipline.  Logic for them is fine until it contradicts their 
intuition, and then they discount it, and they will argue erroneously 
against it.  Everybody can use if, and, and or correctly some of the 
time.  The discipline is in using them correctly _all_ of the time.    (09)

Conversely, the most astonishing use of FOL I have ever seen was a 
3-year-old, who was looking out the office window of a colleague at a 
blossoming cherry tree.  She said to him, "you have to be up here to see 
that tree.  I guess you've never been up on the 3rd floor before."  And 
he replied, "No.  Well, I don't think so.  But my Dad's office is on the 
3rd floor, and I was in my Dad's office.  So I must have been on the 3rd 
floor."  !!!  Modus ponens at age 3, in contradiction of intuition!   
Not your average engineer. :-)    (010)

-Ed    (011)

Edward J. Barkmeyer                        Email: edbark@xxxxxxxx
National Institute of Standards & Technology
Manufacturing Systems Integration Division
100 Bureau Drive, Stop 8263                Tel: +1 301-975-3528
Gaithersburg, MD 20899-8263                FAX: +1 301-975-4694    (012)

"The opinions expressed above do not reflect consensus of NIST, 
 and have not been reviewed by any Government authority."    (013)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (014)

<Prev in Thread] Current Thread [Next in Thread>