title: Are || and ! operators sufficient to make every possible logical expression?
body: <p>The logical expression <code>( a &amp;&amp; b )</code> <em>(both <code>a</code> and <code>b</code> have boolean values)</em> can be written like <code>!(!a || !b)</code>, for example. Doesn't this mean that <code>&amp;&amp;</code> is "unneccesary"? Does this mean that <em>all</em> logical expressions can be made only using <code>||</code> and <code>!</code>? </p>