Hi,
your issue is not about logical constraints but about indexing. You try to use cells that are not in the array.
The following model works fine:
{int} Landu={1,2};
{int} Landv={1,2};
{int} LanduB=Landu union {0,3};
{int} LandvB=Landv union {0,3};
dvar int x[LanduB][LandvB][1..1];
subject to
{
forall(u in Landu) forall(v in Landv)
ct:
(x[u][v][1]==1) =>
(x[u-1][v][1]+x[u+1][v][1]+x[u][v-1][1]+x[u][v+1][1]>=1);
}
regards
#DecisionOptimization#OPLusingCPLEXOptimizer