Multi-agent simulation using core.logic