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