What is a loop invariant and why is it useful? | LetsGit.IT