Scott Robinson (quadhome) wrote,
Scott Robinson

I'd pay attention if I thought it was worth the time.

In an attempt to bury my cry for help, it's time to make an overly nerdy post.

The Scenario

Have you ever sat, bored, in a classroom? My mind wanders when I'm in that situation. Last Thursday, I was living the daydream in Linear Optimization. Instead of refocusing on the inaccessible presentation, I devoted a few pages of my notebook and a half hour of mental time to an exercise I have wondered about since I read Gödel, Escher, Bach:

The Problem

Is it possible to express boolean logic / zeroth-order logic using only elementary algebra?

(I define elementary algebra as the axioms providing integer numbers, addition, subtraction, multiplication, division, and exponent operators.)

The Journey

I started to work. As is typical for situations like this, I trail-blazed in as wrong of a direction as possible. I ended up developing an embarrassing framework of incomplete functions like ∧, ∨, and an generalized inequality statement... but they all depended upon a function I called "sign", but will refer to as Γ since Greek letters annoy my Father. (Whose intellectual shadow I live in.)

Definition of Γ:

Γ(x < 0) = -1
Γ(0) = 1
Γ(x > 0) = 1

I was stumped. I waited until the end of class and brought the exercise to Dr. Krishnamoorthy. He thought about it for a moment and said it wasn't likely possible due to the function's discontinuity. I pointed out that x2, |x| and other functions are discontinuous. He said he'd think on it and get back to me.

I text-messaged Sam and a few other mathematically inclined smart people a brief description of the function. Later that night, Sam IM'ed me back and told me he was "totally engrossed in this for some reason." It turn out he misunderstood my goals, and ended up deriving a set of binary boolean operators:

x ∧ y → x⋅y
x ∨ y → x + y - (x ∧ y)
¬x → 1 - x
x ⊕ y → (x ∨ y) ∧ ¬(x ∧ y)
x ⇒ {y | z} → (x ∧ y) ∨ (¬x ∧ z)

Meanwhile, I had this convenient theory of integer comparisons built on binary boolean operators. We could combine the two together, except for that pesky Γ function! Let's examine the problem a bit closer...

I see that you're a Γ, I'm pretty Γ too.

The definition of Γ is discontinuous, so it's difficult to express in a normal sense. However, we do have an if-then-else operator we could use... if, we could find a function outputting a boolean condition of whether its input is zero:

φ(x < 0) = 0
φ(0) = 1
φ(x > 0) = 0

Sam quickly came to the rescue:

φ(x) → 0|x|

Which then opens up a stub definition of Γ:

Γ(x) → φ(x) ⇒ { 0 | … }

"Number Five, I'm alive!"

The problem is obtaining the sign. Programmers might not see the subtle issue, where a properly educated fifth grader would. The trick, as the above quote implies, is short circuit evaluation. You see, in a modern programming language, only the predicate and result of an if-then-else statement are evaluated. But, in elementary algebra, the entire equation is viewed as a whole and (inevitably) simplified.

The "…" needs to be replaced with a function, σ, which will result in a sign for any given number except zero. In the case of zero, it cannot result in a division by zero. (thereby introducing the concept of infinities) Our first direction to solving this problem was to build from the unworkable x / |x| with the integer friendly (2x + 1) / |2x + 1|. However, my Father so rudely noted it wouldn't work for a certain real number. Well, duh. Fine, back to the drawing board:

σ(x < 0) = -|y|x||
σ(x) ≠ 0
σ(x > 0) = |y|x||
(where y is some consistent image of x.)

That definition at least relaxes the requirements from the above description of σ. Furthermore, we could replace the 2x + 1 with a function satisfying that definition and solve the whole problem. Insomnia strikes, and the answer comes to me:

σ(x) → x¬φ(x) / |x¬φ(x)|
Γ(x) → φ(x) ⇒ { 0 | σ(x) }

Cleaning up loose ends.

Leaving us with the clever ability to attach my earlier mentioned integer inequality logic. δ abusing the Γ function to provide a [-1, 1] result:

x δ y → Γ(y - x)
x = y → ¬|x δ y|
x > y → (x δ y) = -1
x < y → (x δ y) = 1

Remaining Flaws

As silly as this all is, I consider the overall system flawed for two reasons:

  1. It abuses the "definition" of 00.
  2. The square-root function is exponentiation to the 1/2 power - introducing a real number.

Suck it, Trebek.

Indeed? Indeed.

Tags: pretentious
  • Post a new comment


    default userpic

    Your IP address will be recorded