No, the constraints do not imply the reverse. They are just implications (left side implies right side). If you want equivalence then you can use something like
(b == 1) == (y == 0)
Note however that strict inequality is not supported in linear programming. Stating (b==0) => (y>0) one way or the other requires emulating strict inequality. In CPLEX this is done by replacing y>0 by y>=eps with a small eps. If y is integer we can choose eps=1 and everything is fine. If y is float then you may get into numerical problems.
Indicator and logical constraints are more or less the same. The engine itself only supports indicator constraints of the form
(binary variable == value) => linear constraint
OPL instead supports more complex logical constraints (and, or, implies, ...) but will under the hood translate all of them to indicator constraints before passing the model to the engine.
#CPLEXOptimizers#DecisionOptimization