docs: def minimal_models(self, alphabet: _Alphabet) -> Set[PLInterpretation]:
          """Find models of min size (i.e. the less number of proposition to True).
          Very trivial (and inefficient) algorithm: BRUTE FORCE on all the possible interpretations."""
          models = self.all_models(alphabet)
  
          minimal_models = set()
          for m in models:
              min_m = m
              for m1 in models:
                  if min_m.true_propositions.issuperset(m1.true_propositions):
                      min_m = m1
              minimal_models.add(min_m)
  
          return minimal_models