Інша крайність - сказати, що дві програми еквівалентні, якщо вони обчислюють ту саму функцію (або демонструють однакову поведінку, що спостерігається в подібних умовах). Але це не добре: не всі програми, що перевіряють первинність, однакові. Ми можемо додати рядок коду, який не впливає на результат, і ми все одно вважатимемо його тією ж програмою.
Це не є крайнім: потрібно визначити еквівалентність програми відносно поняття спостереження.
Найбільш поширене визначення в дослідженнях ПЛ - це контекстна еквівалентність. У контекстній еквівалентності ідея полягає в тому, що ми спостерігаємо програми, використовуючи їх як компоненти більш великих програм (контекст). Отже, якщо дві програми обчислюють однакове кінцеве значення для всіх контекстів, то вони вважаються рівними. Оскільки це визначення кількісно визначає всі можливі контексти програми, з цим важко працювати. Отже, типовою дослідницькою програмою в ПЛ є пошук композиційних принципів міркування, які передбачають контекстуальну еквівалентність.
Однак це не єдине можливе поняття спостереження. Наприклад, ми можемо легко сказати, що поведінка програми пам'яті, часу чи потужності спостережувана. У цьому випадку дотримується меншої кількості еквівалентностей програм, оскільки ми можемо виділити більше програм (наприклад, об'єднання об'єднань тепер можна відрізнити від швидкості). Якщо ви хочете (скажімо) мови дизайну не сприйняти атак на канали синхронізації або створити обмежені простором мови програмування, то це саме те, що вам потрібно зробити.
Крім того, ми можемо вибрати деякі проміжні стани обчислення як спостережувані. Це завжди відбувається для одночасних мов через можливість втручання. Але ви, можливо, захочете взяти цей погляд навіть для послідовних мов --- наприклад, якщо ви хочете переконатися, що жодні обчислення не зберігають незашифровані дані в основній пам’яті, тоді ви повинні вважати записи в основну пам'ять як видимі.
В основному, немає єдиного поняття еквівалентності програми; це завжди щодо поняття спостереження, яке ви вибираєте, і це залежить від програми, яку ви маєте на увазі.