A logical approach to discrete mathNovember 1993
Publisher:
  • Springer-Verlag
  • Berlin, Heidelberg
ISBN:978-0-387-94115-8
Bibliometrics

Abstract

No abstract available.

Cited By

  1. ACM
    Brown L, Feltz A and Wallace C Lab exercises for a discrete structures course: exploring logic and relational algebra with Alloy Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education, (135-140)
  2. ACM
    Khedri R, Jones O and Alabbad M Defense in Depth Formulation and Usage in Dynamic Access Control Proceedings of the 6th International Conference on Principles of Security and Trust - Volume 10204, (253-274)
  3. ACM
    Hudon S, Hoang T and Ostroff J (2016) The Unit-B method, Software and Systems Modeling (SoSyM), 15:4, (1091-1116), Online publication date: 1-Oct-2016.
  4. ACM
    Sotelo A and Takahashi S GOLD: a graph oriented language implemented using the eclipse Xtext framework Proceedings of the on Eclipse Technology eXchange, (19-24)
  5. ACM
    Mu S, Lyu Y and Morihata A (2015) Approximate by thinning, Science of Computer Programming, 98:P4, (484-515), Online publication date: 1-Feb-2015.
  6. ACM
    Mendes A, Backhouse R and Ferreira J Structure Editing of Handwritten Mathematics Proceedings of the Ninth ACM International Conference on Interactive Tabletops and Surfaces, (139-148)
  7. ACM
    Baldwin D, Walker H and Henderson P (2013) The roles of mathematics in computer science, ACM Inroads, 4:4, (74-80), Online publication date: 1-Dec-2013.
  8. ACM
    Backhouse R First-Past-the-Post games Proceedings of the 11th international conference on Mathematics of Program Construction, (157-176)
  9. ACM
    Barbosa L and Martinho M Mathematical Literacy as a Condition for Sustainable Development Revised Selected Papers of the SEFM 2012 Satellite Events on Information Technology and Open Source: Applications for Education, Innovation, and Sustainability - Volume 7991, (64-77)
  10. ACM
    Solin K (2012) Dual Choice and Iteration in an Abstract Algebra of Action, Studia Logica, 100:3, (607-630), Online publication date: 1-Jun-2012.
  11. ACM
    Drysdale R Mathematical induction is a recursive technique Proceedings of the 42nd ACM technical symposium on Computer science education, (269-274)
  12. ACM
    Kahl W The teaching tool CALCCHECK Proceedings of the First international conference on Certified Programs and Proofs, (216-230)
  13. ACM
    Ferreira J, Mendes A, Cunha A, Baquero C, Silva P, Barbosa L and Oliveira J Logic training through algorithmic problem solving Proceedings of the Third international congress conference on Tools for teaching logic, (62-69)
  14. ACM
    Fabregat-Traver D and Bientinesi P Knowledge-based automatic generation of partitioned matrix expressions Proceedings of the 13th international conference on Computer algebra in scientific computing, (144-157)
  15. ACM
    Butterfield A Saoithín Proceedings of the Third international conference on Unifying theories of programming, (137-156)
  16. ACM
    Morris J, Bunkenburg A and Tyrrell M (2009) Term transformers, ACM Transactions on Programming Languages and Systems (TOPLAS), 31:4, (1-42), Online publication date: 1-May-2009.
  17. ACM
    Shankar N (2009) Automated deduction for verification, ACM Computing Surveys (CSUR), 41:4, (1-56), Online publication date: 1-Oct-2009.
  18. ACM
    Boute R (2009) Teaching and practicing computer science at the university level, ACM SIGCSE Bulletin, 41:2, (24-30), Online publication date: 25-Jun-2009.
  19. ACM
    Blanco J, Losano L, Aguirre N, Novaira M, Permigiani S and Scilingo G (2009) An introductory course on programming based on formal specification and program calculation, ACM SIGCSE Bulletin, 41:2, (31-37), Online publication date: 25-Jun-2009.
  20. ACM
    Gries D, Eckmann M, Erkan A and Heliotis J (2009) Discrete mathematics/structures, Journal of Computing Sciences in Colleges, 24:6, (110-112), Online publication date: 1-Jun-2009.
  21. ACM
    Zhou H (2008) A new efficient retiming algorithm derived by formal manipulation, ACM Transactions on Design Automation of Electronic Systems (TODAES), 13:1, (1-19), Online publication date: 1-Jan-2008.
  22. ACM
    Bientinesi P, Gunter B and Geijn R (2008) Families of algorithms related to the inversion of a Symmetric Positive Definite matrix, ACM Transactions on Mathematical Software (TOMS), 35:1, (1-22), Online publication date: 22-Jul-2008.
  23. ACM
    Morris J and Tyrrell M (2008) Dually nondeterministic functions, ACM Transactions on Programming Languages and Systems (TOPLAS), 30:6, (1-34), Online publication date: 1-Oct-2008.
  24. ACM
    Rocha C and Meseguer J Theorem proving modulo based on Boolean equational procedures Proceedings of the 10th international conference on Relational and kleene algebra methods in computer science, and 5th international conference on Applications of kleene algebra, (337-351)
  25. ACM
    Höfner P (2007) Semiring Neighbours, Electronic Notes in Theoretical Computer Science (ENTCS), 191, (49-72), Online publication date: 1-Oct-2007.
  26. ACM
    Krone J (2007) Meeting the challenges of discrete mathematics for computer science, Journal of Computing Sciences in Colleges, 23:1, (31-37), Online publication date: 1-Oct-2007.
  27. ACM
    Colvin R and Dongol B Verifying lock-freedom using well-founded orders Proceedings of the 4th international conference on Theoretical aspects of computing, (124-138)
  28. ACM
    Jones C (2006) Reasoning About Partial Functions in the Formal Development of Programs, Electronic Notes in Theoretical Computer Science (ENTCS), 145, (3-25), Online publication date: 1-Jan-2006.
  29. ACM
    Boute R (2006) Calculational semantics, ACM Transactions on Programming Languages and Systems (TOPLAS), 28:4, (747-793), Online publication date: 1-Jul-2006.
  30. ACM
    Zhou H Deriving a new efficient algorithm for min-period retiming Proceedings of the 2005 Asia and South Pacific Design Automation Conference, (990-993)
  31. ACM
    Sinha D and Zhou H Yield driven gate sizing for coupling-noise reduction under uncertainty Proceedings of the 2005 Asia and South Pacific Design Automation Conference, (192-197)
  32. ACM
    Leavens G, Cheon Y, Clifton C, Ruby C and Cok D (2005) How the design of JML accommodates both runtime assertion checking and formal verification, Science of Computer Programming, 55:1-3, (185-208), Online publication date: 1-Mar-2005.
  33. ACM
    Sinha D, Zhou H and Chu C Optimal gate sizing for coupling-noise reduction Proceedings of the 2004 international symposium on Physical design, (176-181)
  34. ACM
    Défago X and Schiper A (2004) Semi-passive replication and Lazy Consensus, Journal of Parallel and Distributed Computing, 64:12, (1380-1398), Online publication date: 1-Dec-2004.
  35. ACM
    Page R Software is discrete mathematics Proceedings of the eighth ACM SIGPLAN international conference on Functional programming, (79-86)
  36. ACM
    Page R (2003) Software is discrete mathematics, ACM SIGPLAN Notices, 38:9, (79-86), Online publication date: 25-Sep-2003.
  37. ACM
    Crole R Introduction Algebraic and coalgebraic methods in the mathematics of program construction, (1-19)
  38. ACM
    Holmes M and Alves-Foss J (2019) The Watson Theorem Prover, Journal of Automated Reasoning, 26:4, (357-408), Online publication date: 1-May-2001.
  39. ACM
    Henderson P, Baldwin D, Dasigi V, Dupras M, Fritz J, Ginat D, Goelman D, Hamer J, Hitchner L, Lloyd W, Marion B, Riedesel C and Walker H Striving for mathematical thinking Working group reports from ITiCSE on Innovation and technology in computer science education, (114-124)
  40. ACM
    Henderson P, Baldwin D, Dasigi V, Dupras M, Fritz J, Ginat D, Goelman D, Hamer J, Hitchner L, Lloyd W, Marion B, Riedesel C and Walker H (2001) Striving for mathematical thinking, ACM SIGCSE Bulletin, 33:4, (114-124), Online publication date: 1-Dec-2001.
  41. ACM
    Page R (2001) Functional programming, and where you can put it, ACM SIGPLAN Notices, 36:9, (19-24), Online publication date: 1-Sep-2001.
  42. ACM
    McUmber W and Cheng B A general framework for formalizing UML with formal languages Proceedings of the 23rd International Conference on Software Engineering, (433-442)
  43. ACM
    Boute R (2000) Supertotal Function Definition in Mathematics and Software Engineering, IEEE Transactions on Software Engineering, 26:7, (662-672), Online publication date: 1-Jul-2000.
  44. ACM
    Bjørner D and Cuéllar J (2018) Software engineering education, Annals of Software Engineering, 6:1-4, (365-409), Online publication date: 1-Apr-1999.
  45. ACM
    Rudnicki P and Trybulec A (1999) On Equivalents of Well-Foundedness, Journal of Automated Reasoning, 23:3, (197-234), Online publication date: 1-Nov-1999.
  46. ACM
    Gries D Monotonicity in Calculational Proofs Correct System Design, Recent Insight and Advances, (to Hans Langmaack on the occasion of his retirement from his professorship at the University of Kiel), (79-85)
  47. ACM
    Frias M, Baum G and Haeberer A (2019) Fork Algebras in Algebra, Logic and Computer Science, Fundamenta Informaticae, 32:1, (1-25), Online publication date: 1-Jan-1997.
  48. ACM
    Futatsugi K and Nakagawa A An overview of CAFE specification environment-an algebraic approach for creating, verifying, and maintaining formal specifications over networks Proceedings of the 1st International Conference on Formal Engineering Methods
  49. ACM
    Paprzycki M and Zalewski J (1996) Shaping the focus of the undergraduate curriculum, ACM SIGCSE Bulletin, 28:3, (37-44), Online publication date: 1-Sep-1996.
  50. ACM
    Denman R Derivation of recursive algorithms for CS2 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education, (9-13)
  51. ACM
    McLoughlin H and Hely K Teaching formal programming to first year computer science students Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education, (155-159)
  52. ACM
    Denman R (1996) Derivation of recursive algorithms for CS2, ACM SIGCSE Bulletin, 28:1, (9-13), Online publication date: 1-Mar-1996.
  53. ACM
    McLoughlin H and Hely K (1996) Teaching formal programming to first year computer science students, ACM SIGCSE Bulletin, 28:1, (155-159), Online publication date: 1-Mar-1996.
  54. ACM
    Reinfelds J A three paradigm first course for CS majors Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education, (223-227)
  55. ACM
    Reinfelds J (1995) A three paradigm first course for CS majors, ACM SIGCSE Bulletin, 27:1, (223-227), Online publication date: 15-Mar-1995.
  56. ACM
    Warford J (1995) An experience teaching formal methods in discrete mathematics, ACM SIGCSE Bulletin, 27:3, (60-64), Online publication date: 1-Sep-1995.
  57. ACM
    Baeza-Yates R (2019) Teaching algorithms, ACM SIGACT News, 26:4, (51-59), Online publication date: 1-Dec-1995.
  58. ACM
    Denman R, Naumann D, Potter W and Richter G Derivation of programs for freshmen Proceedings of the twenty-fifth SIGCSE symposium on Computer science education, (116-120)
  59. ACM
    Denman R, Naumann D, Potter W and Richter G (1994) Derivation of programs for freshmen, ACM SIGCSE Bulletin, 26:1, (116-120), Online publication date: 12-Mar-1994.

Contributors

  • David Gries
    Cornell University
  • Fred Barry Schneider
    Cornell University

Reviews

J. Stanley Warford

Gries and Schneider's textbook for the standard undergraduate course in discrete mathematics is a radical departure from the norm. The title says it all. The authors' approach to discrete math is based on formal logical reasoning methods. The authors claim that students of discrete mathematics should first be taught the syntax and semantics of formal proofs using an equational style. This educational philosophy was expressed by the first author in a <__?__Pub Fmt italic>CACM<__?__Pub Fmt /italic> paper a few years ago [1]. The content of the text reflects this philosophy. The first third of the book is divided into nine chapters that take the student through propositional and predicate calculus. The remainder of the book consists of 11 chapters—“Predicates and Programming,” “A Theory of Sets,” “Mathematical Induction,” “A Theory of Sequences,” “Relations and Functions,” “A Theory of Integers,” “Combinatorial Analysis,” “Recurrence Relations,” “Modern Algebra,” “A Theory of Graphs,” and “Infinite Sets”—that apply formal proof techniques to traditional topics of the discrete math course. This organization is in marked contrast to that in most discrete math texts. The standard practice is to introduce logic quantification as one of many topics but then to neglect it as a tool for exploring the remaining topics. How well does the book fulfill its stated goal__?__ I have taught sophomore-level discrete mathematics for the past seven years from a variety of textbooks. Lately I had grown weary of the shotgun approach, where the course presented a group of seemingly unrelated discrete topics. Using this book convinced me that its approach is the best way to achieve a unified presentation of the topics. Be forewarned, however, that if you adopt this book having previously taught discrete mathematics, you will experience a major paradigm shift. It will probably involve a tradeoff of breadth for depth. You will have to eliminate some topics to make time for the development of calculational skills with formal methods. The new character of the course resembles that of traditional calculus. In the same way that calculus students progress through skill-based exercises based on single-variable differentiation, applications of the chain rule, integration, and so on in a linear fashion, discrete mathematics students progress through skill-based exercises based on textual substitution, Leibniz's rule, Boolean expressions, propositional calculus, proof techniques, general quantification principles, and predicate calculus. Only then are the more traditional topics of mathematical induction, sets, relations, and functions learned. It makes a great difference, however, when students have the tools to study these topics with a greater depth of understanding. In most discrete math books, proofs are couched in English. It was always difficult to grade proofs because I never knew if the student really understood a proof, but was simply having difficulty with the English, or if she or he simply did not understand the proof. Now, proofs are not ambiguous, and I can pinpoint errors in syntax as well as logic. Students have a deeper understanding of the proof process, and we can communicate with more precision. One side effect is that grading proofs is easier now, because I can be more rational in the granting of partial credit. Another benefit is that proofs, which used to be the most unpleasant part of the material, are now the favorite. The authors have improved on standard formal methods notation by using a vertical bar instead of a colon to separate a quantified variable from the range. The usual notation ?x:P:Q is rendered ?x&vbm0;P:Q . This notation is especially nice because quantification concepts carry over to the specification of sets, which are rendered similarly as x&vbm0;P:E <__?__Pub Caret>or, in the more familiar abbreviated form, x&vbm0;P . Another benefit is that a quantified expression with a true range ?x&vbm0;:Q is easier to read than ?x::Q . The book has proven to be serviceable in class because of the quantity and quality of the exercises, and because of the extensive instructor's manual, with 310 pages of teaching tips, notes, and complete solutions to all the exercises. The manual is especially helpful because this approach to teaching discrete math is so new. The authors have obviously tested the material in class, and their experience as related in the manual is practical. The book has a few shortcomings, all of them minor. In terms of content, two early chapters on Hilbert-style proofs and formal logical systems are so specialized that they will rarely be used in the undergraduate discrete math course. I would have preferred material on finite state machines or grammar theory in their place. The treatment of digital circuits does not seem natural because the formal method paradigm is forced onto it, rather like a square peg in a round hole. A more conventional approach would probably serve the student better. In terms of form, the latter part of the book does not have enough figures, and the figures that are present are too small and not detailed enough. This is in contrast to (and, unfortunately, usually accompanies) the excellent typesetting in <__?__Pub Fmt texinput>\TeX<__?__Pub Fmt /texinput>. The inevitable typographic errors are few for a book of this size and complexity. This book is a statement by Gries and Schneider on how discrete math should be taught, especially to computer science majors. Its adoption at our institution will probably cause a ripple effect throughout the curriculum. If teachers can assume the facility with formal methods presented in this book, later courses such as data structures and algorithms, programming languages, software engineering, and AI will benefit. The book is a solid contender for the discrete math course and deserves serious consideration. Time will tell whether this approach takes hold in the undergraduate computer science curriculum. I hope it does.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

About Cookies On This Site

We use cookies to ensure that we give you the best experience on our website.

Learn more

Got it!