Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site gumby.UUCP Path: utzoo!watmath!clyde!cbosgd!ihnp4!mhuxn!mhuxj!mhuxr!ulysses!allegra!mit-eddie!godot!harvard!seismo!uwvax!gumby!g-frank From: g-frank@gumby.UUCP Newsgroups: net.lang Subject: Re: High-levelity Message-ID: <237@gumby.UUCP> Date: Tue, 1-Jan-85 14:39:28 EST Article-I.D.: gumby.237 Posted: Tue Jan 1 14:39:28 1985 Date-Received: Thu, 3-Jan-85 03:46:31 EST References: <235@gumby.UUCP> <96@mit-athena.ARPA> Organization: U of Wisconsin CS Dept Lines: 31 > But provability is only loosely related to high-levility. Or is it? > > John Chambers This is the most interesting question I've heard all week. Most of the definitions and discussions submitted so far on "high-levelity" do deal, in one way or another, with the issue of "expressive ease." Whether speaking of ease of translation or natural expressivity, we all mean the same thing. Proof of correctness "works," in my limited experience, because constructs of the pseudo-language in which such proofs are constructed correspond to actions transformable into predicate calculus (does that make sense?). A language allows programs to be proved correct when its constructs are so transformable, and correct programs may be generated in such a language from well-defined specifications. Is there a connection between a "natural deduction system" and the "expressive ease" mentioned above? Yes and no. Certainly such a system has expressive rigour, and little or no ambiguity. Whether such a system is indeed natural has a lot to do with background and training. Is the idea of expressive ease enough to define "high-level?" BASIC programmers will tell you that BASIC is high-level because it's "easy" to write in. I think that the more sophisticated the programmer's ideas and algorithms, the more he or she demands of the language's expressiveness. Does the programmatic calculus approach represent the pinnacle of such expressiveness? One argument for this statement is that correct programs are generated directly from the specifica- tions, and as a result the program "expresses" what it is to do, which is "higher level" than a program that simply expresses how it is to be done.