[Top] [All Lists]

Re: [ontolog-forum] Current Semantic Web Layer Cake

To: "Barker, Sean (UK)" <Sean.Barker@xxxxxxxxxxxxxx>
Cc: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "John F. Sowa" <sowa@xxxxxxxxxxx>
Date: Thu, 16 Aug 2007 13:26:10 -0400
Message-id: <46C488B2.8030605@xxxxxxxxxxx>
Sean,    (01)

I was away from my email for a while, and I'm just catching up
with some of the backlog.  And I'd like to respond to your
comment of August 9th:    (02)

JFS>> If you doubt my claim, choose any statement from any document
 >> that specifies any implemented computer program, and I'll
 >> show you either that it can be translated to this subset or
 >> that it is a "comment" that is not necessary for a complete
 >> specification.    (03)

SB> I'm not sure that one can translate draw((0.0, 0.0), (1.0, 1.0))
 > into common logic in such a way that common logic draws a line.    (04)

Actually, that example is very easy to translate to Common Logic.
Following is a translation to CLIF (Common Logic Interchange Format):    (05)

    (= line (draw (point 0.0 0.0) (point 1.0 1.0)))    (06)

And following is a translation to CGIF (Conceptual Graph Interchange
Format):    (07)

    (point 0.0 0.0 | *p1) (point 1.0 1.0 | *p2) (draw ?p1 ?p2 | *line)    (08)

In this example, 'draw' is a function that takes two points and returns
a specification of the line between them, and 'point' is a function
that takes two numbers and returns a specification of the point that
has those coordinates.  (And if you like, CL lets you define a polyadic
version of 'point' that takes 2, 3, or N arguments to specify points
in a space of those dimensions.)    (09)

Of course, this translation does not actually "draw" a line any more
than a computer program "draws" a line.  But if you choose any way
of specifying the representation for a line in any computer program,
then it is possible to write CL axioms that specify an exactly
equivalent specification -- and you can write those axioms in CLIF,
CGIF,  XCL, or any other dialect of CL.    (010)

The actual task of printing or displaying that line would be performed
by some hardware that takes the specification and causes the image to
appear on some hardware.  But every step of creating and transforming
the bits and bytes that determine that image can be specified by CL
in a way that is equivalent to any computer program you may choose.    (011)

Although CL is *not* a programming language, it is possible to write
a program that would interpret any CL specification in order to create
the same data that would be generated by the equivalent program.    (012)

John    (013)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Subscribe/Config: 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 Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (014)

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