ThProg-SS23/texfiles/slides04.tex

236 lines
No EOL
8.4 KiB
TeX
Executable file

% ..............................................................................
% Demo of the fau-beamer template.
%
% Copyright 2022 by Tim Roith <tim.roith@fau.de>
%
% This program can be redistributed and/or modified under the terms
% of the GNU Public License, version 2.
%
% ------------------------------------------------------------------------------
\documentclass[final, handout]{beamer}
% ========================================================================================
% Theme: inner, outer, font and colors
% ----------------------------------------------------------------------------------------
\usepackage[institute=Tech,
%SecondLogo = template-art/FAUWortmarkeBlau.pdf,
%ThirdLogo = template-art/FAUWortmarkeBlau.pdf,
%WordMark=None,
aspectratio=169,
fontsize=11,
fontbaselineskip=13,
scale=1.
]{styles/beamerthemefau}
% ----------------------------------------------------------------------------------------
% Input and output encoding
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
% ----------------------------------------------------------------------------------------
% Language settings
\usepackage[german]{babel}
% ========================================================================================
% Fonts
% - Helvet is loaded by styles/beamerfonts
% - We use serif for math environements
% - isomath is used for upGreek letters
% ----------------------------------------------------------------------------------------
\usepackage{isomath}
\usefonttheme[onlymath]{serif}
\usepackage{exscale}
\usepackage{anyfontsize}
\setbeamercolor{alerted text}{fg=BaseColor}
% ----------------------------------------------------------------------------------------
% custom commands for symbols
\usepackage{styles/symbols}
\usepackage{tikz-cd}
\usetikzlibrary{cd, babel}
% ========================================================================================
% Setup for Titlepage
% ----------------------------------------------------------------------------------------
\title[fau-beamer]{Theorie der Programmierung}
\subtitle{Übung 04 - Konfluenz und kritische Paare}
\author[L. Vatthauer]{
Leon Vatthauer}
%
% Instead of \institute you can also use the \thanks command
% ------------------------------------------------
%\author[T. Roith]{
%Tim Roith\thanks{Friedrich-Alexander Universität Erlangen-Nürnberg, Department Mathematik}\and%
%Second Author\thanks{Second Insitute}\and%
%Third Author\thanks{Third Insitute}%
%}
\date{\today}
% ================================================
% Bibliography
% ------------------------------------------------
\usepackage{csquotes}
\usepackage[style=alphabetic, %alternatively: numeric, numeric-comp, and other from biblatex
defernumbers=true,
useprefix=true,%
giveninits=true,%
hyperref=true,%
autocite=inline,%
maxcitenames=5,%
maxbibnames=20,%
uniquename=init,%
sortcites=true,% sort citations when multiple entries are passed to one cite command
doi=true,%
isbn=false,%
url=false,%
eprint=false,%
backend=biber%
]{biblatex}
\addbibresource{bibliography.bib}
\setbeamertemplate{bibliography item}[text]
% ================================================
% Hyperref and setup
% ------------------------------------------------
\usepackage{hyperref}
\hypersetup{
colorlinks = true,
final=true,
plainpages=false,
pdfstartview=FitV,
pdftoolbar=true,
pdfmenubar=true,
pdfencoding=auto,
psdextra,
bookmarksopen=true,
bookmarksnumbered=true,
breaklinks=true,
linktocpage=true,
urlcolor=BaseColor,
citecolor=BaseColor,
linkcolor=BaseColor
}
% ================================================
% Additional packages
% ------------------------------------------------
% ================================================
% Various custom commands
% ------------------------------------------------
%\setbeameroption{show notes on second screen}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname pdfsuppresswarningpagegroup\endcsname\relax
\else
\pdfsuppresswarningpagegroup=1\relax
\fi
% Change color for cite locally
\newcommand{\colorcite}[3]{{\hypersetup{citecolor=#1}{\cite[#2]{#3}}}}
% ------------------------------------------------
% ================================================
% The main document
% ------------------------------------------------
\begin{document}
% Title page
\begin{frame}[t,titleimage]{-}
\titlepage%
\end{frame}
% Introduction
\begin{frame}[fragile, t]{Definitionen}
Sei $T$ ein TES.
\begin{enumerate}
\item Terme $s, s'$ heißen \textbf{zusammenführbar} (zf.), wenn ein q existiert, sodass $s \rightarrow^* q$ und $s' \rightarrow^* q$
\item T heißt \textbf{konfluent} (CR), wenn für alle Terme $t, s, s'$ mit $t \rightarrow^* s, t \rightarrow^* s'$ die Terme $s, s'$ zf. sind.
\item T heißt \textbf{lokal konfluent} (WCR), wenn für alle Terme $t, s, s'$ mit $t \rightarrow s, t \rightarrow s'$ die Terme $s, s'$ zf. sind.
\end{enumerate}
\ \\\ \\
\pause
\noindent%
\begin{minipage}[t]{0.45\textwidth}
\centering\underline{CR}
\[
\begin{tikzcd}
& t \arrow[dl, "*" {below, near end}] \arrow[dr, "*" {below, near end}]
\\ s \arrow[dr, dashrightarrow, "*" {below, near end}] & & s' \arrow[dl, dashrightarrow, "*" {below, near end}]
\\ & q
\end{tikzcd}
\]
\end{minipage}
\hfill
\begin{minipage}[t]{0.45\textwidth}
\centering\underline{WCR}
\[
\begin{tikzcd}
& t \arrow[dl] \arrow[dr]
\\ s \arrow[dr, dashrightarrow, "*" {below, near end}] & & s' \arrow[dl, dashrightarrow, "*" {below, near end}]
\\ & q
\end{tikzcd}
\]
\end{minipage}
\end{frame}
\begin{frame}[fragile, t]{Newman's Lemma und kritische Paare}
\begin{block}{Newman's Lemma}
SN $\land$ WCR $\Rightarrow$ CR
\end{block}
\pause
\begin{block}{Kritisches Paar}
Betrachte zwei Regeln $l_1 \rightarrow_0 r_1$ und $l_2 \rightarrow_0 r_2$ mit $FV(l_1) \cap FV(l_2) = \emptyset$ \\(ggf. durch Umbenennung der Variablen).\\
Finde einen Term (\textit{nicht nur Variable!}) mit $l_1 = C(t)$, sodass $\sigma = mgu(t, l_2)$.\\
Dann ist $(r_1\sigma, C(r_2)\sigma)$ ein kritisches Paar.
\end{block}
\pause
\begin{block}{Triviales kritisches Paar}
Ein kritisches Paar $(r_1\sigma, C(r_2)\sigma)$ heißt \textit{trivial}, wenn die Ersetzungsregeln bis auf Umbenennung gleich sind und $C(\cdot) = (\cdot)$
\end{block}
\pause
\begin{block}{Critical Pair Lemma}
Ein Termersetzungssystem $T$ ist genau dann lokal konfluent (WCR), wenn in $T$ alle (nicht triviale) kritische Paare zf. sind.
\end{block}
\end{frame}
\begin{frame}[t]{Aufgabe 1}{Kritische Paare berechnen}
Wir betrachten erneut das Termersetzungssystem aus Blatt 2, Aufgabe 1:
\begin{align}
A \cdot x &\rightarrow_0 B \cdot (C \cdot x)\\
C \cdot (D \cdot x) &\rightarrow_0 B \cdot (C \cdot x)\\
B \cdot (x \cdot y) &\rightarrow_0 A \cdot (D \cdot x)\\
B \cdot (B \cdot x) &\rightarrow_0 D \cdot x
\end{align}
Bestimmen Sie nun alle kritischen Paare des Systems und geben Sie dazu jeweils die involvierten Regeln sowie den entsprechenden allgemeinsten Unifikator an.
\pause
\begin{block}{Kritisches Paar}
Betrachte zwei Regeln $l_1 \rightarrow_0 r_1$ und $l_2 \rightarrow_0 r_2$ mit $FV(l_1) \cap FV(l_2) = \emptyset$ \\(ggf. durch Umbenennung der Variablen).\\
Finde einen Term (\textit{nicht nur Variable!}) mit $l_1 = C(t)$, sodass $\sigma = mgu(t, l_2)$.\\
Dann ist $(r_1\sigma, C(r_2)\sigma)$ ein kritisches Paar.
\end{block}
\end{frame}
\begin{frame}[t]{Aufgabe 2}{Konfluenz mittels Newman's Lemma}
Wir betrachten erneut das Termersetzungssystem aus Blatt 3, Übung 1:
\begin{align}
x \odot (y \oplus z) &\rightarrow_0 (x \odot y) \oplus (x \odot z)\\
(x \oplus y) \oplus z &\rightarrow_0 x \oplus (y \oplus z)
\end{align}
Nun möchten wir zeigen, dass es konfluent ist. Da wir bereits gezeigt haben, dass das System SN ist, genügt es nach Newman's Lemma zu zeigen, dass es \textit{lokal konfluent} ist.\\
Ihre Aufgabe ist es also, die lokale Konfluenz des Systems zu zeigen, d.h. alle kritischen Paare des Systems zu bestimmen und anschließend für jedes Paar zu zeigen, dass es zusammengeführt werden kann.
\pause
\begin{block}{Kritisches Paar}
Betrachte zwei Regeln $l_1 \rightarrow_0 r_1$ und $l_2 \rightarrow_0 r_2$ mit $FV(l_1) \cap FV(l_2) = \emptyset$ \\(ggf. durch Umbenennung der Variablen).\\
Finde einen Term (\textit{nicht nur Variable!}) mit $l_1 = C(t)$, sodass $\sigma = mgu(t, l_2)$.\\
Dann ist $(r_1\sigma, C(r_2)\sigma)$ ein kritisches Paar.
\end{block}
\end{frame}
% input exmple sections
%\input{sections/01_Intro_Landscape}
\end{document}