module Math.Operad (module Math.Operad.PPrint,
#if defined USE_MAPOPERAD
module Math.Operad.MapOperad,
#elif defined USE_POLYBAG
module Math.Operad.PolyBag,
#else
module Math.Operad.MapOperad,
#endif
module Math.Operad.OrderedTree,
module Math.Operad.OperadGB,
m12_3,
m13_2,
m1_23,
m2,
m3,
yTree,
lgb,
Tree,
FreeOperad) where
import Math.Operad.OperadGB
import Math.Operad.OrderedTree
import Math.Operad.PPrint
#if defined USE_MAPOPERAD
import Math.Operad.MapOperad
#elif defined USE_POLYBAG
import Math.Operad.PolyBag
#else
import Math.Operad.MapOperad
#endif
type Tree = DecoratedTree Integer
type FreeOperad a = OperadElement a Rational PathLex
m12_3 :: DecoratedTree Integer
m12_3 = symmetricCompose 1 [1,2,3] (corolla 2 [1,2]) (corolla 2 [1,2])
m13_2 :: DecoratedTree Integer
m13_2 = symmetricCompose 1 [1,3,2] (corolla 2 [1,2]) (corolla 2 [1,2])
m1_23 :: DecoratedTree Integer
m1_23 = symmetricCompose 2 [1,2,3] (corolla 2 [1,2]) (corolla 2 [1,2])
m2 :: DecoratedTree Integer
m2 = corolla 2 [1,2]
m3 :: DecoratedTree Integer
m3 = corolla 3 [1,2,3]
yTree :: DecoratedTree Integer
yTree = nsCompose 1 (nsCompose 2 m2 m2) m2
lo1 :: OperadElement Integer Rational PathLex
lo1 = oet m12_3
lo2 :: OperadElement Integer Rational PathLex
lo2 = oet m13_2
lo3 :: OperadElement Integer Rational PathLex
lo3 = oet m1_23
lgb :: [OperadElement Integer Rational PathLex]
lgb = [lo1 lo2 lo3]