From: Steven Zenith on

Patricia Shanahan wrote:

> Don't forget the possibility of symbolic mathematical languages, in
> which numbers like the square root of 2 have representations and can be
> used in expressions. Here is a fragment of a Matlab session:

As I said, it depends.

With respect,
Steven

From: Steven Zenith on

Patricia Shanahan wrote:
> 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.

I am using the term function in the computer science sense since the
question has to do with the formalization of computer science and we
are discussing functions in programs. In any case, a computer science
function and a function in the mathematical sense (a map) are formally
equivalent in that a CS function is the map of the arguments to the
results.

Formally, all functions should be side effect free.

Whether in a mathematical equation or a computer program, functions
that actually compute contributing values to a result have terminating
characteristics. Yes, I understand that one can represent the root of 2
symbolically, but in practice we do not and instead we tolerate
rounding errors.

With respect,
Steven

From: Steven Zenith on

Charlie-Boo wrote:
....
> > Formal methods in computer science and electrical engineering have been
> > used extensively, and continue to be used (esp. in EE), in the
> > verification that certain transformations are consistent: specification
> > - software implementation - platform, for example. I gave a clear
> > example of work completed in the late 1980s, by a team of which I was a
> > member, in which the implementation of a floating point unit was
> > formally shown, proven, to meet the specification of the IEEE standard.
>
> We already went through this. You are talking about individual
> problems that were supposedly solved manually using formal means -
> like a Mathematician proves a theorem. Computer Programmers make
> formal deductions concerning programs all day. But they don't have a
> method of automating those conclusions (other than CBL if they read
> Google Groups.)
>
> I am talking about a formalization of not one process, but entire
> branches of Computer Science.

I apologize if I was not sufficiently clear. This proof was an example
of a general technique and the formal tools we had available.

With respect,
Steven

From: Steven Zenith on

Charlie-Boo wrote:
....
> I'm talking about Computer Science, ok? I listed 4 branches: Program
> Synthesis, Theory of Computation, Recursion Theory and Incompleteness
> in Logic. (For that last one, maybe I should call it Computing
> Science?)

This seem to me to be a very incomplete view. You have not mentioned
computer architecture or typing theory - which reveals much of the
reason you are having problems, since you do not appear to appreciate
that real programs are typed do not use real numbers and execute on
machines that have varying architectures.

When you say "Program Synthesis" I assume you mean transformation from
one language into another by a process of formal equivalence.

I think you should leave Godel out of it.

With respect,
Steven

From: stephen on
In sci.math Steven Zenith <stevenzenith(a)gmail.com> wrote:

> Patricia Shanahan wrote:
>> 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.

> I am using the term function in the computer science sense since the
> question has to do with the formalization of computer science and we
> are discussing functions in programs. In any case, a computer science
> function and a function in the mathematical sense (a map) are formally
> equivalent in that a CS function is the map of the arguments to the
> results.

No, they are not formally equivalent, as there exist uncomputable
functions. A mathematical function is a mapping from one set
to another set. Not all mappings are uncomputable. The Halting
Function is the classic example. There is no computer science
function that is equivalent to this mathematical function.

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