Design and implement symbolic shape inference capability for the ONNX IR that can propagate shapes through the graph while preserving symbolic dimension relationships (e.g., batch, seq_len, N+1).
SymbolicDimclass (_core.py:1241): Immutable symbolic dimension with string or None valuesShapeclass (_core.py:1330): Supports mixed static/dynamic dimensions, freezing, denotations