From: Patricia Shanahan on
Steven Zenith wrote:
> Charlie-Boo wrote:
>> Steven Zenith wrote:
>>
>>> What do you plan to do with your arbitrary
>>> precision value of root 2 when you have it? Are you going to use it in
>>> an operation? If so, will you be able to maintain the specified
>>> accuracy?
>> Do you understand how to calculate real number arithmetic to an
>> arbitrary number of decimal places?
>
> Are you aware that floating point units exist and that most language
> libraries use the standards that they implement? None of them do real
> number arithmetic and over the years those standards have changed. They
> will again.

Floating point arithmetic, despite its great practical utility, is of
little or no relevance to the limits of computability, because every
floating point number is a rational number.

It is normal to assume we have an unbounded range integer
representation, like java.util.BigInteger. Given that, any rational,
including any floating point number, can be exactly represented as an
ordered pair of integers.

Even if you only assume arbitrary length decimal fractions, every
floating point unit I've seen has had either radix 10 or a radix that is
a positive integer power of 2, such as 2 or 16. Any number that has a
finite length representation in any of those systems also has a finite
length decimal fraction expansion.

Patricia
From: Chris Menzel on
On Mon, 18 Sep 2006 13:56:36 GMT, Patricia Shanahan <pats(a)acm.org> said:
> Steven Zenith wrote:
>> Charlie-Boo wrote:
>>
>>>> In computer science the specification of such functions are
>>>> constrained by pragmatics. In computer science programs executing
>>>> such functions have desirable formal properties - termination is
>>>> one of them.
>>> You said (about 10 times) that the function doesn't terminate. How
>>> do you define a function terminating?
>>
>> Perhaps I was unclear. A function terminates when it produces a
>> result (and one might possibly add "and performs no further action").
>>
>> In CSP/Occam, it is when any construction is complete (i.e.,
>> computed) or it could be stated as when any subsequent behavior in
>> the trace of the function is SKIP, not STOP.
>
> I think you and Charlie-Boo are using the same term, "function", for
> two very different things.
>
> In mathematics, a function is a relation between elements of its
> domain and range, such that each element of the domain relates to
> exactly one element of the range. It is quite meaningless to talk
> about terminating or not terminating for a mathematical function. I
> think that is what Charlie-Boo means by "function".
>
> On the other hand, in some programming languages, "function" means a
> subprogram that, if it terminates, produces a result, not just side
> effects. Is that what you mean by "function"?
>
> The two are related, because a function (subprogram) is the natural
> representation in a computer program of a recursive function
> (mathematics). However, the subprogram sense includes non-terminating
> subprograms that do not implement a mathematical function.

The class of recursive functions includes partial functions, which
correspond to programs that fail to terminate on some inputs. Maybe I'm
misunderstanding you, but you seem to be denying this.

From: Patricia Shanahan on
Chris Menzel wrote:
> On Mon, 18 Sep 2006 13:56:36 GMT, Patricia Shanahan <pats(a)acm.org> said:
>> Steven Zenith wrote:
>>> Charlie-Boo wrote:
>>>
>>>>> In computer science the specification of such functions are
>>>>> constrained by pragmatics. In computer science programs executing
>>>>> such functions have desirable formal properties - termination is
>>>>> one of them.
>>>> You said (about 10 times) that the function doesn't terminate. How
>>>> do you define a function terminating?
>>> Perhaps I was unclear. A function terminates when it produces a
>>> result (and one might possibly add "and performs no further action").
>>>
>>> In CSP/Occam, it is when any construction is complete (i.e.,
>>> computed) or it could be stated as when any subsequent behavior in
>>> the trace of the function is SKIP, not STOP.
>> I think you and Charlie-Boo are using the same term, "function", for
>> two very different things.
>>
>> In mathematics, a function is a relation between elements of its
>> domain and range, such that each element of the domain relates to
>> exactly one element of the range. It is quite meaningless to talk
>> about terminating or not terminating for a mathematical function. I
>> think that is what Charlie-Boo means by "function".
>>
>> On the other hand, in some programming languages, "function" means a
>> subprogram that, if it terminates, produces a result, not just side
>> effects. Is that what you mean by "function"?
>>
>> The two are related, because a function (subprogram) is the natural
>> representation in a computer program of a recursive function
>> (mathematics). However, the subprogram sense includes non-terminating
>> subprograms that do not implement a mathematical function.
>
> The class of recursive functions includes partial functions, which
> correspond to programs that fail to terminate on some inputs. Maybe I'm
> misunderstanding you, but you seem to be denying this.
>

I use "function" as synonymous with "total function". Perhaps I should
have put the word "total" in front of each use of "function".

I make the same distinction for partial functions. A partial function in
mathematics is a relation that associates at most one value in its range
with each element of its domain, rather than exactly one.

An algorithm for evaluating the partial function would fail to terminate
on some inputs in the domain, but the function itself neither terminates
nor fails to terminate, because it is a relation, not an algorithm.

Patricia
From: Chris Menzel on
On Mon, 18 Sep 2006 20:11:33 GMT, Patricia Shanahan <pats(a)acm.org> said:
> Chris Menzel wrote:
>> On Mon, 18 Sep 2006 13:56:36 GMT, Patricia Shanahan <pats(a)acm.org> said:
>>> Steven Zenith wrote:
>>>> Charlie-Boo wrote:
>>>>
>>>>>> In computer science the specification of such functions are
>>>>>> constrained by pragmatics. In computer science programs executing
>>>>>> such functions have desirable formal properties - termination is
>>>>>> one of them.
>>>>> You said (about 10 times) that the function doesn't terminate. How
>>>>> do you define a function terminating?
>>>> Perhaps I was unclear. A function terminates when it produces a
>>>> result (and one might possibly add "and performs no further action").
>>>>
>>>> In CSP/Occam, it is when any construction is complete (i.e.,
>>>> computed) or it could be stated as when any subsequent behavior in
>>>> the trace of the function is SKIP, not STOP.
>>> I think you and Charlie-Boo are using the same term, "function", for
>>> two very different things.
>>>
>>> In mathematics, a function is a relation between elements of its
>>> domain and range, such that each element of the domain relates to
>>> exactly one element of the range. It is quite meaningless to talk
>>> about terminating or not terminating for a mathematical function. I
>>> think that is what Charlie-Boo means by "function".
>>>
>>> On the other hand, in some programming languages, "function" means a
>>> subprogram that, if it terminates, produces a result, not just side
>>> effects. Is that what you mean by "function"?
>>>
>>> The two are related, because a function (subprogram) is the natural
>>> representation in a computer program of a recursive function
>>> (mathematics). However, the subprogram sense includes non-terminating
>>> subprograms that do not implement a mathematical function.
>>
>> The class of recursive functions includes partial functions, which
>> correspond to programs that fail to terminate on some inputs. Maybe I'm
>> misunderstanding you, but you seem to be denying this.
>
> I use "function" as synonymous with "total function". Perhaps I should
> have put the word "total" in front of each use of "function".

Then I'm a bit confused, as you say that a subprogram is the natural
representation in a computer program of a recursive function, and you
acknowledge in the preceding paragraph that a subprogram might not
terminate. For that to make sense, "recursive function" has to include
partial functions.

> An algorithm for evaluating the partial function would fail to terminate
> on some inputs in the domain, but the function itself neither terminates
> nor fails to terminate, because it is a relation, not an algorithm.

Well, obviously, but failure of termination in the algorithm on some
inputs corresponds exactly to partiality in the corresponding function.
Obviously they are different things, but it seems to me you're driving a
bigger wedge between the two notions than is warranted by the context by
restricting the notion of "function" to total functions. If you allow
"function" to include partial functions, the correlation between the two
is quite direct.

From: Charlie-Boo on
Steven Zenith wrote:
> Charlie-Boo wrote:
>
> > The truth of the matter is, there are all sorts of people claiming to
> > have formalized various parts of CS, but none of them carries any
> > weight - simply because they don't show how to crank out results using
> > a set of formal rules. That's what formalizing is all about.
>
> This is simply wrong, I have already referred you to examples.
>
> Start here:
> http://web.comlab.ox.ac.uk/oucl/publications/prgtr/index.html
> See:
> http://www.cl.cam.ac.uk/~mjcg/
>
> Sincerely,
> Steven

Thanks for the links, but honestly, they lead to either broken links or
descriptions of systems without any examples of a result from Computer
Science being formally generated.

Can you give a single example of a result from Computer Science that is
formally represented and generated? That is what I mean by a
formalization of Computer Science.

That is what CBL does. It represents and derives:

1. incompleteness results (Godel 1931, Rosser 1936, Smullyan 1960-2000)

2. Recursion Theory (Kleene 1950's - existance of a self-outputting
program, the Fixed Point Theorem, the Recursion Theorem, and the more
involved Double Recursion theorems of Smullyan),

3. Program Synthesis (Number Theory functions and Database Query
Processing)

4. Theory of Computation (Turing 1937 and variations.)

If anyone is interested in any particular branch of Computer Science of
these 4, I will give an overview of its axioms and rules. If
interested in a particular theorem, I will show in exact complete
detail how it is represented and formally derived from these axioms and
rules.

For example, Turing's Unsolvability of the Halting Problem (and many
variations) is derived from the Theory of Computation axioms:
YIT(I,J,K)*, TRUE(X), not(I) and -~YES(X,X). These axioms and 8 rules
(all detailed in my ARXIV paper - but I will give it here as well)
formally derive these published theorems. Turing 1937 takes about 10
steps (it is also given in the ARXIV paper.)

But so far, Steven, neither your words nor your links give any examples
to show that what your friends are talking about accomplishes anything
at all. They describe their formalisms but give no examples of results
being derived.

I give examples but you don't. Why is that? Is it because your
systems are warm and squishy?

C-B

First  |  Prev  |  Next  |  Last
Pages: 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Prev: Simple yet Profound Metatheorem
Next: Modal Logic