From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,2ff5c149712ec0eb X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!t-online.de!storethat.news.telefonica.de!telefonica.de!news-fra1.dfn.de!npeer.de.kpn-eurorings.net!npeer1.kpn.DE!newsfeed.arcor.de!newsspool4.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: Ada Interfaces and the Liskov Substitution Principle Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <1179953657.839272.160320@a26g2000pre.googlegroups.com> <1179991769.376381.252010@m36g2000hse.googlegroups.com> <12h6mi42jcha0.7f9vfsnihjwr$.dlg@40tude.net> <1180003336.1163.29.camel@kartoffel> <83abvs7sa9.fsf@hod.lan.m-e-leypold.de> <465aa5ba$0$23147$9b4e6d93@newsspool1.arcor-online.net> Date: Mon, 28 May 2007 13:50:17 +0200 Message-ID: NNTP-Posting-Date: 28 May 2007 13:50:06 CEST NNTP-Posting-Host: 5465ba3e.newsspool2.arcor-online.net X-Trace: DXC=nR3D`iHU_9XI?44J>Z[:RQA9EHlD;3YcR4Fo<]lROoRQ8kF On Mon, 28 May 2007 11:52:22 +0200, Georg Bauhaus wrote: > There is nothing wrong with a mathematically "beautiful" > and simple solution. But when > > (1) there is a perfectly simple, straight forward, working > solution, > > (2) the solution matches the problem specification 1:1, > > (3) the solution is partially incongruent with a mathematical > model, > > (4) because of (3), the solution (1)+(2) is discarded, > > there is something wrong. Nothing is wrong except naive LSP. When understood naively it is mathematically unsound. The problem of is that it tries to make very strong statements about sets (of values) as whole rather than individual elements of. A mathematical interpretation of naive LSP is: Any true proposition involving the name of the set T stays true when this name is substituted by the name of another set S This is extremely strong. Controversies like Circle-Ellipse are predictable: forall X,Y exists Ellipse with the axis X,Y "Circle" cannot substitute "Ellipse" in above. All usual ways to save LSP are about limiting the substitution context and protecting some appearances of the type from substitution (e.g. contravariance). > If I had the money, I'd put up a challange that triggers some > programming oriented model research (as opposed to research that > will move the focus of modelling to formal properties of models > only.) Difference? -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de