Slides/Slides1.thy
changeset 2313 25d2cdf7d7e4
parent 2311 4da5c5c29009
child 2348 09b476c20fe1
equal deleted inserted replaced
2312:ad03df7e8056 2313:25d2cdf7d7e4
    16   \mode<presentation>{
    16   \mode<presentation>{
    17   \begin{frame}<1>[t]
    17   \begin{frame}<1>[t]
    18   \frametitle{%
    18   \frametitle{%
    19   \begin{tabular}{@ {\hspace{-3mm}}c@ {}}
    19   \begin{tabular}{@ {\hspace{-3mm}}c@ {}}
    20   \\
    20   \\
    21   \huge Nominal 2\\[-2mm] 
    21   \huge Nominal Isabelle 2\\[-2mm] 
    22   \large Or, How to Reason Conveniently with\\[-5mm]
    22   \large Or, How to Reason Conveniently\\[-5mm]
    23   \large General Bindings in Isabelle/HOL\\[5mm]
    23   \large with General Bindings\\[5mm]
    24   \end{tabular}}
    24   \end{tabular}}
    25   \begin{center}
    25   \begin{center}
    26   Christian Urban
    26   Christian Urban
    27   \end{center}
    27   \end{center}
    28   \begin{center}
    28   \begin{center}
   180   vacuous binders \textcolor{gray}{(restriction)}\medskip
   180   vacuous binders \textcolor{gray}{(restriction)}\medskip
   181   
   181   
   182   \item the order does not matter, but the cardinality of the binders 
   182   \item the order does not matter, but the cardinality of the binders 
   183   must be the same \textcolor{gray}{(abstraction)}\medskip
   183   must be the same \textcolor{gray}{(abstraction)}\medskip
   184 
   184 
   185   \item the order does matter
   185   \item the order does matter \textcolor{gray}{(iterated single binders)}
   186   \end{itemize}
   186   \end{itemize}
   187 
   187 
   188   \onslide<2->{
   188   \onslide<2->{
   189   \begin{center}
   189   \begin{center}
   190   \isacommand{bind\_res}\hspace{6mm}
   190   \isacommand{bind\_res}\hspace{6mm}
   264 
   264 
   265   \only<5>{
   265   \only<5>{
   266   \begin{itemize}
   266   \begin{itemize}
   267   \item we allow multiple ``binders'' and ``bodies''\smallskip
   267   \item we allow multiple ``binders'' and ``bodies''\smallskip
   268   \begin{center}
   268   \begin{center}
   269   \isacommand{bind} a b c \isacommand{in} x y z
   269   \begin{tabular}{l}
       
   270   \isacommand{bind} a b c \ldots \isacommand{in} x y z \ldots\\
       
   271   \isacommand{bind\_set} a b c \ldots \isacommand{in} x y z \ldots\\
       
   272   \isacommand{bind\_res} a b c \ldots \isacommand{in} x y z \ldots
       
   273   \end{tabular}
   270   \end{center}\bigskip\medskip
   274   \end{center}\bigskip\medskip
   271   the reason is that with our definitions of $\alpha$-equivalence
   275   the reason is that with our definition of $\alpha$-equivalence\medskip
   272   \begin{center}
   276   \begin{center}
   273   \begin{tabular}{rcl}
   277   \begin{tabular}{l}
   274   \isacommand{bind\_res} as \isacommand{in} x y & $\not\Leftrightarrow$ &
   278   \isacommand{bind\_res} as \isacommand{in} x y $\not\Leftrightarrow$\\ 
   275   \begin{tabular}{@ {}l}
   279   \hspace{8mm}\isacommand{bind\_res} as \isacommand{in} x, \isacommand{bind\_res} as \isacommand{in} y
   276   \isacommand{bind\_res} as \isacommand{in} x,\\
   280   \end{tabular}
   277   \isacommand{bind\_res} as \isacommand{in} y
   281   \end{center}\medskip
   278   \end{tabular}
       
   279   \end{tabular}
       
   280   \end{center}\smallskip
       
   281 
   282 
   282   same with \isacommand{bind\_set}
   283   same with \isacommand{bind\_set}
   283   \end{itemize}}
   284   \end{itemize}}
   284   \end{itemize}
   285   \end{itemize}
   285 
   286 
   322   \frametitle{\begin{tabular}{c}New Design\end{tabular}}
   323   \frametitle{\begin{tabular}{c}New Design\end{tabular}}
   323   \mbox{}\\[4mm]
   324   \mbox{}\\[4mm]
   324 
   325 
   325   \begin{center}
   326   \begin{center}
   326   \begin{tikzpicture}
   327   \begin{tikzpicture}
       
   328   {\draw (0,0) node[inner sep=3mm, ultra thick, draw=fg, rounded corners=2mm]
       
   329   (A) {\begin{minipage}{1.1cm}bind.\\spec.\end{minipage}};}
       
   330   
       
   331   {\draw (3,0) node[inner sep=3mm, ultra thick, draw=fg, rounded corners=2mm]
       
   332   (B) {\begin{minipage}{1.1cm}raw\\terms\end{minipage}};}
       
   333 
   327   \alt<2>
   334   \alt<2>
   328   {\draw (0,0) node[inner sep=3mm, ultra thick, draw=red, rounded corners=2mm]
       
   329   (A) {\textcolor{red}{\begin{minipage}{1.1cm}bind.\\spec.\end{minipage}}};}
       
   330   {\draw (0,0) node[inner sep=3mm, ultra thick, draw=white, rounded corners=2mm]
       
   331   (A) {\begin{minipage}{1.1cm}bind.\\spec.\end{minipage}};}
       
   332   
       
   333   \alt<3>
       
   334   {\draw (3,0) node[inner sep=3mm, ultra thick, draw=red, rounded corners=2mm]
       
   335   (B) {\textcolor{red}{\begin{minipage}{1.1cm}raw\\terms\end{minipage}}};}
       
   336   {\draw (3,0) node[inner sep=3mm, ultra thick, draw=white, rounded corners=2mm]
       
   337   (B) {\begin{minipage}{1.1cm}raw\\terms\end{minipage}};}
       
   338 
       
   339   \alt<4>
       
   340   {\draw (6,0) node[inner sep=3mm, ultra thick, draw=red, rounded corners=2mm]
   335   {\draw (6,0) node[inner sep=3mm, ultra thick, draw=red, rounded corners=2mm]
   341   (C) {\textcolor{red}{\begin{minipage}{1.1cm}$\alpha$-\\equiv.\end{minipage}}};}
   336   (C) {\textcolor{red}{\begin{minipage}{1.1cm}$\alpha$-\\equiv.\end{minipage}}};}
   342   {\draw (6,0) node[inner sep=3mm, ultra thick, draw=white, rounded corners=2mm]
   337   {\draw (6,0) node[inner sep=3mm, ultra thick, draw=fg, rounded corners=2mm]
   343   (C) {\begin{minipage}{1.1cm}$\alpha$-\\equiv.\end{minipage}};}
   338   (C) {\begin{minipage}{1.1cm}$\alpha$-\\equiv.\end{minipage}};}
   344   
   339   
   345   \alt<5>
   340   {\draw (0,-3) node[inner sep=3mm, ultra thick, draw=fg, rounded corners=2mm]
   346   {\draw (0,-3) node[inner sep=3mm, ultra thick, draw=red, rounded corners=2mm]
       
   347   (D) {\textcolor{red}{\begin{minipage}{1.1cm}quot.\\type\end{minipage}}};}
       
   348   {\draw (0,-3) node[inner sep=3mm, ultra thick, draw=white, rounded corners=2mm]
       
   349   (D) {\begin{minipage}{1.1cm}quot.\\type\end{minipage}};}
   341   (D) {\begin{minipage}{1.1cm}quot.\\type\end{minipage}};}
   350 
   342 
   351   \alt<6>
   343   {\draw (3,-3) node[inner sep=3mm, ultra thick, draw=fg, rounded corners=2mm]
   352   {\draw (3,-3) node[inner sep=3mm, ultra thick, draw=red, rounded corners=2mm]
       
   353   (E) {\textcolor{red}{\begin{minipage}{1.1cm}lift\\thms\end{minipage}}};}
       
   354   {\draw (3,-3) node[inner sep=3mm, ultra thick, draw=white, rounded corners=2mm]
       
   355   (E) {\begin{minipage}{1.1cm}lift\\thms\end{minipage}};}
   344   (E) {\begin{minipage}{1.1cm}lift\\thms\end{minipage}};}
   356 
   345 
   357   \alt<7>
   346   {\draw (6,-3) node[inner sep=3mm, ultra thick, draw=fg, rounded corners=2mm]
   358   {\draw (6,-3) node[inner sep=3mm, ultra thick, draw=red, rounded corners=2mm]
       
   359   (F) {\textcolor{red}{\begin{minipage}{1.1cm}add.\\thms\end{minipage}}};}
       
   360   {\draw (6,-3) node[inner sep=3mm, ultra thick, draw=white, rounded corners=2mm]
       
   361   (F) {\begin{minipage}{1.1cm}add.\\thms\end{minipage}};}
   347   (F) {\begin{minipage}{1.1cm}add.\\thms\end{minipage}};}
   362   
   348   
   363   \draw[->,white!50,line width=1mm] (A) -- (B);
   349   \draw[->,fg!50,line width=1mm] (A) -- (B);
   364   \draw[->,white!50,line width=1mm] (B) -- (C);
   350   \draw[->,fg!50,line width=1mm] (B) -- (C);
   365   \draw[->,white!50,line width=1mm, line join=round, rounded corners=2mm] 
   351   \draw[->,fg!50,line width=1mm, line join=round, rounded corners=2mm] 
   366   (C) -- (8,0) -- (8,-1.5) -- (-2,-1.5) -- (-2,-3) -- (D);
   352   (C) -- (8,0) -- (8,-1.5) -- (-2,-1.5) -- (-2,-3) -- (D);
   367   \draw[->,white!50,line width=1mm] (D) -- (E);
   353   \draw[->,fg!50,line width=1mm] (D) -- (E);
   368   \draw[->,white!50,line width=1mm] (E) -- (F);
   354   \draw[->,fg!50,line width=1mm] (E) -- (F);
   369   \end{tikzpicture}
   355   \end{tikzpicture}
   370   \end{center}
   356   \end{center}
   371 
   357 
   372   \end{frame}}
   358   \end{frame}}
   373   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   359   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   374 *}
   360 *}
   375 
   361 
   376 
   362 
   377 
   363 
   378 text_raw {*
   364 text_raw {*
   379   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   365   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   380   \mode<presentation>{
   366   \mode<presentation>{
   381   \begin{frame}<1-9>
   367   \begin{frame}<1-8>
   382   \frametitle{\begin{tabular}{c}Alpha-Equivalence\end{tabular}}
   368   \frametitle{\begin{tabular}{c}Alpha-Equivalence\end{tabular}}
   383   \mbox{}\\[-3mm]
   369   \mbox{}\\[-3mm]
   384 
   370 
   385   \begin{itemize}
   371   \begin{itemize}
   386   \item lets first look at pairs\bigskip\medskip
   372   \item lets first look at pairs\bigskip\medskip
   387 
   373 
   388   \begin{tabular}{@ {\hspace{1cm}}l}
   374   \begin{tabular}{@ {\hspace{1cm}}l}
   389   $(as, x) \onslide<2->{\approx\!}\makebox[0mm][l]{\only<2-7>{${}_{\text{set}}$}%
   375   $(as, x) \onslide<2->{\approx\!}\makebox[0mm][l]{\only<2-6>{${}_{\text{set}}$}%
   390            \only<8>{${}_{\text{\alert{list}}}$}%
   376            \only<7>{${}_{\text{\alert{list}}}$}%
   391            \only<9>{${}_{\text{\alert{res}}}$}}%
   377            \only<8>{${}_{\text{\alert{res}}}$}}%
   392            \onslide<3->{^{R,\text{fv}}}\,\onslide<2->{(bs,y)}$
   378            \onslide<3->{^{R,\text{fv}}}\,\onslide<2->{(bs,y)}$
   393   \end{tabular}\bigskip
   379   \end{tabular}\bigskip
   394   \end{itemize}
   380   \end{itemize}
   395 
   381 
   396   \only<1>{
   382   \only<1>{
   397   \begin{textblock}{8}(3,8.5)
   383   \begin{textblock}{8}(3,8.5)
   398   \begin{tabular}{l@ {\hspace{2mm}}p{8cm}}
   384   \begin{tabular}{l@ {\hspace{2mm}}p{8cm}}
   399   \pgfuseshading{smallspherered} & $as$ is a set of names\ldots the binders\\
   385   \pgfuseshading{smallspherered} & $as$ is a set of names\ldots the binders\\
   400   \pgfuseshading{smallspherered} & $x$ is the body\\
   386   \pgfuseshading{smallspherered} & $x$ is the body (might be a tuple)\\
   401   \pgfuseshading{smallspherered} & $\approx_{\text{set}}$ is where the cardinality 
   387   \pgfuseshading{smallspherered} & $\approx_{\text{set}}$ is where the cardinality 
   402   of the binders has to be the same\\
   388   of the binders has to be the same\\
   403   \end{tabular}
   389   \end{tabular}
   404   \end{textblock}}
   390   \end{textblock}}
   405 
   391 
   406   \only<4->{
   392   \only<4->{
   407   \begin{textblock}{12}(5,8)
   393   \begin{textblock}{12}(5,8)
   408   \begin{tabular}{ll@ {\hspace{1mm}}l}
   394   \begin{tabular}{ll@ {\hspace{1mm}}l}
   409   $\dn$ & \onslide<5->{$\exists \pi.\,$} & $\text{fv}(x) - as = \text{fv}(y) - bs$\\[1mm]
   395   $\dn$ & \onslide<5->{$\exists \pi.\,$} & $\text{fv}(x) - as = \text{fv}(y) - bs$\\[1mm]
   410         & \onslide<5->{$\;\;\;\wedge$} & \onslide<5->{$\text{fv}(x) - as \fresh^* \pi$}\\[1mm]
   396         & \onslide<5->{$\;\;\;\wedge$} & \onslide<5->{$\text{fv}(x) - as \fresh^* \pi$}\\[1mm]
   411         & \onslide<6->{$\;\;\;\wedge$} & \onslide<6->{$(\pi \act x)\;R\;y$}\\[1mm]
   397         & \onslide<5->{$\;\;\;\wedge$} & \onslide<5->{$(\pi \act x)\;R\;y$}\\[1mm]
   412         & \onslide<7-8>{$\;\;\;\wedge$} & \onslide<7-8>{$\pi \act as = bs$}\\
   398         & \onslide<6-7>{$\;\;\;\wedge$} & \onslide<6-7>{$\pi \act as = bs$}\\
   413   \end{tabular}
   399   \end{tabular}
   414   \end{textblock}}
   400   \end{textblock}}
   415   
   401   
   416   \only<8>{
   402   \only<7>{
   417   \begin{textblock}{8}(3,13.8)
   403   \begin{textblock}{7}(3,13.8)
   418   \footnotesize $^*$ $as$ and $bs$ are \alert{lists} of names 
   404   \footnotesize $^*$ $as$ and $bs$ are \alert{lists} of names 
   419   \end{textblock}}
   405   \end{textblock}}
   420   \end{frame}}
   406   \end{frame}}
   421   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   407   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   422 *}
   408 *}
   963   \mbox{}\\[-7mm]\mbox{}
   949   \mbox{}\\[-7mm]\mbox{}
   964 
   950 
   965   \footnotesize
   951   \footnotesize
   966   \begin{center}
   952   \begin{center}
   967   \begin{tikzpicture}
   953   \begin{tikzpicture}
   968   \draw (0,0) node[inner sep=2mm, ultra thick, draw=white, rounded corners=2mm]
   954   \draw (0,0) node[inner sep=2mm, ultra thick, draw=fg, rounded corners=2mm]
   969   (A) {\begin{minipage}{0.8cm}bind.\\spec.\end{minipage}};
   955   (A) {\begin{minipage}{0.8cm}bind.\\spec.\end{minipage}};
   970   
   956   
   971   \draw (2,0) node[inner sep=2mm, ultra thick, draw=white, rounded corners=2mm]
   957   \draw (2,0) node[inner sep=2mm, ultra thick, draw=fg, rounded corners=2mm]
   972   (B) {\begin{minipage}{0.8cm}raw\\terms\end{minipage}};
   958   (B) {\begin{minipage}{0.8cm}raw\\terms\end{minipage}};
   973 
   959 
   974   \draw (4,0) node[inner sep=2mm, ultra thick, draw=white, rounded corners=2mm]
   960   \draw (4,0) node[inner sep=2mm, ultra thick, draw=fg, rounded corners=2mm]
   975   (C) {\begin{minipage}{0.8cm}$\alpha$-\\equiv.\end{minipage}};
   961   (C) {\begin{minipage}{0.8cm}$\alpha$-\\equiv.\end{minipage}};
   976   
   962   
   977   \draw (0,-2) node[inner sep=2mm, ultra thick, draw=white, rounded corners=2mm]
   963   \draw (0,-2) node[inner sep=2mm, ultra thick, draw=fg, rounded corners=2mm]
   978   (D) {\begin{minipage}{0.8cm}quot.\\type\end{minipage}};
   964   (D) {\begin{minipage}{0.8cm}quot.\\type\end{minipage}};
   979 
   965 
   980   \draw (2,-2) node[inner sep=2mm, ultra thick, draw=white, rounded corners=2mm]
   966   \draw (2,-2) node[inner sep=2mm, ultra thick, draw=fg, rounded corners=2mm]
   981   (E) {\begin{minipage}{0.8cm}lift\\thms\end{minipage}};
   967   (E) {\begin{minipage}{0.8cm}lift\\thms\end{minipage}};
   982 
   968 
   983   \draw (4,-2) node[inner sep=2mm, ultra thick, draw=white, rounded corners=2mm]
   969   \draw (4,-2) node[inner sep=2mm, ultra thick, draw=fg, rounded corners=2mm]
   984   (F) {\begin{minipage}{0.8cm}add.\\thms\end{minipage}};
   970   (F) {\begin{minipage}{0.8cm}add.\\thms\end{minipage}};
   985   
   971   
   986   \draw[->,white!50,line width=1mm] (A) -- (B);
   972   \draw[->,fg!50,line width=1mm] (A) -- (B);
   987   \draw[->,white!50,line width=1mm] (B) -- (C);
   973   \draw[->,fg!50,line width=1mm] (B) -- (C);
   988   \draw[->,white!50,line width=1mm, line join=round, rounded corners=2mm] 
   974   \draw[->,fg!50,line width=1mm, line join=round, rounded corners=2mm] 
   989   (C) -- (5,0) -- (5,-1) -- (-1,-1) -- (-1,-2) -- (D);
   975   (C) -- (5,0) -- (5,-1) -- (-1,-1) -- (-1,-2) -- (D);
   990   \draw[->,white!50,line width=1mm] (D) -- (E);
   976   \draw[->,fg!50,line width=1mm] (D) -- (E);
   991   \draw[->,white!50,line width=1mm] (E) -- (F);
   977   \draw[->,fg!50,line width=1mm] (E) -- (F);
   992   \end{tikzpicture}
   978   \end{tikzpicture}
   993   \end{center}
   979   \end{center}
   994 
   980 
   995   \begin{itemize}
   981   \begin{itemize}
   996   \item Core Haskell: 11 types, 49 term-constructors, 7 binding functions
   982   \item Core Haskell: 11 types, 49 term-constructors, 7 binding functions
  1010   \begin{frame}<1->
   996   \begin{frame}<1->
  1011   \frametitle{\begin{tabular}{c}Interesting Phenomenon\end{tabular}}
   997   \frametitle{\begin{tabular}{c}Interesting Phenomenon\end{tabular}}
  1012   \mbox{}\\[-6mm]
   998   \mbox{}\\[-6mm]
  1013 
   999 
  1014   \small
  1000   \small
  1015   \mbox{}\hspace{10mm}
  1001   \mbox{}\hspace{20mm}
  1016   \begin{tabular}{ll}
  1002   \begin{tabular}{ll}
  1017   \multicolumn{2}{l}{\isacommand{nominal\_datatype} trm $=$}\\
  1003   \multicolumn{2}{l}{\isacommand{nominal\_datatype} trm $=$}\\
  1018   \hspace{5mm}\phantom{$|$} Var name\\
  1004   \hspace{5mm}\phantom{$|$} Var name\\
  1019   \hspace{5mm}$|$ App trm trm\\
  1005   \hspace{5mm}$|$ App trm trm\\
  1020   \hspace{5mm}$|$ Lam x::name t::trm
  1006   \hspace{5mm}$|$ Lam x::name t::trm
  1029   \multicolumn{2}{l}{\hspace{5mm}$|$ bn(ACons a t as) $=$ $[$a$]$ @ bn(as)}\\
  1015   \multicolumn{2}{l}{\hspace{5mm}$|$ bn(ACons a t as) $=$ $[$a$]$ @ bn(as)}\\
  1030   \end{tabular}\bigskip\medskip
  1016   \end{tabular}\bigskip\medskip
  1031 
  1017 
  1032   we cannot quotient assn: ACons a \ldots $\not\approx_\alpha$ ACons b \ldots
  1018   we cannot quotient assn: ACons a \ldots $\not\approx_\alpha$ ACons b \ldots
  1033 
  1019 
       
  1020   \only<1->{
       
  1021   \begin{textblock}{8}(0.2,7.3)
       
  1022   \alert{\begin{tabular}{p{2.6cm}}
       
  1023   \raggedright\footnotesize{}Should a ``naked'' assn be quotient?
       
  1024   \end{tabular}\hspace{-3mm}
       
  1025   $\begin{cases}
       
  1026   \mbox{} \\ \mbox{}
       
  1027   \end{cases}$} 
       
  1028   \end{textblock}}
  1034   \end{frame}}
  1029   \end{frame}}
  1035   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
  1030   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
  1036 *}
  1031 *}
  1037 
  1032 
  1038 text_raw {*
  1033 text_raw {*
  1073   
  1068   
  1074   \end{frame}}
  1069   \end{frame}}
  1075   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
  1070   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
  1076 *}
  1071 *}
  1077 
  1072 
       
  1073 text_raw {*
       
  1074   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
  1075   \mode<presentation>{
       
  1076   \begin{frame}<1-2>[c]
       
  1077   \frametitle{\begin{tabular}{c}Examples\end{tabular}}
       
  1078   \mbox{}\\[-6mm]
       
  1079 
       
  1080   \begin{center}
       
  1081   $(\{a,b\}, a \rightarrow b) \approx_\alpha (\{a, b\}, a \rightarrow b)$
       
  1082   $(\{a,b\}, a \rightarrow b) \approx_\alpha (\{a, b\}, b \rightarrow a)$
       
  1083   \end{center}
       
  1084 
       
  1085   \begin{center}
       
  1086   $(\{a,b\}, (a \rightarrow b, a \rightarrow b))$\\ 
       
  1087   \hspace{17mm}$\not\approx_\alpha (\{a, b\}, (a \rightarrow b, b \rightarrow a))$
       
  1088   \end{center}
       
  1089   
       
  1090   \onslide<2->
       
  1091   {1.) \hspace{3mm}\isacommand{bind\_set} as \isacommand{in} $\tau_1$, 
       
  1092    \isacommand{bind\_set} as \isacommand{in} $\tau_2$\medskip
       
  1093 
       
  1094    2.) \hspace{3mm}\isacommand{bind\_set} as \isacommand{in} $\tau_1$ $\tau_2$ 
       
  1095   }
       
  1096 
       
  1097   \end{frame}}
       
  1098   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
       
  1099 *}
       
  1100 
  1078 (*<*)
  1101 (*<*)
  1079 end
  1102 end
  1080 (*>*)
  1103 (*>*)