Простые вложенные циклы могут выводить то, что вам нужно
result2 = []
true_or_false = ['true','false']
for a in true_or_false:
for b in true_or_false:
for c in true_or_false:
result2.append(('A is ' + a, 'B is ' + b, 'C is ' + c))
И result2
будет списком кортежей:
[('A is true', 'B is true', 'C is true'),
('A is true', 'B is true', 'C is false'),
('A is true', 'B is false', 'C is true'),
('A is true', 'B is false', 'C is false'),
('A is false', 'B is true', 'C is true'),
('A is false', 'B is true', 'C is false'),
('A is false', 'B is false', 'C is true'),
('A is false', 'B is false', 'C is false')]