"The Nand function has an interesting theoretical property: Each one of the operations And, Or, and Not can be constructed from it, and it alone (e.g., x Or y= (x Nand x) Nand (y Nand y)."
How do you logically arrive at the conclusion that x Or Y = (x Nand x) Nand (y Nand y) from the canonical form of the Or function. Also I did not have any issues implementing the Not or And functions, but need some pushing in the right direction with implementing the Or function. I just cant see the logic with implementing this one. Is the approach of just brute force try and error the correct way to solve this, or am I missing some fundamentals here ?