Ладно. Лисп не подходит по условию задачи. Смотрите, сейчас от Оберона почти ничего не останется. Выкидываем избыточное. Любую программу можно будет переписать на Oberon--07, и она по-прежнему будет так же работать.

* OR, AND, NOT - их можно заменить условными операторами
* циклы FOR и UNTIL - их можно заменить циклом WHILE
* модули - они вообще не являются необходимыми, а если необходимо переименование, то это решается через записи
* экспорт - экспортируем всё
* наследование записей - можно добавить явные поля с указанием кода типа, введённого на уровне приложения, а методы решить через явно реализованные таблицы методов
* CASE - для записей он больше не нужен ввиду несуществования наследования, а для простых типов его можно заменить на ветвления
* приоритет операций. Выражение упрощается и может содержать только одну операцию, операнды которой являются идентификаторами или литералами
* комментарии - они не являются необходимыми для минимального языка
* INC и DEC, кажется, можно заменить присваиванием выражения

Если идти ещё дальше, то тут уже могут начаться некоторые проблемы с качеством работы программ, например, нагрузкой на кучу, или просто будут делаться какие-то лишние действия:

* убрать отличие между процедурами и функциями, оставить только функции
* константы - можно заменить переменными
* выкинуть записи как таковые и оставить только указатели на них
* VAR параметры (при необходимости вернуть более одного значения пользоваться указателями, или возвращать указатели на запись)
* числовые литералы со знаком минус
* так-то по-хорошему вообще можно выкинуть целочисленные литералы, кроме единицы. Любое целое число можно получить с помощью арифметических операций из единицы.
* да наверное и плавающие литералы не нужны, но это не точно
* строковые литералы тоже можно выкинуть, их можно заменить массивами чисел, хотя тут я не на 100% уверен.