Line: 1 to 1  

FST Weight Requirements  
Line: 17 to 17  
In addition, the following must be defined for a Weight :
 
Changed:  
< < 
 
> > 
 

Line: 1 to 1  

FST Weight Requirements  
Line: 41 to 41  
 
Deleted:  
< <   MichaelRiley  23 Feb 2009  

Line: 1 to 1  

FST Weight Requirements  
Line: 29 to 29  
⇒ a' = Divide(c, b, DIVIDE_RIGHT) if a right semiring and a'.Member() and Times(a', b) = c ⇒ b' = Divide(c, a) = Divide(c, a, DIVIDE_ANY) = Divide(c, a, DIVIDE_LEFT) = Divide(c, a, DIVIDE_RIGHT) if a commutative semiring, b'.Member() and Times(a, b') = Times(b', a) = c
 
Changed:  
< < 
 
> > 
 
⇒ Reverse(Reverse(a)) = a ⇒ Reverse(Plus(a, b)) = Plus(Reverse(a), Reverse(b)) ⇒ Reverse(Times(a, b)) = Times(Reverse(b), Reverse(a)) 
Line: 1 to 1  

 
Changed:  
< <  FST Weights  
> >  FST Weight Requirements  
A semiring is specified by two binary operations ⊕ and ⊗ and two designated elements 0 and 1 with the following properties:  
Line: 42 to 42  
 MichaelRiley  23 Feb 2009 \ No newline at end of file  
Added:  
> > 

Line: 1 to 1  

FST Weights  
Line: 21 to 21  
 
Changed:  
< < 
 
> > 
 
 
Line: 41 to 41  
 
Changed:  
< <   MichaelRiley  25 May 2007  
> >   MichaelRiley  23 Feb 2009  
\ No newline at end of file 
Line: 1 to 1  

FST Weights  
Line: 25 to 25  
 
Changed:  
< <  ⇒ b = Divide(c, a, DIVIDE_LEFT) if a left semiring and b.Member() ⇒ a = Divide(c, b, DIVIDE_RIGHT) if a right semiring and a.Member() ⇒ b = Divide(c, a) = Divide(c, a, DIVIDE_ANY) = Divide(c, a, DIVIDE_LEFT) = Divide(c, a, DIVIDE_RIGHT) if a commutative semiring and b.Member()  
> >  ⇒ b' = Divide(c, a, DIVIDE_LEFT) if a left semiring, b'.Member() and Times(a, b') = c ⇒ a' = Divide(c, b, DIVIDE_RIGHT) if a right semiring and a'.Member() and Times(a', b) = c ⇒ b' = Divide(c, a) = Divide(c, a, DIVIDE_ANY) = Divide(c, a, DIVIDE_LEFT) = Divide(c, a, DIVIDE_RIGHT) if a commutative semiring, b'.Member() and Times(a, b') = Times(b', a) = c  

Line: 1 to 1  

FST Weights  
Changed:  
< <  A semiring is specified by two binary operations Plus(x, y) and Times(x, y) and
two designated elements Zero and One with the following properties:
 
> >  A semiring is specified by two binary operations ⊕ and ⊗ and
two designated elements 0 and 1 with the following properties:
 
A left semiring distributes on the left; a right semiring is similarly defined.  
Changed:  
< <  A Weight class is required to be (at least) a left or right semiring.  
> >  A Weight class must have binary functions Plus and Times and static member functions Zero() and One() and
these must form (at least) a left or right semiring.  
Changed:  
< <  In addition, the following should be defined for a Weight :  
> >  In addition, the following must be defined for a Weight :  
 
Line: 35 to 38  
 
Changed:  
< < 
 
> > 
 
 MichaelRiley  25 May 2007 \ No newline at end of file 
Line: 1 to 1  

FST Weights  
Line: 14 to 14  
In addition, the following should be defined for a Weight :
 
Changed:  
< < 
 
> > 
 

Line: 1 to 1  

FST Weights  
Line: 16 to 16  
 
Changed:  
< < 
 
> > 
 

Line: 1 to 1  

FST Weights
A semiring is specified by two binary operations  
Changed:  
< <  two designated elements Zero() and One() with the following properties:  
> >  two designated elements Zero and One with the following properties:  
 
Line: 21 to 21  
 
Changed:  
< < 
 
> > 
 
 
Changed:  
< <  > Reverse(Reverse(a)) = a > Reverse(Plus(a, b)) = Plus(Reverse(a), Reverse(b)) > Reverse(Times(a, b)) = Times(Reverse(b), Reverse(a))  
> >  ⇒ Reverse(Reverse(a)) = a ⇒ Reverse(Plus(a, b)) = Plus(Reverse(a), Reverse(b)) ⇒ Reverse(Times(a, b)) = Times(Reverse(b), Reverse(a))  
Typically the identity mapping in a (both left and right) semiring. In the left string semiring, it maps to the reverse string in the right string semiring.
 
Changed:  
< < 
 
> > 
 
 MichaelRiley  25 May 2007 \ No newline at end of file 
Line: 1 to 1  

FST Weights  
Line: 24 to 24  
 
Changed:  
< <  > b = Divide(c, a) = Divide(c, a, DIVIDE_ANY) = Divide(c, a, DIVIDE_LEFT) = Divide(c, a, DIVIDE_RIGHT) if a commatative semiring and b.Member()  
> >  > b = Divide(c, a) = Divide(c, a, DIVIDE_ANY) = Divide(c, a, DIVIDE_LEFT) = Divide(c, a, DIVIDE_RIGHT) if a commutative semiring and b.Member()  

Line: 1 to 1  

FST Weights
A semiring is specified by two binary operations
 
Changed:  
< < 
 
> > 
 
has Zero as an annihilator: Times(Zero(), a) = Times(a, Zero()) = Zero().
A left semiring distributes on the left; a right semiring is similarly defined. 
Line: 1 to 1  

FST Weights  
Line: 31 to 31  
> Reverse(Plus(a, b)) = Plus(Reverse(a), Reverse(b)) > Reverse(Times(a, b)) = Times(Reverse(b), Reverse(a)) Typically the identity mapping in a (both left and right) semiring. In the left string semiring, it maps to the reverse string in the right string semiring.  
Changed:  
< < 
 
> > 
 

Line: 1 to 1  

Added:  
> > 
FST Weights
A semiring is specified by two binary operations
A left semiring distributes on the left; a right semiring is similarly defined.
A
In addition, the following should be defined for a
 MichaelRiley  25 May 2007 