Now showing items 41-59 of 59

    • A New Approach to Teaching Mathematics 

      Gries, David; Schneider, Fred B. (Cornell University, 1994-02)
      We propose a new approach to teaching discrete math: First, teach logic as a powerful and versatile tool for discovering and communicating truths; then use this tool in all other topics of the course. We spend 6 weeks ...
    • A Note on Iteration 

      Gries, David (Cornell University, 1977-09)
    • A Note on Program Development 

      Gries, David (Cornell University, 1974-03)
    • A Note on the Standard Strategy for Developing Loop Invariants and Loops 

      Gries, David (Cornell University, 1982-10)
      The by-now-standard strategy for developing a loop invariant and loop was developed in [1] and explained [2]. Nevertheless, its use still poses problems for some. The purpose of this note is to provide further explanation. ...
    • On Presenting Monotonicity and On EA=>AE 

      Gries, David (Cornell University, 1995-04)
      Two independent topics are treated. First, the problem of weakening/strengthening steps in calculational proofs is discussed and a form of substantiating such steps is proposed. Second, a simple proof of (Ex| R.x: (Ay| ...
    • Presenting an Algorithm to Find the Minimum Edit Distance 

      Gries, David; Burkhardt, Bill (Cornell University, 1988-03)
    • A Procedure Call Proof Rule (With a Simple Explanation) 

      Gries, David; Levin, Gary Marc (Cornell University, 1979-05)
    • Program Schemes with Pushdown Stores 

      Brown, Steven; Gries, David; Szymanski, Thomas G. (Cornell University, 1972-04)
      We attempt to characterize classes of schemes allowing pushdown stores, building on an earlier work by Constable and Gries [1]. We study the effect (on the computational power) of aloowing one, two, or more pushdown stores, ...
    • Programming by Induction 

      Gries, David (Cornell University, 1971-09)
      A technique for creating programs, called programming by induction, is described. The term is used because of the similarity between programming by induction and proving a theorem by induction.
    • Proving Properties of Parallel Programs: An Axiomatic Approach 

      Owicki, Susan S.; Gries, David (Cornell University, 1975-05)
      This paper presents an axiomatic technique for proving a number of properties of parallel programs. Hoare has given a set of axioms for partial correctness of parallel programs, but they are not strong enough in most ...
    • Recursion as a Programming Tool 

      Gries, David (Cornell University, 1975-04)
    • The Seven-Eleven Problem 

      Pritchard, Paul; Gries, David (Cornell University, 1983-09)
    • Some Ideas on Data Types in High Level Languages 

      Gries, David; Gehani, Narain (Cornell University, 1975-05)
      WE explore some new and old ideas concerning data types; what a data type is, overloading operators, when and how implicit conversions between programmer data types should be allowed and so forth. The current notion that ...
    • Sorting and Searching Using Controlled Density Arrays 

      Melville, Robert C.; Gries, David (Cornell University, 1978-12)
      Algorithms like insertion sort run slowly because of costly shifting of array elements when a value is inserted or deleted. The amount of shifting, however, can be reduced by leaving gaps - unused array locations into ...
    • Swapping Sections 

      Gries, David; Mills, Harlan (Cornell University, 1981-01)
    • Teaching Math More Effectively, Through the Design of Calculational Proofs 

      Gries, David; Schneider, Fred B. (Cornell University, 1994-03)
      Lower-level college math courses usually avoid using formalism, in both definitions and proofs. Later, when students have mastered definitions and proofs written largely in English, they may be shown how informal reasoning ...
    • Trace-Based Network Proof Systems: Expressiveness and Completeness 

      Widom, Jennifer; Gries, David; Schneider, Fred B. (Cornell University, 1989-02)
      We consider incomplete trace-based network proof systems for safety properties, identifying extensions that are necessary and sufficient to achieve relative completeness. We then consider the expressiveness required of ...
    • Type Definitions in Polya 

      Volpano, Dennis M.; Gries, David (Cornell University, 1990-01)
      The programming language Polya maintains a clear separation between a type and its implementation through a new construct called the transform. Polya allows user to define their own data types and transforms to implement ...
    • What Programmers Don't and Should Know 

      Gries, David (Cornell University, 1987-09)