Reasoning About High-Level Constructs In Hardware/Software Formal Verification