<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://dev.eiffel.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bheilig</id>
		<title>EiffelStudio: an EiffelSoftware project - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://dev.eiffel.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bheilig"/>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/Special:Contributions/Bheilig"/>
		<updated>2026-05-01T00:26:48Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.24.1</generator>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=DynBindModelExamples&amp;diff=6375</id>
		<title>DynBindModelExamples</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=DynBindModelExamples&amp;diff=6375"/>
				<updated>2006-11-24T21:44:37Z</updated>
		
		<summary type="html">&lt;p&gt;Bheilig: class C2 was inheriting from an unknown class 'B'. I assume this was supposed to be C1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ECMA]]&lt;br /&gt;
Author: Matthias Konrad&lt;br /&gt;
==The system==&lt;br /&gt;
In this example we are studying a simple system with three classes that contains both renaming and selects:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; -halign=&amp;quot;center&amp;quot;&lt;br /&gt;
|&amp;lt;code&amp;gt;[eiffel, N]&lt;br /&gt;
class&lt;br /&gt;
   C1&lt;br /&gt;
feature&lt;br /&gt;
   f1 do ... end&lt;br /&gt;
   g1 do ... end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;[eiffel, N]&lt;br /&gt;
class&lt;br /&gt;
   C2&lt;br /&gt;
inherit&lt;br /&gt;
   C1&lt;br /&gt;
      rename f1 as f2, g1 as g2 &lt;br /&gt;
      redefine f2, g2 end&lt;br /&gt;
feature&lt;br /&gt;
   f2 do ... end&lt;br /&gt;
   g2 do ... end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;[eiffel, N]&lt;br /&gt;
class&lt;br /&gt;
   C3&lt;br /&gt;
inherit&lt;br /&gt;
   C2&lt;br /&gt;
      select f2 end&lt;br /&gt;
   C1 &lt;br /&gt;
      redefine f1, g1 &lt;br /&gt;
      select g1 end&lt;br /&gt;
feature&lt;br /&gt;
   f1 do ... end&lt;br /&gt;
   g1 do ... end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
This system is defined by:&lt;br /&gt;
*&amp;lt;math&amp;gt;S = \left\{ C_1, C_2, C_3 \right\} &amp;lt;/math&amp;gt;&lt;br /&gt;
*&amp;lt;math&amp;gt;S_1 = \left\{ C_1\right\}, S_2 = \left\{ C_1, C_2\right\}, S_3 = \left\{ C_1, C_2, C_3 \right\}&amp;lt;/math&amp;gt;&lt;br /&gt;
*&amp;lt;math&amp;gt;\tau = &lt;br /&gt;
\left\{&lt;br /&gt;
   C_1 \mapsto \left\{ f_1 \mapsto \underline{C_1.f_1}, g_1 \mapsto \underline{C_1.g_1} \right\}, &lt;br /&gt;
   C_2 \mapsto \left\{ f_2 \mapsto \underline{C_2.f_2}, g_2 \mapsto \underline{C_2.g_2} \right\},&lt;br /&gt;
   C_3 \mapsto \left\{ f_1 \mapsto \underline{C_3.f_1}, g_1 \mapsto \underline{C_3.g_1} \right\}&lt;br /&gt;
\right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
*&amp;lt;math&amp;gt;\eta = &lt;br /&gt;
\left\{&lt;br /&gt;
   C_2 \mapsto \left\{ &lt;br /&gt;
      C_1 \mapsto \left\{ f_1 \mapsto f_2, g_1 \mapsto g_2 \right\} &lt;br /&gt;
   \right\}&lt;br /&gt;
\right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
*&amp;lt;math&amp;gt;\alpha = \left\{&lt;br /&gt;
   C_2 \mapsto \left\{ C_1 \right\},&lt;br /&gt;
   C_3 \mapsto \left\{ C_2, C_1 \right\}&lt;br /&gt;
\right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
*&amp;lt;math&amp;gt;\sigma = \left\{&lt;br /&gt;
   C_3 \mapsto \left\{ C_2 \mapsto \left\{ f_2 \right\}, C_1 \mapsto \left\{ g_1 \right\} \right\}&lt;br /&gt;
\right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The naming function==&lt;br /&gt;
We proceed by calculating the naming function. According to its definition we have to do that incrementally. Meaning that we first calculate &amp;lt;math&amp;gt;\beta_{S_1}&amp;lt;/math&amp;gt; then  &amp;lt;math&amp;gt;\beta_{S_2}&amp;lt;/math&amp;gt; and finally &amp;lt;math&amp;gt;\beta_{S_3}&amp;lt;/math&amp;gt;.&lt;br /&gt;
===Calculating &amp;lt;math&amp;gt;\beta_{S_1}&amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Since &amp;lt;math&amp;gt;\beta_{S_1}&amp;lt;/math&amp;gt; contains only one class it is sufficient to define &amp;lt;math&amp;gt;\beta_{S_1}\left( C_1 \mapsto C_1 \right)&amp;lt;/math&amp;gt;. According to the definition:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;math&amp;gt;&lt;br /&gt;
   \beta_{S_1}\left( C_1 \mapsto C_1 \right) &lt;br /&gt;
      = &lt;br /&gt;
   \mbox{id} \left( \mbox{dom} \left( \tau_1 \right) \right) &lt;br /&gt;
      \, \cup \,&lt;br /&gt;
   \mbox {UNION} \ b \, \cdot \, \left(b \in \alpha_1&lt;br /&gt;
      \ |\ &lt;br /&gt;
   \mbox{id} \left( \mbox{ran} \left( \beta_{ S_0 } \left( b \mapsto b \right) \ll \eta_{1, b} \right) \right) \right)&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
We can forget about the right part of the union since &amp;lt;math&amp;gt;C_1\,&amp;lt;/math&amp;gt; has no base classes. So we need to calculate:&lt;br /&gt;
#&amp;lt;math&amp;gt;\mbox{id} \left( \mbox{dom} \left( \tau_1 \right) \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
\tau_1 = \tau (C_1) = \left\{ f_1 \mapsto \underline{C_1.f_1}, g_1 \mapsto \underline{C_1.g_1} \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
\mbox{dom} \left( \tau_1 \right) = \left\{ f_1, g_1 \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
\mbox{id} \left( \mbox{dom} \left( \tau_1 \right) \right) = \left\{ f_1 \mapsto f_1, g_1 \mapsto g_1\right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we get:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \beta_{S_1}\left( C_1 \mapsto C_1 \right) = \left\{ f_1 \mapsto f_1, g_1 \mapsto g_1\right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And hence:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \beta_{S_1} = \left\{ \left( C_1 \mapsto C_1 \right) \mapsto &lt;br /&gt;
      \left\{ f_1 \mapsto f_1, g_1 \mapsto g_1 \right\} \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Calculating &amp;lt;math&amp;gt;\beta_{S_2}&amp;lt;/math&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
We show the calculation of the different (four) parts of the function in separate sections:&lt;br /&gt;
&lt;br /&gt;
====Calculate &amp;lt;math&amp;gt;\beta_{S_2}\left( C_1 \mapsto C_1 \right)&amp;lt;/math&amp;gt;====&lt;br /&gt;
According to the [[DynBindModel#The_naming_function|definition]]:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \beta_{S_2}\left( C_1 \mapsto C_1 \right) = &lt;br /&gt;
   \beta_{S_1}\left( C_1 \mapsto C_1 \right) =  \left\{ f_1 \mapsto f_1, g_1 \mapsto g_1\right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Calculate &amp;lt;math&amp;gt;\beta_{S_2}\left( C_2 \mapsto C_1 \right)&amp;lt;/math&amp;gt;====&lt;br /&gt;
According to the [[DynBindModel#The_naming_function|definition]]:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \beta_{S_2}\left( C_2 \mapsto C_1 \right) = \emptyset&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Calculate &amp;lt;math&amp;gt;\beta_{S_2}\left( C_2 \mapsto C_2 \right)&amp;lt;/math&amp;gt;====&lt;br /&gt;
According to the [[DynBindModel#The_naming_function|definition]]:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \beta_{S_2}\left( C_2 \mapsto C_2 \right) &lt;br /&gt;
      = &lt;br /&gt;
   \mbox{id} \left( \mbox{dom} \left( \tau_2 \right) \right) &lt;br /&gt;
      \, \cup \,&lt;br /&gt;
   \mbox {UNION} \ b \, \cdot \, \left(b \in \alpha_2&lt;br /&gt;
      \ |\ &lt;br /&gt;
   \mbox{id}\left(\mbox{ran}\left( \beta_{ S_{1} } \left( b \mapsto b \right) \ll \eta_{2, b} \right)\right)&lt;br /&gt;
   \right)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lets calculate the left part first:&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;math&amp;gt;&lt;br /&gt;
\tau_2 = \tau (C_2) = \left\{ f_2 \mapsto \underline{C_2.f_2}, g_2 \mapsto \underline{C_2.g_2} \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
#&amp;lt;math&amp;gt;&lt;br /&gt;
\mbox{id} \left( \mbox{dom} \left( \tau_2 \right) \right) = \left\{ f_2 \mapsto f_2, g_2 \mapsto g_2\right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And now the right part:&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;math&amp;gt;&lt;br /&gt;
\mbox {UNION} \ b \, \cdot \, \left(b \in \left\{ C_1 \right\}&lt;br /&gt;
      \ |\ &lt;br /&gt;
   \mbox{id}\left(\mbox{ran}\left( \beta_{ S_{1} } \left( b \mapsto b \right) \ll \eta_{2, b} \right)\right)\right) &lt;br /&gt;
= &lt;br /&gt;
\mbox{id}\left(\mbox{ran}\left( \beta_{ S_{1} } \left( C_1 \mapsto C_1 \right) \ll \eta_{2, C_1} \right)\right)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
#&amp;lt;math&amp;gt;&lt;br /&gt;
   \beta_{ S_{1} } \left( C_1 \mapsto C_1 \right)&lt;br /&gt;
=  &lt;br /&gt;
   \left\{ f_1 \mapsto f_1, g_1 \mapsto g_1\right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
#&amp;lt;math&amp;gt;&lt;br /&gt;
   \eta_{2,C_1} = \eta (C_2)(C_1) = \left\{ f_1 \mapsto f_2, g_1 \mapsto g_2 \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
#&amp;lt;math&amp;gt;&lt;br /&gt;
   \left\{ f_1 \mapsto f_1, g_1 \mapsto g_1\right\} \ll \left\{ f_1 \mapsto f_2, g_1 \mapsto g_2 \right\}&lt;br /&gt;
     =&lt;br /&gt;
   \left\{ f_1 \mapsto f_2, g_1 \mapsto g_2 \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
#&amp;lt;math&amp;gt;&lt;br /&gt;
   \mbox{id}\left(\mbox{ran}\left( \left\{ f_1 \mapsto f_2, g_1 \mapsto g_2\right\} \right) \right) &lt;br /&gt;
=  &lt;br /&gt;
   \left\{ f_2 \mapsto f_2, g_2 \mapsto g_2\right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we get:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta_{S_2} \left( C_2 \mapsto C_2 \right)&lt;br /&gt;
  =  &lt;br /&gt;
\left\{ f_2 \mapsto f_2, g_2 \mapsto g_2\right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Calculate &amp;lt;math&amp;gt;\beta_{S_2} \left( C_1 \mapsto C_2 \right)&amp;lt;/math&amp;gt;====&lt;br /&gt;
According to the [[DynBindModel#The_naming_function|definition]]:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta_{S_2} \left( C_1 \mapsto C_2 \right)&lt;br /&gt;
  =&lt;br /&gt;
{\beta_{S_2}}^\prime \left( C_1 \mapsto C_2 \right) &lt;br /&gt;
   \ll &lt;br /&gt;
\theta_{S_2} \left( C_1 \mapsto C_2 \right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where: &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\beta_{S_2}}^\prime \left( C_1 \mapsto C_2 \right) &lt;br /&gt;
  =&lt;br /&gt;
\mbox {UNION} \ b \ \cdot \ \left(&lt;br /&gt;
   b \in \alpha_2&lt;br /&gt;
      \ |\ &lt;br /&gt;
   \beta_{S_{1}} \left( C_1 \mapsto b \right)&lt;br /&gt;
      ; &lt;br /&gt;
   \left( &lt;br /&gt;
      \mbox{id} \left( \mbox{ran} \left( \beta_{S_{1}} \left( C_1 \mapsto b \right) \right) \right) &lt;br /&gt;
         \ll&lt;br /&gt;
      \eta_{2,b}&lt;br /&gt;
   \right)&lt;br /&gt;
\right)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And: &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
  \theta_{S_2} \left( C_1 \mapsto C_2 \right) &lt;br /&gt;
    =&lt;br /&gt;
  \mbox {UNION} \ b \ \cdot \ \left(&lt;br /&gt;
   b \in \alpha_2&lt;br /&gt;
      \ |\ &lt;br /&gt;
   \beta_{S_{1}} \left( C_1 \mapsto b \right)&lt;br /&gt;
      ; &lt;br /&gt;
   \left( &lt;br /&gt;
      \mbox{id} \left( \mbox{ran} \left( \beta_{S_1} \left( C_1 \mapsto b \right) \right) \right) &lt;br /&gt;
         \ll&lt;br /&gt;
      \eta_{2,b}&lt;br /&gt;
   \right)&lt;br /&gt;
   \triangleright \sigma_{2,b}&lt;br /&gt;
\right)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here are the steps taken to compute the part:&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;math&amp;gt;&lt;br /&gt;
   \beta_{S_{1}} \left( C_1 \mapsto C_1 \right)&lt;br /&gt;
      ; &lt;br /&gt;
   \left( &lt;br /&gt;
      \mbox{id} \left( \mbox{ran} \left( \beta_{S_{1}} \left( C_1 \mapsto C_1 \right) \right) \right) &lt;br /&gt;
         \ll&lt;br /&gt;
      \eta_{2,C_1}&lt;br /&gt;
   \right)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
  \mbox{id} \left( \mbox{ran} \left( \beta_{S_{1}} \left( C_1 \mapsto C_1 \right) \right) \right) &lt;br /&gt;
    = &lt;br /&gt;
  \left\{ f_1 \mapsto f_1, g_1 \mapsto g_1 \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
  \left\{ f_1 \mapsto f_1, g_1 \mapsto g_1 \right\} \ll \left\{ f_1 \mapsto f_2, g_1 \mapsto g_2 \right\}&lt;br /&gt;
     =&lt;br /&gt;
  \left\{ f_1 \mapsto f_2, g_1 \mapsto g_2 \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
  \left\{ f_1 \mapsto f_1, g_1 \mapsto g_1 \right\} \,;\, \left\{ f_1 \mapsto f_2, g_1 \mapsto g_2 \right\}&lt;br /&gt;
    =&lt;br /&gt;
  \left\{ f_1 \mapsto f_2, g_1 \mapsto g_2 \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
{\beta_{S_2}}^\prime \left( C_1 \mapsto C_2 \right) &lt;br /&gt;
  =&lt;br /&gt;
  \left\{ f_1 \mapsto f_2, g_1 \mapsto g_2 \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
#&amp;lt;math&amp;gt;&lt;br /&gt;
   \beta_{S_1} \left( C_1 \mapsto C_1 \right)&lt;br /&gt;
      ; &lt;br /&gt;
   \left( &lt;br /&gt;
      \mbox{id} \left( \mbox{ran} \left( \beta_{S_1} \left( C_1 \mapsto C_1 \right) \right) \right) &lt;br /&gt;
         \ll&lt;br /&gt;
      \eta_{2,C_1}&lt;br /&gt;
   \right)&lt;br /&gt;
   \triangleright \sigma_{2,C_1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
\sigma_{2,C_1} = \emptyset&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
  \mbox{id} \left( \mbox{ran} \left( \beta_{S_1} \left( C_1 \mapsto C_1 \right) \right) \right) &lt;br /&gt;
    \ll&lt;br /&gt;
  \emptyset &lt;br /&gt;
     = &lt;br /&gt;
  \emptyset&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
  \beta_{S_1} \left( C_1 \mapsto C_1 \right)&lt;br /&gt;
      ; &lt;br /&gt;
  \emptyset &lt;br /&gt;
     = &lt;br /&gt;
  \emptyset&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
  \theta_{S_2} \left( C_1 \mapsto C_2 \right) = \emptyset&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
# &amp;lt;math&amp;gt;&lt;br /&gt;
  \left\{ f_1 \mapsto f_2, g_1 \mapsto g_2 \right\} \ll \emptyset &lt;br /&gt;
    = &lt;br /&gt;
  \left\{ f_1 \mapsto f_2, g_1 \mapsto g_2 \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we get:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta_{S_2} \left( C_1 \mapsto C_2 \right)&lt;br /&gt;
  =&lt;br /&gt;
\left\{ f_1 \mapsto f_2, g_1 \mapsto g_2 \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Putting the parts together:====&lt;br /&gt;
We can know show the complete total function:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; -halign=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;\beta_{S_2} = \{&amp;lt;/math&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_1 \mapsto C_1 \right) \mapsto \left\{ f_1 \mapsto f_1, g_1 \mapsto g_1 \right\},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_1 \mapsto C_2 \right) \mapsto \left\{ f_1 \mapsto f_2, g_1 \mapsto g_2 \right\},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_2 \mapsto C_1 \right) \mapsto \emptyset,&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_2 \mapsto C_2 \right) \mapsto \left\{ f_2 \mapsto f_2, g_2 \mapsto g_2 \right\} \ \}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Calculating &amp;lt;math&amp;gt;\beta_{S_3}&amp;lt;/math&amp;gt;===&lt;br /&gt;
We will not show the complete construction of &amp;lt;math&amp;gt;\beta_{S_3}&amp;lt;/math&amp;gt; but restrict our self to the most interesting parts.&lt;br /&gt;
&lt;br /&gt;
====Calculate &amp;lt;math&amp;gt;\beta_{S_3} \left( C_1 \mapsto C_3 \right)&amp;lt;/math&amp;gt;====&lt;br /&gt;
According to the [[DynBindModel#The_naming_function|definition]]:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta_{S_3} \left( C_1 \mapsto C_3 \right)&lt;br /&gt;
  =&lt;br /&gt;
{\beta_{S_3}}^\prime \left( C_1 \mapsto C_3 \right) &lt;br /&gt;
   \ll &lt;br /&gt;
\theta_{S_3} \left( C_1 \mapsto C_3 \right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\beta_{S_3}}^\prime \left( C_1 \mapsto C_3 \right) &lt;br /&gt;
  = &lt;br /&gt;
\mbox {UNION} \ b \ \cdot \ \left(&lt;br /&gt;
   b \in \alpha_3&lt;br /&gt;
      \ |\ &lt;br /&gt;
   \beta_{S_{2}} \left( C_1 \mapsto b \right)&lt;br /&gt;
      ; &lt;br /&gt;
   \left( &lt;br /&gt;
      \mbox{id} \left( \mbox{ran} \left( \beta_{S_{2}} \left( C_1 \mapsto b \right) \right) \right) &lt;br /&gt;
         \ll&lt;br /&gt;
      \eta_{3,b}&lt;br /&gt;
   \right)&lt;br /&gt;
\right)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And: &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\theta_{S_3} \left( C_1 \mapsto C_3 \right) &lt;br /&gt;
   = &lt;br /&gt;
\mbox {UNION} \ b \ \cdot \ \left(&lt;br /&gt;
   b \in \alpha_3&lt;br /&gt;
      \ |\ &lt;br /&gt;
   \beta_{S_{2}} \left( C_1 \mapsto b \right)&lt;br /&gt;
      ; &lt;br /&gt;
   \left( &lt;br /&gt;
      \mbox{id} \left( \mbox{ran} \left( \beta_{S_{2}} \left( C_1 \mapsto b \right) \right) \right) &lt;br /&gt;
         \ll&lt;br /&gt;
      \eta_{3,b}&lt;br /&gt;
   \right)&lt;br /&gt;
   \triangleright \sigma_{3,b}&lt;br /&gt;
\right)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that we can omit &amp;lt;math&amp;gt;\eta_{3,b}\,&amp;lt;/math&amp;gt; from the formulas since it is always empty.&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;math&amp;gt;&lt;br /&gt;
   \beta_{S_2} \left( C_1 \mapsto C_2 \right)&lt;br /&gt;
      ; &lt;br /&gt;
   \mbox{id} \left( \mbox{ran} \left( \beta_{S_2} \left( C_1 \mapsto C_2 \right) \right) \right)&lt;br /&gt;
   \ \cup \  &lt;br /&gt;
   \beta_{S_2} \left( C_1 \mapsto C_1 \right)&lt;br /&gt;
      ; &lt;br /&gt;
   \mbox{id} \left( \mbox{ran} \left( \beta_{S_2} \left( C_1 \mapsto C_1 \right) \right) \right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
   \beta_{S_{2}} \left( C_1 \mapsto C_2 \right)&lt;br /&gt;
      = &lt;br /&gt;
   \left\{ f_1 \mapsto f_2, g_1 \mapsto g_2 \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
  \mbox{id}\left(\mbox{ran}\left( \beta_{S_{2}} \left( C_1 \mapsto C_2 \right) \right)\right) &lt;br /&gt;
     = &lt;br /&gt;
  \left\{ f_2 \mapsto f_2, g_2 \mapsto g_2 \right\} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
  \beta_{S_2} \left( C_1 \mapsto C_2 \right)&lt;br /&gt;
    ; &lt;br /&gt;
  \mbox{id} \left( \mbox{ran} \left( \beta_{S_2} \left( C_1 \mapsto C_2 \right) \right) \right)&lt;br /&gt;
    =&lt;br /&gt;
  \left\{ f_1 \mapsto f_2, g_1 \mapsto g_2 \right\} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
   \beta_{S_{2}} \left( C_1 \mapsto C_1 \right)&lt;br /&gt;
      = &lt;br /&gt;
   \left\{ f_1 \mapsto f_1, g_1 \mapsto g_1 \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
  \mbox{id}\left(\mbox{ran}\left( \beta_{S_{2}} \left( C_1 \mapsto C_1 \right) \right)\right) &lt;br /&gt;
     = &lt;br /&gt;
  \left\{ f_1 \mapsto f_1, g_1 \mapsto g_1 \right\} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
  \beta_{S_2} \left( C_1 \mapsto C_1 \right)&lt;br /&gt;
    ; &lt;br /&gt;
  \mbox{id} \left( \mbox{ran} \left( \beta_{S_2} \left( C_1 \mapsto C_1 \right) \right) \right)&lt;br /&gt;
    =&lt;br /&gt;
  \left\{ f_1 \mapsto f_1, g_1 \mapsto g_1 \right\} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
  \left\{ f_1 \mapsto f_2, g_1 \mapsto g_2 \right\} &lt;br /&gt;
  \ \cup\ &lt;br /&gt;
  \left\{ f_1 \mapsto f_1, g_1 \mapsto g_1 \right\} &lt;br /&gt;
    =&lt;br /&gt;
  \left\{ f_1 \mapsto f_1, f_1 \mapsto f_2, g_1 \mapsto g_1, g_1 \mapsto g_2 \right\} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
#&amp;lt;math&amp;gt;&lt;br /&gt;
   \beta_{S_2} \left( C_1 \mapsto C_2 \right)&lt;br /&gt;
      ; &lt;br /&gt;
   \mbox{id} \left( \mbox{ran} \left( \beta_{S_2} \left( C_1 \mapsto C_2 \right) \right) \right)&lt;br /&gt;
      \ \triangleright\  &lt;br /&gt;
   \sigma_{3,C_2}&lt;br /&gt;
   \ \cup \  &lt;br /&gt;
   \beta_{S_2} \left( C_1 \mapsto C_1 \right)&lt;br /&gt;
      ; &lt;br /&gt;
   \mbox{id} \left( \mbox{ran} \left( \beta_{S_2} \left( C_1 \mapsto C_1 \right) \right) \right) &lt;br /&gt;
      \ \triangleright\  &lt;br /&gt;
   \sigma_{3,C_1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
   \sigma_{3,C_2} = \sigma \left(C_3 \right) \left(C_2\right) = \left\{ f_2 \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
   \sigma_{3,C_1} = \sigma \left(C_3 \right) \left(C_1\right) = \left\{ g_1 \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
   \beta_{S_2} \left( C_1 \mapsto C_2 \right)&lt;br /&gt;
      ; &lt;br /&gt;
   \mbox{id} \left( \mbox{ran} \left( \beta_{S_2} \left( C_1 \mapsto C_2 \right) \right) \right)&lt;br /&gt;
      \ \triangleright\  &lt;br /&gt;
   \sigma_{3,C_2}&lt;br /&gt;
      =&lt;br /&gt;
   \left\{ f_1 \mapsto f_2 \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
   \beta_{S_2} \left( C_1 \mapsto C_1 \right)&lt;br /&gt;
      ; &lt;br /&gt;
   \mbox{id} \left( \mbox{ran} \left( \beta_{S_2} \left( C_1 \mapsto C_1 \right) \right) \right)&lt;br /&gt;
      \ \triangleright\  &lt;br /&gt;
   \sigma_{3,C_1}&lt;br /&gt;
      =&lt;br /&gt;
   \left\{ g_1 \mapsto g_1 \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
   \left\{ f_1 \mapsto f_2 \right\} \ \cup \ \left\{ g_1 \mapsto g_1 \right\}&lt;br /&gt;
      = &lt;br /&gt;
   \left\{ f_1 \mapsto f_2, g_1 \mapsto g_1 \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
  \left\{ f_1 \mapsto f_1, f_1 \mapsto f_2, g_1 \mapsto g_1, g_1 \mapsto g_2 \right\} &lt;br /&gt;
    \ll&lt;br /&gt;
  \left\{ f_1 \mapsto f_2, g_1 \mapsto g_1 \right\}&lt;br /&gt;
    =&lt;br /&gt;
  \left\{ f_1 \mapsto f_2, g_1 \mapsto g_1 \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we get:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta_{S_3} \left( C_1 \mapsto C_3 \right)&lt;br /&gt;
  =&lt;br /&gt;
  \left\{ f_1 \mapsto f_2, g_1 \mapsto g_1 \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====The complete naming function====&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; -halign=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;\beta_{S_3} = \{&amp;lt;/math&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_1 \mapsto C_1 \right) \mapsto \left\{ f_1 \mapsto f_1, g_1 \mapsto g_1 \right\},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_1 \mapsto C_2 \right) \mapsto \left\{ f_1 \mapsto f_2, g_1 \mapsto g_2 \right\},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_2 \mapsto C_1 \right) \mapsto \emptyset,&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_2 \mapsto C_2 \right) \mapsto \left\{ f_2 \mapsto f_2, g_2 \mapsto g_2 \right\}, &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_1 \mapsto C_3 \right) \mapsto \left\{ f_1 \mapsto f_2, g_1 \mapsto g_1 \right\},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_2 \mapsto C_3 \right) \mapsto \left\{ f_2 \mapsto f_2, g_2 \mapsto g_2 \right\},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_3 \mapsto C_3 \right) &lt;br /&gt;
      \mapsto &lt;br /&gt;
   \left\{  f_1 \mapsto f_1, g_1 \mapsto g_1, f_2 \mapsto f_2, g_2 \mapsto g_2 \right\}, &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_3 \mapsto C_1 \right) \mapsto \emptyset,&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_3 \mapsto C_2 \right) \mapsto \emptyset  \ \}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==The dynamic binding function==&lt;br /&gt;
To calculate the dynamic binding function, we need to get &amp;lt;math&amp;gt;\delta_{S_3}&amp;lt;/math&amp;gt;. We will again calculate it incrementally:&lt;br /&gt;
===Calculating &amp;lt;math&amp;gt;\delta_{S_1}&amp;lt;/math&amp;gt;===&lt;br /&gt;
According to the [[DynBindModel#The_dynamic_binding_function|definition]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_{S_1} \left( C_1 \mapsto C_1 \right)&lt;br /&gt;
  =&lt;br /&gt;
\beta_S \left( C_1 \mapsto C_1 \right) ;&lt;br /&gt;
\left(&lt;br /&gt;
\left( \mbox {UNION} \, b \cdot \left(&lt;br /&gt;
    b \in \alpha_1&lt;br /&gt;
      \, |\, &lt;br /&gt;
    \left( \beta_S \left( b \mapsto b \right) ; \eta_{1,b} \right)^{-1}&lt;br /&gt;
      ;&lt;br /&gt;
    \delta_{S_0}\left( b \mapsto b \right)\right)  \right) \ll \tau_1&lt;br /&gt;
\right)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since &amp;lt;math&amp;gt;\alpha_1\,&amp;lt;/math&amp;gt; is empty this simplifies to:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_{S_1} \left( C_1 \mapsto C_1 \right)&lt;br /&gt;
  =&lt;br /&gt;
\beta_S \left( C_1 \mapsto C_1 \right) ; \tau_1&lt;br /&gt;
  =&lt;br /&gt;
\left\{ f_1 \mapsto f_1, g_1 \mapsto g_1 \right\} &lt;br /&gt;
  ;&lt;br /&gt;
\left\{ f_1 \mapsto \underline{C_1.f_1}, g_1 \mapsto \underline{C_1.g_1} \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we get: &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_{S_1}&lt;br /&gt;
  =&lt;br /&gt;
\left\{ \left( C_1 \mapsto C_1 \right) \mapsto&lt;br /&gt;
   \left\{ f_1 \mapsto \underline{C_1.f_1}, g_1 \mapsto \underline{C_1.g_1} \right\}&lt;br /&gt;
\right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Calculating &amp;lt;math&amp;gt;\delta_{S_2}&amp;lt;/math&amp;gt;===&lt;br /&gt;
Again we calculate the different parts of the function in separate sections:&lt;br /&gt;
&lt;br /&gt;
====Calculate &amp;lt;math&amp;gt;\delta_{S_2}\left( C_1 \mapsto C_1 \right)&amp;lt;/math&amp;gt;====&lt;br /&gt;
According to the [[DynBindModel#The_dynamic_binding_function|definition]]:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \delta_{S_2}\left( C_1 \mapsto C_1 \right) = &lt;br /&gt;
   \delta_{S_1}\left( C_1 \mapsto C_1 \right) =  &lt;br /&gt;
      \left\{ f_1 \mapsto \underline{C_1.f_1}, g_1 \mapsto \underline{C_1.g_1} \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Calculate &amp;lt;math&amp;gt;\delta_{S_2}\left( C_2 \mapsto C_1 \right)&amp;lt;/math&amp;gt;====&lt;br /&gt;
According to the [[DynBindModel#The_dynamic_binding_function|definition]]:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \delta_{S_2}\left( C_1 \mapsto C_1 \right) = \emptyset&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Calculate &amp;lt;math&amp;gt;\delta_{S_2}\left( C_2 \mapsto C_2 \right)&amp;lt;/math&amp;gt;====&lt;br /&gt;
According to the [[DynBindModel#The_dynamic_binding_function|definition]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
  \delta_{S_2}\left( C_2 \mapsto C_2 \right) &lt;br /&gt;
    = &lt;br /&gt;
\beta_S \left( C_2 \mapsto C_2 \right) ;&lt;br /&gt;
\left(&lt;br /&gt;
\left( \mbox {UNION} \, b \cdot \left(&lt;br /&gt;
    b \in \alpha_2&lt;br /&gt;
      \, |\, &lt;br /&gt;
    \left( \beta_S \left( b \mapsto b \right) ; \eta_{2,b} \right)^{-1}&lt;br /&gt;
      ;&lt;br /&gt;
    \delta_{S_1}\left( b \mapsto b \right)\right)  \right) \ll \tau_2&lt;br /&gt;
\right)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;math&amp;gt;&lt;br /&gt;
  \mbox {UNION} \, b \cdot \left(b \in \left\{ C_1 \right\}&lt;br /&gt;
      \, |\, &lt;br /&gt;
    \left( \beta_S \left( b \mapsto b \right) ; \eta_{2,b} \right)^{-1}&lt;br /&gt;
      ;&lt;br /&gt;
    \delta_{S_1}\left( b \mapsto b \right)\right)&lt;br /&gt;
    =&lt;br /&gt;
    \left( \beta_S \left( C_1 \mapsto C_1 \right) ; \eta_{2,C_1} \right)^{-1}&lt;br /&gt;
      ;&lt;br /&gt;
    \delta_{S_1}\left( C_1 \mapsto C_1 \right)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
  \beta_S \left( C_1 \mapsto C_1 \right) ; \eta_{2,C_1}&lt;br /&gt;
    =  &lt;br /&gt;
  \left\{ f_1 \mapsto f_2, g_1 \mapsto g_2 \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
  \left( \beta_S \left( C_1 \mapsto C_1 \right) ; \eta_{2,C_1} \right)^{-1}&lt;br /&gt;
    =  &lt;br /&gt;
  \left\{ f_2 \mapsto f_1, g_2 \mapsto g_1 \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
##&amp;lt;math&amp;gt;&lt;br /&gt;
  \left( \beta_S \left( C_1 \mapsto C_1 \right) ; \eta_{2,C_1} \right)^{-1}&lt;br /&gt;
      ;&lt;br /&gt;
   \delta_{S_1}\left( C_1 \mapsto C_1 \right)&lt;br /&gt;
    =  &lt;br /&gt;
 \left\{ f_2 \mapsto \underline{C_1.f_1}, g_2 \mapsto \underline{C_1.g_1} \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
#&amp;lt;math&amp;gt;&lt;br /&gt;
  \tau_2 = \tau \left( C_2 \right) &lt;br /&gt;
    =&lt;br /&gt;
  \left\{ f_2 \mapsto \underline{C_2.f_2}, g_2 \mapsto \underline{C_2.g_2} \right\}  &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
#&amp;lt;math&amp;gt;&lt;br /&gt;
  \left\{ f_2 \mapsto \underline{C_1.f_1}, g_2 \mapsto \underline{C_1.g_1} \right\}&lt;br /&gt;
    \ll&lt;br /&gt;
  \left\{ f_2 \mapsto \underline{C_2.f_2}, g_2 \mapsto \underline{C_2.g_2} \right\}&lt;br /&gt;
    =&lt;br /&gt;
  \left\{ f_2 \mapsto \underline{C_2.f_2}, g_2 \mapsto \underline{C_2.g_2} \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we get:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
  \delta_{S_2}\left( C_2 \mapsto C_2 \right)&lt;br /&gt;
    =&lt;br /&gt;
  \left\{ f_2 \mapsto \underline{C_2.f_2}, g_2 \mapsto \underline{C_2.g_2} \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Calculate &amp;lt;math&amp;gt;\delta_{S_2}\left( C_1 \mapsto C_2 \right)&amp;lt;/math&amp;gt;====&lt;br /&gt;
According to the [[DynBindModel#The_dynamic_binding_function|definition]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
  \delta_{S_2}\left( C_1 \mapsto C_2 \right) &lt;br /&gt;
    = &lt;br /&gt;
\beta_S \left( C_1 \mapsto C_2 \right) ;&lt;br /&gt;
\left(&lt;br /&gt;
\left( \mbox {UNION} \, b \cdot \left(&lt;br /&gt;
    b \in \alpha_2&lt;br /&gt;
      \, |\, &lt;br /&gt;
    \left( \beta_S \left( b \mapsto b \right) ; \eta_{2,b} \right)^{-1}&lt;br /&gt;
      ;&lt;br /&gt;
    \delta_{S_{1}}\left( b \mapsto b \right)\right)  \right) \ll \tau_{2}&lt;br /&gt;
\right)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At this stage it should be clear how to calculate this, so we just give the result:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
  \delta_{S_2}\left( C_1 \mapsto C_2 \right) &lt;br /&gt;
    = &lt;br /&gt;
  \left\{ f_1 \mapsto \underline{C_2.f_2}, g_1 \mapsto \underline{C_2.g_2} \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Putting the parts together:====&lt;br /&gt;
We can know show the complete total function:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; -halign=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;\delta_{S_2} = \{&amp;lt;/math&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_1 \mapsto C_1 \right) &lt;br /&gt;
      \mapsto &lt;br /&gt;
   \left\{ f_1 \mapsto \underline{C_1.f_1}, g_1 \mapsto \underline{C_1.g_1} \right\},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_1 \mapsto C_2 \right) &lt;br /&gt;
      \mapsto &lt;br /&gt;
   \left\{ f_1 \mapsto \underline{C_2.f_2}, g_1 \mapsto \underline{C_2.g_2} \right\},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_2 \mapsto C_1 \right) \mapsto \emptyset,&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_2 \mapsto C_2 \right) &lt;br /&gt;
      \mapsto &lt;br /&gt;
    \left\{ f_2 \mapsto \underline{C_2.f_2}, g_2 \mapsto \underline{C_2.g_2} \right\} \ \}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
===Calculating &amp;lt;math&amp;gt;\delta_{S_3}&amp;lt;/math&amp;gt;===&lt;br /&gt;
There is nothing new for this calculation so we just present the result:&lt;br /&gt;
{|border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; -halign=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;\delta_{S_3} = \{&amp;lt;/math&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_1 \mapsto C_1 \right) &lt;br /&gt;
      \mapsto &lt;br /&gt;
   \left\{ f_1 \mapsto \underline{C_1.f_1}, g_1 \mapsto \underline{C_1.g_1} \right\},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_1 \mapsto C_2 \right) &lt;br /&gt;
      \mapsto &lt;br /&gt;
   \left\{ f_1 \mapsto \underline{C_2.f_2}, g_1 \mapsto \underline{C_2.g_2} \right\},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_2 \mapsto C_1 \right) \mapsto \emptyset,&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_2 \mapsto C_2 \right) &lt;br /&gt;
      \mapsto &lt;br /&gt;
    \left\{ f_2 \mapsto \underline{C_2.f_2}, g_2 \mapsto \underline{C_2.g_2} \right\},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
  \left( C_1 \mapsto C_3 \right) &lt;br /&gt;
    \mapsto &lt;br /&gt;
  \left\{ f_1 \mapsto \underline{C_2.f_2}, g_1 \mapsto \underline{C_3.g_1} \right\},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
  \left( C_2 \mapsto C_3 \right) &lt;br /&gt;
    \mapsto &lt;br /&gt;
  \left\{ f_2 \mapsto \underline{C_2.f_2}, g_2 \mapsto \underline{C_2.g_2} \right\},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_3 \mapsto C_3 \right) &lt;br /&gt;
      \mapsto &lt;br /&gt;
   \left\{ f_1 \mapsto \underline{C_3.f_1}, g_1 \mapsto \underline{C_3.g_1},&lt;br /&gt;
           f_2 \mapsto \underline{C_2.f_2}, g_2 \mapsto \underline{C_2.g_2} \right\},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_3 \mapsto C_1 \right) \mapsto \emptyset,&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \left( C_3 \mapsto C_2 \right) \mapsto \emptyset  \ \}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
===Deriving the dynamic binding function===&lt;br /&gt;
The function is now given. We evaluate it at two interesting points:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;math&amp;gt;&lt;br /&gt;
  \delta\left( C_1 \mapsto f_1 \right)&lt;br /&gt;
    =&lt;br /&gt;
  \left\{&lt;br /&gt;
    C_1 \mapsto \underline{C_1.f_1}, C_2 \mapsto \underline{C_2.f_2}, C_3 \mapsto \underline{C_2.f_2}&lt;br /&gt;
  \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;math&amp;gt;&lt;br /&gt;
  \delta\left( C_1 \mapsto f_g \right)&lt;br /&gt;
    =&lt;br /&gt;
  \left\{&lt;br /&gt;
    C_1 \mapsto \underline{C_1.f_g}, C_2 \mapsto \underline{C_2.g_2}, C_3 \mapsto \underline{C_2.g_1}&lt;br /&gt;
  \right\}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bheilig</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Downloads&amp;diff=1528</id>
		<title>Downloads</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Downloads&amp;diff=1528"/>
				<updated>2006-04-07T19:27:07Z</updated>
		
		<summary type="html">&lt;p&gt;Bheilig: /* EiffelStudio 5.7 Pre-releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==EiffelStudio 5.7 Pre-releases==&lt;br /&gt;
We currently provide versions of EiffelStudio for Windows and Linux (both 32 and 64-bit). Choose the version of your choice below:&lt;br /&gt;
* [http://eiffelsoftware.origo.ethz.ch/builds/Eiffel57_0826_linux-x86.tgz Linux 32-bit]&lt;br /&gt;
* [http://eiffelsoftware.origo.ethz.ch/builds/Eiffel57_0826_linux-x86-64.tgz Linux 64-bit]&lt;br /&gt;
* [http://eiffelsoftware.origo.ethz.ch/builds/Eiffel57_0826_windows.msi Windows 32-bit]&lt;br /&gt;
* [http://eiffelsoftware.origo.ethz.ch/builds/Eiffel57_0826_win64.msi Windows 64-bit]&lt;br /&gt;
&lt;br /&gt;
While waiting for a new drop of the 5.7 release, the Linux version requires a CD-key, contact [http://www.eiffel.com/general/contact_details.html Eiffel Software] to get one.&lt;br /&gt;
&lt;br /&gt;
The documentation is a work in progress and the included documentation in the above packages does not reflect changes made in the new EiffelStudio 5.7 release.&lt;br /&gt;
&lt;br /&gt;
To access older builds, go directly to http://eiffelsoftware.origo.ethz.ch/builds/OLD_RELEASES&lt;br /&gt;
&lt;br /&gt;
==EiffelStudio 5.6==&lt;br /&gt;
You can download the official EiffelStudio 5.6 release from [http://www.eiffel.com/downloads/eiffelstudio.html Eiffel Software].&lt;/div&gt;</summary>
		<author><name>Bheilig</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Downloads&amp;diff=1527</id>
		<title>Downloads</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Downloads&amp;diff=1527"/>
				<updated>2006-04-07T19:26:44Z</updated>
		
		<summary type="html">&lt;p&gt;Bheilig: /* EiffelStudio 5.7 Pre-releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==EiffelStudio 5.7 Pre-releases==&lt;br /&gt;
We currently provide versions of EiffelStudio for Windows and Linux (both 32 and 64-bit). Choose the version of your choice below:&lt;br /&gt;
* [http://eiffelsoftware.origo.ethz.ch/builds/Eiffel57_0826_linux-x86.tgz Linux 32-bit]&lt;br /&gt;
* [http://eiffelsoftware.origo.ethz.ch/builds/Eiffel57_0826_linux-x86-64.tgz Linux 64-bit]&lt;br /&gt;
* [http://eiffelsoftware.origo.ethz.ch/builds/Eiffel57_0826_windows.msi Windows 32-bit]&lt;br /&gt;
* [http://eiffelsoftware.origo.ethz.ch/builds/Eiffel57_0826_win64.msi Windows 64-bit]&lt;br /&gt;
&lt;br /&gt;
While waiting for a new drop of the 5.7 release, the Linux version requires a CD-key, contact [http://www.eiffel.com/general/contact_details.html Eiffel Software] to get one.&lt;br /&gt;
&lt;br /&gt;
The documentation is a work in progress and the included documentation in the above packages does not reflect changes made in the new EiffelStudio 5.7 release.&lt;br /&gt;
&lt;br /&gt;
To access to older builds, go directly to http://eiffelsoftware.origo.ethz.ch/builds/OLD_RELEASES&lt;br /&gt;
&lt;br /&gt;
==EiffelStudio 5.6==&lt;br /&gt;
You can download the official EiffelStudio 5.6 release from [http://www.eiffel.com/downloads/eiffelstudio.html Eiffel Software].&lt;/div&gt;</summary>
		<author><name>Bheilig</name></author>	</entry>

	</feed>