Difference between revisions of "Talk:Logical graph"

MyWikiBiz, Author Your Legacy — Saturday November 23, 2024
Jump to navigationJump to search
(→‎Discussion: move set up line to top)
(→‎Logical Equivalence Problem: sub[@/O] as root node marker)
Line 86: Line 86:
 
           o
 
           o
 
           |
 
           |
           O
+
           @
 
</pre>
 
</pre>
  
Line 95: Line 95:
 
<pre>
 
<pre>
 
         x y
 
         x y
           O
+
           @
 
</pre>
 
</pre>
  
Line 104: Line 104:
 
<pre>
 
<pre>
 
         x y z
 
         x y z
           O
+
           @
 
</pre>
 
</pre>
  
Line 119: Line 119:
 
           o
 
           o
 
           |
 
           |
           O
+
           @
 
</pre>
 
</pre>
  
Line 132: Line 132:
 
           o
 
           o
 
           |
 
           |
           O
+
           @
 
</pre>
 
</pre>
  
Line 146: Line 146:
 
         x o
 
         x o
 
           |
 
           |
           O
+
           @
 
</pre>
 
</pre>
  
Line 158: Line 158:
 
       x o  o y
 
       x o  o y
 
         \ /
 
         \ /
           O
+
           @
 
</pre>
 
</pre>
  
Line 170: Line 170:
 
           o              p o  o--o q
 
           o              p o  o--o q
 
           |                  \ /
 
           |                  \ /
           O         =        O
+
           @         =        @
  
 
( (p (q)) (q (p)) ) = (p ( (q) )) ((p)(q))
 
( (p (q)) (q (p)) ) = (p ( (q) )) ((p)(q))
 
</pre>
 
</pre>

Revision as of 06:44, 3 December 2008

Notes & Queries

Place for Discussion


\(\ldots\)

Logical Equivalence Problem

Problem

Problem posted by Mike1234 on the Discrete Math List at the Math Forum.

  • Required to show that \(\lnot (p \Leftrightarrow q)\) is equivalent to \((\lnot q) \Leftrightarrow p.\)

Solution

Solution posted by Jon Awbrey, proceeding by way of logical graphs.

In logical graphs, the required equivalence looks like this:

      q o   o p           q o
        |   |               |
      p o   o q             o   o p
         \ /                |   |
          o               p o   o--o q
          |                  \ / 
          @         =         @

We have a theorem that says:

        y o                xy o
          |                   |
        x @        =        x @

See Logical Graph : C2. Generation Theorem.

Applying this twice to the left hand side of the required equation, we get:

      q o   o p          pq o   o pq
        |   |               |   |
      p o   o q           p o   o q
         \ /                 \ /
          o                   o
          |                   |
          @         =         @

By collection, the reverse of distribution, we get:

          p   q
          o   o
       pq  \ / 
        o   o
         \ /
          @

But this is the same result that we get from one application of double negation to the right hand side of the required equation.

QED

Discussion

Back to the initial problem:

  • Show that \(\lnot (p \Leftrightarrow q)\) is equivalent to \((\lnot q) \Leftrightarrow p.\)

We can translate this into logical graphs by supposing that we have to express everything in terms of negation and conjunction, using parentheses for negation and simple concatenation for conjunction. In this way of assigning logical meaning to graphical forms — for historical reasons called the "existential interpretation" of logical graphs — basic logical operations are given the following expressions:

The negation \(\lnot x\) is written \((x).\!\)

This corresponds to the logical graph:

          x
          o
          |
          @

The conjunction \(x \land y\) is written \(x y.\!\)

This corresponds to the logical graph:

         x y
          @

The conjunction \(x \land y \land z\) is written \(x y z.\!\)

This corresponds to the logical graph:

        x y z
          @

And so on.

The disjunction \(x \lor y\) is written \(((x)(y)).\!\)

This corresponds to the logical graph:

        x   y
        o   o
         \ /
          o
          |
          @

The disjunction \(x \lor y \lor z\) is written \(((x)(y)(z)).\!\)

This corresponds to the logical graph:

        x y z
        o o o
         \|/
          o
          |
          @

And so on.

The implication \(x \Rightarrow y\) is written \((x (y)).\!\) Reading the latter as "not \(x\!\) without \(y\!\)" helps to recall its implicational sense.

This corresponds to the logical graph:

        y o
          |
        x o
          |
          @

Thus, the equivalence \(x \Leftrightarrow y\) has to be written somewhat inefficiently as a conjunction of two implications\[(x (y)) (y (x)).\!\]

This corresponds to the logical graph:

      y o   o x
        |   |
      x o   o y
         \ /
          @

Putting all the pieces together, showing that \(\lnot (p \Leftrightarrow q)\) is equivalent to \((\lnot q) \Leftrightarrow p\) amounts to proving the following equation, expressed in the forms of logical graphs and parse strings, respectively:

      q o   o p           q o
        |   |               |
      p o   o q             o   o p
         \ /                |   |
          o               p o   o--o q
          |                  \ /
          @         =         @

( (p (q)) (q (p)) ) = (p ( (q) )) ((p)(q))