Methods Nft::insert_word(), Nft::insert_word_by_parts(), and Nft::insert_identity() for inserting a given word (as one word or a vector of its parts, each for a different level) between source and target states (source and target states are equal for the identity).
Functions nft::insert_level() and nft::insert_levels() for inserting levels with a default_symbol on transitions with newly inserted levels. These functions are utilized in matching levels of synchronization between two transducers.
Modification of functions nft::intersection() and nft::algorithm::product() to handle transducers with EPSILON and DONT_CARE transitions and a set of auxiliary states (two auxiliary states cannot create a product state).
Function nft::compose for computing the composition of two transducers.
This pull request includes:
nft::project_out()
.Nft::insert_word()
,Nft::insert_word_by_parts()
, andNft::insert_identity()
for inserting a given word (as one word or a vector of its parts, each for a different level) between source and target states (source and target states are equal for the identity).nft::insert_level()
andnft::insert_levels()
for inserting levels with adefault_symbol
on transitions with newly inserted levels. These functions are utilized in matching levels of synchronization between two transducers.nft::intersection()
andnft::algorithm::product()
to handle transducers withEPSILON
andDONT_CARE
transitions and a set of auxiliary states (two auxiliary states cannot create a product state).nft::compose
for computing the composition of two transducers.