What is an unreachable code assertion
An unreachable code assertion can be placed at the default case; if it's every executed, then program is in an erroneous state. A loop invariant is an assertion that should be true at the start of a loop on each of its iterations. Loop invariants are used to prove program correctness. They can also help programmers write loops correctly, and understand loops which someone else has written.