naet. how’d you go about finding them? i remember when I did this I kinda just kept brute forcing random truth tables not really understanding what i was doing.
if they’re right, what i did is work backwards. Like for or(x,y), the outputs of the truthtable are gonna be 1, 1, 1, 0. I used mindnode and it looked like this:
Yeah? That sounds good. Sorry i didnt give a good explanation to @Eternity for how i did it. I was trying to explain how i tried to find it n i thought i could also provide pics for how to do that.
2.nor: took a while cuz I didn’t think first that nor is just not(or(x,y)). I didn’t connect that to the operators i could use(and, or, not). I think I could do better next time.
Idk what universal means but i think i know what a
could be. A set I think could be {and, or}, {or, not}, or even {and}.
I think universal means that the smaller set takes on the job of the bigger set. Since u can make “or” with “not” and “and” then I think a smaller set could be {not, and}. That set can do the same job as {and, or, not}. Theres just gonna be extra operators to work with.
For the easier version: If you use operators from the smaller set to make expressions that work the same as all the operators of the bigger set, then you got a universal set of logic operators. We already did that with xor, nor, implies, n equality.
I remember before that ET said {and, or, not} are a universal set of logic operators:
If nand can make not, and, or and not, and, or can make all other logic operators, that means nand can also make all other operators. I bet nor can make all other operators too.
To answer the first question I think a small set of universal logic operators is {nand}. Idk if “operators” in the first question means that I have to include two operators.
For the second question, I had to look up what a subset is. I think you can make the universal sets {and, not} or {or, not} from {and, not, or}.
I read ahead and found this question:
nand isn’t missing anything as a universal set cuz it can make nor too.
yeah you’re getting stuff. nand(x,x) means not x, so this one means: not both not x and not y. hopefully if you think that over you can see how that means or. or means they can’t both be false. trying to understand logical stuff in words or concepts can help too.
Couldn’t figure out xor(x,y,z) so I read ahead. I didn’t know actually that an odd number of inputs are true. So three true inputs means the output is true for xor.
I read ahead for more clues and saw this question:
yeah with and(x,y)
I read ahead further and found this:
I was thinking phrasing xor(x,y,z) in english: At least one or three inputs are true.
checking if 0 inputs are true: using only two inputs per operator, it’s nor(or(x,y),z). expression returns true if 0 inputs are true.
checking if 3 inputs are true: and(and(x,y),z). Returns true if 3 of the inputs are true.
I think I see what we’re trying to do. If we break down how we find if 1 input is true and 3 inputs are true, then maybe we can find an odd number of inputs being true for xor(x,y,z).
Assignment to explain in english how 1 or 2 inputs are true:
For 1 input: At least x has to be true and y and z are false, or z has to be true and x and y are false, or y has to be true and x and z are false. Otherwise the statement is false
For 2 input: At least x and y are true and z is false, y and z are true and x is false, or x and z are true and y is false.
or(and(x, not(y), not(z)), and(not(x), y, not(z)), and(not(x), not(y), z), and(x,y,z))
Truth table:
I think for this question the answer is or(or(or(or(and(and(x, not(y), not(z))), and(and(not(x), y), not(z))), and(and(not(x), not(y)),z)),and(x,y,z)))
Im thinking use english and {and, or, not} to say out loud what a logic operator is doing. You can say it in terms of “and”, “or”, or “not” to make any operator.