LMD Async Tutoring

In the light of what I learned from Eternity’s approach, I re-approached the problem of converting OR to AND but without using truth tables except to check my answers. My previous answer, while correct, wasn’t as simple as it could be, and it was arrived at by manipulating truth tables, and not trying to understand AND and OR conceptually in terms of eachother.

I started by stating what OR is english:

OR = True if any input is true

That meant I could represent it like this:

(A^~B)v(~A^B)v(A^B)

i.e one input true, the other input true, or both true. The expression specifies all the input cases that will output true, and ORs them together. But obviously I had to use OR for that. So that wouldn’t work.

But OR also means:

OR = False if both inputs are false.

OR only outputs false in one input scenario. So if I negate that input scenario I get all the true scenarios:

~(~A^~B)

Which means in english, true if it’s not the case that both inputs are false, which is OR! So I think this is De Morgan’s first law.


Then doing the same thing for AND:

AND = true if both inputs are true and false when any inputs are false. i.e false if A is false or B is false or both

AND is only true in one input scenario, and that’s when neither A or B are false. So:

~(~Av~B)

Which means, true if it’s not the case that either A or B or both are false.

So I think this is De Morgan’s second law.

1 Like