Normalization cannot be done by machines, because it depends on expressing the (and only the) predicate that corresponds to the business rule in question.
It requires apprehending the essence of the situation, something a machine cannot do.
Sure it can. Not in a vacuum, maybe, but with some guidance from the user as to dependency relations. Ideally you have enough data baked into your schema to infer those relations.
Or they need to write the business rules down, in some sort of expressive format that can be tested against the requirements... Say, an artificial language of some sort. One might call it "programming"
It requires apprehending the essence of the situation, something a machine cannot do.