Formal Specification and Automatic Verification of Multi-Agent Conditional Commitments and their Applications