Dependent Types For Invariants In Session Types