Document History - Last Updated February 25th, 2006

The Multiple Natures Conjecture

This paper suggests that a quantum universe can be modeled as a discrete system of interacting particles by an algorithm. The only two postulates of the conjecture, mind and measurement, lead to a new method of predicting measurements from the model. The predictions are conjectured to be incomplete and varying with motion despite the algorithm computing precise values. The conjecture is explained in two parts, Newton's physics and modern physics.

Newton's physics

The following computer algorithm attempts to model three objects in Newtonian inertia and gravity.

The first has a mass of 20kg, is located at 0,0,0, and is moving at sqrt(2) m/s: 1 along the x-axis and 1 along the y-axis.

The second has a mass of 5kg, is located at 24,24,0, and is at rest.

The last has a mass of 20kg, is located at 76,20,0, and is moving at sqrt(2) m/s: -1 along the x-axis and 1 along the y-axis.

* Set the initial conditions =======================================

* The parameters are X, Y, Z, dX, dY, dZ, and mass
local aObjects[3]
aObjects[1] = create("Matter", 0, 0, 0, 1, 1, 0, 20)
aObjects[2] = create("Matter", 24, 24, 0, 0, 0, 0, 5)
aObjects[3] = create("Matter", 76, 20, 0, -1, 1, 0, 20)
t = 0


* The laws of motion ==============================================

do while .t.

   * Look at every object
   for each oP in aObjects

      * In motion stays in motion
      * At rest stays at rest
      oP.X   = oP.X  +  oP.dX
      oP.Y   = oP.Y  +  oP.dY
      oP.Z   = oP.Z  +  oP.dZ

      * Look at every other object
      for each oP2 in aObjects
         if oP <> oP2

            * Find its distance
            nX = oP.X - oP2.X
            nY = oP.Y - oP2.Y
            nZ = oP.Z - oP2.Z
            nD = SQRT( nX^2  +  nY^2  +  nZ^2 )

            * See if we rammed into it
            if  nD < 1
            
               * If so, swap momenta
               nMX  =  oP.Mass  *  oP.dX
               nMY  =  oP.Mass  *  oP.dY
               nMZ  =  oP.Mass  *  oP.dZ
               
               oP.dX  =  (oP2.Mass  *  oP2.dX) / oP.Mass
               oP.dY  =  (oP2.Mass  *  oP2.dY) / oP.Mass
               oP.dZ  =  (oP2.Mass  *  oP2.dZ) / oP.Mass

               oP2.dX  =  nMX  /  oP2.Mass
               oP2.dY  =  nMY  /  oP2.Mass
               oP2.dZ  =  nMZ  /  oP2.Mass

            else

               * Find the force of gravity, then accelerate
               nG = 6.67300 * 10^-11 * ((oP.Mass * oP2.Mass) / nD^2)
               nG = nG / oP2.Mass

               nX  = nX * (nG  / nD)
               nY  = nY * (nG  / nD)
               nZ  = nZ * (nG  / nD)

               oP2.dX = oP2.dX + nX
               oP2.dY = oP2.dY + nY
               oP2.dZ = oP2.dZ + nZ

            endif
         endif
      endfor
   endfor

   t = t + 1
   if t = 40
      exit
   endif
enddo



* Print the final state of the model ===============================

for ni = 1 to alen(aObjects)
   ?"Object " + tran(ni)
   ?"X = " + tran(aObjects[ni].X) + space(5) + ;
      "Y = " + tran(aObjects[ni].Y) + space(5) + ;
      "Z = " + tran(aObjects[ni].Z)
   ?"dX = " + tran(aObjects[ni].dX) + space(5) + ;
      "dY = " + tran(aObjects[ni].dY) + space(5) + ;
      "dZ = " + tran(aObjects[ni].dZ)
endfor



* Object Structure for Matter ======================================

define class Matter as Custom
   X = 0
   Y = 0
   Z = 0
   dX = 0
   dY = 0
   dZ = 0
   Mass = 0

   function init
      lparameters x, y, z, dx, dy, dz, mass
      with this
         .X = x
         .Y = y
         .Z = z
         .dX = dx
         .dY = dy
         .dZ = dz
         .Mass = mass
      endwith
   return

enddefine

* End of File ======================================================

Pretty straightforward. No new physics there.

According to Newton's physics and the algorithm, the first ball goes for 24 seconds before it strikes the second ball, and imparts its momentum in the same direction. The second and third balls later collide, sending the second ball in the opposite direction along X, and the third ball along the same direction with the same momentum as the first ball, because they had equal masses.

Here are the results of the program after 40 seconds (each iteration is taken to be one second):

Object 1
   X = 23.999999997856310000    Y = 23.999999997742380000    Z = 0
  dX = -0.000000000162605000   dY = -0.000000000165153000   dZ = 0
Object 2
   X = 4.000000007280875000    Y = 92.000000006994780000    Z = 0
  dX = -3.999999999608698000   dY = 4.000000000376372000   dZ = 0
Object 3
   X = 60.000000001978650000    Y = 60.000000002269430000    Z = 0
  dX = 1.000000000180668000   dY = 1.000000000195084000   dZ = 0


The decimal point is caused by gravity. If the effects of gravity are ignored, (nG = 0  instead of using the Universal Law of Gravitation and F=ma to calculate it) then the result is:

Object 1
     X = 24    Y = 24    Z = 0
    dX = 0    dY = 0    dZ = 0
Object 2
     X = 4    Y = 92    Z = 0
    dX = -4   dY = 4   dZ = 0
Object 3
     X = 60    Y = 60    Z = 0
    dX = 1    dY = 1    dZ = 0


You can experiment more with this program using the minimal user interface for Microsoft Windows I created.

    http://www.cosmik-debris.net/science/universe.exe
    http://www.cosmik-debris.net/science/vfp8.exe (required runtime file - 10mb)

Using the user interface, you can change the initial conditions and laws any way you'd like, and visualize the system any way you want. For example, if you run the program and give the second object a large mass like this:

release aObjects
public aObjects[3]

* The parameters are X, Y, Z, dX, dY, dZ, mass, color
aObjects[1] = create("Matter", 50+0, 50+0, 0, 1, 1, 0, 20, 0)
aObjects[2] = create("Matter", 50+24, 50+24, 0, 0, 0, 0, 2*10^12, 255)
aObjects[3] = create("Matter", 50+76, 50+20, 0, -1, 1, 0, 20, 0)


you'll see object 3 go into orbit around it.

But not all of the algorithm’s results are correct; for many reasons. As you may already know, or be able to detect from the rules of this model, a discrete time step means that an object at 0,0 traveling along the x-axis at 1 m/s will be at 0,0 during one iteration of the program and 1,0 at the next. Nowhere, and no when, in between.

That means initial conditions that setup a collision in between seconds, such as:

release aObjects
public aObjects[2]

* The parameters are X, Y, Z, dX, dY, dZ, mass, color
aObjects[1] = create("Matter", 31, 0, 0, 0, 2, 0, 20, 0)
aObjects[2] = create("Matter", 0, 31, 0, 2, 0, 0, 5, 255)


you would expect a collision at 15.5 seconds, but it will not occur in the model.

So this is a failed attempt at Newton's universe. Things just act goofy. Objects seemingly traveling directly through each other, and other objects acting as if they'd collided when they actually haven't. Plain silliness.

It would take a considerable amount of time and effort to adjust this model to make it more accurate at predicting Newtonian mechanics.

But Newtonian mechanics is an old theory.

Modern physics

The algorithm presented below is not quantum mechanics. Re-doing the algorithm for quantum mechanics will take the combined time and effort of many researchers from different fields. But for the purpose of explaining this conjecture, a crude proto-type can be used as a reference.

* Set the initial conditions =======================================

* The parameters are X, Y, Z, dX, dY, dZ
local aObjects[5]
aObjects[1] = create("electron",  0, 5, 0, 1, 0, 0)
aObjects[2] = create("proton",    0, 10, 0, 5, 0, 0)
aObjects[3] = create("neutron",   0, 15, 0, 5, 0, 0)
aObjects[4] = create("photon",    0, 20, 0, 10, 0, 0)
aObjects[5] = create("graviton", 0, 25, 0, 100, 0, 0)

* The laws of motion ==============================================

do while .T.

   * Look at every object
   for each oP in aObjects

      * In motion stays in motion
      * At rest stays at rest
      oP.X   = oP.X  +  oP.dX
      oP.Y   = oP.Y  +  oP.dY
      oP.Z   = oP.Z  +  oP.dZ

   endfor
enddo

* Object Structures for Matter ======================================

define class electron as matter
enddefine

define class proton as matter
enddefine

define class neutron as matter
enddefine

define class photon as matter
enddefine

define class graviton as matter
enddefine

define class Matter as Custom
   X = 0
   Y = 0
   Z = 0
   dX = 0
   dY = 0
   dZ = 0

   function init
      lparameters x, y, z, dx, dy, dz
      with this
         .X = x
         .Y = y
         .Z = z
         .dX = dx
         .dY = dy
         .dZ = dz
      endwith
   return

enddefine

* End of File ======================================================


This shows five different particles and bosons traveling in a straight line. No interactions are occurring. It isn't very quantum mechanics like right now.

But the different ways of describing the motion and interactions of the particles is an endless field of research. Those are problems that have technical, yet attainable solutions.

What doesn't appear so attainable is resolving this model's incompatibility with the Uncertainty Principle.

Here is my suggestion:

   Mind Postulate:
      The mind is a self-referential axiomatic system that exists and operates according to the initial conditions and laws of the universe

   Measurement Postulate:
      Measurements, such as distance, duration, and mass, are statements of the mind

If we examine the algorithm in light of these postulates, measurements do not exist in the model.

There is no sub-system in the model that can observe the model to produce a measurement. Therefore, according to the postulates, the model doesn't predict any measurements. By the way of the new postulates, X, Y, and Z don't represent measurements of position.

Therefore it can't be falsified by the Uncertainty Principle. For the same reasons, the model is not falsified by special relativity for failing to predict time dilation. In fact, as it sits, it is an unfalsifiable hypothesis. It becomes a falsifiable hypothesis if measurements can be predicted from it.

To attain measurements from the model consistently with the postulates, first the interactions necessary to model an atom must be implemented. Initially, it appears a computer experimenter could get by with the electromagnetic force and the strong force to hold the nucleons and electrons together.

The ability to make atoms with the algorithm should lead the way to the simulation of molecules and eventually more complex physical objects, even though the underlying algorithm is merely computing the motion and interaction of elementary particles.

The goal of building molecules is to build a system that makes measurements of its world, like a neural network.

Such capability would allow a researcher to model a universe that is able to measure itself using instruments that exist and operate according to the models initial conditions and laws.

Once there is an algorithm that models atoms and molecules, the first experiment to perform with the algorithm should be the double slit experiment. While the computer scientist executing the algorithm will clearly know the slit through which the particle passes, an observer inside the algorithm will not. The measurements of the internal observer are what need to correspond to what is known in a real-world experiment. It would be interesting to see what happens.

Conjecture

The Multiple Natures Conjecture is: by describing a universe whose laws and initial conditions lead to an instrument which makes its own description of the universe, accurate predictions for quantum and relativistic phenomena can be extracted from the subjective ontology.

Metaphysics and History

This conjecture describes an absolute universe with absolute matter, absolute space, and absolute time, all represented concretely by the variables of the algorithm. In addition to absolute nature, in every mind exist the concepts and measurements of relative matter, relative space, and relative time, a combination of knowledge and observation that makes a subjective reality called relative nature.

This is partially like Newton and Einstein's view of the universe, but much more like Leibniz's, whose monads are absolute matter. The duality of matter was the component missing from Newton and Einstein's theoretical universes.

Because it follows from Leibniz the Multiple Natures Conjecture is not alone in the scientific community. While few and scattered, adherents to digital physics, digital philosophy, process physics and anti-relativity are around [1].

This conjecture is anti-relativity because it cannot support space-time, nor does it have too.

Space-time claims that objects move around in four geometrical dimensions, while in the algorithm the idea of time as a dimension is a little less easy to conceptualize.

Absolute time can be said to exist as the iterations of the algorithm; it exists as a process. And relative time isn't modeled as a continuum either. It exists as one idea in a mental model of the world, though it can be said that in that mental world it could be a continuum.

This conjecture does not have to support space-time for two reasons. One, its very proposal is that time dilation and length contraction may be predicted using an alternative method. And two the null result of the Michelson and Morley experiment can be achieved without a constant speed of light. Unlike relativity where light is claimed to move with constant speed relative to an observer, and unlike process physics where light is claimed to move with constant speed relative to space, the Multiple Natures Conjecture doesn't say anything about how light can and cannot move in a model based on it. There is no special medium for light, so no aether drift is necessarily predicted.

Following the lack of space-time, there appears to be no necessary universal speed limit, though an instrument may have a measurable speed limit. That opens the door for models with gravitons traveling faster than photons.

Conclusion

Before this conjecture can be fully tested, leaps in computing technology and neuroscience may need to occur. But even without a fully functioning modeled mind, experiments such as the double slit can be attempted immediately when an algorithm is created to model an atom. We can analyze the algorithm's execution while considering the measurement postulate of this conjecture to interpret the results.

I imagine that thousands of radically different models of atoms and molecules can be made, and some will be better at recreating the double slit's results than others.

So if you have the experimenting spirit, I invite you to use the programming language of your choice, or use my basic application to modify the Microsoft Visual FoxPro [2] algorithm used in this paper.

    http://www.cosmik-debris.net/science/universe.exe
    http://www.cosmik-debris.net/science/vfp8.exe (required runtime file - 10mb)

Notes

[1] See Process physics and anti-relativity at the Wikipedia

[2] Microsoft Visual FoxPro is a programming tool for personal computers running Microsoft Windows. Visual FoxPro is available for purchase here. The Visual FoxPro language documentation is here.

If you have any comments or criticisms of this work, you can discuss them at the Wikipedia on my Talk Page.


"Imagination is more important than knowledge." -- Albert Einstein


© 2003-2006 Mike Helland
Updated February 25th, 2006