First Order Predicate Logic
This is a more expressive logic because it builds on propositional logic by allowing us to use constants, predicates, variables, quantifiers and functions in addition to the connectives we've already seen. For in case the sentence: "Every Monday and Wednesday I go to John's house for dinner" can be written in first order predicate logic as:
Here, the symbols quantifiers Monday, Wednesday, me, dinner and john are all constants: base-level objects in the world about which we want to talk. The symbols, go_to, day_of_week and eat_meal are predicates that represent relationships among the arguments which appear inside the brackets. For an example in eat_meal, the relationship specifies that a person (first argument) eats a specific meal (second argument). In this situation, we have represented the fact that me eats dinner. The symbol X is a variable, which may take on a range of values. This make us able to be more expressive, and we can quantify X with the, in particular 'forall' symbol , so that our sentence of predicate logic talks about all possible X's. Finally, the symbol house_of is a function, and - if we can - we are expected to replace house_of(john) with the output of the function (john's house) given the input to the function (john).
The semantics and syntax of predicate logic are covered in more detail as part of the lectures on automated reasoning.