ACL2: ACL2 Theorem Prover and its Applications