We study the problem of computing the so called minimum and maximum witnesses for Boolean vector convolution. We also consider a generalization of the problem which is to determine for each positive coordinate of the convolution vector, q smallest (or, largest) witnesses, where q is the minimum of a parameter k and the number of witnesses for this coordinate. We term this problem the smallest k-witness problem or the largest k-witness problem, respectively. We also study the corresponding smallest and largest k-witness problems for Boolean matrix product. In both cases, we provide algorithmic solutions and applications to the aforementioned witness problems, among other things in string matching and computing the (min, +) vector convolution.