A proof-based method of hybrid systems development using differential invariants