Is there an equivalence between "does this program halt" and "is this sentence provable"? It seems, intuitively, that determining if an program halts when running on a TM should be as difficult as determining if a sentence is provable within a finite set of logical rules. Furthermore, there are as many sentences as there are program and there are as many finite set of logic rules are there are TM (there are countably infinitely many of each).

Can we interpret a universal Turing machine executing programs as equivalent, in some way, as finding the proof for all theorems for all finite set of logic rules. If a program halts on a TM then it means that the program is a theorem of some logical system, and vice-versa. 

If so, how? If not, why not?
If a Turing machine halts on a given input, then you can prove this in any reasonable propositional proof system. The idea is to list the halting sequence of configurations of the Turing machine, and prove, one by one, that these are the configurations encountered by the Turing machine when run on the given input.

In the other direction, if a sentence is provable in a reasonable proof system, then the Turing machine which goes over all proofs in the system and checks whether they prove the sentence, will halt, and its halting implies that the sentence is indeed provable in the proof system.

What this shows is that Turing machines with an oracle for the halting problem have the same power as Turing machines with a provability oracle for any reasonable proof system.