Index: doc/theses/jiada_liang_MMath/CFAenum.tex
===================================================================
--- doc/theses/jiada_liang_MMath/CFAenum.tex	(revision 3b10778fb82ecb67ed2d80e06be6f8f0173b68e6)
+++ doc/theses/jiada_liang_MMath/CFAenum.tex	(revision 92a0ee810313b2b928368cc598624cc69027a7de)
@@ -261,14 +261,14 @@
 enum E2 e2 = C;
 posn( e2 );			$\C[1.75in]{// 0}$
-enum E3 e3 = e2;
-posn( e2 );			$\C{// 1 cost}$
+enum E3 e3 = e2;	$\C{// Assignment with enumeration conversion E2 to E3}$
+posn( e2 );			$\C{// 1 }$
 void foo( E3 e );
-foo( e2 );
-posn( (E3)e2 );		$\C{// 1 cost}$
-E3 e31 = B;
-posn( e31 );		$\C{// 0 cost}\CRT$
+foo( e2 );			$\C{// Type compatible with enumeration conversion E2 to E3}$
+posn( (E3)e2 );		$\C{// Explicit cast with enumeration conversion E2 to E3}$
+E3 e31 = B;			$\C{// No conversion: E3.B}$
+posn( e31 );		$\C{// 0 }\CRT$
 \end{cfa}
 The last expression is unambiguous.
-While both @E2.B@ and @E3.B@ are valid candidates, @E2.B@ has an associated safe cost, so \CFA selects the zero cost candidate.
+While both @E2.B@ and @E3.B@ are valid candidates, @E2.B@ has an associated safe cost and @E3.B@ need not a conversion (@zero@ cost). \CFA selects the lowest cost candidate @E3.B@.
 
 For the given function prototypes, the following calls are valid.
@@ -454,12 +454,11 @@
 float ?[?]( float * arr, E2 index ) { return arr[ value( index ) ]; }
 \end{cfa}
-When an enumeration type is being used as an array dimension, \CFA adds the enumeration type to the initializer's context.
-As a result, @H2@'s array destinators @A@, @B@ and @C@ are resolved unambiguously to type @E2@.
-(@H1@'s destinators are also resolved unambiguously to @E1@ because @E2@ has a @value@ cost.)
-
+While enumerator labels @A@, @B@ and @C@ are being defined twice in different enumerations, they are  
+unambiguous within the context. Designators in H1 are unambiguous becasue @E2@ has a @value@ cost to @int@, which 
+is more expensive than @safe@ cost from C-Enum @E1@ to @int@. On the hand, designators in @H2@ are resolved as @E2@ because 
+when a \CFA enumeration type is being used as an array dimension, \CFA adds the enumeration type to the initializer's resolution context.
 
 \section{I/O}
-
-As seen in multiple examples, enumerations can be printed and the default property printed is the enumerator's label, which is similar in other programming languages.
+As seen in multiple examples, \CFA enumerations can be printed and the default property printed is the enumerator's label, which is similar in other programming languages.
 However, very few programming languages provide a mechanism to read in enumerator values.
 Even the @boolean@ type in many languages does not have a mechanism for input using the enumerators @true@ or @false@.
Index: doc/theses/jiada_liang_MMath/trait.tex
===================================================================
--- doc/theses/jiada_liang_MMath/trait.tex	(revision 3b10778fb82ecb67ed2d80e06be6f8f0173b68e6)
+++ doc/theses/jiada_liang_MMath/trait.tex	(revision 92a0ee810313b2b928368cc598624cc69027a7de)
@@ -164,5 +164,6 @@
 \end{cfa}
 Function @fromInstance@ projects a @Bounded@ member to a number and @fromInt@ is the inverse.
-Function @pred@ takes an enumerator and returns the previous enumerator, if there is one, in sequential order, and @succ@ returns the next enumerator.
+Function @pred@ and @succ@ are advancement functions:
+@pred@ takes an enumerator and returns the previous enumerator, if there is one, in sequential order, and @succ@ returns the next enumerator.
 \begin{cfa}
 sout | fromInstance( Wed ) | fromInt( 2 ) | succ( Wed ) | pred( Wed );
