I am new to Bitcoin and this question is based on 3 assumptions that may be incorrect.
Assumption 1: If I understand correctly, the Bitcoin address is generated algorithmically independent of the network, so I should be able to create a public address and private key offline correct?
Assumption 2: I can receive funds through the network using my public address without ever having to make my private key known to anyone correct?
Assumption 3: Now when it's time to spend my funds, offline I can create a Bitcoin transaction authorizing the transfer from my address to another location and sign it with my private key entirely offline. I can then transfer that transaction to a separate computer with internet access and then publish that transaction to the Bitcoin network to be mined/verified in the blockchain?
Conclusion: If all 3 points are true then I should be able to keep my private key from the internet for it's entire life correct?