It might be possible to implement an object structure to specify a cross configuration.
Rules:
The structure is fundamentally a series of nested tuples with either integers or None as elements.
An integer in the structure specifies the index. All integers from 0 to the maximum integer must be present.
A None specifies a self-fertilization event.
A tuple at a given level of nesting can only have two members. This applies to all tuples in the structure.
Rules illustration:
(0,None) is legal
((0,1),2) is legal
((0,,1),3) is illegal
Examples:
(A x B) x C -> ((0,1),2)
F2 of (A x B) -> ((0,1),None)
F3 of (A x B) -> (((0,1),None),None)
It might be possible to implement an object structure to specify a cross configuration.
Rules: The structure is fundamentally a series of nested tuples with either integers or None as elements. An integer in the structure specifies the index. All integers from 0 to the maximum integer must be present. A None specifies a self-fertilization event. A tuple at a given level of nesting can only have two members. This applies to all tuples in the structure.
Rules illustration: (0,None) is legal ((0,1),2) is legal ((0,,1),3) is illegal
Examples: (A x B) x C -> ((0,1),2) F2 of (A x B) -> ((0,1),None) F3 of (A x B) -> (((0,1),None),None)