Modeling and proving hybrid programs with Event-B: An approach by generalization and instantiation