From 86bbddfd3dd3c89a582f47d2f42d5d33686dfe53 Mon Sep 17 00:00:00 2001 From: Hans-Joerg Schurr <commits@schurr.at> Date: Tue, 5 Mar 2024 10:14:47 -0600 Subject: [PATCH] Clarify omitting :args in anchor --- spec/changelog.tex | 6 ++++++ spec/doc.tex | 9 +++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/spec/changelog.tex b/spec/changelog.tex index 8fea177..79db837 100644 --- a/spec/changelog.tex +++ b/spec/changelog.tex @@ -5,6 +5,12 @@ Breaking changes: \item Allow arbitrary extra annotations in \texttt{assume} commands. \end{itemize} +Clarifications: +\begin{itemize} + \item Clarify that the \texttt{:args} annotation in \texttt{anchor} can be + omitted if the list is empty. +\end{itemize} + \subsection*{0.3 --- \DTMdisplaydate{2023}{02}{10}{-1}} This release overhauls the entire document, but introduces only few diff --git a/spec/doc.tex b/spec/doc.tex index f68c66c..49e333b 100644 --- a/spec/doc.tex +++ b/spec/doc.tex @@ -820,9 +820,14 @@ pushes precisely $c_1,\dots, c_n$ onto the context. Since contexts can only be manipulated by push and pop, context manipulations are nested. The \inlineAlethe{anchor} commands push onto the context and the corresponding \inlineAlethe{step} commands pop from the context. +% To indicate these changes to the context, every anchor is associated with a list -of fixed variables and mappings. -This list can be empty. +of fixed variables and mappings. The list is provided by the \inlineAlethe{:args} +annotation. If the list is empty, the \inlineAlethe{:args} annotation is +omitted\footnote{The only rule that allows an empty list is the +\proofRule{subproof} rule. Since this rule corresponds to implication introduction, +it does not interact with binders.}. +% Note that, when an \inlineAlethe{anchor} command extends a context $\Gamma$ with some mappings $x_1 \mapsto t_1, \dots, x_n \mapsto t_n$, then the terms $t_i$ are normalized by applying -- GitLab