Я правильно понимаю что валидация программы это дерево предикатов? Я не читал ещё про семантический анализ книгу, но из того что я понял, получается, к примеру, если у нас аргумент функции разрешим, тогда срабатывают дочерние правила типа проверки разрешимости методов и полей? Есть где в живую посмотреть?