COT 3100 (Section #7094X) Topic #1:
Fundamentals of Logic

This topic covers the basic elements of propositional and predicate logic. In general, by logic we mean the mathematical language that permits us to concisely yet unambigiously express complex statements, and to accurately define and reason about the conditions under which those statements are true or false.

In a later topic, Formal Proofs, we will show how to use these fundamental elements of logic as building blocks for constructing precise, complete proofs of logical statements. Such formal proofs are useful because they can easily be checked carefully by other people (or even automatically by computer proof-verification systems), and so they provide a way to convince even the most die-hard skeptics that a very complex argument is indeed correct.

In another later topic, Probability, we will show how to extend logic beyond the realm of the true and false, to deal with shades of uncertainty.

Propositional Logic (2 lectures)

Propositional logic deals with building compound logic statements out of simpler statements using standard connectives such as AND and OR. It is covered in sections 1.1 and 1.2 of the text. It has many immediate, practical applications:

Applications of propositional logic:

Objectives:

After completing propositional logic, the student should be able to:

  1. Explain in terms understandable by anyone (a) what an atomic or compound "proposition" is, (b) what the basic ideas of propositional logic are, and (c) what are its primary applications.
  2. Give examples of English sentences that are propositions, and examples of ones that are not.
  3. Write from scratch the symbols and truth tables for the operators NOT, AND, OR, XOR, IMPLIES, and IF-AND-ONLY-IF.
  4. Explain to any college student the meaning of any of these connectives.
  5. Generate the truth tables for small compound propositions.
  6. Correctly translate small compound statements from English to propositional logic, or vice-versa.
  7. Also translate propositions involving NOT, AND, OR, and XOR to and from logic-level circuit diagrams.
  8. Rapidly and accurately determine the truth value of any compound proposition given the truth values of its atomic propositions.
  9. Evaluate bitwise logic expressions on bit strings.
  10. Convert compound propositions to other equivalent propositions.
  11. Determine using either truth tables or symbolic derivation whether a small compond proposition is a tautology or a contradiction.
  12. Determine for any pair of small compound propositions whether the two are equivalent.
  13. Explain to any bright college student the general infeasibility of determining satisfiability or equivalence of very long propositions.

Predicate Logic (1 lecture)

Predicate logic is logic language that includes propositional logic, and additionally adds the ability to precisely express statements that are explicitly about particular objects, all objects, or some objects of a given class. It is covered in Rosen §1.3.

Predicate logic has widespread applications in all areas of mathematics and theoretical computer science (for precisely expressing and proving complex statements), in program verification (proving that programs or parts of programs are correct in all cases), and in some database query languages and advanced programming languages. It is also a powerful tool for improving one's general-purpose reasoning abilities.

Objectives

Objectives for Predicate Logic - still under construction.

Homework Assignments

So far there is just 1 homework assignment, available at http://www.cise.ufl.edu/~mpf/hw1.html, on basic propositional logic, to be handed out in Lecture 1 (Mon. 8/23) and due back in Lecture 4 (Mon. 8/30). There will be another assignment later that covers predicate logic.