Skip to content

Commit

Permalink
Fix small typos
Browse files Browse the repository at this point in the history
  • Loading branch information
EugeneFlesselle authored and vkuncak committed Dec 28, 2023
1 parent a978b46 commit 8ba8502
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
6 changes: 3 additions & 3 deletions Reference Manual/kernel.tex
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ \subsection{Syntax}

\subsection{Substitution}
\label{subsec:substitution}
On top of basic building blocks of terms and formulas, there is one important type of operations: substitution of schematic symbols, which has to be implemented in a capture-avoiding way. We start with the subcase of variable substitution:
On top of basic building blocks of terms and formulas, there is one important type of operation: substitution of schematic symbols, which has to be implemented in a capture-avoiding way. We start with the subcase of variable substitution:
\begin{definition}[Capture-avoiding Substitution of variables]
Given a base term $t$, a variable $x$ and another term $r$, the substitution of $x$ by $r$ inside $t$ is denoted by $ t[x := r] $ and is computed by replacing all occurences of $x$ by $r$.

Expand Down Expand Up @@ -752,7 +752,7 @@ \subsection{Definitions}
FunctionDefinition(f, y, lambda(Seq(x1,...,x2), φ))
\end{lstlisting}
corresponds to \\
\hspace*{1.3em}``For any $\vec{x}$, let $f^n(\vec{x}) \textnormal{ be the unique } y \textnormal{ such that } \phi$ holds."
\hspace*{1.3em}``For any $\vec{x}$, let $f^n(\vec{x}) \textnormal{ be the unique } y \textnormal{ such that } \varphi$ holds."

\caption{Definitions in LISA.}
\label{fig:definitions}
Expand Down Expand Up @@ -1078,7 +1078,7 @@ \subsection{How to write helpers}
val f: SchematicFunctionLabel("f", 2)
\end{lstlisting}
even with the above \lstinline|apply| trick, \lstinline|f(x, y)| would not compile, since \lstinline|f| can apply to \lstinline|Term| arguments, but not to \lstinline|TermLabel|. Hence we first need to apply \lstinline|x| and \lstinline|y| to an empty list of argument, such as in \lstinline|f(x(), y())|.
This can be done automatically with implicit conversions. Implicit conversion is the mechanism allowing to cast an object of a type to an other in a canonical way. It is define with the \lstinline|given| keyword:
This can be done automatically with implicit conversions. Implicit conversion is the mechanism allowing to cast an object of a type to an other in a canonical way. It is defined with the \lstinline|given| keyword:
%
\begin{lstlisting}[language=Scala]
given Conversion[TermLabel, Term] = (t: Term) => Term(t, Seq())
Expand Down
2 changes: 1 addition & 1 deletion Reference Manual/quickguide.tex
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ \section{Writing theory files}
have (Y) by Tactic2(s1)
\end{lstlisting}
\end{minipage}
\lstinline|thenHave| allows us to not give a name to every step when we're doing linear reasoning. Finally, in lines 5 and 8, we see that tactic can refer not only to steps of the current proof, but also to previously proven theorems and axioms, such as \lstinline|emptySetAxiom|. The \lstinline|of| keyword indicates the the axiom (or step) is instantiated in a particular way. For example:
\lstinline|thenHave| allows us to not give a name to every step when we're doing linear reasoning. Finally, in lines 5 and 8, we see that tactic can refer not only to steps of the current proof, but also to previously proven theorems and axioms, such as \lstinline|emptySetAxiom|. The \lstinline|of| keyword indicates the axiom (or step) is instantiated in a particular way. For example:
\noindent\begin{minipage}{\linewidth}\vspace{1em}
\begin{lstlisting}[language=lisa, frame=single]
emptySetAxiom // == !(x ∈ ∅)
Expand Down

0 comments on commit 8ba8502

Please sign in to comment.