hoare logic

using repeated addition, where
a and b are any two arbitrary numbers. Prove the program is correct using Hoare logic inference
rules (precondition and post condition have been given).
{b>=0}
x := b;
z := 0;
WHILE (x!=0) {
z := z a;
x := x-1;
}
{z=a*b}
start by identifying the loop invariant then apply the Hoare logic inference rules