-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Collection of alignment algorithms
--
-- generalized Algebraic Dynamic Programming
--
-- A selection of (sequence) alignment algorithms. Both terminal, and
-- syntactic variables, as well as the index type is not fixed here. This
-- makes it possible to select the correct structure of the grammar here,
-- but bind the required data type for alignment in user code.
--
-- That being said, these algorithms are mostly aimed towards sequence
-- alignment problems.
--
-- List of grammars for sequences:
--
--
-- - global alignment
-- - linear scoring: Needleman-Wunsch style
-- - affine scoring: Gotoh
-- - semiglobal alignment
-- - overhang alignment
--
--
-- List of grammar for trees:
--
--
-- - global alignment
-- - linear scoring
-- - affine scoring
-- - simplified affine scoring
-- - global editing
-- - linear scoring
--
--
-- We now provide tree alignment and editing algorithms as well. We do
-- not depend on ADPfusionForest to achieve this because grammar rules
-- are completely disconnected from the underlying ADPfusion machinery.
@package AlignmentAlgorithms
@version 0.1.0.0
-- | Simple, linear tree editing grammar.
module DP.Tree.Edit.Global.Linear2
data SigGlobal m_adnA s_adnB r_adnC t_x_0__adnD t_x_1__adnE
SigGlobal :: (s_adnB -> (:.) ((:.) Z t_x_0__adnD) t_x_1__adnE -> s_adnB) -> (s_adnB -> (:.) ((:.) Z t_x_0__adnD) () -> s_adnB) -> ((:.) ((:.) Z ()) () -> s_adnB) -> (s_adnB -> (:.) ((:.) Z ()) t_x_1__adnE -> s_adnB) -> (s_adnB -> s_adnB -> s_adnB) -> (Stream m_adnA s_adnB -> m_adnA r_adnC) -> SigGlobal m_adnA s_adnB r_adnC t_x_0__adnD t_x_1__adnE
[align] :: SigGlobal m_adnA s_adnB r_adnC t_x_0__adnD t_x_1__adnE -> (s_adnB -> (:.) ((:.) Z t_x_0__adnD) t_x_1__adnE -> s_adnB)
[delin] :: SigGlobal m_adnA s_adnB r_adnC t_x_0__adnD t_x_1__adnE -> (s_adnB -> (:.) ((:.) Z t_x_0__adnD) () -> s_adnB)
[done] :: SigGlobal m_adnA s_adnB r_adnC t_x_0__adnD t_x_1__adnE -> ((:.) ((:.) Z ()) () -> s_adnB)
[indel] :: SigGlobal m_adnA s_adnB r_adnC t_x_0__adnD t_x_1__adnE -> (s_adnB -> (:.) ((:.) Z ()) t_x_1__adnE -> s_adnB)
[iter] :: SigGlobal m_adnA s_adnB r_adnC t_x_0__adnD t_x_1__adnE -> (s_adnB -> s_adnB -> s_adnB)
[h] :: SigGlobal m_adnA s_adnB r_adnC t_x_0__adnD t_x_1__adnE -> (Stream m_adnA s_adnB -> m_adnA r_adnC)
gGlobal :: ((~#) * * (Fun ((:.) (Arg (Stack (TW t1 (i1 -> i1 -> t6 t4)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t5)) (t5 -> (:.) ((:.) Z t3) t2 -> t5), (~#) * * (Fun (Arg ((:!:) (Stack (TW t1 (i1 -> i1 -> t6 t4))) (TW t (i -> i -> t6 t4))) -> t5)) (t5 -> t5 -> t5), (~#) * * (Fun ((:.) (Arg (Stack (TW t1 (i1 -> i1 -> t6 t4)))) ((:.) ((:.) Z ()) (TermArg b)) -> t5)) (t5 -> (:.) ((:.) Z ()) t2 -> t5), (~#) * * (Fun ((:.) (Arg (Stack (TW t1 (i1 -> i1 -> t6 t4)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t5)) (t5 -> (:.) ((:.) Z t3) () -> t5), Apply ((:.) (Arg (Stack (TW t1 (i1 -> i1 -> t6 t4)))) ((:.) ((:.) Z ()) (TermArg b)) -> t5), Apply ((:.) (Arg (Stack (TW t1 (i1 -> i1 -> t6 t4)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t5), Apply ((:.) (Arg (Stack (TW t1 (i1 -> i1 -> t6 t4)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t5), Apply (Arg ((:!:) (Stack (TW t1 (i1 -> i1 -> t6 t4))) (TW t (i -> i -> t6 t4))) -> t5), TermStream t6 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t1 (i1 -> i1 -> t6 t4))) i1) i1, TermStream t6 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i1) i1, TermStream t6 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t1 (i1 -> i1 -> t6 t4))) i1) i1, TermStream t6 (TermSymbol (TermSymbol M b1) b) (Elm (Stack (TW t1 (i1 -> i1 -> t6 t4))) i) i, TermStaticVar (TermSymbol (TermSymbol M Deletion) b) i1, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i1, TermStaticVar (TermSymbol (TermSymbol M b1) Deletion) i1, TermStaticVar (TermSymbol (TermSymbol M b1) b) i, Element ((:!:) (Stack (TW t1 (i1 -> i1 -> t6 t4))) (TW t (i -> i -> t6 t4))) i1, Element (Stack (TW t1 (i1 -> i1 -> t6 t4))) i, Element (Stack (TW t1 (i1 -> i1 -> t6 t4))) i1, MkStream t6 S i1, MkStream t6 ((:!:) (Stack (TW t1 (i1 -> i1 -> t6 t4))) (TW t (i -> i -> t6 t4))) i1, MkStream t6 (Stack (TW t1 (i1 -> i1 -> t6 t4))) i, MkStream t6 (Stack (TW t1 (i1 -> i1 -> t6 t4))) i1, RuleContext i, RuleContext i1, Build (TW t1 (i1 -> i1 -> t6 t4))) => SigGlobal t6 t5 t4 t3 t2 -> t1 -> t -> b1 -> b -> (:.) ((:.) Z (TW t1 (i1 -> i1 -> t6 t4))) (TW t (i -> i -> t6 t4))
instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, mL0 ~ mR0, xL0 ~ rL0) => ADP.Fusion.Core.TH.Backtrack.ProductBacktracking (DP.Tree.Edit.Global.Linear2.SigGlobal mL0 xL0 rL0 t_x_0_0 t_x_1_0) (DP.Tree.Edit.Global.Linear2.SigGlobal mR0 xR0 rR0 t_x_0_0 t_x_1_0)
instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, GHC.Classes.Ord xL0, GHC.Classes.Ord xR0, mL0 ~ mR0) => ADP.Fusion.Core.TH.Backtrack.ProductCombining (DP.Tree.Edit.Global.Linear2.SigGlobal mL0 xL0 rL0 t_x_0_0 t_x_1_0) (DP.Tree.Edit.Global.Linear2.SigGlobal mR0 xR0 rR0 t_x_0_0 t_x_1_0)
-- | Simple, linear scoring for tree alignments.
module DP.Tree.Align.Global.Linear2
data SigGlobal m_ai0O s_ai0P r_ai0Q t_n_0__ai0R t_n_1__ai0S
SigGlobal :: ((:.) ((:.) Z t_n_0__ai0R) t_n_1__ai0S -> s_ai0P -> s_ai0P) -> ((:.) ((:.) Z t_n_0__ai0R) () -> s_ai0P -> s_ai0P) -> ((:.) ((:.) Z ()) () -> s_ai0P) -> ((:.) ((:.) Z ()) t_n_1__ai0S -> s_ai0P -> s_ai0P) -> (s_ai0P -> s_ai0P -> s_ai0P) -> (Stream m_ai0O s_ai0P -> m_ai0O r_ai0Q) -> SigGlobal m_ai0O s_ai0P r_ai0Q t_n_0__ai0R t_n_1__ai0S
[gAlign] :: SigGlobal m_ai0O s_ai0P r_ai0Q t_n_0__ai0R t_n_1__ai0S -> ((:.) ((:.) Z t_n_0__ai0R) t_n_1__ai0S -> s_ai0P -> s_ai0P)
[gDelin] :: SigGlobal m_ai0O s_ai0P r_ai0Q t_n_0__ai0R t_n_1__ai0S -> ((:.) ((:.) Z t_n_0__ai0R) () -> s_ai0P -> s_ai0P)
[gDone] :: SigGlobal m_ai0O s_ai0P r_ai0Q t_n_0__ai0R t_n_1__ai0S -> ((:.) ((:.) Z ()) () -> s_ai0P)
[gIndel] :: SigGlobal m_ai0O s_ai0P r_ai0Q t_n_0__ai0R t_n_1__ai0S -> ((:.) ((:.) Z ()) t_n_1__ai0S -> s_ai0P -> s_ai0P)
[gIter] :: SigGlobal m_ai0O s_ai0P r_ai0Q t_n_0__ai0R t_n_1__ai0S -> (s_ai0P -> s_ai0P -> s_ai0P)
[gH] :: SigGlobal m_ai0O s_ai0P r_ai0Q t_n_0__ai0R t_n_1__ai0S -> (Stream m_ai0O s_ai0P -> m_ai0O r_ai0Q)
data SigLabolg m_ai14 s_ai15 r_ai16 t_n_0__ai17 t_n_1__ai18
SigLabolg :: ((:.) ((:.) Z t_n_0__ai17) t_n_1__ai18 -> s_ai15 -> s_ai15) -> ((:.) ((:.) Z t_n_0__ai17) () -> s_ai15 -> s_ai15) -> ((:.) ((:.) Z ()) () -> s_ai15) -> ((:.) ((:.) Z ()) t_n_1__ai18 -> s_ai15 -> s_ai15) -> (s_ai15 -> s_ai15 -> s_ai15) -> (Stream m_ai14 s_ai15 -> m_ai14 r_ai16) -> SigLabolg m_ai14 s_ai15 r_ai16 t_n_0__ai17 t_n_1__ai18
[lAlign] :: SigLabolg m_ai14 s_ai15 r_ai16 t_n_0__ai17 t_n_1__ai18 -> ((:.) ((:.) Z t_n_0__ai17) t_n_1__ai18 -> s_ai15 -> s_ai15)
[lDelin] :: SigLabolg m_ai14 s_ai15 r_ai16 t_n_0__ai17 t_n_1__ai18 -> ((:.) ((:.) Z t_n_0__ai17) () -> s_ai15 -> s_ai15)
[lDone] :: SigLabolg m_ai14 s_ai15 r_ai16 t_n_0__ai17 t_n_1__ai18 -> ((:.) ((:.) Z ()) () -> s_ai15)
[lIndel] :: SigLabolg m_ai14 s_ai15 r_ai16 t_n_0__ai17 t_n_1__ai18 -> ((:.) ((:.) Z ()) t_n_1__ai18 -> s_ai15 -> s_ai15)
[lIter] :: SigLabolg m_ai14 s_ai15 r_ai16 t_n_0__ai17 t_n_1__ai18 -> (s_ai15 -> s_ai15 -> s_ai15)
[lH] :: SigLabolg m_ai14 s_ai15 r_ai16 t_n_0__ai17 t_n_1__ai18 -> (Stream m_ai14 s_ai15 -> m_ai14 r_ai16)
gLabolg :: ((~#) * * (Fun (Arg ((:!:) (Stack (TW t2 (i1 -> i1 -> t7 t5))) b2) -> t6)) (t6 -> t6 -> t6), (~#) * * (Fun (Arg ((:!:) (Stack a) (TW t2 (i1 -> i1 -> t7 t5))) -> t6)) (t6 -> t6 -> t6), (~#) * * (Fun (Arg ((:!:) (Stack a1) (TW t2 (i1 -> i1 -> t7 t5))) -> t6)) (t6 -> t6 -> t6), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t (i2 -> i2 -> t7 t5))) -> t6)) ((:.) ((:.) Z ()) t3 -> t6 -> t6), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t (i2 -> i2 -> t7 t5))) -> t6)) ((:.) ((:.) Z t4) () -> t6 -> t6), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t1 (i -> i -> t7 t5))) -> t6)) ((:.) ((:.) Z t4) t3 -> t6 -> t6), Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t (i2 -> i2 -> t7 t5))) i1, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t (i2 -> i2 -> t7 t5))) i1, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t1 (i -> i -> t7 t5))) i1, Element ((:!:) (Stack (TW t2 (i1 -> i1 -> t7 t5))) b2) i2, Element ((:!:) (Stack (TW t2 (i1 -> i1 -> t7 t5))) b2) i, Element ((:!:) (Stack a) (TW t2 (i1 -> i1 -> t7 t5))) i1, Element ((:!:) (Stack a1) (TW t2 (i1 -> i1 -> t7 t5))) i1, MkStream t7 S i1, MkStream t7 ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t (i2 -> i2 -> t7 t5))) i1, MkStream t7 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t (i2 -> i2 -> t7 t5))) i1, MkStream t7 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t1 (i -> i -> t7 t5))) i1, MkStream t7 ((:!:) (Stack (TW t2 (i1 -> i1 -> t7 t5))) b2) i2, MkStream t7 ((:!:) (Stack (TW t2 (i1 -> i1 -> t7 t5))) b2) i, MkStream t7 ((:!:) (Stack a) (TW t2 (i1 -> i1 -> t7 t5))) i1, MkStream t7 ((:!:) (Stack a1) (TW t2 (i1 -> i1 -> t7 t5))) i1, RuleContext i2, RuleContext i, RuleContext i1, Apply (Arg ((:!:) (Stack (TW t2 (i1 -> i1 -> t7 t5))) b2) -> t6), Apply (Arg ((:!:) (Stack a) (TW t2 (i1 -> i1 -> t7 t5))) -> t6), Apply (Arg ((:!:) (Stack a1) (TW t2 (i1 -> i1 -> t7 t5))) -> t6), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t (i2 -> i2 -> t7 t5))) -> t6), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t (i2 -> i2 -> t7 t5))) -> t6), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t1 (i -> i -> t7 t5))) -> t6), Build (TW t2 (i1 -> i1 -> t7 t5)), Build a, Build a1, TermStream t7 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i1) i1, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i1) => SigLabolg t7 t6 t5 t4 t3 -> t2 -> t1 -> t -> b2 -> a1 -> a -> b1 -> b -> (:.) ((:.) ((:.) Z (TW t2 (i1 -> i1 -> t7 t5))) (TW t1 (i -> i -> t7 t5))) (TW t (i2 -> i2 -> t7 t5))
gGlobal :: ((~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t2 (i1 -> i1 -> t7 t5))) -> t6)) ((:.) ((:.) Z ()) t3 -> t6 -> t6), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t2 (i1 -> i1 -> t7 t5))) -> t6)) ((:.) ((:.) Z t4) () -> t6 -> t6), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t2 (i1 -> i1 -> t7 t5))) -> t6)) ((:.) ((:.) Z t4) t3 -> t6 -> t6), (~#) * * (Fun (Arg ((:!:) (Stack (TW t (i2 -> i2 -> t7 t5))) (TW t2 (i1 -> i1 -> t7 t5))) -> t6)) (t6 -> t6 -> t6), (~#) * * (Fun (Arg ((:!:) (Stack (TW t1 (i -> i -> t7 t5))) (TW t2 (i1 -> i1 -> t7 t5))) -> t6)) (t6 -> t6 -> t6), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t2 (i1 -> i1 -> t7 t5))) -> t6), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t2 (i1 -> i1 -> t7 t5))) -> t6), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t2 (i1 -> i1 -> t7 t5))) -> t6), Apply (Arg ((:!:) (Stack (TW t (i2 -> i2 -> t7 t5))) (TW t2 (i1 -> i1 -> t7 t5))) -> t6), Apply (Arg ((:!:) (Stack (TW t1 (i -> i -> t7 t5))) (TW t2 (i1 -> i1 -> t7 t5))) -> t6), Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t2 (i1 -> i1 -> t7 t5))) i2, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t2 (i1 -> i1 -> t7 t5))) i2, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t2 (i1 -> i1 -> t7 t5))) i, Element ((:!:) (Stack (TW t (i2 -> i2 -> t7 t5))) (TW t2 (i1 -> i1 -> t7 t5))) i1, Element ((:!:) (Stack (TW t1 (i -> i -> t7 t5))) (TW t2 (i1 -> i1 -> t7 t5))) i1, MkStream t7 S i1, MkStream t7 ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t2 (i1 -> i1 -> t7 t5))) i2, MkStream t7 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t2 (i1 -> i1 -> t7 t5))) i2, MkStream t7 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t2 (i1 -> i1 -> t7 t5))) i, MkStream t7 ((:!:) (Stack (TW t (i2 -> i2 -> t7 t5))) (TW t2 (i1 -> i1 -> t7 t5))) i1, MkStream t7 ((:!:) (Stack (TW t1 (i -> i -> t7 t5))) (TW t2 (i1 -> i1 -> t7 t5))) i1, RuleContext i2, RuleContext i, RuleContext i1, Build (TW t (i2 -> i2 -> t7 t5)), Build (TW t1 (i -> i -> t7 t5)), TermStream t7 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i1) i1, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i1) => SigGlobal t7 t6 t5 t4 t3 -> t2 -> t1 -> t -> b1 -> b -> (:.) ((:.) ((:.) Z (TW t2 (i1 -> i1 -> t7 t5))) (TW t1 (i -> i -> t7 t5))) (TW t (i2 -> i2 -> t7 t5))
resig :: Monad m => SigGlobal m a b c d -> SigLabolg m a b c d
instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, mL0 ~ mR0, xL0 ~ rL0) => ADP.Fusion.Core.TH.Backtrack.ProductBacktracking (DP.Tree.Align.Global.Linear2.SigGlobal mL0 xL0 rL0 t_n_0_0 t_n_1_0) (DP.Tree.Align.Global.Linear2.SigGlobal mR0 xR0 rR0 t_n_0_0 t_n_1_0)
instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, GHC.Classes.Ord xL0, GHC.Classes.Ord xR0, mL0 ~ mR0) => ADP.Fusion.Core.TH.Backtrack.ProductCombining (DP.Tree.Align.Global.Linear2.SigGlobal mL0 xL0 rL0 t_n_0_0 t_n_1_0) (DP.Tree.Align.Global.Linear2.SigGlobal mR0 xR0 rR0 t_n_0_0 t_n_1_0)
-- | An affine-scoring grammar for the alignment of two trees.
--
-- Due to the way ADPfusion and GADP works this grammar
-- will, in principle, work with basically any input type. In practice,
-- the given rules make most (or only) sense for tree alignments.
module DP.Tree.Align.Global.AffineSmall2
data SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp
SigGlobal :: ((:.) ((:.) Z t_n_0__alto) t_n_1__altp -> s_altm -> s_altm) -> ((:.) ((:.) Z t_n_0__alto) () -> s_altm -> s_altm) -> (s_altm -> s_altm) -> (s_altm -> s_altm -> s_altm) -> ((:.) ((:.) Z ()) () -> s_altm) -> ((:.) ((:.) Z ()) t_n_1__altp -> s_altm -> s_altm) -> (s_altm -> s_altm -> s_altm) -> (s_altm -> s_altm -> s_altm) -> (s_altm -> s_altm -> s_altm) -> (s_altm -> s_altm -> s_altm) -> (Stream m_altl s_altm -> m_altl r_altn) -> SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp
[gAlign] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> ((:.) ((:.) Z t_n_0__alto) t_n_1__altp -> s_altm -> s_altm)
[gDelin] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> ((:.) ((:.) Z t_n_0__alto) () -> s_altm -> s_altm)
[gDone] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> (s_altm -> s_altm)
[gFgap] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> (s_altm -> s_altm -> s_altm)
[gFinalDone] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> ((:.) ((:.) Z ()) () -> s_altm)
[gIndel] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> ((:.) ((:.) Z ()) t_n_1__altp -> s_altm -> s_altm)
[gIter] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> (s_altm -> s_altm -> s_altm)
[gPgap] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> (s_altm -> s_altm -> s_altm)
[gSgap] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> (s_altm -> s_altm -> s_altm)
[gSiter] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> (s_altm -> s_altm -> s_altm)
[gH] :: SigGlobal m_altl s_altm r_altn t_n_0__alto t_n_1__altp -> (Stream m_altl s_altm -> m_altl r_altn)
data SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR
SigLabolg :: ((:.) ((:.) Z t_n_0__altQ) t_n_1__altR -> s_altO -> s_altO) -> ((:.) ((:.) Z t_n_0__altQ) () -> s_altO -> s_altO) -> (s_altO -> s_altO) -> (s_altO -> s_altO -> s_altO) -> ((:.) ((:.) Z ()) () -> s_altO) -> ((:.) ((:.) Z ()) t_n_1__altR -> s_altO -> s_altO) -> (s_altO -> s_altO -> s_altO) -> (s_altO -> s_altO -> s_altO) -> (s_altO -> s_altO -> s_altO) -> (s_altO -> s_altO -> s_altO) -> (Stream m_altN s_altO -> m_altN r_altP) -> SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR
[lAlign] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> ((:.) ((:.) Z t_n_0__altQ) t_n_1__altR -> s_altO -> s_altO)
[lDelin] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> ((:.) ((:.) Z t_n_0__altQ) () -> s_altO -> s_altO)
[lDone] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> (s_altO -> s_altO)
[lFgap] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> (s_altO -> s_altO -> s_altO)
[lFinalDone] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> ((:.) ((:.) Z ()) () -> s_altO)
[lIndel] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> ((:.) ((:.) Z ()) t_n_1__altR -> s_altO -> s_altO)
[lIter] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> (s_altO -> s_altO -> s_altO)
[lPgap] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> (s_altO -> s_altO -> s_altO)
[lSgap] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> (s_altO -> s_altO -> s_altO)
[lSiter] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> (s_altO -> s_altO -> s_altO)
[lH] :: SigLabolg m_altN s_altO r_altP t_n_0__altQ t_n_1__altR -> (Stream m_altN s_altO -> m_altN r_altP)
gLabolg :: ((~#) * * (Fun (Arg (Stack (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) (t10 -> t10), (~#) * * (Fun (Arg (Stack (TW t4 (i2 -> i2 -> t11 t9))) -> t10)) (t10 -> t10), (~#) * * (Fun (Arg (Stack (TW t5 (i -> i -> t11 t9))) -> t10)) (t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b3) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b3) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a1) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a2) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t (i6 -> i6 -> t11 t9))) -> t10)) ((:.) ((:.) Z ()) t7 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t1 (i5 -> i5 -> t11 t9))) -> t10)) ((:.) ((:.) Z t8) () -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b4) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b4) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a) (TW t4 (i2 -> i2 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a1) (TW t4 (i2 -> i2 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a) (TW t5 (i -> i -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a1) (TW t5 (i -> i -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a2) (TW t4 (i2 -> i2 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack a2) (TW t5 (i -> i -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t2 (i4 -> i4 -> t11 t9))) -> t10)) ((:.) ((:.) Z t8) t7 -> t10 -> t10), Apply (Arg (Stack (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg (Stack (TW t4 (i2 -> i2 -> t11 t9))) -> t10), Apply (Arg (Stack (TW t5 (i -> i -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b3) -> t10), Apply (Arg ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b3) -> t10), Apply (Arg ((:!:) (Stack a) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack a1) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack a2) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t (i6 -> i6 -> t11 t9))) -> t10), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t1 (i5 -> i5 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b4) -> t10), Apply (Arg ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) -> t10), Apply (Arg ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b4) -> t10), Apply (Arg ((:!:) (Stack a) (TW t4 (i2 -> i2 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack a1) (TW t4 (i2 -> i2 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack a) (TW t5 (i -> i -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack a1) (TW t5 (i -> i -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack a2) (TW t4 (i2 -> i2 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack a2) (TW t5 (i -> i -> t11 t9))) -> t10), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t2 (i4 -> i4 -> t11 t9))) -> t10), Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t (i6 -> i6 -> t11 t9))) i3, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t1 (i5 -> i5 -> t11 t9))) i3, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t2 (i4 -> i4 -> t11 t9))) i, Element ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b3) i6, Element ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b3) i5, Element ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b4) i4, Element ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) i6, Element ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) i5, Element ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) i4, Element ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b3) i6, Element ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b3) i5, Element ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b4) i4, Element ((:!:) (Stack a) (TW t3 (i3 -> i3 -> t11 t9))) i3, Element ((:!:) (Stack a) (TW t4 (i2 -> i2 -> t11 t9))) i2, Element ((:!:) (Stack a) (TW t5 (i -> i -> t11 t9))) i2, Element ((:!:) (Stack a1) (TW t3 (i3 -> i3 -> t11 t9))) i3, Element ((:!:) (Stack a1) (TW t4 (i2 -> i2 -> t11 t9))) i2, Element ((:!:) (Stack a1) (TW t5 (i -> i -> t11 t9))) i2, Element ((:!:) (Stack a2) (TW t3 (i3 -> i3 -> t11 t9))) i3, Element ((:!:) (Stack a2) (TW t4 (i2 -> i2 -> t11 t9))) i, Element ((:!:) (Stack a2) (TW t5 (i -> i -> t11 t9))) i, Element (Stack (TW t3 (i3 -> i3 -> t11 t9))) i1, Element (Stack (TW t4 (i2 -> i2 -> t11 t9))) i1, Element (Stack (TW t5 (i -> i -> t11 t9))) i1, MkStream t11 S i, MkStream t11 ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t (i6 -> i6 -> t11 t9))) i3, MkStream t11 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t1 (i5 -> i5 -> t11 t9))) i3, MkStream t11 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t2 (i4 -> i4 -> t11 t9))) i, MkStream t11 ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b3) i6, MkStream t11 ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b3) i5, MkStream t11 ((:!:) (Stack (TW t4 (i2 -> i2 -> t11 t9))) b4) i4, MkStream t11 ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) i6, MkStream t11 ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) i5, MkStream t11 ((:!:) (Stack (TW t3 (i3 -> i3 -> t11 t9))) b2) i4, MkStream t11 ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b3) i6, MkStream t11 ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b3) i5, MkStream t11 ((:!:) (Stack (TW t5 (i -> i -> t11 t9))) b4) i4, MkStream t11 ((:!:) (Stack a) (TW t3 (i3 -> i3 -> t11 t9))) i3, MkStream t11 ((:!:) (Stack a) (TW t4 (i2 -> i2 -> t11 t9))) i2, MkStream t11 ((:!:) (Stack a) (TW t5 (i -> i -> t11 t9))) i2, MkStream t11 ((:!:) (Stack a1) (TW t3 (i3 -> i3 -> t11 t9))) i3, MkStream t11 ((:!:) (Stack a1) (TW t4 (i2 -> i2 -> t11 t9))) i2, MkStream t11 ((:!:) (Stack a1) (TW t5 (i -> i -> t11 t9))) i2, MkStream t11 ((:!:) (Stack a2) (TW t3 (i3 -> i3 -> t11 t9))) i3, MkStream t11 ((:!:) (Stack a2) (TW t4 (i2 -> i2 -> t11 t9))) i, MkStream t11 ((:!:) (Stack a2) (TW t5 (i -> i -> t11 t9))) i, MkStream t11 (Stack (TW t3 (i3 -> i3 -> t11 t9))) i1, MkStream t11 (Stack (TW t4 (i2 -> i2 -> t11 t9))) i1, MkStream t11 (Stack (TW t5 (i -> i -> t11 t9))) i1, RuleContext i1, RuleContext i6, RuleContext i5, RuleContext i3, RuleContext i4, RuleContext i2, RuleContext i, Build (TW t4 (i2 -> i2 -> t11 t9)), Build (TW t3 (i3 -> i3 -> t11 t9)), Build (TW t5 (i -> i -> t11 t9)), Build a, Build a1, Build a2, TermStream t11 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i) i, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i) => SigLabolg t11 t10 t9 t8 t7 -> t6 -> t5 -> t4 -> t3 -> t2 -> t1 -> t -> b4 -> b3 -> b2 -> a2 -> a1 -> a -> b1 -> b -> (:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) Z (TW t6 (i1 -> i1 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) (TW t2 (i4 -> i4 -> t11 t9))) (TW t1 (i5 -> i5 -> t11 t9))) (TW t (i6 -> i6 -> t11 t9))
gGlobal :: ((~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) ((:.) ((:.) Z ()) t7 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) ((:.) ((:.) Z t8) () -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t5 (i -> i -> t11 t9))) -> t10)) ((:.) ((:.) Z t8) t7 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) -> t10)) (t10 -> t10 -> t10), (~#) * * (Fun (Arg (Stack (TW t6 (i1 -> i1 -> t11 t9))) -> t10)) (t10 -> t10), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) -> t10), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t5 (i -> i -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) -> t10), Apply (Arg (Stack (TW t6 (i1 -> i1 -> t11 t9))) -> t10), Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t3 (i3 -> i3 -> t11 t9))) i6, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t3 (i3 -> i3 -> t11 t9))) i5, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t5 (i -> i -> t11 t9))) i4, Element ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) i2, Element ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) i, Element ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) i3, Element ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i2, Element ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i, Element ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) i3, Element ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i2, Element ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i, Element ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) i3, Element (Stack (TW t6 (i1 -> i1 -> t11 t9))) i2, Element (Stack (TW t6 (i1 -> i1 -> t11 t9))) i, Element (Stack (TW t6 (i1 -> i1 -> t11 t9))) i3, MkStream t11 S i1, MkStream t11 ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t3 (i3 -> i3 -> t11 t9))) i6, MkStream t11 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t3 (i3 -> i3 -> t11 t9))) i5, MkStream t11 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t5 (i -> i -> t11 t9))) i4, MkStream t11 ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) i2, MkStream t11 ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) i, MkStream t11 ((:!:) (Stack (TW t2 (i4 -> i4 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) i3, MkStream t11 ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i2, MkStream t11 ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i, MkStream t11 ((:!:) (Stack (TW t (i6 -> i6 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) i3, MkStream t11 ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i2, MkStream t11 ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) i, MkStream t11 ((:!:) (Stack (TW t1 (i5 -> i5 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) i3, MkStream t11 (Stack (TW t6 (i1 -> i1 -> t11 t9))) i2, MkStream t11 (Stack (TW t6 (i1 -> i1 -> t11 t9))) i, MkStream t11 (Stack (TW t6 (i1 -> i1 -> t11 t9))) i3, RuleContext i6, RuleContext i5, RuleContext i2, RuleContext i, RuleContext i4, RuleContext i3, RuleContext i1, Build (TW t (i6 -> i6 -> t11 t9)), Build (TW t1 (i5 -> i5 -> t11 t9)), Build (TW t2 (i4 -> i4 -> t11 t9)), Build (TW t6 (i1 -> i1 -> t11 t9)), TermStream t11 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i1) i1, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i1) => SigGlobal t11 t10 t9 t8 t7 -> t6 -> t5 -> t4 -> t3 -> t2 -> t1 -> t -> b1 -> b -> (:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) Z (TW t6 (i1 -> i1 -> t11 t9))) (TW t5 (i -> i -> t11 t9))) (TW t4 (i2 -> i2 -> t11 t9))) (TW t3 (i3 -> i3 -> t11 t9))) (TW t2 (i4 -> i4 -> t11 t9))) (TW t1 (i5 -> i5 -> t11 t9))) (TW t (i6 -> i6 -> t11 t9))
resig :: Monad m => SigGlobal m a b c d -> SigLabolg m a b c d
instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, mL0 ~ mR0, xL0 ~ rL0) => ADP.Fusion.Core.TH.Backtrack.ProductBacktracking (DP.Tree.Align.Global.AffineSmall2.SigGlobal mL0 xL0 rL0 t_n_0_0 t_n_1_0) (DP.Tree.Align.Global.AffineSmall2.SigGlobal mR0 xR0 rR0 t_n_0_0 t_n_1_0)
instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, GHC.Classes.Ord xL0, GHC.Classes.Ord xR0, mL0 ~ mR0) => ADP.Fusion.Core.TH.Backtrack.ProductCombining (DP.Tree.Align.Global.AffineSmall2.SigGlobal mL0 xL0 rL0 t_n_0_0 t_n_1_0) (DP.Tree.Align.Global.AffineSmall2.SigGlobal mR0 xR0 rR0 t_n_0_0 t_n_1_0)
-- | Full-blown affine-scoring tree alignment grammar with all cases.
--
-- We currently do not produce the outside algorithm, since the
-- AffineSmall2 variant seems more useful in practice. However,
-- if you want just send a mail.
module DP.Tree.Align.Global.Affine2
data SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW
SigGlobal :: ((:.) ((:.) Z t_n_0__atkV) () -> s_atkT -> s_atkT) -> ((:.) ((:.) Z ()) t_n_1__atkW -> s_atkT -> s_atkT) -> ((:.) ((:.) Z t_n_0__atkV) t_n_1__atkW -> s_atkT -> s_atkT) -> ((:.) ((:.) Z t_n_0__atkV) () -> s_atkT -> s_atkT) -> ((:.) ((:.) Z ()) () -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> ((:.) ((:.) Z ()) t_n_1__atkW -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (s_atkT -> s_atkT -> s_atkT) -> (Stream m_atkS s_atkT -> m_atkS r_atkU) -> SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW
[afdelin] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> ((:.) ((:.) Z t_n_0__atkV) () -> s_atkT -> s_atkT)
[afindel] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> ((:.) ((:.) Z ()) t_n_1__atkW -> s_atkT -> s_atkT)
[align] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> ((:.) ((:.) Z t_n_0__atkV) t_n_1__atkW -> s_atkT -> s_atkT)
[delin] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> ((:.) ((:.) Z t_n_0__atkV) () -> s_atkT -> s_atkT)
[done] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> ((:.) ((:.) Z ()) () -> s_atkT)
[fgalign] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
[fgdelin] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
[fgindel] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
[fpalign] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
[fpdelin] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
[fpindel] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
[gfalign] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
[gfdelin] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
[gfindel] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
[gpalign] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
[gpdelin] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
[gpindel] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
[indel] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> ((:.) ((:.) Z ()) t_n_1__atkW -> s_atkT -> s_atkT)
[iter] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
[pfalign] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
[pfdelin] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
[pfindel] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
[pgalign] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
[pgdelin] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
[pgindel] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (s_atkT -> s_atkT -> s_atkT)
[h] :: SigGlobal m_atkS s_atkT r_atkU t_n_0__atkV t_n_1__atkW -> (Stream m_atkS s_atkT -> m_atkS r_atkU)
gGlobal :: ((~#) * * (Fun (Arg ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t2 (i9 -> i9 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t6 (i5 -> i5 -> t16 t14))) -> t15)) ((:.) ((:.) Z ()) t12 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t9 (i2 -> i2 -> t16 t14))) -> t15)) ((:.) ((:.) Z t13) () -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t11 (i1 -> i1 -> t16 t14))) -> t15)) ((:.) ((:.) Z t13) t12 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t (i11 -> i11 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t10 (i -> i -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t (i11 -> i11 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t2 (i9 -> i9 -> t16 t14))) (TW t10 (i -> i -> t16 t14))) -> t15)) (t15 -> t15 -> t15), (~#) * * (Fun (Arg ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t11 (i1 -> i1 -> t16 t14))) -> t15)) (t15 -> t15 -> t15), Apply (Arg ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t2 (i9 -> i9 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) -> t15), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t6 (i5 -> i5 -> t16 t14))) -> t15), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t9 (i2 -> i2 -> t16 t14))) -> t15), Apply (Arg ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t11 (i1 -> i1 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t (i11 -> i11 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t10 (i -> i -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t (i11 -> i11 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t2 (i9 -> i9 -> t16 t14))) (TW t10 (i -> i -> t16 t14))) -> t15), Apply (Arg ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t11 (i1 -> i1 -> t16 t14))) -> t15), Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t6 (i5 -> i5 -> t16 t14))) i10, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t6 (i5 -> i5 -> t16 t14))) i11, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t9 (i2 -> i2 -> t16 t14))) i9, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t9 (i2 -> i2 -> t16 t14))) i8, Element ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t11 (i1 -> i1 -> t16 t14))) i7, Element ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) i3, Element ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) i6, Element ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) i5, Element ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) i4, Element ((:!:) (Stack (TW t2 (i9 -> i9 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) i3, Element ((:!:) (Stack (TW t2 (i9 -> i9 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) i5, Element ((:!:) (Stack (TW t2 (i9 -> i9 -> t16 t14))) (TW t10 (i -> i -> t16 t14))) i1, Element ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) i3, Element ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) i6, Element ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) i5, Element ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) i2, Element ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) i4, Element ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t11 (i1 -> i1 -> t16 t14))) i, Element ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t11 (i1 -> i1 -> t16 t14))) i1, Element ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) i6, Element ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) i2, Element ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) i4, Element ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t10 (i -> i -> t16 t14))) i, Element ((:!:) (Stack (TW t (i11 -> i11 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) i2, Element ((:!:) (Stack (TW t (i11 -> i11 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) i, Element ((:!:) (Stack (TW t (i11 -> i11 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) i1, MkStream t16 S i3, MkStream t16 S i5, MkStream t16 S i2, MkStream t16 S i, MkStream t16 S i1, MkStream t16 ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t6 (i5 -> i5 -> t16 t14))) i10, MkStream t16 ((:!:) ((:!:) S (TermSymbol (TermSymbol M Deletion) b)) (TW t6 (i5 -> i5 -> t16 t14))) i11, MkStream t16 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t9 (i2 -> i2 -> t16 t14))) i9, MkStream t16 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) Deletion)) (TW t9 (i2 -> i2 -> t16 t14))) i8, MkStream t16 ((:!:) ((:!:) S (TermSymbol (TermSymbol M b1) b)) (TW t11 (i1 -> i1 -> t16 t14))) i7, MkStream t16 ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) i3, MkStream t16 ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) i6, MkStream t16 ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) i5, MkStream t16 ((:!:) (Stack (TW t1 (i10 -> i10 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) i4, MkStream t16 ((:!:) (Stack (TW t2 (i9 -> i9 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) i3, MkStream t16 ((:!:) (Stack (TW t2 (i9 -> i9 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) i5, MkStream t16 ((:!:) (Stack (TW t2 (i9 -> i9 -> t16 t14))) (TW t10 (i -> i -> t16 t14))) i1, MkStream t16 ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) i3, MkStream t16 ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) i6, MkStream t16 ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) i5, MkStream t16 ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) i2, MkStream t16 ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) i4, MkStream t16 ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t11 (i1 -> i1 -> t16 t14))) i, MkStream t16 ((:!:) (Stack (TW t4 (i7 -> i7 -> t16 t14))) (TW t11 (i1 -> i1 -> t16 t14))) i1, MkStream t16 ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) i6, MkStream t16 ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) i2, MkStream t16 ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) i4, MkStream t16 ((:!:) (Stack (TW t3 (i8 -> i8 -> t16 t14))) (TW t10 (i -> i -> t16 t14))) i, MkStream t16 ((:!:) (Stack (TW t (i11 -> i11 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) i2, MkStream t16 ((:!:) (Stack (TW t (i11 -> i11 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) i, MkStream t16 ((:!:) (Stack (TW t (i11 -> i11 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) i1, TermStream t16 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i3) i3, TermStream t16 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i5) i5, TermStream t16 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i2) i2, TermStream t16 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i) i, TermStream t16 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i1) i1, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i3, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i5, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i2, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i1, RuleContext i3, RuleContext i9, RuleContext i10, RuleContext i6, RuleContext i5, RuleContext i11, RuleContext i8, RuleContext i7, RuleContext i2, RuleContext i4, RuleContext i, RuleContext i1, Build (TW t1 (i10 -> i10 -> t16 t14)), Build (TW t3 (i8 -> i8 -> t16 t14)), Build (TW t (i11 -> i11 -> t16 t14)), Build (TW t2 (i9 -> i9 -> t16 t14)), Build (TW t4 (i7 -> i7 -> t16 t14))) => SigGlobal t16 t15 t14 t13 t12 -> t11 -> t10 -> t9 -> t8 -> t7 -> t6 -> t5 -> t4 -> t3 -> t2 -> t1 -> t -> b1 -> b -> (:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) Z (TW t11 (i1 -> i1 -> t16 t14))) (TW t10 (i -> i -> t16 t14))) (TW t9 (i2 -> i2 -> t16 t14))) (TW t8 (i3 -> i3 -> t16 t14))) (TW t7 (i4 -> i4 -> t16 t14))) (TW t6 (i5 -> i5 -> t16 t14))) (TW t5 (i6 -> i6 -> t16 t14))) (TW t4 (i7 -> i7 -> t16 t14))) (TW t3 (i8 -> i8 -> t16 t14))) (TW t2 (i9 -> i9 -> t16 t14))) (TW t1 (i10 -> i10 -> t16 t14))) (TW t (i11 -> i11 -> t16 t14))
instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, mL0 ~ mR0, xL0 ~ rL0) => ADP.Fusion.Core.TH.Backtrack.ProductBacktracking (DP.Tree.Align.Global.Affine2.SigGlobal mL0 xL0 rL0 t_n_0_0 t_n_1_0) (DP.Tree.Align.Global.Affine2.SigGlobal mR0 xR0 rR0 t_n_0_0 t_n_1_0)
instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, GHC.Classes.Ord xL0, GHC.Classes.Ord xR0, mL0 ~ mR0) => ADP.Fusion.Core.TH.Backtrack.ProductCombining (DP.Tree.Align.Global.Affine2.SigGlobal mL0 xL0 rL0 t_n_0_0 t_n_1_0) (DP.Tree.Align.Global.Affine2.SigGlobal mR0 xR0 rR0 t_n_0_0 t_n_1_0)
-- | Affine grammar with zero-cost prefixes and suffixes.
module DP.Seq.Align.SemiGlobal.Infix2
-- | Define signature and grammar
data SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL
SigInfix :: (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) t_u_1__aIiL -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI) -> ((:.) ((:.) Z ()) () -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI) -> (s_aIiI -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI) -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI) -> (Stream m_aIiH s_aIiI -> m_aIiH r_aIiJ) -> SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL
[align] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) t_u_1__aIiL -> s_aIiI)
[contL] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI)
[contU] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI)
[done] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> ((:.) ((:.) Z ()) () -> s_aIiI)
[frSUD] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI)
[frSUI] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI)
[frSUM] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI)
[frUSD] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI)
[frUSI] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI)
[frUSM] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI)
[openL] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI)
[openU] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI)
[prePU] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI)
[preUP] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI)
[start] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> s_aIiI)
[sufSU] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI)
[sufUS] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI)
[toPUD] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI)
[toPUI] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI)
[toPUM] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z ()) t_u_1__aIiL -> s_aIiI)
[toUPD] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI)
[toUPI] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI)
[toUPM] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (s_aIiI -> (:.) ((:.) Z t_b_0__aIiK) () -> s_aIiI)
[h] :: SigInfix m_aIiH s_aIiI r_aIiJ t_b_0__aIiK t_u_1__aIiL -> (Stream m_aIiH s_aIiI -> m_aIiH r_aIiJ)
gInfix :: ((~#) * * (Fun (Arg (Stack (TW t (i7 -> i7 -> t12 t10))) -> t11)) (t11 -> t11), (~#) * * (Fun (Arg (Stack (TW t2 (i5 -> i5 -> t12 t10))) -> t11)) (t11 -> t11), (~#) * * (Fun (Arg (Stack (TW t5 (i2 -> i2 -> t12 t10))) -> t11)) (t11 -> t11), (~#) * * (Fun (Arg (Stack (TW t6 (i -> i -> t12 t10))) -> t11)) (t11 -> t11), (~#) * * (Fun (Arg (Stack (TW t7 (i1 -> i1 -> t12 t10))) -> t11)) (t11 -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t (i7 -> i7 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t11)) (t11 -> (:.) ((:.) Z t9) () -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t2 (i5 -> i5 -> t12 t10)))) ((:.) ((:.) Z ()) (TermArg b)) -> t11)) (t11 -> (:.) ((:.) Z ()) t8 -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t5 (i2 -> i2 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t11)) (t11 -> (:.) ((:.) Z t9) t8 -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t6 (i -> i -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t11)) (t11 -> (:.) ((:.) Z t9) t8 -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t7 (i1 -> i1 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t11)) (t11 -> (:.) ((:.) Z t9) t8 -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t5 (i2 -> i2 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t11)) (t11 -> (:.) ((:.) Z t9) () -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t7 (i1 -> i1 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t11)) (t11 -> (:.) ((:.) Z t9) () -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t6 (i -> i -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t11)) (t11 -> (:.) ((:.) Z t9) () -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t5 (i2 -> i2 -> t12 t10)))) ((:.) ((:.) Z ()) (TermArg b)) -> t11)) (t11 -> (:.) ((:.) Z ()) t8 -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t6 (i -> i -> t12 t10)))) ((:.) ((:.) Z ()) (TermArg b)) -> t11)) (t11 -> (:.) ((:.) Z ()) t8 -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t7 (i1 -> i1 -> t12 t10)))) ((:.) ((:.) Z ()) (TermArg b)) -> t11)) (t11 -> (:.) ((:.) Z ()) t8 -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t4 (i3 -> i3 -> t12 t10)))) ((:.) ((:.) Z ()) (TermArg b)) -> t11)) (t11 -> (:.) ((:.) Z ()) t8 -> t11), (~#) * * (Fun ((:.) (Arg (Stack (TW t1 (i6 -> i6 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t11)) (t11 -> (:.) ((:.) Z t9) () -> t11), Apply ((:.) (Arg (Stack (TW t (i7 -> i7 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t11), Apply ((:.) (Arg (Stack (TW t2 (i5 -> i5 -> t12 t10)))) ((:.) ((:.) Z ()) (TermArg b)) -> t11), Apply ((:.) (Arg (Stack (TW t5 (i2 -> i2 -> t12 t10)))) ((:.) ((:.) Z ()) (TermArg b)) -> t11), Apply ((:.) (Arg (Stack (TW t5 (i2 -> i2 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t11), Apply ((:.) (Arg (Stack (TW t5 (i2 -> i2 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t11), Apply ((:.) (Arg (Stack (TW t6 (i -> i -> t12 t10)))) ((:.) ((:.) Z ()) (TermArg b)) -> t11), Apply ((:.) (Arg (Stack (TW t6 (i -> i -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t11), Apply ((:.) (Arg (Stack (TW t6 (i -> i -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t11), Apply ((:.) (Arg (Stack (TW t7 (i1 -> i1 -> t12 t10)))) ((:.) ((:.) Z ()) (TermArg b)) -> t11), Apply ((:.) (Arg (Stack (TW t7 (i1 -> i1 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t11), Apply ((:.) (Arg (Stack (TW t7 (i1 -> i1 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t11), Apply ((:.) (Arg (Stack (TW t4 (i3 -> i3 -> t12 t10)))) ((:.) ((:.) Z ()) (TermArg b)) -> t11), Apply ((:.) (Arg (Stack (TW t1 (i6 -> i6 -> t12 t10)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t11), Apply (Arg (Stack (TW t (i7 -> i7 -> t12 t10))) -> t11), Apply (Arg (Stack (TW t2 (i5 -> i5 -> t12 t10))) -> t11), Apply (Arg (Stack (TW t5 (i2 -> i2 -> t12 t10))) -> t11), Apply (Arg (Stack (TW t6 (i -> i -> t12 t10))) -> t11), Apply (Arg (Stack (TW t7 (i1 -> i1 -> t12 t10))) -> t11), Element (Stack (TW t (i7 -> i7 -> t12 t10))) i4, Element (Stack (TW t (i7 -> i7 -> t12 t10))) i7, Element (Stack (TW t2 (i5 -> i5 -> t12 t10))) i4, Element (Stack (TW t2 (i5 -> i5 -> t12 t10))) i5, Element (Stack (TW t5 (i2 -> i2 -> t12 t10))) i4, Element (Stack (TW t5 (i2 -> i2 -> t12 t10))) i7, Element (Stack (TW t5 (i2 -> i2 -> t12 t10))) i5, Element (Stack (TW t5 (i2 -> i2 -> t12 t10))) i2, Element (Stack (TW t5 (i2 -> i2 -> t12 t10))) i, Element (Stack (TW t5 (i2 -> i2 -> t12 t10))) i1, Element (Stack (TW t6 (i -> i -> t12 t10))) i4, Element (Stack (TW t6 (i -> i -> t12 t10))) i7, Element (Stack (TW t6 (i -> i -> t12 t10))) i5, Element (Stack (TW t6 (i -> i -> t12 t10))) i2, Element (Stack (TW t6 (i -> i -> t12 t10))) i, Element (Stack (TW t6 (i -> i -> t12 t10))) i1, Element (Stack (TW t7 (i1 -> i1 -> t12 t10))) i4, Element (Stack (TW t7 (i1 -> i1 -> t12 t10))) i7, Element (Stack (TW t7 (i1 -> i1 -> t12 t10))) i5, Element (Stack (TW t7 (i1 -> i1 -> t12 t10))) i2, Element (Stack (TW t7 (i1 -> i1 -> t12 t10))) i, Element (Stack (TW t7 (i1 -> i1 -> t12 t10))) i1, Element (Stack (TW t1 (i6 -> i6 -> t12 t10))) i2, Element (Stack (TW t1 (i6 -> i6 -> t12 t10))) i, Element (Stack (TW t1 (i6 -> i6 -> t12 t10))) i1, Element (Stack (TW t1 (i6 -> i6 -> t12 t10))) i6, Element (Stack (TW t4 (i3 -> i3 -> t12 t10))) i2, Element (Stack (TW t4 (i3 -> i3 -> t12 t10))) i, Element (Stack (TW t4 (i3 -> i3 -> t12 t10))) i1, Element (Stack (TW t4 (i3 -> i3 -> t12 t10))) i3, MkStream t12 S i2, MkStream t12 S i, MkStream t12 S i1, MkStream t12 S i3, MkStream t12 S i6, MkStream t12 (Stack (TW t (i7 -> i7 -> t12 t10))) i4, MkStream t12 (Stack (TW t (i7 -> i7 -> t12 t10))) i7, MkStream t12 (Stack (TW t2 (i5 -> i5 -> t12 t10))) i4, MkStream t12 (Stack (TW t2 (i5 -> i5 -> t12 t10))) i5, MkStream t12 (Stack (TW t5 (i2 -> i2 -> t12 t10))) i4, MkStream t12 (Stack (TW t5 (i2 -> i2 -> t12 t10))) i7, MkStream t12 (Stack (TW t5 (i2 -> i2 -> t12 t10))) i5, MkStream t12 (Stack (TW t5 (i2 -> i2 -> t12 t10))) i2, MkStream t12 (Stack (TW t5 (i2 -> i2 -> t12 t10))) i, MkStream t12 (Stack (TW t5 (i2 -> i2 -> t12 t10))) i1, MkStream t12 (Stack (TW t6 (i -> i -> t12 t10))) i4, MkStream t12 (Stack (TW t6 (i -> i -> t12 t10))) i7, MkStream t12 (Stack (TW t6 (i -> i -> t12 t10))) i5, MkStream t12 (Stack (TW t6 (i -> i -> t12 t10))) i2, MkStream t12 (Stack (TW t6 (i -> i -> t12 t10))) i, MkStream t12 (Stack (TW t6 (i -> i -> t12 t10))) i1, MkStream t12 (Stack (TW t7 (i1 -> i1 -> t12 t10))) i4, MkStream t12 (Stack (TW t7 (i1 -> i1 -> t12 t10))) i7, MkStream t12 (Stack (TW t7 (i1 -> i1 -> t12 t10))) i5, MkStream t12 (Stack (TW t7 (i1 -> i1 -> t12 t10))) i2, MkStream t12 (Stack (TW t7 (i1 -> i1 -> t12 t10))) i, MkStream t12 (Stack (TW t7 (i1 -> i1 -> t12 t10))) i1, MkStream t12 (Stack (TW t1 (i6 -> i6 -> t12 t10))) i2, MkStream t12 (Stack (TW t1 (i6 -> i6 -> t12 t10))) i, MkStream t12 (Stack (TW t1 (i6 -> i6 -> t12 t10))) i1, MkStream t12 (Stack (TW t1 (i6 -> i6 -> t12 t10))) i6, MkStream t12 (Stack (TW t4 (i3 -> i3 -> t12 t10))) i2, MkStream t12 (Stack (TW t4 (i3 -> i3 -> t12 t10))) i, MkStream t12 (Stack (TW t4 (i3 -> i3 -> t12 t10))) i1, MkStream t12 (Stack (TW t4 (i3 -> i3 -> t12 t10))) i3, RuleContext i4, RuleContext i7, RuleContext i5, RuleContext i2, RuleContext i, RuleContext i1, RuleContext i3, RuleContext i6, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t2 (i5 -> i5 -> t12 t10))) i5) i5, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t5 (i2 -> i2 -> t12 t10))) i5) i5, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t5 (i2 -> i2 -> t12 t10))) i1) i1, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t6 (i -> i -> t12 t10))) i5) i5, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t6 (i -> i -> t12 t10))) i1) i1, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t7 (i1 -> i1 -> t12 t10))) i5) i5, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t7 (i1 -> i1 -> t12 t10))) i1) i1, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t4 (i3 -> i3 -> t12 t10))) i2) i2, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t4 (i3 -> i3 -> t12 t10))) i) i, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t4 (i3 -> i3 -> t12 t10))) i1) i1, TermStream t12 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t4 (i3 -> i3 -> t12 t10))) i3) i3, TermStream t12 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i2) i2, TermStream t12 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i) i, TermStream t12 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i1) i1, TermStream t12 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i3) i3, TermStream t12 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i6) i6, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t (i7 -> i7 -> t12 t10))) i7) i7, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t5 (i2 -> i2 -> t12 t10))) i7) i7, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t5 (i2 -> i2 -> t12 t10))) i) i, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t6 (i -> i -> t12 t10))) i7) i7, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t6 (i -> i -> t12 t10))) i) i, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t7 (i1 -> i1 -> t12 t10))) i7) i7, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t7 (i1 -> i1 -> t12 t10))) i) i, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t1 (i6 -> i6 -> t12 t10))) i2) i2, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t1 (i6 -> i6 -> t12 t10))) i) i, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t1 (i6 -> i6 -> t12 t10))) i1) i1, TermStream t12 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t1 (i6 -> i6 -> t12 t10))) i6) i6, TermStream t12 (TermSymbol (TermSymbol M b1) b) (Elm (Stack (TW t5 (i2 -> i2 -> t12 t10))) i2) i2, TermStream t12 (TermSymbol (TermSymbol M b1) b) (Elm (Stack (TW t6 (i -> i -> t12 t10))) i2) i2, TermStream t12 (TermSymbol (TermSymbol M b1) b) (Elm (Stack (TW t7 (i1 -> i1 -> t12 t10))) i2) i2, Build (TW t (i7 -> i7 -> t12 t10)), Build (TW t2 (i5 -> i5 -> t12 t10)), Build (TW t5 (i2 -> i2 -> t12 t10)), Build (TW t6 (i -> i -> t12 t10)), Build (TW t7 (i1 -> i1 -> t12 t10)), Build (TW t4 (i3 -> i3 -> t12 t10)), Build (TW t1 (i6 -> i6 -> t12 t10)), TermStaticVar (TermSymbol (TermSymbol M Deletion) b) i5, TermStaticVar (TermSymbol (TermSymbol M Deletion) b) i2, TermStaticVar (TermSymbol (TermSymbol M Deletion) b) i, TermStaticVar (TermSymbol (TermSymbol M Deletion) b) i1, TermStaticVar (TermSymbol (TermSymbol M Deletion) b) i3, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i2, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i1, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i3, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i6, TermStaticVar (TermSymbol (TermSymbol M b1) Deletion) i7, TermStaticVar (TermSymbol (TermSymbol M b1) Deletion) i2, TermStaticVar (TermSymbol (TermSymbol M b1) Deletion) i, TermStaticVar (TermSymbol (TermSymbol M b1) Deletion) i1, TermStaticVar (TermSymbol (TermSymbol M b1) Deletion) i6, TermStaticVar (TermSymbol (TermSymbol M b1) b) i2) => SigInfix t12 t11 t10 t9 t8 -> t7 -> t6 -> t5 -> t4 -> t3 -> t2 -> t1 -> t -> b1 -> b -> (:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) ((:.) Z (TW t7 (i1 -> i1 -> t12 t10))) (TW t6 (i -> i -> t12 t10))) (TW t5 (i2 -> i2 -> t12 t10))) (TW t4 (i3 -> i3 -> t12 t10))) (TW t3 (i4 -> i4 -> t12 t10))) (TW t2 (i5 -> i5 -> t12 t10))) (TW t1 (i6 -> i6 -> t12 t10))) (TW t (i7 -> i7 -> t12 t10))
instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, mL0 ~ mR0, xL0 ~ rL0) => ADP.Fusion.Core.TH.Backtrack.ProductBacktracking (DP.Seq.Align.SemiGlobal.Infix2.SigInfix mL0 xL0 rL0 t_b_0_0 t_u_1_0) (DP.Seq.Align.SemiGlobal.Infix2.SigInfix mR0 xR0 rR0 t_b_0_0 t_u_1_0)
instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, GHC.Classes.Ord xL0, GHC.Classes.Ord xR0, mL0 ~ mR0) => ADP.Fusion.Core.TH.Backtrack.ProductCombining (DP.Seq.Align.SemiGlobal.Infix2.SigInfix mL0 xL0 rL0 t_b_0_0 t_u_1_0) (DP.Seq.Align.SemiGlobal.Infix2.SigInfix mR0 xR0 rR0 t_b_0_0 t_u_1_0)
-- | Very simple pairwise global alignment. The terminal tapes may contain
-- the atomic types u and l which means that one may
-- align sequences of different types.
--
-- In case you want to align nucleotides to amino acids, this version
-- should only be used if the nucleotides are already in triplet form and
-- have no frameshift within the sequence. Alternatively, specify a
-- derived grammar of higher complexity.
module DP.Seq.Align.Global.Linear2
-- | Define signature and grammar
data SigGlobal m_aUsp s_aUsq r_aUsr t_l_0__aUss t_u_1__aUst
SigGlobal :: (s_aUsq -> (:.) ((:.) Z t_l_0__aUss) t_u_1__aUst -> s_aUsq) -> (s_aUsq -> (:.) ((:.) Z t_l_0__aUss) () -> s_aUsq) -> ((:.) ((:.) Z ()) () -> s_aUsq) -> (s_aUsq -> (:.) ((:.) Z ()) t_u_1__aUst -> s_aUsq) -> (Stream m_aUsp s_aUsq -> m_aUsp r_aUsr) -> SigGlobal m_aUsp s_aUsq r_aUsr t_l_0__aUss t_u_1__aUst
[align] :: SigGlobal m_aUsp s_aUsq r_aUsr t_l_0__aUss t_u_1__aUst -> (s_aUsq -> (:.) ((:.) Z t_l_0__aUss) t_u_1__aUst -> s_aUsq)
[delin] :: SigGlobal m_aUsp s_aUsq r_aUsr t_l_0__aUss t_u_1__aUst -> (s_aUsq -> (:.) ((:.) Z t_l_0__aUss) () -> s_aUsq)
[done] :: SigGlobal m_aUsp s_aUsq r_aUsr t_l_0__aUss t_u_1__aUst -> ((:.) ((:.) Z ()) () -> s_aUsq)
[indel] :: SigGlobal m_aUsp s_aUsq r_aUsr t_l_0__aUss t_u_1__aUst -> (s_aUsq -> (:.) ((:.) Z ()) t_u_1__aUst -> s_aUsq)
[h] :: SigGlobal m_aUsp s_aUsq r_aUsr t_l_0__aUss t_u_1__aUst -> (Stream m_aUsp s_aUsq -> m_aUsp r_aUsr)
gGlobal :: ((~#) * * (Fun ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z ()) (TermArg b)) -> t4)) (t4 -> (:.) ((:.) Z ()) t1 -> t4), (~#) * * (Fun ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t4)) (t4 -> (:.) ((:.) Z t2) () -> t4), (~#) * * (Fun ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t4)) (t4 -> (:.) ((:.) Z t2) t1 -> t4), Apply ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z ()) (TermArg b)) -> t4), Apply ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t4), Apply ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t4), TermStream t5 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t (i -> i -> t5 t3))) i) i, TermStream t5 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i) i, TermStream t5 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t (i -> i -> t5 t3))) i) i, TermStream t5 (TermSymbol (TermSymbol M b1) b) (Elm (Stack (TW t (i -> i -> t5 t3))) i) i, TermStaticVar (TermSymbol (TermSymbol M Deletion) b) i, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i, TermStaticVar (TermSymbol (TermSymbol M b1) Deletion) i, TermStaticVar (TermSymbol (TermSymbol M b1) b) i, MkStream t5 S i, MkStream t5 (Stack (TW t (i -> i -> t5 t3))) i, Element (Stack (TW t (i -> i -> t5 t3))) i, Build (TW t (i -> i -> t5 t3)), RuleContext i) => SigGlobal t5 t4 t3 t2 t1 -> t -> b1 -> b -> (:.) Z (TW t (i -> i -> t5 t3))
-- | Generic backtracking scheme via FMLists.
backtrack :: Monad m => u -> l -> SigGlobal m (FMList (l, u)) [FMList (l, u)] l u
-- | Backtracking with more options
backtrackFun :: Monad m => (l -> u -> r) -> (l -> u -> r) -> u -> l -> SigGlobal m (FMList r) [FMList r] l u
-- | Turn a single FMList backtracking result into the
-- corresponding list.
runBacktrack :: FMList r -> [r]
instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, mL0 ~ mR0, xL0 ~ rL0) => ADP.Fusion.Core.TH.Backtrack.ProductBacktracking (DP.Seq.Align.Global.Linear2.SigGlobal mL0 xL0 rL0 t_l_0_0 t_u_1_0) (DP.Seq.Align.Global.Linear2.SigGlobal mR0 xR0 rR0 t_l_0_0 t_u_1_0)
instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, GHC.Classes.Ord xL0, GHC.Classes.Ord xR0, mL0 ~ mR0) => ADP.Fusion.Core.TH.Backtrack.ProductCombining (DP.Seq.Align.Global.Linear2.SigGlobal mL0 xL0 rL0 t_l_0_0 t_u_1_0) (DP.Seq.Align.Global.Linear2.SigGlobal mR0 xR0 rR0 t_l_0_0 t_u_1_0)
module DP.Seq.Align.Global.Affine2
-- | Define signature and grammar
data SigGotoh m_aWRc s_aWRd r_aWRe t_b_0__aWRf t_u_1__aWRg
SigGotoh :: (s_aWRd -> (:.) ((:.) Z t_b_0__aWRf) t_u_1__aWRg -> s_aWRd) -> (s_aWRd -> (:.) ((:.) Z t_b_0__aWRf) () -> s_aWRd) -> ((:.) ((:.) Z ()) () -> s_aWRd) -> (s_aWRd -> (:.) ((:.) Z t_b_0__aWRf) () -> s_aWRd) -> (s_aWRd -> (:.) ((:.) Z ()) t_u_1__aWRg -> s_aWRd) -> (s_aWRd -> s_aWRd) -> (Stream m_aWRc s_aWRd -> m_aWRc r_aWRe) -> SigGotoh m_aWRc s_aWRd r_aWRe t_b_0__aWRf t_u_1__aWRg
[align] :: SigGotoh m_aWRc s_aWRd r_aWRe t_b_0__aWRf t_u_1__aWRg -> (s_aWRd -> (:.) ((:.) Z t_b_0__aWRf) t_u_1__aWRg -> s_aWRd)
[contU] :: SigGotoh m_aWRc s_aWRd r_aWRe t_b_0__aWRf t_u_1__aWRg -> (s_aWRd -> (:.) ((:.) Z t_b_0__aWRf) () -> s_aWRd)
[done] :: SigGotoh m_aWRc s_aWRd r_aWRe t_b_0__aWRf t_u_1__aWRg -> ((:.) ((:.) Z ()) () -> s_aWRd)
[openL] :: SigGotoh m_aWRc s_aWRd r_aWRe t_b_0__aWRf t_u_1__aWRg -> (s_aWRd -> (:.) ((:.) Z t_b_0__aWRf) () -> s_aWRd)
[openU] :: SigGotoh m_aWRc s_aWRd r_aWRe t_b_0__aWRf t_u_1__aWRg -> (s_aWRd -> (:.) ((:.) Z ()) t_u_1__aWRg -> s_aWRd)
[start] :: SigGotoh m_aWRc s_aWRd r_aWRe t_b_0__aWRf t_u_1__aWRg -> (s_aWRd -> s_aWRd)
[h] :: SigGotoh m_aWRc s_aWRd r_aWRe t_b_0__aWRf t_u_1__aWRg -> (Stream m_aWRc s_aWRd -> m_aWRc r_aWRe)
gGotoh :: ((~#) * * (Fun (Arg (Stack (TW t1 (i2 -> i2 -> t8 t6))) -> t7)) (t7 -> t7), (~#) * * (Fun (Arg (Stack (TW t2 (i -> i -> t8 t6))) -> t7)) (t7 -> t7), (~#) * * (Fun (Arg (Stack (TW t3 (i1 -> i1 -> t8 t6))) -> t7)) (t7 -> t7), (~#) * * (Fun ((:.) (Arg (Stack (TW t1 (i2 -> i2 -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t7)) (t7 -> (:.) ((:.) Z t5) t4 -> t7), (~#) * * (Fun ((:.) (Arg (Stack (TW t2 (i -> i -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t7)) (t7 -> (:.) ((:.) Z t5) t4 -> t7), (~#) * * (Fun ((:.) (Arg (Stack (TW t3 (i1 -> i1 -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t7)) (t7 -> (:.) ((:.) Z t5) t4 -> t7), (~#) * * (Fun ((:.) (Arg (Stack (TW t1 (i2 -> i2 -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t7)) (t7 -> (:.) ((:.) Z t5) () -> t7), (~#) * * (Fun ((:.) (Arg (Stack (TW t3 (i1 -> i1 -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t7)) (t7 -> (:.) ((:.) Z t5) () -> t7), (~#) * * (Fun ((:.) (Arg (Stack (TW t2 (i -> i -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t7)) (t7 -> (:.) ((:.) Z t5) () -> t7), (~#) * * (Fun ((:.) (Arg (Stack (TW t1 (i2 -> i2 -> t8 t6)))) ((:.) ((:.) Z ()) (TermArg b)) -> t7)) (t7 -> (:.) ((:.) Z ()) t4 -> t7), (~#) * * (Fun ((:.) (Arg (Stack (TW t2 (i -> i -> t8 t6)))) ((:.) ((:.) Z ()) (TermArg b)) -> t7)) (t7 -> (:.) ((:.) Z ()) t4 -> t7), (~#) * * (Fun ((:.) (Arg (Stack (TW t3 (i1 -> i1 -> t8 t6)))) ((:.) ((:.) Z ()) (TermArg b)) -> t7)) (t7 -> (:.) ((:.) Z t5) () -> t7), Apply ((:.) (Arg (Stack (TW t1 (i2 -> i2 -> t8 t6)))) ((:.) ((:.) Z ()) (TermArg b)) -> t7), Apply ((:.) (Arg (Stack (TW t1 (i2 -> i2 -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t7), Apply ((:.) (Arg (Stack (TW t1 (i2 -> i2 -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t7), Apply ((:.) (Arg (Stack (TW t2 (i -> i -> t8 t6)))) ((:.) ((:.) Z ()) (TermArg b)) -> t7), Apply ((:.) (Arg (Stack (TW t2 (i -> i -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t7), Apply ((:.) (Arg (Stack (TW t2 (i -> i -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t7), Apply ((:.) (Arg (Stack (TW t3 (i1 -> i1 -> t8 t6)))) ((:.) ((:.) Z ()) (TermArg b)) -> t7), Apply ((:.) (Arg (Stack (TW t3 (i1 -> i1 -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t7), Apply ((:.) (Arg (Stack (TW t3 (i1 -> i1 -> t8 t6)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t7), Apply (Arg (Stack (TW t1 (i2 -> i2 -> t8 t6))) -> t7), Apply (Arg (Stack (TW t2 (i -> i -> t8 t6))) -> t7), Apply (Arg (Stack (TW t3 (i1 -> i1 -> t8 t6))) -> t7), Element (Stack (TW t1 (i2 -> i2 -> t8 t6))) i3, Element (Stack (TW t1 (i2 -> i2 -> t8 t6))) i2, Element (Stack (TW t1 (i2 -> i2 -> t8 t6))) i, Element (Stack (TW t1 (i2 -> i2 -> t8 t6))) i1, Element (Stack (TW t2 (i -> i -> t8 t6))) i3, Element (Stack (TW t2 (i -> i -> t8 t6))) i2, Element (Stack (TW t2 (i -> i -> t8 t6))) i, Element (Stack (TW t2 (i -> i -> t8 t6))) i1, Element (Stack (TW t3 (i1 -> i1 -> t8 t6))) i3, Element (Stack (TW t3 (i1 -> i1 -> t8 t6))) i2, Element (Stack (TW t3 (i1 -> i1 -> t8 t6))) i, Element (Stack (TW t3 (i1 -> i1 -> t8 t6))) i1, MkStream t8 S i2, MkStream t8 (Stack (TW t1 (i2 -> i2 -> t8 t6))) i3, MkStream t8 (Stack (TW t1 (i2 -> i2 -> t8 t6))) i2, MkStream t8 (Stack (TW t1 (i2 -> i2 -> t8 t6))) i, MkStream t8 (Stack (TW t1 (i2 -> i2 -> t8 t6))) i1, MkStream t8 (Stack (TW t2 (i -> i -> t8 t6))) i3, MkStream t8 (Stack (TW t2 (i -> i -> t8 t6))) i2, MkStream t8 (Stack (TW t2 (i -> i -> t8 t6))) i, MkStream t8 (Stack (TW t2 (i -> i -> t8 t6))) i1, MkStream t8 (Stack (TW t3 (i1 -> i1 -> t8 t6))) i3, MkStream t8 (Stack (TW t3 (i1 -> i1 -> t8 t6))) i2, MkStream t8 (Stack (TW t3 (i1 -> i1 -> t8 t6))) i, MkStream t8 (Stack (TW t3 (i1 -> i1 -> t8 t6))) i1, RuleContext i3, RuleContext i2, RuleContext i, RuleContext i1, TermStream t8 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i2) i2, TermStream t8 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t1 (i2 -> i2 -> t8 t6))) i1) i1, TermStream t8 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t2 (i -> i -> t8 t6))) i1) i1, TermStream t8 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t3 (i1 -> i1 -> t8 t6))) i1) i1, TermStream t8 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t1 (i2 -> i2 -> t8 t6))) i) i, TermStream t8 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t3 (i1 -> i1 -> t8 t6))) i) i, TermStream t8 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t2 (i -> i -> t8 t6))) i) i, TermStream t8 (TermSymbol (TermSymbol M b1) b) (Elm (Stack (TW t1 (i2 -> i2 -> t8 t6))) i2) i2, TermStream t8 (TermSymbol (TermSymbol M b1) b) (Elm (Stack (TW t2 (i -> i -> t8 t6))) i2) i2, TermStream t8 (TermSymbol (TermSymbol M b1) b) (Elm (Stack (TW t3 (i1 -> i1 -> t8 t6))) i2) i2, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i2, TermStaticVar (TermSymbol (TermSymbol M Deletion) b) i1, TermStaticVar (TermSymbol (TermSymbol M b1) Deletion) i, TermStaticVar (TermSymbol (TermSymbol M b1) b) i2, Build (TW t1 (i2 -> i2 -> t8 t6)), Build (TW t2 (i -> i -> t8 t6)), Build (TW t3 (i1 -> i1 -> t8 t6))) => SigGotoh t8 t7 t6 t5 t4 -> t3 -> t2 -> t1 -> t -> b1 -> b -> (:.) ((:.) ((:.) ((:.) Z (TW t3 (i1 -> i1 -> t8 t6))) (TW t2 (i -> i -> t8 t6))) (TW t1 (i2 -> i2 -> t8 t6))) (TW t (i3 -> i3 -> t8 t6))
instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, mL0 ~ mR0, xL0 ~ rL0) => ADP.Fusion.Core.TH.Backtrack.ProductBacktracking (DP.Seq.Align.Global.Affine2.SigGotoh mL0 xL0 rL0 t_b_0_0 t_u_1_0) (DP.Seq.Align.Global.Affine2.SigGotoh mR0 xR0 rR0 t_b_0_0 t_u_1_0)
instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, GHC.Classes.Ord xL0, GHC.Classes.Ord xR0, mL0 ~ mR0) => ADP.Fusion.Core.TH.Backtrack.ProductCombining (DP.Seq.Align.Global.Affine2.SigGotoh mL0 xL0 rL0 t_b_0_0 t_u_1_0) (DP.Seq.Align.Global.Affine2.SigGotoh mR0 xR0 rR0 t_b_0_0 t_u_1_0)
module DP.HMM.States2
data SigHMM m_a10kR s_a10kS r_a10kT t_x_0__a10kU
SigHMM :: (() -> s_a10kS) -> (s_a10kS -> t_x_0__a10kU -> s_a10kS) -> (s_a10kS -> t_x_0__a10kU -> s_a10kS) -> (s_a10kS -> t_x_0__a10kU -> s_a10kS) -> (s_a10kS -> t_x_0__a10kU -> s_a10kS) -> (Stream m_a10kR s_a10kS -> m_a10kR r_a10kT) -> SigHMM m_a10kR s_a10kS r_a10kT t_x_0__a10kU
[done] :: SigHMM m_a10kR s_a10kS r_a10kT t_x_0__a10kU -> (() -> s_a10kS)
[mstay] :: SigHMM m_a10kR s_a10kS r_a10kT t_x_0__a10kU -> (s_a10kS -> t_x_0__a10kU -> s_a10kS)
[mtop] :: SigHMM m_a10kR s_a10kS r_a10kT t_x_0__a10kU -> (s_a10kS -> t_x_0__a10kU -> s_a10kS)
[pstay] :: SigHMM m_a10kR s_a10kS r_a10kT t_x_0__a10kU -> (s_a10kS -> t_x_0__a10kU -> s_a10kS)
[ptom] :: SigHMM m_a10kR s_a10kS r_a10kT t_x_0__a10kU -> (s_a10kS -> t_x_0__a10kU -> s_a10kS)
[h] :: SigHMM m_a10kR s_a10kS r_a10kT t_x_0__a10kU -> (Stream m_a10kR s_a10kS -> m_a10kR r_a10kT)
gHMM :: ((~#) * * (Fun (Arg ((:!:) (Stack (TW t (i -> i -> t5 t3))) b) -> t4)) (t4 -> t2 -> t4), (~#) * * (Fun (Arg ((:!:) (Stack (TW t1 (i1 -> i1 -> t5 t3))) b) -> t4)) (t4 -> t2 -> t4), Element ((:!:) (Stack (TW t (i -> i -> t5 t3))) b) i, Element ((:!:) (Stack (TW t (i -> i -> t5 t3))) b) i1, Element ((:!:) (Stack (TW t1 (i1 -> i1 -> t5 t3))) b) i, Element ((:!:) (Stack (TW t1 (i1 -> i1 -> t5 t3))) b) i1, MkStream t5 ((:!:) S Epsilon) i1, MkStream t5 ((:!:) (Stack (TW t (i -> i -> t5 t3))) b) i, MkStream t5 ((:!:) (Stack (TW t (i -> i -> t5 t3))) b) i1, MkStream t5 ((:!:) (Stack (TW t1 (i1 -> i1 -> t5 t3))) b) i, MkStream t5 ((:!:) (Stack (TW t1 (i1 -> i1 -> t5 t3))) b) i1, RuleContext i, RuleContext i1, Apply (Arg ((:!:) (Stack (TW t (i -> i -> t5 t3))) b) -> t4), Apply (Arg ((:!:) (Stack (TW t1 (i1 -> i1 -> t5 t3))) b) -> t4), Build (TW t (i -> i -> t5 t3)), Build (TW t1 (i1 -> i1 -> t5 t3))) => SigHMM t5 t4 t3 t2 -> t1 -> t -> b -> (:.) ((:.) Z (TW t1 (i1 -> i1 -> t5 t3))) (TW t (i -> i -> t5 t3))
instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, mL0 ~ mR0, xL0 ~ rL0) => ADP.Fusion.Core.TH.Backtrack.ProductBacktracking (DP.HMM.States2.SigHMM mL0 xL0 rL0 t_x_0_0) (DP.HMM.States2.SigHMM mR0 xR0 rR0 t_x_0_0)
instance (GHC.Base.Monad mL0, GHC.Base.Monad mR0, GHC.Classes.Eq xL0, GHC.Classes.Ord xL0, GHC.Classes.Ord xR0, mL0 ~ mR0) => ADP.Fusion.Core.TH.Backtrack.ProductCombining (DP.HMM.States2.SigHMM mL0 xL0 rL0 t_x_0_0) (DP.HMM.States2.SigHMM mR0 xR0 rR0 t_x_0_0)