There’s a translation error there.
Wikipedia on that law:
It is so named for its origin in the Demeter Project, an adaptive Programming and Aspect-oriented Programming effort. The project was named in honor of Demeter, "Distribution-Mother" and the Greek Goddéss of Agriculture.
It’s the name of the goddess Demeter, or Demetra.
Otherwise, such a law says that a unit of code must know and communicate only with those units closest to it that are directly related to it. Again from the wiki:
When Applied to Object-oriented Programs(...) an Object A can request a service (call a method) of an Object instance B, but Object A should not "Reach through" Object B to access yet Another Object
"When applied to OO (...) an object A may request a service (call a method) from an object instance B, but object A cannot "traverse" object B to access a third object".
In your case, the "m" method can access his father (type "O"), his brothers (other members of "O"), his own parameters etc. The law is violated if "m" access other objects that were created by other methods, i.e., alternative D.
"we can only invoke methods ... (of) any object that is created or instantiated by the method", but the answer C given in the question says exactly the opposite: "a method m of an object O should not invoke methods ... (from) any object created/instantiated in m". Then the answer is wrong?
– Woss