∀x (Person(x) ∧ Can(x, distinguishTheTasteOfDifferentCondiments) → Can(x, useDifferentCondimentsToCook))
∀x (Person(x) ∧ Has(x, talentOfCooking) → Can(x, distinguishTheTasteOfDifferentCondiments))
∀x ∀y (CanMake(x, y) ∧ Meal(y) ∧ Delicious(y) ∧ Person(x) → Has(x, talentOfCooking)) 
∀x ∀y (Meal(y) ∧ PopularAt(y, party) → Delicious(y))
∃x (Person(john) ∧ MakeMeal(john, x) ∧ Meal(x) ∧ PopularAt(x, party))
¬Can(john, useDifferentCondimentsToCook)