I am not very familiar with "heuristic", so please correct me if anything said by me is wrong.
Per my understanding, Algorithm is an automatic steps which guarantee to give a correct solution corresponding to a specific problem (and its input domain)
Heuristic is somehow a rule to guess the next step, hoping when repeating this rule a nearly-optimal solution is found.
Algorithm is proof-able, the complexity, the correctness, etc.
But I wonder how can one proof heuristic?
Indeed I wonder is "proof" a correct term / action correlate to heuristic, but how about say, proof the heuristic can give sub-optimal answer (like at most 10% worst than the optimal) for 90% out of all possible input?