Я читал Приложение C: Семантика ядра к книге Software Abstraction (Дэниел Джексон, второе издание, очень приятно читать, кстати!) И обнаружил, что немного застрял в понимании того, как вывести ограничение множественности one
, используя другие конструкции ядра.
Я понимаю, что no
может быть получено с использованием expr = none
, а some
может быть получено с использованием отрицания предыдущего правила, но я не понимаю, как express ограничение one
(и, следовательно, lone
) с использованием только конструкций ядра (или производных).
Возможно, мне не хватает чего-то очевидного, но я этого не вижу :)