'Return a new ``TreeEdge`` formed from the given production.
The new edge\'s left-hand side and right-hand side will
be taken from ``production``; its span will be
``(index,index)``; and its dot position will be ``0``.
:rtype: TreeEdge'

@staticmethod
def from_production(production, index):

    return TreeEdge(span=(index, index), lhs=production.lhs(), rhs=production.rhs(), dot=0)
