mirror of
https://github.com/janishutz/eth-summaries.git
synced 2026-09-11 01:25:24 +02:00
[FMFP] Final remarks and fixes
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
\subsubsection{Evaluation strategies}
|
||||
\begin{examdetails}
|
||||
It is likely that one such task will appear.
|
||||
It is not very likely that one such task will appear.
|
||||
\end{examdetails}
|
||||
Evaluation strategies formalize how programming languages evaluate the code.
|
||||
Most of the commonly used programming languages use \textit{eager evaluation}, whereas functional programming languages tend to prefer \textit{lazy evaluation}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
\subsubsection{Haskell}
|
||||
\begin{examdetails}
|
||||
typically either short coding task or proof of program
|
||||
Typically one large coding task (split up into many subtasks) and proof of program
|
||||
\end{examdetails}
|
||||
|
||||
\paragraph{Programming}
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
\newpage
|
||||
\subsubsection{Natural Deduction}
|
||||
\begin{examdetails}
|
||||
From time to time there is one such task, has become more common in recent times. Inference rules are provided
|
||||
\end{examdetails}
|
||||
\paragraph{Parenthesis}
|
||||
This task (if it were to even ever appear in the exams) is simply applying precedences, as well as remembering associativity.
|
||||
The precedences are as follows:
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
\begin{examdetails}
|
||||
There typically is one such task. They provide the inference rules
|
||||
\end{examdetails}
|
||||
|
||||
The proof trees are again drawn up bottom up, applying rules from the outside in.
|
||||
\begin{enumerate}
|
||||
\item Create a proof tree using the typing rules.
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
\subsubsection{Axiomatic Semantics}
|
||||
\begin{examdetails}
|
||||
Typically one task, accounting for a fairly large portion of points
|
||||
\end{examdetails}
|
||||
Here, we need to find pre- and postconditions for expressions and prove that they are correct.
|
||||
|
||||
To do the proofs, we again apply transition rules, as was the case already with operational semantics.
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
\subsubsection{Modelling}
|
||||
\begin{examdetails}
|
||||
Has appeared from time to time in exams
|
||||
\end{examdetails}
|
||||
Many of the tasks here are pretty straight forward, converting IMP into Promela,
|
||||
and putting an \texttt{assert} (or more) into the \texttt{init} block, to check if the required state is reached.
|
||||
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
\newpage
|
||||
\subsubsection{Linear Time Properties (LTL)}
|
||||
\begin{examdetails}
|
||||
Has appeared in most exams over the last 10 years.
|
||||
Typically a task where you provide an LTL formula, one where you show correctness / counterexamples for one and one on Liveness/Safety Properties
|
||||
\end{examdetails}
|
||||
We refer to Section~\ref{sec:ltl} for intuition, as these tend to mostly be intuition exercises.
|
||||
|
||||
For doing verification of liveness / safety properties using \texttt{spin} and Promela,
|
||||
|
||||
Reference in New Issue
Block a user