Интерактивное повествование объединяет глубокие вычислительные идеи с богатой историей и историей человечества, обеспечивая важный контекст для создания инструментов и языков. В то же время языки формальной спецификации предлагают палитру методов представления и вывода, обычно используемых для анализа языков программирования и сложных дедуктивных систем. Этот тезис связывает проблемы в области интерактивного повествования с решениями в формальной спецификации.
В частности, мы рассматриваем нарратив со структурной точки зрения и наблюдаем, что альтернативные нарративные пути играют дополняющую роль к одновременным взаимодействующим временным рамкам. Линейная логика предоставляет инструменты представления, необходимые для исследования этой структуры, и, расширив соответствие доказательств и построение доказательств, мы находим набор вычислительных возможностей. Мы представляем три попытки реализации этих возможностей: (1) использование линейного логического программирования для создания повествований; (2) новый язык программирования для создания интерактивных рассказов, игр и симуляций; и (3) методы для определения и подтверждения свойств программы на уровне проектирования.
Мы находим, что линейное логическое программирование, обогащенное минимальным расширением своей логической семантики, обеспечивает широкий диапазон идиом программирования и кодировок предметной области. В качестве доказательства мы приводим пять тематических исследований, включая социальные симуляции, боевые приключенческие игры и настольные игры. Чтобы поддержать рассуждения о правильности проектирования, мы представляем методы для определения и проверки программных инвариантов, а также доказательство решимости автоматической проверки этих инвариантов для большого фрагмента языка.
Эти результаты показывают, что линейная логика является плодотворным языком представления, который служит основой для моделирования и выполнения интерактивных миров, и они приглашают в будущем исследовать использование теоретико-доказательных методологий для творческих систем.