From 5f82c2d9892470240f72f73564ca7f39e0b2c96c Mon Sep 17 00:00:00 2001 From: Yuri Tatishchev Date: Thu, 12 Feb 2026 12:20:39 -0800 Subject: [PATCH] semantics-1: init --- semantics-1/semantics-tex.pdf | Bin 0 -> 69408 bytes semantics-1/semantics.tex | 171 ++++++++++++++++++++++++++++++++++ semantics-1/semantics.typ | 0 3 files changed, 171 insertions(+) create mode 100644 semantics-1/semantics-tex.pdf create mode 100644 semantics-1/semantics.tex create mode 100644 semantics-1/semantics.typ diff --git a/semantics-1/semantics-tex.pdf b/semantics-1/semantics-tex.pdf new file mode 100644 index 0000000000000000000000000000000000000000..083bbf6b7565421f51b4e81e6f57719746b599a2 GIT binary patch literal 69408 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�~On3E0 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 R%gn;U+>%RG)z#mP3jl7s_Z0vD literal 0 HcmV?d00001 diff --git a/semantics-1/semantics.tex b/semantics-1/semantics.tex new file mode 100644 index 0000000..984fd21 --- /dev/null +++ b/semantics-1/semantics.tex @@ -0,0 +1,171 @@ +\documentclass{article} + +\usepackage{fullpage} +%\usepackage{citesort} +%\usepackage{url} +%\usepackage{listings} +\usepackage{color} + + +% Commands for formatting figures +\newcommand{\mydefhead}[2]{\multicolumn{2}{l}{{#1}}&\mbox{\emph{#2}}\\} +\newcommand{\mydefcase}[2]{\qquad\qquad& #1 &\mbox{#2}\\} + +% Commands for language expressions and values +\newcommand{\true}{\mbox{\tt true}} +\newcommand{\false}{\mbox{\tt false}}\title{Operational Semantics for BoolInt* Language} +\newcommand{\ife}[3]{\mbox{\tt if}~{#1}~\mbox{\tt then}~{#2}~\mbox{\tt else}~{#3}} +\newcommand{\suc}[1]{\mbox{\tt succ}~{#1}} +\newcommand{\prd}[1]{\mbox{\tt pred}~{#1}} + +% Big-step evaluation relation. +% #1 is the expression. +% #2 is the resulting value. +\newcommand{\bstep}[2]{{#1} \Downarrow {#2}} + +% Command for formatting the name of the evaluation relation. +\newcommand{\rel}[1]{ \mbox{\sc [#1]} } + +% Format for a big-step evaluation rule. +% #1 is the name of the rule. +% #2 are the premises. Leave blank if there are none. +% #3 is the conclusion. +\newcommand{\bsrule}[3]{ + \rel{#1} & + \frac{\strut\begin{array}{@{}c@{}} #2 \end{array}} + {\strut\begin{array}{@{}c@{}} #3 \end{array}} + \\~\\ +} + +\author{ + Yuri Tatishchev \\ + San Jos\'{e} State University \\ + iurii.tatishchev@sjsu.edu +} + +\begin{document} +\maketitle + +\begin{abstract} +In this paper, we will provide a review of the big-step operational semantics +for the BoolInt* language we discussed in class. +\end{abstract} + +%%%% +%\section{Introduction} + +BoolInt* is a very minimal language that allows us to experiment with operational semantics. + +First, we define the valid expressions in our language. +These expressions dictate the possibilities of what expressions +we may have in our source programs. +(Note that other language might also have {\em statements}. +Statements might not evaluate to a value; +expressions always will.) + +\begin{figure} +\caption{The BoolInt* language} +\label{fig:lang} +\[ + \begin{array}{ll@{\qquad\qquad}l} + \mydefhead{e ::=\qquad\qquad\qquad\qquad}{Expressions} + \mydefcase{\true}{true value} + \mydefcase{\false}{false value} + \mydefcase{i}{integers} + \mydefcase{\ife e e e}{conditional expressions} + \mydefcase{\suc e}{successor} + \mydefcase{\prd e}{predecessor} + \\ + \mydefhead{v ::=\qquad\qquad\qquad\qquad}{Values} + \mydefcase{\true}{true value} + \mydefcase{\false}{false value} + \mydefcase{i}{integers} +\end{array} +\] +\end{figure} + +Figure~\ref{fig:lang} shows the list of expressions and values for the BoolInt* language. +Expressions can be the value $\true$, the value $\false$, +or the conditional expression $\ife e e e$. +Note that conditional expressions have a recursive structure, +with 3 sub-expressions. + +After evaluating a program, we should be able to produce a value in this language. +(In other languages, we might hit a bad situation and need to crash instead; +that won't happen in this language.) +The valid values for BoolInt* are $\true$, $\false$, and $i$. + +With our expressions and values defined, +we can now specify the semantics for our language. +To do so, we will use the following big-step evaluation relation: + +\[ + \bstep{e}{v} +\] + +The above line should be read as ``the expression $e$ evaluates to the value $v$''. + +\begin{figure} +\caption{Big-step semantics for BoolInt*} +\label{fig:bigstep} + {\bf Evaluation Rules:~~~ \fbox{$\bstep{e}{v}$}} \\ +\[ +\begin{array}{r@{\qquad\qquad}c} +\bsrule{B-Value}{}{ + \bstep{v}{v} +} +\bsrule{B-IfTrue}{ + \bstep{e_1}{\true} \\ + \bstep{e_2}{v} +}{ + \bstep{\ife{e_1}{e_2}{e_3}}{v} +} +\bsrule{B-IfFalse}{ + \bstep{e_1}{\false} \\ + \bstep{e_3}{v} +}{ + \bstep{\ife{e_1}{e_2}{e_3}}{v} +} +\bsrule{B-Succ}{ + \bstep{e}{i} +}{ + \bstep{\suc{e}}{i+1} +} +\bsrule{B-Pred}{ + \bstep{e}{i} +}{ + \bstep{\prd{e}}{i-1} +} +\end{array} +\] +\end{figure} + + + +Figure~\ref{fig:bigstep} shows the big-step evaluation rules for the BoolInt* language. +Of course, there are additional possible rules. + +The \rel{B-Value} rule applies when the expression (to the left of ``$\Downarrow$'') +is also a value, as defined in Figure~\ref{fig:lang}. +There are no premises for this rule (above the line), +meaning that it is an {\em axiom}. +This rule states that a value evaluates to itself, +so that \true{} evaluates to \true{} and \false{} evaluates to \false{}. + +Two different rules are needed for handling conditional expressions. +Which rule applies depends on the premises. + +For the \rel{B-IfTrue} rule, +the premise states that $e_1$ evaluates to \true{} +and $e_2$ evaluates to some value $v$. +If the premise holds, then the result of evaluating the expression is the value $v$. +The structure of \rel{B-IfFalse} is similar. + +We also have rules for handling the integer operations. +The \rel{B-Succ} rule states that if the operand $e$ evaluates to an integer $i$, +then the expression $\suc e$ evaluates to $i+1$. +Similarly, \rel{B-Pred} evaluates $\prd e$ to $i-1$ if $e$ evaluates to $i$. + + +\end{document} + diff --git a/semantics-1/semantics.typ b/semantics-1/semantics.typ new file mode 100644 index 0000000..e69de29