Hi Bart --
You wrote
Problem:
We would like to use logical syntax and axioms to analyze natural
phenomenon, and organize them into some formal language, in order to interpret them using ontologies, in this case hierarchical. A problem
arises when the interpretations we create, contain cyclic sentences
which are inconsistent. If we were to introduce recursion to our
interpretations, it would be limited to partial recursion. The task,
then, would be to create an interpretation of the sentence which is
acyclic, and our sentence consistent. The interpretation would be
decidable, and our recursive function total.
Pending some crisp examples, its likely that the problem is solved by the design of the system that is online at the site below [1]. The theory basis for handling what you call 'cyclic sentences' in the system is in the paper [2]. I'll be glad to send you a scanned in copy if you wish.
Cheers, -- Adrian
[1] Backchain Iteration: Towards a Practical Inference Method that is Simple Enough to be Proved Terminating, Sound and Complete. Journal of Automated Reasoning, 11:1-22
[2] Internet Business Logic A Wiki and SOA Endpoint for Executable Open Vocabulary English over SQL and RDF Online at www.reengineeringllc.com Shared use is free
Adrian Walker Reengineering
On Sat, Apr 18, 2009 at 7:20 PM, Bart Gajderowicz <bgajdero@xxxxxxxxxx> wrote:
CM > After re-reading Adrian's response and looking at yours again
> *carefully*, I see that I was not reading what you were saying
> correctly. I thought you were responding to John's argument, not
> Adrian's. Apologies, my mistake.
Thanks Chris, I appreciate you spending the time reading over the
posts and commenting.
CM > I think my other two comments still
> apply, however.
>
I think my terminology was too informal, and it would benefit me to
formalize things better.
I addressed the individual points and my position regarding this
thread at the end, but first let me state my idea in a hopefully more
formal manner here.
Problem:
We would like to use logical syntax and axioms to analyze natural
phenomenon, and organize them into some formal language, in order to
interpret them using ontologies, in this case hierarchical. A problem
arises when the interpretations we create, contain cyclic sentences
which are inconsistent. If we were to introduce recursion to our
interpretations, it would be limited to partial recursion. The task,
then, would be to create an interpretation of the sentence which is
acyclic, and our sentence consistent. The interpretation would be
decidable, and our recursive function total.
Proposed solution:
One such approach would be to view our ontology as a set of functions
with a domain and range. The domain would contain an entire object,
with all its attributes and properties (known and possibly unknown),
and the functions would represent contexts (presumably known) with
which that object can be interpreted. The attributes could be variable
values or structures themselves. Properties would be atomic values
associated with an object. The range then would be the resulting view
of our object in different contexts. Any cyclic definition which
exists in the domain, would become acyclic in the range. One approach
of this would be to translate attributes, which may be cyclic
structures, into either acyclic structures or atomic properties, thus
creating our stop condition for a total recursive function.
Summary:
Essentially, we would like our range to be decidable, while the domain
can be undecidable.
Comments on the original thread:
CW> If I can restate: Your claim was that if, in a logical framework
> capable of expressing syllogisms, syllogisms are allowed to be
> recursive, then the resulting framework will be useless because it
> will have the expressive power of a (universal) Turing machine.
> John's response is that all programming languages have that power and
> are, obviously, useful. John's response therefore seems to be a
> counterexample to your claim.
I was stating that John is correct.
BG>> My point was, apologies for not stating it clearly, this would rid
>> of completeness, for example in FOL.
CW> I'm afraid I still do not understand. It is just a fact that FOL is
> complete. There's nothing you can do such that it would no longer be
> a fact.
I meant in an individual FOL statement. If we allowed a predicate
with free variables to produce infinitely many conclusions with a
finite set of values, that would introduce incompleteness to that
sentence, not FOL itself. This is one problem of my configuration that
I've found in FOL, that I'm stating, in order to get input from the
forum.
CM> Again a terminological issue. What do you mean by "the
> unsatisfiability of Turing machines in programming languages"? Every
> (standard) programming language is capable of expressing exactly the
> functions calculated by a Turing machine.
Sorry, not unsatisfiability but "undecidable", the inability to reach
the end state, ie the halting problem. My mistake in choice of words,
as:
a) it conflicts with the logical term
b) I actually meant to say undecidable
BG>> You're correct. I wasn't referring to the a program that calculates
>> any recursive function, satisfiable or not. Here, a "proper recursive
>> function" is one that does terminates, and the calling program will
>> terminate, or not terminate for an "improper function" accordingly.
CW> Well, I think your terminology here will lead you to be
> misunderstood. The idea of a *function* terminating or not is a
> category mistake; *programs* terminate (on this or that input). If
> program P expresses a function F, then P terminates on input
> representing the number n if and only if F is *defined* on n; that is,
> if and only if F(n) has a value. A recursive function that is defined
> on every natural number is said to be *total*; one that is defined
>only on a subset of the natural numbers is said to be *partial*. I
> think your "proper" and "improper" terminology is problematic.
Again, poor choice of words on my part. I was speaking in terms of
programing, meaning that a program can have a function which is
recursive, but we wouldn't necessarily call the entire program
recursive, only that it has recursive components. And yes, whether it
terminates or not does depend on the input. The input I'm currently
talking about is an ontology's hierarchy, with possibly cyclic
definitions, and how the change of context would possibly introduce a
stop condition for a recursive/cyclic traversing of that hierarchy.
--
Bart Gajderowicz
MSc Candidate, '10
Dept. of Computer Science
Ryerson University
http://www.scs.ryerson.ca/~bgajdero
_________________________________________________________________
_________________________________________________________________
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 (01)
|