Talk:Logical graph

MyWikiBiz, Author Your Legacy — Saturday April 27, 2024
Revision as of 22:22, 2 December 2008 by Jon Awbrey (talk | contribs) (→‎Solution: del empty line)
Jump to navigationJump to search

Notes & Queries

Place for Discussion


\(\ldots\)

Logical Equivalence Problem

Problem

Solution

Solution posted by Jon Awbrey, working in the medium of logical graphs.

Required to show: ~(p <=> q) is equivalent to (~q) <=> p.

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

Jon Awbrey

PS. I will copy this to the Inquiry List, since I know it preserves the trees.

Discussion

o~~~~~~~~~o~~~~~~~~~o~~~~~~~~~o~~~~~~~~~o~~~~~~~~~o~~~~~~~~~o

Back to the initial problem:

* Show that ~(p <=> q) is equivalent to (~q) <=> 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 -- that is, "(x)" for "not x" --
and simple concatenation for conjunction -- "xyz" or "x y z"
for "x and y and z".

In this form of representation, for historical reasons called
the "existential interpretation" of logical graphs, we have
the following expressions for basic logical operations:

The disjunction "x or y" is written "((x)(y))".

This corresponds to the logical graph:

        x   y
        o   o
         \ /
          o
          |
          O

The disjunction "x or y or z" is written "((x)(y)(z))".

This corresponds to the logical graph:

        x y z
        o o o
         \|/
          o
          |
          O

Etc.

The implication "x => y" is written "(x (y)),
which can be read "not x without y" if that
helps to remember the form of expression.

This corresponds to the logical graph:

        y o
          |
        x o
          |
          O

Thus, the equivalence "x <=> y" has to be written somewhat
inefficiently as a conjunction of to and fro implications:
"(x (y))(y (x))".

This corresponds to the logical graph:

      y o   o x
        |   |
      x o   o y
         \ /
          O

Putting all the pieces together, the problem given
amounts to proving the following equation, expressed
in parse string and logical graph forms, respectively:

* Show that ~(p <=> q) is equivalent to (~q) <=> p

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

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

No kidding ...

o~~~~~~~~~o~~~~~~~~~o~~~~~~~~~o~~~~~~~~~o~~~~~~~~~o~~~~~~~~~o