Feb 18 13:15:45 <qwertydawom> well, let's begin with this first Logic
lecture.
Feb 18 13:15:45 <qwertydawom> First of all, the word "logic" comes from
the greek word "logos".
Feb 18 13:15:45 <qwertydawom> "logos" is usually translated as "word",
and, indeed, logic studies 'speeches',
Feb 18 13:15:45 <qwertydawom> and, more particularly, 'reasonings'
Feb 18 13:15:45 <qwertydawom> So, first of all,
Feb 18 13:15:45 <qwertydawom> we'll study 'sentential logic'.
Feb 18 13:15:45 <qwertydawom> We use the term of 'statement', or
'proposition' for an declarative sentence.
Feb 18 13:15:45 <qwertydawom> For example, these are statements :
Feb 18 13:15:45 <qwertydawom> Today is Saturday.
Feb 18 13:15:45 <qwertydawom>    I live in France.
Feb 18 13:16:29 <qwertydawom>    But, sometimes, a statement can be made
of two 'simple' statements, for example :
Feb 18 13:17:00 <qwertydawom>    I either can code in C++ or I can code in
PHP.
Feb 18 13:17:46 <qwertydawom>    You see that what I've written is a
statement, since it's true, but, it's made of two 'single' statements,
namely :
Feb 18 13:17:57 <qwertydawom>    'I can code in C++'
Feb 18 13:17:58 <qwertydawom>    and
Feb 18 13:18:05 <qwertydawom>    'I can code in PHP'
Feb 18 13:18:58 <qwertydawom>    In propositional logic, there are
connective words, such as "and", "or", etc.
Feb 18 13:19:38 <qwertydawom>    An example of logical sentence is the
'syllogism'.
Feb 18 13:19:56 <qwertydawom>    I'll just recall the well-known example :
Feb 18 13:20:05 <qwertydawom>    Men are mortals.
Feb 18 13:20:13 <qwertydawom>    Socrates is mortal.
Feb 18 13:20:21 <qwertydawom>    So, Socrates is a man.
Feb 18 13:20:36 <qwertydawom>    This is a syllogism.
Feb 18 13:20:48 <qwertydawom>    And, you can see its structure :
Feb 18 13:20:58 <qwertydawom>    A statement
Feb 18 13:21:05 <qwertydawom>    An 'if' condition
Feb 18 13:21:12 <qwertydawom>    A 'then' condition
Feb 18 13:21:46 <qwertydawom>    this 'if', 'then' structure, is called an
implication, and, it's denoted by the symbol '==>'
Feb 18 13:22:19 <qwertydawom>    This is a first example of logic sign.
Feb 18 13:22:27 <qwertydawom>    What are others?
Feb 18 13:23:15 <qwertydawom>    well, there are :
Feb 18 13:24:07 <qwertydawom>    <==>, which is read 'if and only if'
Feb 18 13:24:18 <qwertydawom>    for example :
Feb 18 13:24:33 <qwertydawom>    2 + x = 4 <==> x = 2
Feb 18 13:24:47 *    qwertydawom sets mode -m #lecture
Feb 18 13:24:55 <qwertydawom>    no problem thus far?
Feb 18 13:24:59 <mu>    well
Feb 18 13:25:01 <mu>    hehe
Feb 18 13:25:14 <mu>    where do we use these logical operators?
Feb 18 13:25:45 <mu>    er
Feb 18 13:25:47 <mu>    logic signs
Feb 18 13:26:16 <tocsin>    isn't logic useless?
Feb 18 13:26:19 <qwertydawom>    for example in a math proof
Feb 18 13:26:28 <qwertydawom>    logic is used when you code ;)
Feb 18 13:26:43 <qwertydawom>    what are those 'or', 'and', 'xor', etc.
Feb 18 13:26:49 <qwertydawom>    Logic operators.
Feb 18 13:27:08 <qwertydawom>    They help to communicate.
Feb 18 13:27:09 <mu>    yeah
Feb 18 13:27:12 <tocsin>    But according to Godel's theorem, all
statements cannot be proven through logic alone.
Feb 18 13:27:24 <mu>    we haven't gotten that far yet ;)
Feb 18 13:27:50 <issues>    whats the discussion about
Feb 18 13:28:32 <qwertydawom>    indeed, Godel's undecidability will be
discussed in another lecture ;)
Feb 18 13:28:32 <Megahertz>    logic
Feb 18 13:28:45 <Megahertz>    Logic Lecture, Part 1, by qwertydawon [ 9
PM GMT +0 on Saturday, February 18th 2006 ]  <----
Feb 18 13:28:49 <qwertydawom>    undecidability theorem*
Feb 18 13:28:57 <tocsin>    We can't decide.
Feb 18 13:29:32 <Ch4r>    let's stick with this lecture for now please.
Future lectures will be given as,  uhm, _future_ lectures :)
Feb 18 13:29:45 *    qwertydawom sets mode +m #lecture
Feb 18 13:30:25 <qwertydawom>    Well, the study of Logic as a separate
discipline began with Aristote.
Feb 18 13:30:57 <qwertydawom>    He introduced 'quantifiers', such as
'all', 'some', etc.
Feb 18 13:31:23 <qwertydawom>    These quantifiers do not belong to
propositional logic though.
Feb 18 13:32:01 <qwertydawom>    But! in his writings, Aristote clarified
two main things in propositional logic.
Feb 18 13:32:48 <qwertydawom>    The first one says that every proposition
is either 'true' or 'false'.
Feb 18 13:33:15 <qwertydawom>    And, the second thing is that no
proposition can be both 'true' and 'false'.
Feb 18 13:34:08 *    qwertydawom gives voice to riftor
Feb 18 13:34:37 <qwertydawom>    But, a deeper approach on the logic
operators was made by the Stoicians (philosophers)
Feb 18 13:35:45 <qwertydawom>    Why? Because noone ignores that there
were great orators at the time.
Feb 18 13:35:53 <riftor>    sorry I'm late!
Feb 18 13:36:32 <qwertydawom>    And, to make a good speech, you have to
use these links.
Feb 18 13:37:21 <qwertydawom>    Well, in fact, until the 19th century,
logic was only used in speeches.
Feb 18 13:38:07 <qwertydawom>    But, in the 19th century, the 'symbolic
logic' has born, thanks to 'De Morgan'.
Feb 18 13:38:27 <qwertydawom>    And... the so-known "George Boole"
Feb 18 13:38:54 <qwertydawom>    Boole introduced a math style in logic.
Feb 18 13:39:29 <qwertydawom>    Indeed, he's used '1' to represent the
'universal class' and '0' for the empty class.
Feb 18 13:39:38 <qwertydawom>    1 and 0, rings a bell? :)
Feb 18 13:39:53 <qwertydawom>    Yeah, that's thanks to Boolean logic that
computers work!
Feb 18 13:39:57 *    qwertydawom sets mode -m #lecture
Feb 18 13:40:12 <qwertydawom>    any comments?
Feb 18 13:40:24 <mu>    good to go :)
Feb 18 13:40:29 <riftor>    which stuff have you covered so far?
Feb 18 13:40:35 <Knightmare>    'ello
Feb 18 13:41:04 <immortal>    already done?
Feb 18 13:41:13 <qwertydawom>    not much riftor, just an intro on what
'propositional logic' was at the time of the greeks ;)
Feb 18 13:41:15 <Ch4r>    immortal, no.
Feb 18 13:41:21 <riftor>    aha okay
Feb 18 13:41:28 <riftor>    you going to get to propositional logic
operators now?
Feb 18 13:41:49 <qwertydawom>    Well, I've already introduced 'and',
'or'.
Feb 18 13:42:12 <tocsin>    You forgot `not',
Feb 18 13:42:24 <riftor>    okay cool :D
Feb 18 13:43:13 <Ch4r>    so..
Feb 18 13:43:20 <Ch4r>    are we ready to continue? :P
Feb 18 13:43:23 *    qwertydawom sets mode +m #lecture
Feb 18 13:44:33 <riftor>    Okay
Feb 18 13:44:44 <riftor>    so lets look at some propositional logic
operators
eb 18 13:44:51 <riftor>    some of you will probably have seen these
before in programming
Feb 18 13:44:56 <riftor>    but I will go through them anyway
Feb 18 13:45:48 <riftor>    As qwerty was saying, boole suggested the use
of 1 to mean the "universal class" and 0 to mean the empty class. These
can also be thought of as True (1) and False (0)
Feb 18 13:46:04 <riftor>    The direct opposite of True is False, and the
direct opposite of False is True.
Feb 18 13:46:50 <riftor>    The "not" operation is used to switch between
the two
Feb 18 13:47:01 <riftor>    so "not True" = "False" and "not False" =
"True"
Feb 18 13:47:24 <riftor>    fairly obvious stuff, and in a few languages
this is represented with an exclaimition point
Feb 18 13:47:31 <riftor>    e.g. !true = false
Feb 18 13:47:33 <riftor>    !false = true
Feb 18 13:47:34 <riftor>    great
Feb 18 13:47:37 <riftor>    now onto "and"
Feb 18 13:47:53 <riftor>    and can be thought of as a function that takes
two inputs, and has one output
Feb 18 13:48:08 <riftor>    it will only ever return true, if both its
inputs are also true
Feb 18 13:48:22 <riftor>    so its saying input1 has to be true AND input2
has to be true
Feb 18 13:48:29 <riftor>    any other combination produces a false output
Feb 18 13:48:30 *    irc.binaryuniverse.net gives channel operator status
to riftor
Feb 18 13:48:53 <riftor>    A good reference right now would be to check
out this diagram I once created:-
Feb 18 13:48:54 <riftor>   
http://riftor.g615.co.uk/content/general/adder/gates.gif
Feb 18 13:49:03 <riftor>    which shows equivalent circuis
Feb 18 13:49:05 <riftor>    *circuits
Feb 18 13:49:17 <riftor>    but this may be pretty confusing at the moment
Feb 18 13:49:21 <riftor>    so don't worry too much about that yet.
Feb 18 13:49:32 <riftor>    So we have two propositional operators,
Feb 18 13:49:36 <riftor>    and
Feb 18 13:49:38 <riftor>    & not
Feb 18 13:50:10 <riftor>    Another important one is "or" that also takes
two inputs
Feb 18 13:50:26 <riftor>    an or statement is true if either one of its
inputs is true, or both
Feb 18 13:51:05 <riftor>    In mathematics you will be familiar with
statements such as 1+1 = 2
Feb 18 13:51:14 <riftor>    where + is an operator that takes two inputs.
Feb 18 13:51:25 <riftor>    This operator is said to be an "infix"
operator as it sets inbetween its two inputs
Feb 18 13:51:43 <riftor>    You can also have postfix and prefix operators
Feb 18 13:51:52 <riftor>    postfix means the operator is after its
arguments
Feb 18 13:51:58 <riftor>    and prefix means the operator is before its
arguments
Feb 18 13:52:01 <riftor>    e.g.
Feb 18 13:52:04 <riftor>    + 1 1 = 2 in prefix
Feb 18 13:52:05 <riftor>    or
Feb 18 13:52:09 <riftor>    1 1 + = 2 in postfix
Feb 18 13:52:21 <riftor>    In propositional logic it is standard to deal
with operators in infix notation
Feb 18 13:52:22 <riftor>    so
Feb 18 13:52:25 <riftor>    true and true = true
Feb 18 13:52:29 <riftor>    true and false = false
Feb 18 13:52:33 <riftor>    false and true = false
Feb 18 13:52:35 <riftor>    false and false = false
Feb 18 13:52:52 <riftor>    and that is the complete set of states that
describes the operation of the and operator.
Feb 18 13:53:10 <riftor>    The or operator (which is true if either of
its inputs are true, or both) would behave as such
Feb 18 13:53:13 <riftor>    true or true = true
Feb 18 13:53:19 <riftor>    true or false = true
Feb 18 13:53:23 <riftor>    false or true = true
Feb 18 13:53:27 <riftor>    false or false = false
Feb 18 13:53:57 <riftor>    If you now cast your eyes over to this
diagram:- http://riftor.g615.co.uk/content/general/adder/gates.gif
Feb 18 13:54:37 <riftor>    and look at the table at the bottom, we can
see that it is describing the same "and" & "or" operators, but using 1 &
0 to represent True & False.
Feb 18 13:55:29 <riftor>    So we have "and" and "or" and "not", and in
turns out that those are the only logical operators that we actually
need, and any other operators can be derived by chaining these together.
Feb 18 13:56:30 <riftor>    in propositional logic it is standard to use a
V style character to mean or (sometimes called disjunction)
Feb 18 13:56:49 <riftor>    and an upside down V (looking like a pointy
'n') to represent and
Feb 18 13:57:00 <riftor>    a not is often written as a ¬ symbol
- Show quoted text -

Feb 18 13:57:43 <qwertydawom>    'and' is called conjunction
Feb 18 13:57:59 <qwertydawom>    and 'not' .. the negation!
Feb 18 13:58:09 <riftor>    Indeed
Feb 18 13:59:14 <riftor>    now the table we can see in the diagram is
called a "truth table" where we write down all the possible states for A &
B, and then to the right, write down operations performed on them
Feb 18 13:59:36 <riftor>    this can be useful for combining operators, as
we can then look at the columns produced and performed operations on
them
Feb 18 13:59:59 <riftor>    for instance, in this diagram there is an "A
and B" column and a "A OR B" column
Feb 18 14:00:16 <riftor>    we could then "and" these together, to get "(A
and B) and (A or B)"
Feb 18 14:00:50 <riftor>    so.. now for a little exercise,..
Feb 18 14:01:48 <riftor>    write down a propositional statment that uses
A and B as boolean variables (variables that are either true or false)
that is true, apart from when A is true and B is false
Feb 18 14:01:54 <riftor>    so the truth table would be
Feb 18 14:02:22 <riftor>    A B    A something B
Feb 18 14:02:22 <riftor>    0 0    1
Feb 18 14:02:22 <riftor>    0 1    1
Feb 18 14:02:22 <riftor>    1 0    0
Feb 18 14:02:22 <riftor>    1 1    1
Feb 18 14:02:54 <riftor>    where something is our operation that we are
going to try and define by combining conjunctions (ands), disjunctions
(or) and negations (not) .
Feb 18 14:03:06 *    qwertydawom sets mode -m #lecture
Feb 18 14:03:19 <qwertydawom>    Anyone willing to try?
Feb 18 14:03:29 <riftor>    it helps if you can write on paper
Feb 18 14:10:05 <mu>    <@riftor> i'll give you a hint, you can do it with
one "and", one "or"
Feb 18 14:10:07 <mu>                    and one "not"
Feb 18 14:10:09 <tocsin>    Not A or B
Feb 18 14:10:17 <tocsin>    Which is the classical statement.
Feb 18 14:10:20 <tocsin>    I think therefore I am.
Feb 18 14:10:30 <tocsin>    Which is the same as A => B.
Feb 18 14:10:39 <qwertydawom>    which we will soon define

Feb 18 14:10:56 <riftor>    tocsin is correct
Feb 18 14:11:00 <riftor>    ¬A or B
Feb 18 14:11:13 <mu>    =s
Feb 18 14:11:23 <mu>    now that my mind is short-circuited
Feb 18 14:11:26 <mu>    hehe
Feb 18 14:11:44 <riftor>    well try it out on paper
Feb 18 14:11:54 <mu>    no i get it
Feb 18 14:11:56 <riftor>     :) write down the truth table! :)
Feb 18 14:12:23 *    qwertydawom sets mode +m #lecture
Feb 18 14:13:28 <qwertydawom>    So, now, seeing that tocsin really wants
this to be covered (:P) we'll study the implication!
Feb 18 14:13:59 <qwertydawom>    Like I've previously stated, this is the
common syllogism.
Feb 18 14:14:32 <qwertydawom>    The main idea of that A => B is that, if
A is true, then B must be true.
Feb 18 14:15:05 <qwertydawom>    Consequently, if B is false, it means
that A is false.
Feb 18 14:15:38 <qwertydawom>    But! If A is false, B can be either true
or false.
Feb 18 14:16:21 <qwertydawom>    From this, we see the relation between
the implication and riftor's exercise.
Feb 18 14:17:04 <qwertydawom>    Like mentioned by tocsin, A => B, is the
same thing as ¬A V B.
Feb 18 14:19:20 <qwertydawom>    And this "not A or B" can only be false
if A is true and B false.
Feb 18 14:21:28 <qwertydawom>    Since "not A or B" is the same as "B or
not A" (we say that the operator 'or' is commutative), which is the same
thing as 'not(not B) or not A', we see that A ==> B is the same as "not
B ==> not A".
Feb 18 14:21:57 <qwertydawom>    The last statement is called the
'contrapositive' of A ==> B.
Feb 18 14:22:53 <qwertydawom>    So, just like we did for the 'and' and
'or' operators, we can build the truth table of the implication.
Feb 18 14:22:58 *    qwertydawom sets mode -m #lecture
Feb 18 14:23:09 <qwertydawom>    Is there anyone able to build it?
Feb 18 14:23:10 <mu>    ugh
Feb 18 14:23:19 <mu>    qwerty you totally lost me here
Feb 18 14:23:26 <mu>    14:13 <@qwertydawom> Since "not A or B" is the
same as "B or not A" (we say
Feb 18 14:23:26 <mu>                         that the operator 'or' is
commutative), which is the same
Feb 18 14:23:26 <mu>                         thing as 'not(not B) or not
A', we see that A ==> B is the
Feb 18 14:23:26 <mu>                         same as "not B ==> not A".
Feb 18 14:24:12 <mu>    uhm
Feb 18 14:24:26 <mu>    will you indulge me and put it all together in a
sentence for me, pls?
Feb 18 14:25:32 <qwertydawom>    are you ok that A ==> B is the same as
"not A or B"?
Feb 18 14:25:39 <mu>    yes
Feb 18 14:25:55 <mu>    no
Feb 18 14:25:57 <mu>    :S
Feb 18 14:26:00 <mu>    sorry
Feb 18 14:26:56 <qwertydawom>    so, let's take an example :
Feb 18 14:27:05 <qwertydawom>    I think therefore I am.
Feb 18 14:27:21 <qwertydawom>    In this case : A is 'I think' and B is 'I
am'.
Feb 18 14:27:32 <nivek>    :S
Feb 18 14:27:42 <mu>    l
Feb 18 14:27:46 <mu>    k*
Feb 18 14:28:28 <qwertydawom>    now, what would 'not A or B' represent?
Feb 18 14:29:07 <mu>    i do not think and i am not?
Feb 18 14:29:19 <Ch4r>    mu: that would be not A or not B
Feb 18 14:29:23 <Narada>    I do not think or I am?
Feb 18 14:30:01 <Ch4r>    if I understand correctly, you're correct Narada
;)
Feb 18 14:30:06 <qwertydawom>    who agrees with Narada?
Feb 18 14:30:11 <Knightmare>    i do
Feb 18 14:30:43 <qwertydawom>    any others?
Feb 18 14:30:48 <Ch4r>    me, of course
Feb 18 14:30:59 <qwertydawom>    yes, ok :)
Feb 18 14:30:59 <nivek>    i do not think what i am therfor i am not what
i think.
Feb 18 14:31:05 <Ch4r>    o.o
Feb 18 14:31:14 <Knightmare>    i think i am confused
Feb 18 14:31:16 *    mu cries
Feb 18 14:31:28 <Ch4r>    hmm
Feb 18 14:31:33 <nivek>    =D
Feb 18 14:31:36 <Narada>    lol
Feb 18 14:31:40 <Ch4r>    qwerty, can I try explaining it to mu? ;\
Feb 18 14:31:44 <qwertydawom>    sure
Feb 18 14:31:47 <Ch4r>    ok, mu
Feb 18 14:31:53 <Ch4r>    going back to 'I think therefore I am'
Feb 18 14:32:00 <Ch4r>    'I think' implies that 'I am'
Feb 18 14:32:00 <mu>    ok
Feb 18 14:32:05 <Ch4r>    so:
Feb 18 14:32:06 <mu>    yes
Feb 18 14:32:09 <Ch4r>    I think ==> I am
Feb 18 14:32:10 <Ch4r>    yes?
Feb 18 14:32:14 <mu>    yes
Feb 18 14:32:28 <Ch4r>    but if I do not think, does that necessarily
mean I am not?
Feb 18 14:32:42 <mu>    according to descartes, it does
Feb 18 14:32:45 <mu>    <_<
Feb 18 14:32:52 <Ch4r>    =/
Feb 18 14:33:06 <qwertydawom>    no!
Feb 18 14:33:11 <mu>    sorry, i took philosophty classes!
Feb 18 14:33:20 <mu>    ok
Feb 18 14:33:21 <Ch4r>    mu, this is logic, not philosophy ;)
Feb 18 14:33:21 <mu>    so
Feb 18 14:33:38 <mu>    i do not think and i am?Feb 18 14:34:34 <Ch4r>    mu: so you agree that it is possible to be
without thinking, yes?
Feb 18 14:34:42 <mu>    yeah
Feb 18 14:34:43 <Ch4r>    at least in logic
Feb 18 14:34:44 <Ch4r>    ok
Feb 18 14:34:48 <mu>    like schiavo
Feb 18 14:34:50 <Ch4r>    now. If I am not, is it possible to think?
Feb 18 14:34:54 <mu>    no
Feb 18 14:34:55 <Narada>    Ch4r: Sure, non-sentient animals do it. ;)
Feb 18 14:35:01 <Ch4r>    lol Narada
Feb 18 14:35:04 <Ch4r>    mu: correct
Feb 18 14:35:09 <mu>    hush,, narada! >:(
Feb 18 14:35:26 <Ch4r>    so if you let A = 'I think' and B = 'I am'
Feb 18 14:35:43 <Ch4r>    A ==> B is the same as not a or b
Feb 18 14:35:45 <Ch4r>    d'you agree?
Feb 18 14:35:51 <mu>    yes!
Feb 18 14:35:54 <mu>    finally!
Feb 18 14:35:57 <mu>    thank you
Feb 18 14:36:04 <Ch4r>    np
Feb 18 14:36:05 <Ch4r>    :P
Feb 18 14:36:14 <Narada>    => is not the same as algebraically saying
"equals or is greater than" right?
Feb 18 14:36:31 <mu>    right
Feb 18 14:36:37 <Ch4r>    o.O
Feb 18 14:36:39 <qwertydawom>    no, it's not
Feb 18 14:36:41 <nivek>    O.o
Feb 18 14:36:44 <Ch4r>    this isn't algebra
Feb 18 14:36:46 <Ch4r>    this is logic
Feb 18 14:36:54 <Ch4r>    ;)
Feb 18 14:36:56 <qwertydawom>    ==> is 'implies that'
Feb 18 14:37:02 <Narada>    I know, I was just making sure that it didn't
apply.
Feb 18 14:37:03 <qwertydawom>    what you mean is '>='
Feb 18 14:37:14 <Narada>    I wasn't aware that the order mattered?
Feb 18 14:37:28 <Ch4r>    you learn something new every day ;D
Feb 18 14:37:36 <Narada>    That would just make it is greater than or
equal to instead of is equal to or greater than.
Feb 18 14:37:39 <qwertydawom>    greater (>) or equal (=)
Feb 18 14:37:46 <Ch4r>    hmm
Feb 18 14:37:47 <Ch4r>    but
Feb 18 14:37:55 <Ch4r>    last time I checked this wasn't an algebra
lecture =X
Feb 18 14:38:03 <qwertydawom>    lol, yes, you're right
Feb 18 14:38:11 <Narada>    I'll shut up. >.<
Feb 18 14:38:15 <qwertydawom>    so, let's continue with this truth table
Feb 18 14:38:29 <qwertydawom>    if A and B are both true
Feb 18 14:38:40 <qwertydawom>    what can we say about "A ==> B" ?
Feb 18 14:38:49 <Ch4r>    true
Feb 18 14:38:53 <qwertydawom>    yes
Feb 18 14:38:57 <Ch4r>    because if A is true B has to be true
Feb 18 14:39:12 <qwertydawom>    Now, if A is true but B is false?
Feb 18 14:39:19 <Ch4r>    false
Feb 18 14:39:28 <Ch4r>    because you must be to think ;x
Feb 18 14:39:35 <qwertydawom>    :)
Feb 18 14:39:43 <qwertydawom>    A false and B true?
Feb 18 14:39:54 <Ch4r>    true
Feb 18 14:39:58 <qwertydawom>    yep
Feb 18 14:40:09 <qwertydawom>    and, eventually : both A and B false?
Feb 18 14:40:15 <Ch4r>    still true
Feb 18 14:40:32 <qwertydawom>    yep
Feb 18 14:41:01 <qwertydawom>    Now, from what we've said, "not A ==> not
B" will have the same truth table.
Feb 18 14:41:27 <qwertydawom>    But, it is important to notice that p ==>
q is definitely not the same as q ==> p
Feb 18 14:41:49 <qwertydawom>    Let's do its truth table :
Feb 18 14:42:14 <qwertydawom>    If A and B are both true, what can we say
about B ==> A?
Feb 18 14:42:49 <Ch4r>    I'll let someone else answer this, since I
answered these a minute ago. :P
Feb 18 14:43:05 <Narada>    I'm still not sure as to what ==> is. :/
Feb 18 14:43:17 <qwertydawom>    it is 'implies that'
Feb 18 14:43:20 <qwertydawom>    for example :
Feb 18 14:43:20 <riftor>    => is implication
Feb 18 14:43:29 <riftor>    A=>B is the same as saying ¬A or B
- Hide quoted text -

Feb 18 14:43:31 <Ch4r>    Narada: remember... 'I think' IMPLIES THAT 'I
am'
Feb 18 14:43:36 <qwertydawom>    If it rains, then I take an umbrella.
Feb 18 14:44:05 <Ch4r>    or you can stay home and attend an IRC lecture
=x
Feb 18 14:44:11 <Narada>    hmm... I've never learned this part of logic. 
I always thought it was either on or off.
Feb 18 14:44:44 <Ch4r>    Narada: right. The point of this is that you
learn it now ;)
Feb 18 14:45:05 <qwertydawom>    ok, so I'll go for the B ==> A
Feb 18 14:45:06 <Narada>    So it's saying if A is whatever, in all
probability B is also whatever?
Feb 18 14:45:21 <qwertydawom>    it's not probability.
Feb 18 14:45:25 <Narada>    Or is it a finite is?
Feb 18 14:45:48 <Narada>    but to imply is to assume, not actually know.
:/
Feb 18 14:45:50 <qwertydawom>    If we have the A ==> B, it means that A
is a sufficient condition for B.
Feb 18 14:46:08 <Narada>    So A has to be something before B is true?
Feb 18 14:46:16 <Ch4r>    no
Feb 18 14:46:20 <Ch4r>    B can be true if A is false
Feb 18 14:46:22 <mu>    lol
Feb 18 14:46:23 <Narada>    gah
Feb 18 14:46:25 <Ch4r>    but if A is true B MUST BE true
Feb 18 14:46:29 <mu>    i'm glad it's not just me, narada
Feb 18 14:46:31 <mu>    <3
Feb 18 14:46:34 <Narada>    :P
Feb 18 14:46:42 <nivek>    cause A is B's brother
Feb 18 14:46:45 <nivek>    :/
Feb 18 14:46:47 <Narada>    I feel bad because I've already learned logic
gates and crap but I don't know this.
Feb 18 14:46:58 <qwertydawom>    yes, you see Narada, the sense of the
arrow -->
Feb 18 14:47:02 <Ch4r>    Narada: don't feel badly. If everyone knew this
we wouldnt' have a lecture
Feb 18 14:47:08 <qwertydawom>    A towards B.
Feb 18 14:47:26 <qwertydawom>    So if A is true, so B is.
Feb 18 14:48:07 <qwertydawom>    But, A can be false, and B true.
Feb 18 14:48:18 <qwertydawom>    always think about the example of
Descartes ;)
Feb 18 14:48:32 <mu>    ok but
Feb 18 14:48:43 <mu>    if we flip the positions of a and b
Feb 18 14:48:47 <qwertydawom>    yes
Feb 18 14:48:52 <mu>    can b be false and a be true, still?
Feb 18 14:48:59 <Narada>    ok, so B can be true or false and A can be
false, but if A is true then B MUST be true?
Feb 18 14:49:03 <Ch4r>    mu: no.
Feb 18 14:49:10 <mu>    ok, i didn't think so but
Feb 18 14:49:12 <Ch4r>    mu: if you flip their positions, you're saying
"I am therefore I think"
Feb 18 14:49:14 <mu>    i dunno why
Feb 18 14:49:18 <qwertydawom>    well, if we have B ==> A
Feb 18 14:49:19 <mu>    ok
Feb 18 14:49:21 <mu>    i gotcha
Feb 18 14:49:31 <qwertydawom>    if A and B are both true, this is true.
Feb 18 14:49:39 <mu>    ok
Feb 18 14:49:52 <qwertydawom>    if A is true and B false, this is also
true.
Feb 18 14:50:10 <qwertydawom>    but! if A is false and B is true, then it
is false
Feb 18 14:50:18 <mu>    ok
Feb 18 14:50:21 <qwertydawom>    if both are false, then it is true
Feb 18 14:50:21 <mu>    i see it now
Feb 18 14:50:22 <mu>    ty
Feb 18 14:51:02 <qwertydawom>    ok
Feb 18 14:51:14 <Ch4r>    so
Feb 18 14:51:17 <qwertydawom>    so, now that we have seen the 'if ...
then' statement.
Feb 18 14:51:38 <Ch4r>    <Ch4r> so <-- never mind that.
Feb 18 14:51:43 <qwertydawom>    We'll see the 'if and only if' statement.
Feb 18 14:52:08 <qwertydawom>    This one is more easily understandable.
:)
Feb 18 14:52:33 <qwertydawom>    It is denoted by : A <==> B, and it means
that A and B are 'equivalent'.
Feb 18 14:53:05 <qwertydawom>    so, if we have that 'A <==> B' is true,
it'll mean that the truth values of A and B are the same.
Feb 18 14:53:24 <mu>    so THEN we can flip positions and  the statement
is still true
Feb 18 14:53:32 <qwertydawom>    yes! :)
Feb 18 14:54:20 <mu>    like, a=5 and b=4+1
Feb 18 14:54:36 <qwertydawom>    so, we can see that 'A <==> B' is the
same as '(A ==> B) and (B ==> A)'
Feb 18 14:54:44 <mu>    :D
Feb 18 14:54:51 <qwertydawom>    can you see it?
Feb 18 14:54:55 <Ch4r>    yes sir
Feb 18 14:54:56 <mu>    yes i can
Feb 18 14:55:45 <qwertydawom>    Mu, try and build the truth table ;)
Feb 18 14:55:53 <mu>    ugh
Feb 18 14:55:55 <qwertydawom>    what if both A and B are true?
Feb 18 14:56:14 <mu>    hang on
Feb 18 14:56:18 <Narada>    Isn't that what you were just talking about?
Feb 18 14:56:32 <Narada>    if A and B are true, A=B?
Feb 18 14:56:55 <qwertydawom>    well, equivalent is not 'equal'
Feb 18 14:57:08 <Narada>    um... it isn't?
Feb 18 14:57:09 <qwertydawom>    if A and B are true, then A <==> B is
true.
Feb 18 14:57:55 <qwertydawom>    for example : x = 1 <==> x+1 = 2
Feb 18 14:58:17 <Narada>    but I thought that when A <==> B A=B?
Feb 18 14:58:28 <qwertydawom>    that's wrong :)
Feb 18 14:58:37 <qwertydawom>    for example :
Feb 18 14:58:40 <Narada>    shit on my face.
Feb 18 14:58:43 <D31337>    ahah
Feb 18 14:58:54 <qwertydawom>    I take my umbrella if and only if it
rains.
Feb 18 14:59:13 <mu>    if it rains, you take your umbrella
Feb 18 14:59:26 <qwertydawom>    yes, but also, in this case :
Feb 18 14:59:40 <qwertydawom>    If I take my umbrella, it means it rains.
:)
Feb 18 14:59:47 <mu>    if it doesn't rain, you don't take your umbrella
Feb 18 14:59:59 <qwertydawom>    yes
Feb 18 15:00:04 <Ch4r>    "If I take my umbrella it means it rains" <--
and vice versa
Feb 18 15:00:14 <mu>    so that's equivalent but not the same
Feb 18 15:00:19 <Narada>    Are A and B umbrella and rain?
Feb 18 15:00:24 <mu>    or, congruency
Feb 18 15:00:29 <Ch4r>    Narada: yeah
Feb 18 15:00:35 <mu>    a is 'if it rains'
Feb 18 15:00:53 <mu>    b is 'i take my umbrella'
Feb 18 15:01:02 <Narada>    so if B==true, A==true.
Feb 18 15:01:07 <mu>    right
Feb 18 15:01:13 <Ch4r>    and if A == true, B == true
Feb 18 15:01:21 <qwertydawom>    so, now, are you able to build the truth
table?
Feb 18 15:01:35 <qwertydawom>    A and B are true : A <==> B is ... ?
Feb 18 15:01:35 <Narada>    So they are equivilant because they are both
true, but they are not equal because one is an umbrella and the other is
rain?
Feb 18 15:01:38 <mu>    gimme the example i'm to use, again, pls
Feb 18 15:01:44 <mu>    narada: yes
Feb 18 15:01:57 <mu>    no
Feb 18 15:01:59 <mu>    ugh
Feb 18 15:02:05 <Ch4r>    Narada: correct.
Feb 18 15:02:13 <mu>    qwerty what example am i to use?
Feb 18 15:02:16 <qwertydawom>    yes, mu, your answer was good ;)
Feb 18 15:02:30 <qwertydawom>    choose any example that's convenient to
you
Feb 18 15:03:27 <mu>    a<==>b and b<==>a
Feb 18 15:03:32 <qwertydawom>    Narada? want to try?
Feb 18 15:03:32 <mu>    ?
Feb 18 15:03:37 <riftor>    yes
Feb 18 15:03:40 <Narada>    try what?
Feb 18 15:03:42 <mu>    yes?
Feb 18 15:03:44 <mu>    to me?!
Feb 18 15:03:50 <riftor>    a<=>b and b<=>a mu
Feb 18 15:03:52 <riftor>    you are correct
Feb 18 15:03:57 <mu>    xD
Feb 18 15:04:00 <mu>    woohoo!
Feb 18 15:04:17 <riftor>    a<=>b is true when a is true and b is true, or
when a is false and b is false
Feb 18 15:04:22 <riftor>    it can also be said that
Feb 18 15:04:22 <riftor>    if
Feb 18 15:04:29 <riftor>    a=>b and b=>a that a<=>b
Feb 18 15:04:37 <mu>    ok
Feb 18 15:04:40 <mu>    i got it
Feb 18 15:04:41 <riftor>    if you write down the truth tables for this
you will see why :)
Feb 18 15:04:47 <riftor>    always go for the truth tables
Feb 18 15:04:52 <mu>    truth tables mess with me
Feb 18 15:04:54 <mu>    <_<
Feb 18 15:04:55 <riftor>    it is a great way to check the operation of
something
Feb 18 15:04:58 <mu>    ok
Feb 18 15:05:00 <riftor>    okay, well how do you do it?
Feb 18 15:05:10 <mu>    hrm, in english first
Feb 18 15:05:16 <mu>    then in symbols :P
Feb 18 15:05:17 <riftor>    i find the best way is to construct all the
possible combinations of inputs
Feb 18 15:05:18 <Narada>    I can do truth tables with the last thing, but
this one is iffy.
Feb 18 15:05:27 <riftor>    what are you trying to do now?
Feb 18 15:05:38 <mu>    me or narada?
Feb 18 15:05:54 <riftor>    narada
Feb 18 15:06:05 <Narada>    The table for <==>
Feb 18 15:06:11 <riftor>    okay
Feb 18 15:06:14 <Narada>    Are there only two possibilities?
Feb 18 15:06:24 <mu>    i think 3
Feb 18 15:06:29 <riftor>    well a good place to start as i was saying is
to construct two columns for the possible inputs
Feb 18 15:06:39 <mu>    cus you can flip a and b and the statement stays
true
Feb 18 15:06:49 <riftor>    A B
Feb 18 15:06:49 <riftor>    0 0
Feb 18 15:06:49 <riftor>    0 1
Feb 18 15:06:49 <riftor>    1 0
Feb 18 15:06:49 <riftor>    1 1
Feb 18 15:06:52 <qwertydawom>    Well, like my master d31337 would say
'breath in', 'breath out', don't be stressed, you'll see it'll come easily
:)
Feb 18 15:07:02 <D31337>    Fool, speak for your own damn self! But, yeah,
your right, I'd prob. say something like that.
Feb 18 15:07:05 <Narada>    Well there's if A and B are true then it's
true, and if A and B are false then it's true, but what else?
Feb 18 15:07:16 <riftor>    see how i have sequentially gone through, and
chosen all the possible inputs
Feb 18 15:07:22 <riftor>    we need to define what is false too :)
Feb 18 15:07:23 <Narada>    I know, that's how I do it.
Feb 18 15:07:29 <mu>    see
Feb 18 15:07:39 <Narada>    So for false is it A <==< B?
Feb 18 15:07:40 <mu>    that's what i can not do without lots of
hand-holding
Feb 18 15:07:48 <Narada>    Or A >==> B?
Feb 18 15:07:51 <mu>    nuh uh
Feb 18 15:07:55 <mu>    it's uhm
Feb 18 15:07:58 <Narada>    fudge.
Feb 18 15:07:59 <Ch4r>    Narada: no. It's still <==>. It just evaluates
to false
Feb 18 15:08:30 <Narada>    How the fuck can it be true and false at the
same time if you're not talking quanta?
Feb 18 15:08:34 <Narada>    I'm going to fucking stab myself.
Feb 18 15:08:41 <Ch4r>    hmm
Feb 18 15:08:42 <riftor>    A B A<=>B  A=>B B=>A (A=>B)and(B=>A)
Feb 18 15:08:42 <riftor>    0 0   1     1     1     1
Feb 18 15:08:42 <riftor>    0 1   0     1     0     0
Feb 18 15:08:42 <riftor>    1 0   0     0     1     0
Feb 18 15:08:42 <riftor>    1 1   1      1     1     1
Feb 18 15:08:48 <Ch4r>    you're trying to make it too complication
Narada...
Feb 18 15:09:05 <riftor>    ack formatting went out the window there, look
at that in a fixed size font
Feb 18 15:09:11 <Ch4r>    A <==> B is just used to represent whether A and
B are equivalent
Feb 18 15:09:17 <Ch4r>    if they are, it's true. If they aren't, it's
false
Feb 18 15:09:19 <mu>    so
Feb 18 15:09:21 <Ch4r>    it's still <==>
Feb 18 15:09:25 <Narada>    ah
Feb 18 15:09:26 <mu>    it's still boolean logic?
Feb 18 15:09:27 <Ch4r>    but one way it's true, the other way it's false
Feb 18 15:09:39 <riftor>    yep
Feb 18 15:09:43 <mu>    :D
Feb 18 15:10:06 <riftor>    if we look at it in terms of if statments
Feb 18 15:10:08 <riftor>    lets say we have
Feb 18 15:10:12 <riftor>    if P then A else B
Feb 18 15:10:20 <Narada>    ok, i'm going to try to write down a table, i
think i got it
Feb 18 15:10:35 <Ch4r>    Narada: w00t :P
Feb 18 15:10:35 <riftor>    so if P is true, execute A, if P is false,
don't execute A (execute B)
Feb 18 15:11:08 <riftor>    so lets say that we have some boolean variable
Q which is "A is executed"
Feb 18 15:11:23 <riftor>    so if Q is true, A is being executed, if Q is
false A is not being executed
Feb 18 15:11:59 <Narada>    A   B   AB
Feb 18 15:12:01 <Narada>    0   1    0
Feb 18 15:12:02 <Narada>    1   0    0
Feb 18 15:12:04 <Narada>    1   1    1
Feb 18 15:12:05 <Narada>    0   0    1
Feb 18 15:12:07 <Narada>    How's that?
Feb 18 15:12:10 <Ch4r>    nice
Feb 18 15:12:25 <riftor>    so P<=>Q is saying, that the only true states
are when P is true and Q is true (A is executing) or if P is false, Q
is false (A is not executing)
Feb 18 15:12:40 <riftor>    we shoud never get into the position where P
is true, but A is not executing
Feb 18 15:12:45 <riftor>    or when P is false, and A executes
Feb 18 15:12:55 <riftor>    so they are "false" states in the equivalence
Feb 18 15:12:56 <riftor>    aye?
Feb 18 15:13:05 <Ch4r>    aye! :P
Feb 18 15:13:18 <riftor>    good work narada
Feb 18 15:13:24 <Narada>    thanks :)
Feb 18 15:13:27 <riftor>    although its common practise to write down the
inputs in binary order
Feb 18 15:13:33 <riftor>    so in binary we count 00, 01, 10, 11
Feb 18 15:13:38 <riftor>    with two columns
Feb 18 15:13:39 <mu>    back, nd i could never do that like narada did :(
Feb 18 15:13:39 <Narada>    yeah i know, i was rushing it :P
Feb 18 15:13:46 <Ch4r>    hmm
Feb 18 15:13:47 <riftor>    so its common to construct the inputs in that
order
Feb 18 15:14:01 <Ch4r>    so, I guess when mu gets back we can continue
Feb 18 15:14:05 <Narada>    You're as bad as my teacher riftor. ;)

Feb 18 15:14:53 <Ch4r>    is true equivalent to true, mu?
Feb 18 15:15:03 <mu>    yeah, so 1=1
Feb 18 15:15:07 <Ch4r>    <==>
Feb 18 15:15:09 <Ch4r>    not =
Feb 18 15:15:13 <mu>    oh yeah
Feb 18 15:15:16 <Ch4r>    mu: and is true equivalent to false?
Feb 18 15:15:16 <mu>    <_<
Feb 18 15:15:32 <mu>    no so 0<==>1 is 0
Feb 18 15:15:36 <Ch4r>    right
Feb 18 15:15:40 <Ch4r>    and is false equivalent to false?
Feb 18 15:15:54 <mu>    yes so 0<==>0 is 1
Feb 18 15:16:01 <qwertydawom>    you see, you did it ;)�
- Hide quoted text -

Feb 18 15:16:06 <mu>    lol
Feb 18 15:16:07 <riftor>    well done
Feb 18 15:16:11 <Ch4r>    right, and I think you can figure out that false
<==> true is 0 <==> 1, which is 0
Feb 18 15:16:15 <mu>    but not in a table with a and b
Feb 18 15:16:16 <Ch4r>    so much for "I couldn't do it"
Feb 18 15:16:26 <Ch4r>    meh
Feb 18 15:16:29 <mu>    lol
Feb 18 15:16:31 <mu>    ok
Feb 18 15:16:42 <riftor>    its not that much different in a true table
Feb 18 15:16:42 <mu>    i'm ready when you are, thanks for waiting and
coaching
Feb 18 15:16:49 <qwertydawom>    ok! :)
Feb 18 15:16:52 <mu>    yeah, i shuold practice
Feb 18 15:16:57 <riftor>    A and B are variables that could be 0 or 1
Feb 18 15:16:58 <mu>    should*
Feb 18 15:17:06 <mu>    oh!
Feb 18 15:17:14 <Ch4r>    *click*
Feb 18 15:17:14 <riftor>    ?
Feb 18 15:17:16 <mu>    duh
Feb 18 15:17:18 <mu>    i got it
Feb 18 15:17:19 <riftor>    get it?
Feb 18 15:17:20 <riftor>    :D
Feb 18 15:17:21 <Ch4r>    lol
Feb 18 15:17:21 <riftor>    excellent
Feb 18 15:17:22 <mu>    yeah
Feb 18 15:17:24 <mu>    ty
Feb 18 15:17:28 <Ch4r>    ok, let's go on
Feb 18 15:17:32 <qwertydawom>    ok!
Feb 18 15:17:44 <riftor>    cool, so we all got conjunction, disjunction,
negation, implication and equivalence in our heads?
Feb 18 15:17:45 <qwertydawom>    so, now, mu, you're going to show us your
knowledge ;)
Feb 18 15:17:50 <riftor>    (and, or, not, => and <=>)
Feb 18 15:17:57 <Ch4r>    mhm riftor
Feb 18 15:18:31 <mu>    uhm
Feb 18 15:18:33 <qwertydawom>    so, mu, tell us, what's a 'tautology'?
Feb 18 15:18:34 <mu>    oh crap
Feb 18 15:18:40 <mu>    nfc
Feb 18 15:19:37 <mu>    uhm
Feb 18 15:20:06 <mu>    like, where you make a statement, and another
statement that is equivalent?
Feb 18 15:20:45 <mu>    like, A<==>B and B<==>A?
Feb 18 15:21:08 <qwertydawom>    well, it is said to be a 'tautology' when
a compound statement has all its truth values.. true. :)
Feb 18 15:21:25 <mu>    ok so both have to evaluate to true
Feb 18 15:21:32 <mu>    is what you mean?
Feb 18 15:21:45 <qwertydawom>    yes
Feb 18 15:21:45 <Narada>    Hey, a bit off topic, but did you guys go over
NAND and NOR logic gates before I got here?
Feb 18 15:21:51 <Ch4r>    no
Feb 18 15:21:55 <Ch4r>    now shut up
Feb 18 15:21:56 <qwertydawom>    no
Feb 18 15:21:57 <Ch4r>    ;)
Feb 18 15:22:04 <Narada>    yes massa, don't beat me
Feb 18 15:22:08 <Ch4r>    lol
Feb 18 15:22:09 <D31337>    ahah
Feb 18 15:22:18 <Ch4r>    qwertydawom, tell us more about tautologies ;)
Feb 18 15:23:24 <qwertydawom>    well, for example, when you say 'it was a
really HELPFUL ASSISTANCE', it is clearly a tautology :)
Feb 18 15:23:59 <qwertydawom>    mu, does that make it clear for you?
Feb 18 15:24:07 <mu>    yes
Feb 18 15:24:13 <qwertydawom>    ok :)
Feb 18 15:24:15 <mu>    or like saying
Feb 18 15:24:26 <qwertydawom>    yes, go on :)
Feb 18 15:24:29 <mu>    "very true" since very's etymology means true
Feb 18 15:24:36 <qwertydawom>    indeed :)
Feb 18 15:24:42 <mu>    or verily, to use biblical terms
Feb 18 15:25:09 <qwertydawom>    or, for example, when you say 'the HIV
virus', it's also a tautology since 'HIV' already contains 'virus'.
Feb 18 15:26:00 <qwertydawom>    or, for our phreaking master d31337, a
"pin number" is also a tautology ;)
Feb 18 15:26:07 <D31337>    Qwerty, now you must learn to speak for your
own self! Sheesh!
Feb 18 15:26:08 <mu>    xD
Feb 18 15:26:14 <D31337>    However, you are right once again, that's
precisely what I was about to type.
Feb 18 15:26:18 <mu>    he is, but speaking TO you
Feb 18 15:27:34 *    irc.binaryuniverse.net sets mode +m #lecture
Feb 18 15:27:47 <qwertydawom>    so, now, we define the 'contradiction' to
be the negation of the 'tautology'.
Feb 18 15:28:13 <qwertydawom>    I think there's no need to explain what a
contradiction is ;)
Feb 18 15:28:16 *    qwertydawom sets mode -m #lecture
Feb 18 15:28:56 <mu>    no but lets do an example..not me!
Feb 18 15:29:26 <mu>    mu's smart in maths and logics....NOT!
Feb 18 15:29:30 <mu>    is a contradiction
Feb 18 15:29:50 <qwertydawom>    :)
Feb 18 15:30:16 <mu>    hrm, so this is where i need the symbols
Feb 18 15:30:27 <qwertydawom>    yes, and now, from what we've learnt so
far, we'll be able to re-introduce "De Morgan"
Feb 18 15:30:49 <qwertydawom>    I will state De Morgan's law :
Feb 18 15:30:54 *    D31337 has quit (Quit: Pheer!)
Feb 18 15:31:34 <qwertydawom>    not (A and B) <==> not A or not B
Feb 18 15:31:45 <qwertydawom>    and
Feb 18 15:31:56 <qwertydawom>    not (A or B) <==> not A and not B
Feb 18 15:32:26 <qwertydawom>    can you get these laws?
Feb 18 15:32:38 <mu>    yeah
Feb 18 15:32:59 <Ch4r>    yup
Feb 18 15:33:02 <qwertydawom>    alright :)
Feb 18 15:33:47 <qwertydawom>    so, these laws end tonight's logic