#!/usr/bin/env python3 from z3 import * # 16 peoples, 4 groups PERSONS=16 GROUPS=4 s=Solver() person=[Int('person_%d' % i) for i in range(PERSONS)] # each person must belong to some group in 0..GROUPS range: for i in range(PERSONS): s.add(And(person[i]>=0, person[i]