What The Spec Actually Guarantees

Select every statement that Python's language specification actually guarantees, as opposed to something that merely happens to be true on a particular CPython build.

A

For two lists built independently from equal elements, [1, 2] == [1, 2] returns True.

B

After y = x, evaluating y is x immediately afterward returns True.

C

For any two int objects that hold the same value, x is y returns True.

D

For two str objects built independently at runtime from equal text (for example, two separate calls to str.join), x is y returns True.