> CM > I am not understanding some of your terminology here. As
> standardly
>> (and pretty much universally) defined in logic, syllogisms are
>> arguments with two premises and a conclusion satisfying a certain
>> general form in which the notion of recursion plays no role whatever
>
> Sorry Chris, I should have referenced the following threads better:
>
> AW >> The problem with the "syllogisms will never work" argument
>>> is that, if you allow them to be recursive, they have Turing
>>> machine power. That means that they can compute anything that
>>> can be computed.
>
> JFS > Every major programming language (e.g., FORTRAN, COBOL, LISP,
>> ALGOL, PL/I, C, C++, C#, Ada, Java, Python, Ruby, PHP, etc.)
>> has the following two properties:
>>
>> 1. They have the power of a Turing machine.
>>
>> 2. It's undecidable whether an arbitrary program written in
>> any of those languages will terminate.
>
> My response was to the argument that if we allow syllogisms to be
> recursive, they will become useless. JFS's point, I believe, was that
> this since programming language constructs are based on turing
> machines, which are recursive, there's no issue here. (01)
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. (02)
> My point was, apologies for not stating it clearly, this would rid
> of completeness, for example in FOL. (03)
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. (04)
> CM> Second, what do you mean by a "proper recursive function"? A
>> recursive function is simply a mathematical function from (n-tuples
>> of) natural numbers to natural numbers..... A "stop condition" (if
>> I'm understanding you) is a programming construct that has nothing to
>> do with functions per se.
>
> I meant it as a purely programming construct. Some of the original
> arguments about syllogisms, I felt, were not always applicable to
> implementation. I mentioned that ontologies are practical things for
> us to use. The same goes for programming languages. So if we can get
> around the unsatifiability of turing machines in programming
> languages, why not ontologies. (05)
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. (06)
> CM>For this appears to mean that,
>> for any recursive function, a program that calculates that function
>> has to terminate when executed. And that, of course, is false.
>
> 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. (07)
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. (08)
-chris (09)
_________________________________________________________________
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 (010)
|