Что-то мне кажется, что принцип подстановки вначале был вначале связан с понятиями абстрактных типов данных и конкретизации в языке CLU, а уж потом оно каким-то боком было применено к ооп и наследованию. Опираясь на Дал У.И. "Симула 67.Универсальный язык программирования" могу сказать , что понятие класса ввели только в  версии 67 года, следовательно и понятие наследование введено в версии 67 года.