Static Checking of System Behaviors Using Derived Component Assumptions