Good to hear your thoughts on the matter.
Allow me to start with your first point, which you eloquently phrased as:
"{x,y,x} is already an edge and subdividing it in {x,y} and {y,x} is meaningless".
On the contrary, since any hypergraph of any size can be accurately defined as an unordered set of its irreducible edges, without any loss of information, it is, in fact, your "already an edge" that is epiphenomenal to the fundamental definition of a hypergraph, not the other way around. The independent variable in the hypergraph is the set of irreducible edges that it is composed of, and the dependent variable is the length of any one particular edge in the hypergraph (an "n-nodes edge"), which will inevitably be composed of one or more irreducible edges.
I am, of course, speaking from a purely informational perspective.
From that perspective, and from the perspective of processing hypergraph information efficiently to both "grow" and store them according to one or more rule sets, there is simply no need whatsoever to deal with an "n-nodes edge". It isn't required for hypergraph storage, pattern matching, or substitution.
Perhaps an example is in order here. Where is the loss of information between defining a hypergraph as:
{{u,u,v},{v,u,y},{z,y,v}}
and defining that same hypergraph as the following set of irreducible edges:
- {u,u}
- {u,v}
- {v,u}
- {u,y}
- {z,y}
- {y,v}
There is, of course, no loss of information. Not only that, but the set is unordered by definition, which is highly fortuitous for pattern matching and substitution purposes (as I'm sure you can imagine).
So no, my friend, "subdividing it in {x,y} and {y,x}" is far from meaningless. Let's put that to bed right now.
Which brings us to your second point, which I (of course) agree with:
"Subdividing a pattern in(to) smaller elements and matching these individually doesn't guarantee that the whole pattern matches. This is essentially the point of using a repeated letter when writing a rule."
Perhaps not as eloquently phrased as your first point, but I know what you mean. To paraphrase: all symbolically equivalent letters in the LHS must match one, and only one, node in the target hypergraph.
I also agree with you that {x,y,x} should not match {u,v,w} for the very reasons you cited.
So okay, there is not, as I previously postulated, a "fundamental contradiction in the syntax". I have to admit that. You've convinced me. But I still find this "many to one" relationship between the nodes in the LHS and the target hypergraph completely arbitrary, unnecessary, counterproductive, and quite frankly, repugnant.
I mean, seriously, if the pattern hypergraph has twenty-three nodes, all intricately laid out, how can you justify it being "matched" by a hypergraph of only one node? Where, in the whole body of graph theory or substitution systems theory, is that justifiable?
And even if it were justifiable in some arcane graph theory tome somewhere, does that make it necessary to the study of the Wolfram Model? I don't believe so.
It would seem to me, therefore, that a much easier, more workable, more algebraically consistent, and empirically more flexible syntax would be defined by the single rule:
A match is found when all the nodes and irreducible edges of a "search" hypergraph is found to exist as a sub-hypergraph in the target.
Simple. Elegant.
Such a syntax would be exactly like the current Wolfram Model syntax, but for the important omission of the "{x,y} will match {x,x}" aberration.
More to say on the subject, but must eat. Interesting dialectic thus far. Kudos.