# Following Along Async Tutoring \[Dface\]

**URL:** <https://discuss.criticalfallibilism.com/t/following-along-async-tutoring-dface/1948>\
**Category:** Other\
**Created:** [August 13, 2024, 9:12pm UTC](https://discuss.criticalfallibilism.com/t/following-along-async-tutoring-dface/1948 "2024-08-13T21:12:54Z")\
**Posts on this page:** 1\
**Showing post:** 76

<div class="post-metadata">

**Author:** ![Dface](https://discuss.criticalfallibilism.com/user_avatar/discuss.criticalfallibilism.com/dface/32/3926_2.png) [@Dface](https://discuss.criticalfallibilism.com/u/Dface)\
**Post date:** [June 22, 2025, 1:05am UTC](https://discuss.criticalfallibilism.com/t/following-along-async-tutoring-dface/1948/76 "2025-06-22T01:05:02Z")

</div>

> [@Eternity Async Tutoring](https://discuss.criticalfallibilism.com/t/eternity-async-tutoring/1932/249):
>
> try making 3 input nand, nor and xor using operators that take 2 or fewer inputs. for each one, you can stop and give up after 15-30min if it’s hard.

nand(x,y,z) = nand(and(x,y),z):

 ![Screen Shot 2025-06-21 at 4.33.38 PM](https://discuss.criticalfallibilism.com/uploads/default/original/2X/2/28f1ef9cefcc6ed05f248ad780416486e1ad07ab.png)

nor(x,y,z) = nor(or(x,y),z):

 ![Screen Shot 2025-06-21 at 4.41.21 PM](https://discuss.criticalfallibilism.com/uploads/default/original/2X/2/2d7fdcfdd93e43e35ebbd962dfe68dc9247f8a45.png)

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:

> [@Eternity Async Tutoring](https://discuss.criticalfallibilism.com/t/eternity-async-tutoring/1932/253):
>
> Can you think of a way to check if exactly two inputs are true?

yeah with and(x,y)

I read ahead further and found this:

> [@Eternity Async Tutoring](https://discuss.criticalfallibilism.com/t/eternity-async-tutoring/1932/255):
>
> The context is there are 3 inputs.
> 
> You can go through each number (0, 1, 2, 3) and try to think of a way to figure out if exactly that many inputs, out of 3, are true. Give up if you’re stuck too long for each number though.

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 see @Eternity got something similar:

> [@Eternity Async Tutoring](https://discuss.criticalfallibilism.com/t/eternity-async-tutoring/1932/260):
>
> 0 and 3 were easy.  
> For 0 you can use an “or” or “nor” gate. If OR outputs false, all the inputs are false. If NOR outputs true all inputs are false. Regardless you can judge that all three inputs were false.  
> For 3 you can use an “and” or “nand” gate. If and outputs true, that means all the inputs were true. If nand outputs false that means no input was false, they were all true. Regardless you can judge that all three inputs were true.

I like how nand and or are used to say the same thing. It’s like a way to check the answer twice.

checking if 1 input is true: or(and(x,not(y), not(z)), and(not(x), not(y), z), and(not(x), y, not(z)).  
Truth table:

 ![Screen Shot 2025-06-21 at 5.58.21 PM](https://discuss.criticalfallibilism.com/uploads/default/original/2X/7/71ebac56bea434a68809a17e0c3f9c2c65dbd143.png)

checking if 2 inputs are true: or(and(x, y, not(z), and(not(x), y, z), and(x, not(y, z))  
xor(x,y,z)

 ![Screen Shot 2025-06-21 at 6.01.52 PM](https://discuss.criticalfallibilism.com/uploads/default/original/2X/5/53ab2b1b72be4f71bb39ba18cf80cf6104407806.png)  
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).

---

_[View the full topic](https://discuss.criticalfallibilism.com/t/following-along-async-tutoring-dface/1948)._
