Relational Reasoning For Multi-Agent Systems