Я поздоровлю відповідь Ніла (відмінна, як завжди), дещо більше викладу про те, чому рівні використовуються на практиці.
Перше важливе обмеження CoC - це тривіальне! Дивовижне спостереження полягає в тому, що не існує типу, для якого можна довести, що в ньому є більше одного елемента, набагато менше нескінченної їх кількості. Додавання всього двох всесвітів дає вам натуральні числа з безперечно безліччю елементів та усіма "простими" типами даних.
Другим обмеженням є правила обчислень: CoC підтримує лише ітерацію , тобто повторювані функції не мають доступу до підрядів своїх аргументів. З цієї причини зручніше додавати індуктивні типи як примітивну конструкцію, породжуючи CIC. Але зараз виникає ще одна проблема: найприродніше правило індукції (яке називається усуненням у цьому контексті) суперечить Виключеному Середовищу! Ці проблеми не з’являються, якщо обмежити правило індукції предикативними типами за допомогою всесвітів.
На закінчення виявляється, що CoC не має ані виразності, ані стійкості wrt-консистенції, яку б вам хотілося у фундаментальній системі. Додавання всесвітів вирішує багато з цих проблем.