Vectors and Vector Operations

advertisement
1. Logic
Logic and Boolean algebra is a subject that has a variety of interesting applications.
Historically, logic is the mathematics of deciding if statements are true or false. More
recently it has been applied to circuit design, computer programming and searching (e.g.
internet searches).
1.1 Bits, Logical Values and Propositions
bit = something that has two possibilities
These two possibilities are represented in various ways. Three common ones are
1
0
= true
= false
=
=
T
F
These are called the logical values or Boolean values. In most computer systems
information is represented by sequences of bits.
There are various ways to work with bits physically. One common way is by the voltage
in a wire. A common convention is
voltage near 0 volts (relative to ground) = 0
voltage near 5 volts (relative to ground) = 1
Example 1. The following is a simple circuit in which each of two lines can be set to
represent 0 or 1.
power
supply
5v
switch
A
1
line x
1
0
ground
switch
B
circuitry
line y
0
line z
light
switch A in position 1  voltage in line x = 5 v  x = 1
switch A in position 0  voltage in line x = 0 v  x = 0
Similarly for switch B and line y. We might want to design the circuitry so that z = 1 if x
and y have the same value. In that case the light would be on if x and y had the same
value.
1.1 - 1
In this circuit x and y are variables whose values can be either of the logical values. Such
a variable is called a logical variable or Boolean variable.
There are other places besides circuits where one encounters things that have two
possibilities. One place is classical logic that deals with classifying statements as true or
false.
Example 2. Here are two statements along with their how one might classify them as to
being true or false.
"Lansing is the capital of Michigan"
We would classify this as true.
"2 + 2 = 5"
We would classify this as false
Most textbooks make the following definition.
proposition = a statement that can be classified as either true or false
In the above example "Lansing is the capital of Michigan" and "2 + 2 = 5" are
propositions. Often whether or not a statement is classified as true or false depends on
additional information. For example,
(1)
Ít is raining.
Whether or not this is a proposition or not depends on the circumstances. For example, if
the person who makes this statement is referring to the time he or she makes the
statement, then it is a proposition. On the other hand, if it is part of the larger statement
(2)
If it is raining then I carry my umbrella.
then the person making the statement probably has in mind that the statement applies to
more than one time. To indicate this we might rephrase the statement (1) as
It is raining at time x.
In this case the statement (2) might be interpreted as
At any time x if it is raining at time x then I am carrying my umbrella at time x.
Here the values of x and y need to be supplied before the statement can be classified as
true or false. Statements of this form are called predicates or relations
predicate = relation
= a statement containing variables which can be classified as true or
false once the values of the variables are known
1.1 - 2
Thus "It is raining at time x." is a predicate.
In mathematics, an equation such as x2 – 5x + 6 = 0 can be regarded as a predicate. When
a value of x is substituted into the equation then one gets either true or false. For
example, if x = 0 is substituted into the equation then one gets (0)2 – (5)(0) + 6 = 0 or
6 = 0 which is false. However, if x = 2 is substituted into the equation then one gets
(2)2 – (5)(2) + 6 = 0 or 4 – 10 + 6 = 0 or 0 = 0 which is true. When we solve an equation
we are looking for the values of x which when substituted in give true.
Most of what follows applies to both propositions and predicates. We shall try to
comment on the differences as we go along.
Another place one encounters relations is in computer programs.
Example 3. Consider the following segment of a computer program.
if (income < 50000)
tax = 0.1 * income;
else
tax = 5000 + 0.15 * (income – 50000);
In this program segment income is a variable whose value gets sets earlier in the program
either by being read in or by as the result of calculation. When this program segment is
encountered during the execution of the program the first thing that is done is the
expression "income < 50000" is evaluated. If the value of the variable income is less
than 50000 then the expression "income < 50000" evaluates to true and the statement
"tax = 0.1 * income" is executed. On the other hand if the value of the variable income is
greater than or equal to 50000 then the expression "income < 50000" evaluates to false
and the statement "tax = 5000 + 0.15 * (income – 50000)" is executed.
In most programming languages "income < 50000" would be called a logical expression.
However, it would be a predicate or relation in the terminology of logic.
<, , >, , = and  are examples of relational operators. They produce a value of true or
false when they are applied to two numbers. For example, 2 < 4 evaluates to true while
2 < 1 evaluates to false. Similarly, 2x + 5 < 9 is a predicate. For some x it evaluates to
true and for others it evaluates to false.
1.1 - 3
Download