comp.lang.ada
 help / color / mirror / Atom feed
From: Markus E Leypold <development-2006-8ecbb5cc8aREMOVETHIS@ANDTHATm-e-leypold.de>
Subject: Re: What is wrong with Ada?
Date: Sun, 15 Apr 2007 18:01:10 +0200
Date: 2007-04-15T18:01:10+02:00	[thread overview]
Message-ID: <thr6ql7hkp.fsf@hod.lan.m-e-leypold.de> (raw)
In-Reply-To: 13tcswu59l28h.zxb26cabf9a0.dlg@40tude.net


"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:

> On Sat, 14 Apr 2007 12:48:12 +0200, Markus E Leypold wrote:
>
>> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:
>> 
>>> What I meant is that we cannot write a correct program running on a finite
>>> machine which would non-trivially processes an infinite input. [ <=>
>>> uncountable sets cannot be enumerated. ]
>> 
>> That is, excuse me, wrong. I thought that you had fallen for that
>> fallacy. Let me explain:
>> 
>> The machine itself might go only through a finite number of
>> states. But the user input might be a sequence of key presses that
>> might terminate arbitrarily late. The input is finite, but the
>> "processing state space" and the output space are only finite. This is
>> possible: Imagein a "machine" that only counts/indicates wether the
>> number of keypresses entered in a sequence from power-on to the end of
>> sequence mark are odd or even: Finite program, finite states (rather
>> easy indeed). But the set of all "legal" input sequences is
>> infinite. Nonetheless the program is correct.
>
> Which is an example of trivial processing.
>
>>> Consider a program P that counts the number of key presses. This program is
>>> necessarily incorrect. Because a correct P would have an infinite number of
>>> states.
>> 
>> In this case yes. But see above. Logically an example that shows an
>> attempt to produce an artefact with property X (your program) that
>> fails, does not prove its impossible.
>
> Hmm, that counting infinite sequences is incomputable in DFA barely
> requires a formal proof...

>
>> I've shown that your proposition
>> doesn't hold (except if you define "non-trivially" as requiring an
>> infinete number of "processing states".
>
> Yes I do. Trivial means that the set of all possible input states could be

Fine. You just messed your argument up completely. If you need
infinite processing states, no real machine (only finite amount of
internal state) can execute a nontrivial program.

> broken into a finite set of classes of equivalent states. In your case into
> just two sets of odd and even sequences of key presses. Trivial infiniies
> are fake ones.

> BTW, your example could be made non-trivial, see Thomson's lamp. Which

No, I don't want to see Thompson's lamp.

What I want, is that you prove your assertion. As a preparation, let
me give some definitions:

 a) The model: We have a machine M that reads a sequence of input
    symbols from the set S.  The machine is powered up and loaded with
    an initial state P (we call that program).  The we start
    inputting. We have a method to decide when the the input is
    complete (either by feedback from the machine, effectively saying
    "you have entered enough of this") or by something the input
    operator does (entering the end of input symbol). After entering
    the complete input the machine somehow indicates that processing
    is done (or fails to indicate, which is a failure). Then we read
    out the result R. R comes from a set OUT (the set of all possible
    outputs dependent on the machines output equipment).

 b) We are now talking about specifications. As specification SP
    somehow specifies 

    (i) an input set IN, which is the set of all sequences from seq[S]
        that should be considered "legal" in the context of SP.

        IN might be inifinite (at least as far as SP is concerned),
        e.g. the set of all sequences of arbitrary length that end
        with the end of input symbol).

    (b) for every input sequence s \in IN an output r \in OUT which is
        to be considered the "correct" output for this input.

        The (partial) function s -> r (which I now name F[SP]) might
        be called the definige function (or semantics) of the
        specfication.

 c) Observe that for every initial state P in the state of the
    machine, the machine performs a mapping from seq[S] to OUT as
    well. That is what the program computes. This function C[P]:
    seq[S] => OUT is the functionality of the program.

 d) A P conforms to a specification if, within the range of the
    specfication, i.e. for every input s from IN[SP], it produces the
    required output F[SP](s).

     P conforms to SP <=> \forall s \in IN[SP] : C[P](s) = F[SP](s)

    (A program P conform to a specfication SP, if for every input
     element that has to be considered legal in the context of SP, the
     computed output element C[P](s) is the required/specified output
     element).
 

The model can certainly be refined (i.e. modelling programs as
equivalence classes of state), but I think is captures the essence of
what we are talking about here.

The goal is now, to prove or refute your assertions within that
framework. You asserted that

  \forall SP with NON-TRIVIAL(SP) and I[SP] infinite :           
   
     \not \exists P : P conforms SP.

I have alread shown (by counterexample, which is a valid refutation
for \not\exists in this case), that your assertion would be not true
just for all SP (i.e. NON-TRIVIAL is constantly FALSE.

But "non trivial" is not yet defined (I don't think it makes sense as
a formal concept).

Now I'd like you to close this loophole for arbitrary hand waving and
define NON-TRIVIAL in a way suitable to you purposes (but keep it
convincing, still -- defining it to FALSE won't wash with me) and
perhaps try to prove the central assertion above.

Thank you -- Markus


    
    


    



  reply	other threads:[~2007-04-15 16:01 UTC|newest]

Thread overview: 147+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-09 20:31 What is wrong with Ada? martinbishop
2007-04-10  1:14 ` Chip and Allie Orange
2007-04-10  8:32   ` gautier_niouzes
2007-04-10 18:21     ` Chip Orange
2007-04-10  1:15 ` Jeffrey R. Carter
2007-04-10  9:02   ` Pascal Obry
2007-04-10 14:32     ` Markus E Leypold
2007-04-10 15:09       ` Pascal Obry
2007-04-10 15:39         ` Markus E Leypold
2007-04-10 16:12           ` Jean-Pierre Rosen
2007-04-10 17:31             ` Chad  R. Meiners
2007-04-10 18:24               ` Markus E Leypold
2007-04-10 18:28                 ` Ludovic Brenta
2007-04-10 20:22                   ` Markus E Leypold
2007-04-11  9:40               ` Jean-Pierre Rosen
2007-04-11 11:20                 ` Georg Bauhaus
2007-04-11 23:45                 ` Brian May
2007-04-12  7:40                   ` Jean-Pierre Rosen
2007-04-12 16:44                   ` kevin  cline
2007-04-12 17:32                     ` Pascal Obry
2007-04-12 16:46                   ` kevin  cline
2007-04-12 17:35                     ` Pascal Obry
2007-04-21  2:13                       ` adaworks
2007-04-21  9:49                         ` Simon Wright
2007-04-21 14:15                           ` Markus E Leypold
2007-04-22  7:38                             ` adaworks
2007-04-23  1:33                               ` Brian May
2007-04-21 18:33                           ` adaworks
2007-04-12 18:11                     ` Markus E Leypold
2007-04-16 14:25                       ` Bob Spooner
2007-04-16 14:50                         ` Markus E Leypold
2007-04-17  9:17                           ` Pascal Obry
2007-04-17 10:04                             ` Georg Bauhaus
2007-04-17 15:02                             ` Ed Falis
2007-04-17 15:48                               ` Pascal Obry
2007-04-17 20:53                                 ` Ludovic Brenta
2007-04-18  0:21                                 ` Jeffrey R. Carter
2007-04-18  8:16                                   ` Ludovic Brenta
2007-04-21  2:18                               ` adaworks
2007-04-12 18:47                   ` Robert A Duff
2007-04-12 19:39                     ` Dmitry A. Kazakov
2007-04-12 19:54                       ` Peter C. Chapin
2007-04-12 20:41                         ` Dmitry A. Kazakov
2007-04-14 19:56                         ` Chad  R. Meiners
2007-04-13  0:16                       ` Markus E Leypold
2007-04-14  7:01                         ` Dmitry A. Kazakov
2007-04-14 10:48                           ` Markus E Leypold
2007-04-15 13:41                             ` Dmitry A. Kazakov
2007-04-15 16:01                               ` Markus E Leypold [this message]
2007-04-15 17:51                                 ` Dmitry A. Kazakov
2007-04-15 21:41                                   ` Markus E Leypold
2007-04-15 22:00                                   ` Markus E Leypold
2007-04-16  8:26                                     ` Dmitry A. Kazakov
2007-04-16  9:04                                       ` Markus E Leypold
2007-04-17  7:58                                         ` Georg Bauhaus
2007-04-17  9:27                                           ` Dmitry A. Kazakov
2007-04-17 10:46                                             ` Markus E Leypold
2007-04-17 10:48                                             ` Markus E Leypold
2007-04-15 23:06                                   ` Markus E Leypold
2007-04-22 21:50                                   ` Markus E Leypold
2007-04-23 19:26                                     ` Dmitry A. Kazakov
2007-04-23 20:39                                       ` Ray Blaak
2007-04-24  8:39                                         ` Dmitry A. Kazakov
2007-04-24 16:43                                           ` Ray Blaak
2007-04-23 22:02                                       ` Markus E Leypold
2007-04-14 22:49                         ` Robert A Duff
2007-04-14 23:39                           ` Markus E Leypold
2007-04-23 21:16                         ` Larry Kilgallen
2007-04-23 21:21                           ` Ray Blaak
2007-04-23 22:15                             ` Markus E Leypold
2007-04-12 21:18                     ` Georg Bauhaus
2007-04-13  7:39                       ` Stuart
2007-04-13  9:05                         ` Georg Bauhaus
2007-04-13  0:10                     ` Brian May
2007-04-13  8:55                     ` Harald Korneliussen
2007-04-14 22:47                       ` Robert A Duff
2007-04-14 19:50                     ` Chad  R. Meiners
2007-04-14 22:52                       ` Robert A Duff
2007-04-14 19:28                 ` Chad  R. Meiners
2007-04-16  8:50                   ` Jean-Pierre Rosen
2007-04-16  9:18                     ` Dmitry A. Kazakov
2007-04-16  9:56                     ` Markus E Leypold
2007-04-16 16:45                     ` Robert A Duff
2007-04-17  9:05                       ` Jean-Pierre Rosen
2007-04-17 14:51                         ` Robert A Duff
2007-04-22  7:42                           ` adaworks
2007-04-10 18:15             ` Markus E Leypold
2007-04-20 16:34             ` adaworks
2007-04-10 19:44       ` Simon Wright
2007-04-10 20:43         ` Markus E Leypold
2007-04-10 22:02       ` Georg Bauhaus
2007-04-10 22:15         ` Markus E Leypold
2007-04-11  8:59           ` Georg Bauhaus
2007-04-20 16:25       ` adaworks
2007-04-20 20:35         ` Markus E Leypold
2007-04-21  5:51           ` adaworks
2007-04-25  0:10         ` Chad  R. Meiners
2007-04-10 15:59     ` Jeffrey R. Carter
2007-04-10 16:31       ` Dmitry A. Kazakov
2007-04-10 18:08         ` Markus E Leypold
2007-04-11 23:05         ` kevin  cline
2007-04-12  7:55           ` Dmitry A. Kazakov
2007-04-12 10:43           ` Peter C. Chapin
2007-04-12 13:04             ` Markus E Leypold
2007-04-13 10:46               ` Harald Korneliussen
2007-04-13 16:25                 ` Adam Beneschan
2007-04-14 23:41                 ` Markus E Leypold
2007-04-22  7:54           ` adaworks
2007-04-21 18:50         ` adaworks
2007-04-21 19:53           ` Dmitry A. Kazakov
     [not found]             ` <H5EWh.6302$H_5.612@newssvr23.news.prodigy.net>
2007-04-22  9:33               ` Dmitry A. Kazakov
2007-04-10 23:43     ` Brian May
2007-04-12 14:25       ` Bob Spooner
2007-04-13  0:22         ` Brian May
2007-04-23  2:25     ` Justin Gombos
2007-05-16  1:29     ` Adrian Hoe
2007-04-10  1:25 ` Brian May
2007-04-10  1:48   ` martinbishop
2007-04-10  8:33     ` gautier_niouzes
2007-04-10 14:58     ` Markus E Leypold
2007-04-10 19:05       ` Randy Brukardt
2007-04-10 20:27         ` Markus E Leypold
2007-04-12  1:18           ` Randy Brukardt
2007-04-12 13:02             ` Markus E Leypold
2007-04-12  8:47           ` Ada vendor FAQ (was: What is wrong with Ada?) Ludovic Brenta
2007-04-11 15:21 ` What is wrong with Ada? Jason King
2007-04-11 17:53   ` tmoran
2007-04-12 18:55   ` Alexander E. Kopilovich
2007-04-13  2:59     ` Jason King
2007-04-13  9:03       ` Georg Bauhaus
2007-04-14 15:28         ` Jason King
2007-04-16 16:48           ` Georg Bauhaus
2007-04-21 12:56 ` AJAskey
2007-04-21 13:50   ` jimmaureenrogers
2007-04-21 14:46     ` AJAskey
2007-04-21 15:43       ` Markus E Leypold
2007-04-23  1:37         ` Brian May
2007-04-21 15:48       ` Markus E Leypold
2007-04-21 21:42       ` jimmaureenrogers
     [not found]         ` <vzwWh.2452$Ut6.1591@newsread1.news.pas.earthlink.net>
2007-04-22  0:53           ` Markus E Leypold
2007-04-25  0:20     ` Chad  R. Meiners
2007-04-25  9:57       ` Markus E Leypold
2007-04-25 11:19         ` Georg Bauhaus
2007-04-25 11:54           ` Markus E Leypold
2007-04-25 13:24             ` Georg Bauhaus
2007-04-25 13:41             ` adaworks
2007-04-26  3:24       ` jimmaureenrogers
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox