Skip to content
Snippets Groups Projects
Commit ea883bf2 authored by Hans-Jörg's avatar Hans-Jörg
Browse files

Fix proof grammar: use correct non-terminal in rule for anchor

parent 86bbddfd
No related branches found
No related tags found
No related merge requests found
Pipeline #21446 passed
...@@ -5,10 +5,13 @@ Breaking changes: ...@@ -5,10 +5,13 @@ Breaking changes:
\item Allow arbitrary extra annotations in \texttt{assume} commands. \item Allow arbitrary extra annotations in \texttt{assume} commands.
\end{itemize} \end{itemize}
Clarifications: \noindent
Clarifications and corrected errors:
\begin{itemize} \begin{itemize}
\item Clarify that the \texttt{:args} annotation in \texttt{anchor} can be \item Clarify that the \texttt{:args} annotation in \texttt{anchor} can be
omitted if the list is empty. omitted if the list is empty.
\item Fix mistake in proof grammar. It now uses the \texttt{context\_annotation}
non-terminal in the rule for the \texttt{anchor} command.
\end{itemize} \end{itemize}
\subsection*{0.3 --- \DTMdisplaydate{2023}{02}{10}{-1}} \subsection*{0.3 --- \DTMdisplaydate{2023}{02}{10}{-1}}
......
...@@ -695,20 +695,20 @@ An Alethe proof is a list of commands. ...@@ -695,20 +695,20 @@ An Alethe proof is a list of commands.
&\grOr & \textAlethe{(step}\; \grNT{symbol}\; \grNT{clause} &\grOr & \textAlethe{(step}\; \grNT{symbol}\; \grNT{clause}
\; \textAlethe{:rule}\; \grNT{symbol} \\ \; \textAlethe{:rule}\; \grNT{symbol} \\
& & \quad \grNT{premises\_annotation}^{?} \\ & & \quad \grNT{premises\_annotation}^{?} \\
& & \quad \grNT{context\_annotation}^{?}\;\grNT{attribute}^{*}\,\textAlethe{)} \\ & & \quad \grNT{args\_annotation}^{?}\;\grNT{attribute}^{*}\,\textAlethe{)} \\
& \grOr & \textAlethe{(anchor :step}\; \grNT{symbol}\; & \grOr & \textAlethe{(anchor :step}\; \grNT{symbol}\;
\\ \\
& & \quad \grNT{args\_annotation}^{?}\;\grNT{attribute}^{*}\,\textAlethe{)} \\ & & \quad \grNT{context\_annotation}^{?}\;\grNT{attribute}^{*}\,\textAlethe{)} \\
& \grOr & \textAlethe{(define-fun}\; \grNT{function\_def}\,\textAlethe{)} \\ & \grOr & \textAlethe{(define-fun}\; \grNT{function\_def}\,\textAlethe{)} \\
\grNT{clause} &\grRule & \textAlethe{(cl}\; \grNT{proof\_term}^{*}\,\textAlethe{)} \\ \grNT{clause} &\grRule & \textAlethe{(cl}\; \grNT{proof\_term}^{*}\,\textAlethe{)} \\
\grNT{proof\_term} &\grRule & \grNT{term}\text{ extended with } \\ \grNT{proof\_term} &\grRule & \grNT{term}\text{ extended with } \\
& & \textAlethe{(choice (}\, \grNT{sorted\_var}\,\textAlethe{)}\; \grNT{proof\_term}\,\textAlethe{)} \\ & & \textAlethe{(choice (}\, \grNT{sorted\_var}\,\textAlethe{)}\; \grNT{proof\_term}\,\textAlethe{)} \\
\grNT{premises\_annotation} &\grRule & \textAlethe{:premises (}\; \grNT{symbol}^{+}\textAlethe{)} \\ \grNT{premises\_annotation} &\grRule & \textAlethe{:premises (}\; \grNT{symbol}^{+}\textAlethe{)} \\
\grNT{args\_annotation} &\grRule & \textAlethe{:args}\,\textAlethe{(}\,\grNT{step\_arg}^{+}\,\textAlethe{)} \\ \grNT{args\_annotation} &\grRule & \textAlethe{:args}\,\textAlethe{(}\,\grNT{step\_arg}^{+}\,\textAlethe{)} \\
\grNT{step\_arg} &\grRule & \grNT{symbol} \grOr \grNT{step\_arg} &\grRule & \grNT{symbol}\;\grOr\;
\textAlethe{(}\; \grNT{symbol}\; \grNT{proof\_term}\,\textAlethe{)} \\ \textAlethe{(}\; \grNT{symbol}\; \grNT{proof\_term}\,\textAlethe{)} \\
\grNT{context\_annotation} &\grRule & \textAlethe{:args}\,\textAlethe{(}\,\grNT{context\_assignment}^{+}\,\textAlethe{)} \\ \grNT{context\_annotation} &\grRule & \textAlethe{:args}\,\textAlethe{(}\,\grNT{context\_assignment}^{+}\,\textAlethe{)} \\
\grNT{context\_assignment} &\grRule & \textAlethe{(} \,\grNT{sorted\_var}\,\textAlethe{)} \\ \grNT{context\_assignment} &\grRule & \grNT{sorted\_var} \\
& \grOr & \textAlethe{(:=}\, \grNT{symbol}\;\grNT{proof\_term}\,\textAlethe{)} \\ & \grOr & \textAlethe{(:=}\, \grNT{symbol}\;\grNT{proof\_term}\,\textAlethe{)} \\
\end{array} \end{array}
\] \]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment