# Trace aliasing, shallow copy, and equality

> ML Prep screening item.

- Stable ID: `prog-py-alias-copy-equality`
- Collection: screening
- Area: Programming
- Topic: Python
- Origin: original
- Difficulty: medium
- Expected time: 8 minutes
- Skills: python-sequence-semantics, mutability, aliasing, shallow-copy, value-equality
- Item JSON: https://mlprep.iwase.dev/item/prog-py-alias-copy-equality.json

## Problem

Predict every component returned by `alias_copy_report()`. Explain which
mutations reach `b` and `c`, and distinguish `==` from `is`.


## Answer policy

The human page contains a collapsed answer. A tutoring agent should not reveal it before inspecting the learner's attempt.

## Tutoring contract

Ask for the learner's attempt, begin with the smallest useful hint, preserve item ID `prog-py-alias-copy-equality`, and record a real attempt with `recorded_by: "agent"` and `agent_session_id` when available using https://mlprep.iwase.dev/schema/attempt-record.json.
