This paper discusses efficient distributed detection of global conjunctive predicates in a distributed program. Previous work in detection of such predicates is based on a checker process. The checker process requires $O(n^2m)$ time and space where $m$ is the number of messages sent or received by any process and $n$ is the number of processes over which the predicate is defined. In this paper, we introduce token-based algorithms which distribute the computation and space requirements of the detection procedure. The distributed algorithm has $O(n^2m)$ time, space and message complexity, distributed such that each process performs $O(nm)$ work. We describe another distributed algorithm with $O(Nm)$ total work, where $N$ is the total number of processes in the system. The relative values of $n$ and $N$ determine which algorithm is more efficient for a specific application.