private List<Action> CreateReasoningActions(CompoundFormula cf)
 {
     List<Action> lActions = new List<Action>();
     Action a = null;
     List<Predicate> lPredicates = GetAllPredicates(cf);
     foreach (Predicate p in lPredicates)
     {
         a = new Action(cf.ToString() + "_" + p.ToString());
         a.Preconditions = new CompoundFormula("and");
         CompoundFormula cfEffects = new CompoundFormula("and");
         cfEffects.AddOperand(new PredicateFormula(new KnowPredicate(p)));
         foreach (Predicate pOther in lPredicates)
         {
             if (pOther != p)
                 ((CompoundFormula)a.Preconditions).AddOperand(new PredicateFormula(new KnowPredicate(pOther)));
         }
         a.SetEffects(cfEffects);
         lActions.Add(a);
     }
     return lActions;
 }