Subsection 1.1.4 Goal
The goal of classical logic, since before Aristotle (Greece, 384 BC - 322 BC), has been to provide a framework within which we make reasoned arguments that lead us to truth.
Since we still care about truth, (particularly in our modern, complex world), one of the goals of this course is to show you how to use this framework effectively.
But we also have some newer problems to solve – ones that Aristotle could never have dreamed of:
How can we write formal specifications, requirements, and queries that are clear and precise enough that computers can work with them? For example, how can I tell ebay what I’m looking for? Or how can I write my company’s personnel policies in a way that lets a program check that every employee record meets my requirements. Or suppose that I have the best idea ever for a phone app. But I can’t code. How shall I write the app’s specifications so that someone else (a programmer someplace) knows what I want, can write the code, and then can check that her program does what it’s supposed to do?
How can we describe the circuitry of all of our electronic devices, from watches to phones to supercomputers in the cloud?
Over 2,000 years separate the ancient Greek philosophers from modern computer designers and users. What, if anything, do their goals have in common? The answer is that the same logical tools allow us to accomplish all of them.
Those are the tools that we’ll study in this course.