I would suggest modelling it as “B outputs ‘down’ → B goes down iff B active”, and similarly for other directions (up, left, and right), “A output ‘sleep’ → B inactive”, and “A sees block in lower right: output ‘sleep’” or something like that.
I would suggest modelling it as “B outputs ‘down’ → B goes down iff B active”, and similarly for other directions (up, left, and right), “A output ‘sleep’ → B inactive”, and “A sees block in lower right: output ‘sleep’” or something like that.