# Steelman Summary
The main problem that HM was trying to solve was, if we look at a physical object how do we know a simulation is or isn't encoded in their? This is a reasonable question to ask. Here is HM's answer:
* [Simulation](Simulation.md): an abstract set of rules and entities, instantiated and executed in some physical system.
* [Encoding](Encoding.md): the process to physically instantiate the rules of a simulation.
* Simulation is substrate independent—as long as the abstract rules are encoded properly, the medium does not matter. An infinite set of physical systems can [Encode](Encoding.md) and simulate a given set of abstract rules.
* [Decoding](Decoding.md): Instead of defining encoding, HM punts on that (which is fine). He says: if something can be *decoded* it has palpably been encoded. Thus, decoding carries all of the explanatory burden.
* He then allows for any *logically* (mathematically) possible decoding.
* Given we are looking at an arbitrary physical system (e.g. a rock), how do we know if a simulation has been encoded and instantiated, and is now running? This requires [Decoding](Decoding.md).
* This requires us to come up with an [Interpretation](Interpretation.md). From first principles it seems reasonable to allow any decoding scheme, such as a look up table. Given this, we can interpret any physical system to be a simulation of *anything*. This is the crux of his entire argument.
* A *consequence* of this is that a rock can be viewed as a conscious mind (this consequence was out of his control. You can te)
* This is the critical move: by removing explanatory content from encoding and handing it all to decoding—while allowing any mathematically possible decoding. HM guts the explanatory power of his own framework.
* HM claims: I have only made logically possible moves at every step. What could possibly be wrong with my argument?