docs: def _transform_delta(f:Formula, formula2AtomicFormula):
      """From a Propositional Formula to a Propositional Formula
      with non-propositional subformulas replaced with a "freezed" atomic formula."""
      t = type(f)
      if t == PLNot:
          return PLNot(_transform_delta(f, formula2AtomicFormula))
      # elif isinstance(f, PLBinaryOperator): #PLAnd, PLOr, PLImplies, PLEquivalence
      elif t == PLAnd or t == PLOr or t == PLImplies or t == PLEquivalence:
          return t([_transform_delta(subf, formula2AtomicFormula) for subf in f.formulas])
      elif t == PLTrue or t == PLFalse:
          return f
      else:
          return formula2AtomicFormula[f]