CS486 Spring 1997
Lecture 3 Tuesday, Jan. 28, 1997
Smullyan discusses valuations, they are Boolean iff
conditionshold.
- Fact. For fixed
is a valuation in F.
- Fact. There is at most one Boolean valuation consistent with
.
- Fact. There is at least one Boolean valuation consistent with
.
![]()
Def: A setis saturated iff
(p.12)
Also calla truth set.
Let.
Fact:is saturated iff
is a Boolean evaluation. (see p.12)
Fact:.
Note, this defines Tautologies without reference toor
. We see that Smullyan's more general approach opens new possibilities. This is an advantage of abstraction and generalization.
Look at all the CS we used.
Recursive data types-from courses 211, 280, 410
Recursive procedures-from courses 211, 280
Termination proofs
Proofs by induction-from course 280
Def of Taut in 2 ways, one usingof sets-CS280
New level of concern
The architecture of knowledge expressed in theories
Lecture versus Smullyan
We will see another major example on next Thursday-duality principle.
Extra credit basis of project, type up proofs of these statements in html following Smullyan's arguments.
The idea is to systematically search for a counter-example. A proof is a failed search. Let's consider the same examples as last time.
Why don't we need to consider 3 possibilities for-from the truth table?
circle.eps
- This gives us something to worry about for completeness. Clearly the tableau method is based on the parallel evaluation idea and this keeps the minimal information.
- Is this method equivalent to the BDD with parallel eval?
- My proofs are Smullyan's ``modified Block Tableaux'' from Chapter XI.
We did not symbolize Smullyan p.10-11 completely because we do not have the concepts yet to do that, but later we will return to this topic. But in a similar spirit to him, we filled in details of his inductive argument and drew out the correspondence to eval.
Here is a more refined (detailed) account of what Smullyan said on p.10-11.
Theorem on Existence of a Boolean Valuation.Consider a single formulaand a state
.
There is only one way to assign a truth value to each subformula, of
such that the atomic subformulas (i.e. the variables,
) are assigned value
and such that the truth value of each compound subformula
of
is determined from the truth value of immediate subformulas,
, by the truth-table rules
. Call that value for each subformula
.
Proof by Formula-induction
Base case (atomic formulas).
In this case the value ofis just
which is a unique value since
is a function.
Induction case: assume that the theorem is true for all proper subformulas of. Proceed by cases on the structure of
.
Ifis
then by the induction hypothesis applied to proper subformulas
there are unique truth values
. Now let
. This assignment is unique. It establishes the theorem for
in this case.
Ifis
then argue as above taking
.
If
is
then argue as above taking
.
If
is
then argue as above taking
.
Qed
Notice, this proof is constructive. It shows us how to build the truth valuefor each subformula
of
and hence for
itself. In fact, we can see in this proof the same computational structure as our definition of
! Thus, Smullyan has introduced the same computational content but by implicit means rather than explicit ones. This is typical of mathematics as opposed to computer science. [Indeed, to stress the computational meaning, Smullyan adds a procedure description on page 11 in square brackets; this is essentially a description of
).]
Note also that the form of this theorem is essentially For allfor all Formulas
there is a unique
such that
.
Definition of
is
is
is
as Unary
![]()
Here assume are defined as in a programming language that requires evaluation of all arguments.






When needed we distinguish among these as .
Evaluation Procedures
To evaluate s-and first
, if the result is
then return
, if the result is
then
, if it is
,then
, if it is
then
.
If the result of evaluating or
is not a truth value then abort.
We express this succinctly with these rules of evaluation. Exercise: write the informal version of the other rules.
To evaluate start evaluating
and
concurrently
: if either terminates with value
, then the value is
, if both terminate with
then the value is
.