The Central Role of Mathematical Logic in Computer Science

The Central Role of Mathematical Logic in Computer Science

Trinity University Digital Commons @ Trinity Computer Science Faculty Research Computer Science Department 2-1990 The eC ntral Role of Mathematical Logic in Computer Science John Paul Myers Jr. Trinity University, [email protected] Follow this and additional works at: https://digitalcommons.trinity.edu/compsci_faculty Part of the Computer Sciences Commons Repository Citation Myers, J.P., Jr. (1990). The ec ntral role of mathematical logic in computer science. SIGCSE Bulletin, 22(1). doi:10.1145/ 319059.319071 This Article is brought to you for free and open access by the Computer Science Department at Digital Commons @ Trinity. It has been accepted for inclusion in Computer Science Faculty Research by an authorized administrator of Digital Commons @ Trinity. For more information, please contact [email protected]. The Central Role of Mathematical Logic in Computer Science J. Paul Myers, Jr. Department of Computer Science Trinity University San Antonio, Texas 78212 I. Introduction and a Short Tirade computer scientists appropriately show only oc- casional interest in it. A fascinating and largely unheralded devel- opment accompanying the rise of computer But it’s astounding that computer scientists science and computer technology has been the are only occasionally interested in learning the increasing applicability of the two most fervently many facets, difficulties, and subtleties of logic “pure” branches of mathematics: number theory since it pervades the entire field. In his influ- and mathematical logic. Unexpected mere de- ential text, The Science of Programming, David cades ago are present opportunities for number Gries poignantly confesses: theorists and logicians in this most applied of the mathematical sciences. Indeed, advertisements The research was fraught with lack of for both academic and industrial positions in the understanding and frustration. One rea- ACM Communications, for example, call for ex- son for this was that computer scientists pertise in these fields. Martin Davis expresses in the field, as a whole, did not know the surprise at this new status of mathematical enough formal logic. Some papers were logic: written simply because the authors didn’t understand earlier work; others When I was a student, even the topolo- contained errors that wouldn’t have hap- gists regarded mathematical logicians as pened had the authors been educated in living in outer space. Today the connec- logic. We spent a good deal of time tions between logic and computers are a thrashing, just treading water, instead of matter of engineering practice at every swimming, because of our ignorance. level of computer organization. Issues With hindsight, I can say that the best and notions that first arose in technical thing for me to have done ten years ago investigations by logicians are deeply would have been to take a course in logic. involved, today, in many aspects of com- I persuaded many students to do so, but I puter science. [3] never did so myself. [6] While number theory is largely confined at But Gries’ plea has been largely unheeded; present to issues of security and cryptography logic is not a true part of the computer science (as well as continuing “pure” activities: e.g., curriculum. The requirement of Trinity Univer- finding the next Mersenne prime), logic has per- sity’s Department of Computer Science -- meated most of the field in both superficial and including formal logic (taught in the Philosophy profound ways. Number theory, like calculus, Department) as one of several advanced mathe- has only occasional uses in computation; and thus matics courses from which computer science Permission to copy without fee all or part of this material is granted provided majors must take two -- seems to be as strong a thai the copies are not made or distributed for direct commercial advantage, requirement as any. And even prestigious, the ACM copyright notice and the title of the publication and its date appear. research-oriented institutions (with emphases in and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee applications of logic to computer science) often and/or specific permission. 0 1990 ACM 08979 I-346-9/90/0002/0022 $1.50 22 only informally “strongly encourage” their stu- model theory, completeness, consistency, and dents to take logic. deduction. And as databases become larger and more complex, isolating the effects of inevitable Our students’ only standard exposure to logic local inconsistencies from the entire system is in the already overworked course in discrete becomes paramount. Work such as in relevance structures. But there it is almost always trivial logics addresses this problem. Current research, truth-table logic and never predicate logic to any relying heavily on logic, includes deductive depth whatsoever. Yet our majors continue to be databases and expert systems; expressiveness; required to take a full year (or more) of calculus, dynamic/temporal modeling and temporal logics a discipline that simply does not permeate (for the dimension of time in databases); knowl- computer science as logic does. But, it’s argued, edge-based systems with incomplete and tentative calculus exposes the student to a coherent and information requiring modal and fuzzy reasoning; rigorous study of great power, elegance, and natural language interfaces; and semantics. historical value. Are the presentations of logic today any less coherent, rigorous, powerful, Without belaboring the point, brief highlights elegant, historical? No, and, moreover, logic is of the importance of logic to many core areas in increasingly important to a full participation of computer science include the following neces- computer scientists in their field. Of course, sarily partial and not mutually exclusive listing: many -- not all -- of the applications of logic derive from what is now advanced, graduate-level * “theoretical” computer science (of course!) material. But this is all the more reason to intro- automata, formal languages, com- duce the requisite logic background at the under- putability, complexity, recursive graduate level. function theory; * artificial intelligence deduction systems, expert systems, II. Logic in Computer Science cognitive science, formalisms, auto- mated proofs, natural language pro- Logic touches on virtually all areas in com- cessing; puter science. While it’s certainly possible for technicians to use systems with significant logi- * programming languages / data structures cal bases, their continuing development and logic programming (PROLOG is but one evolution of those systems will be frustrated (i la such language), resolution, functional Gries, above) with but poor understanding of logi- languages, semantics (Hoare, denota- cal principles. And the relevance of logic is no tional, procedural, realizability), lan- longer confined (if it ever was!) to mere truth- guage design, computational complete- table propositional logic for circuit design. ness, data abstraction/operations, Significant strides are now made with techniques type theory, object-oriented ap- from deeper areas of logic such as model theory, proaches, parallel processing proof theory, combinatory logic, and non-classi- (optimality and equivalence to se- cal logics, using such notions as completeness, quential algorithms); consistency, axiomatics, natural deduction, Skolem functions, h-calculus, constructivity, etc. * database systems discussed above: As an example, consider the applicable area of database systems where deep applications of * software engineering logic are necessary for a variety of purposes. At program verification, including test- the most fundamental level are the various alter- ing (path manipulation) and correct- natives for knowledge representation and data ness, ‘formal specifications and pro- models (relational, entity-relationship, etc.) and gram design, executable speci- query-processing languages relying on issues of fications; 23 In fact, even if the deeper concepts of logic * hardware weren’t relevant to CS (they are!), much of the circuit design/optimization, hardware notation for communication among computer design languages, processor verifica- scientists is logic notation. Indeed, it is easy to tion, correctness of OS kernel, lan- find a CS journal or conference proceedings wi,th- guage implementation on given proces- out a single integral or derivative, but virtually sors; impossible to find one without logic terms and notation. * philosophical foundation for CS profound correspondences between Concepts from calculus are relevant in the reasoning and computation, formal above listing of topics only sparsely, if at all systems, constructivity as a basis for (calculus is useful in CS for numerical methods CS influencing language design, se- and for certain analyses -- for example, of com- mantics, etc. (computer science as plexity). So one might justifiably argue for an “applied constructivity”). increasing courseload of discrete topics and a genuine logic sequence to replace calculus. Why, Briefly elaborating a bit of this last area, in an era of continuing curricular changes and a Boyer and Moore discuss the “formalization very rapidly growing “core” of topics for a CS problem”: how to use mathematics and logic to major, this sort of suggestion is always seen as formalize everyday concepts in CS -- that formu- too radical to merit serious discussion is some- las mean what we want them to mean. Reminiscent what puzzling.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    6 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us