extended formalisation with boolean choice