Can you assume that all inputs to a Bitcoin transaction are controlled by the same person? When you are looking at a Bicoin transaction in the block chain and it has inputs from multiple addresses is it safe to assume that those addresses are all controlled by the same person/organization/wallet software?

Here is an example of a transaction with 31 different input addresses

https://blockchain.info/tx/a6bffa6208c72412399997b0c504670662e259fd5ba50128d0e2823b739bd18b

If I have definitive proof that one of those addresses is associated with someone can I infer that the other 30 are as well?
No.

In practice, it is likely, but in several more complex use cases, transactions can be jointly constructed.

For example CoinJoin implies combining both inputs and outputs from multiple people together into a single transaction to make it less obvious which outputs belong to whom.