Module("strategy/traversal/list",[Imports([Import("strategy/conditional"),Import("strategy/traversal/simple")]),Strategies([SDef("all-l",[DefaultVarDec("s")],GuardedLChoice(Match(NoAnnoList(ListTail([Wld],Wld))),ListCong([CallNoArgs(SVar("s"))],CallNoArgs(SVar("s"))),All(CallNoArgs(SVar("s"))))),SDef("topdown-l",[DefaultVarDec("s")],Rec("x",Seq(CallNoArgs(SVar("s")),Call(SVar("all-l"),[CallNoArgs(SVar("x"))])))),SDef("bottomup-l",[DefaultVarDec("s")],Rec("x",Seq(Call(SVar("all-l"),[CallNoArgs(SVar("x"))]),CallNoArgs(SVar("s"))))),SDef("downup-l",[DefaultVarDec("s")],Rec("x",Seq(CallNoArgs(SVar("s")),Seq(Call(SVar("all-l"),[CallNoArgs(SVar("x"))]),CallNoArgs(SVar("s")))))),SDef("downup-l",[DefaultVarDec("s1"),DefaultVarDec("s2")],Rec("x",Seq(CallNoArgs(SVar("s1")),Seq(Call(SVar("all-l"),[CallNoArgs(SVar("x"))]),CallNoArgs(SVar("s2")))))),SDef("downup2-l",[DefaultVarDec("s1"),DefaultVarDec("s2")],Rec("x",Seq(CallNoArgs(SVar("s1")),Seq(Call(SVar("all-l"),[CallNoArgs(SVar("x"))]),CallNoArgs(SVar("s2")))))),SDef("topdownS-l",[DefaultVarDec("s"),VarDec("stop",FunType([FunType([ConstType(SortVar("a"))],ConstType(SortVar("a"))),ConstType(SortVar("a"))],ConstType(SortVar("a"))))],Rec("x",Seq(CallNoArgs(SVar("s")),LChoice(Call(SVar("stop"),[CallNoArgs(SVar("x"))]),Call(SVar("all-l"),[CallNoArgs(SVar("x"))]))))),SDef("bottomupS-l",[DefaultVarDec("s"),VarDec("stop",FunType([FunType([ConstType(SortVar("a"))],ConstType(SortVar("a"))),ConstType(SortVar("a"))],ConstType(SortVar("a"))))],Rec("x",Seq(LChoice(Call(SVar("stop"),[CallNoArgs(SVar("x"))]),Call(SVar("all-l"),[CallNoArgs(SVar("x"))])),CallNoArgs(SVar("s"))))),SDef("downupS-l",[DefaultVarDec("s"),VarDec("stop",FunType([FunType([ConstType(SortVar("a"))],ConstType(SortVar("a"))),ConstType(SortVar("a"))],ConstType(SortVar("a"))))],Rec("x",Seq(CallNoArgs(SVar("s")),Seq(LChoice(Call(SVar("stop"),[CallNoArgs(SVar("x"))]),Call(SVar("all-l"),[CallNoArgs(SVar("x"))])),CallNoArgs(SVar("s")))))),SDef("downupS-l",[DefaultVarDec("s1"),DefaultVarDec("s2"),VarDec("stop",FunType([FunType([ConstType(SortVar("a"))],ConstType(SortVar("a"))),ConstType(SortVar("a"))],ConstType(SortVar("a"))))],Rec("x",Seq(CallNoArgs(SVar("s1")),Seq(LChoice(Call(SVar("stop"),[CallNoArgs(SVar("x"))]),Call(SVar("all-l"),[CallNoArgs(SVar("x"))])),CallNoArgs(SVar("s2")))))),SDef("bottomup-para-l",[DefaultVarDec("s")],Rec("x",Seq(Build(NoAnnoList(Tuple([RootApp(Id),RootApp(Call(SVar("all-l"),[CallNoArgs(SVar("x"))]))]))),CallNoArgs(SVar("s"))))),SDef("alltd-l",[DefaultVarDec("s")],Rec("x",LChoice(CallNoArgs(SVar("s")),Call(SVar("all-l"),[CallNoArgs(SVar("x"))])))),SDef("alldownup2-l",[DefaultVarDec("s1"),DefaultVarDec("s2")],Rec("x",Seq(LChoice(CallNoArgs(SVar("s1")),Call(SVar("all-l"),[CallNoArgs(SVar("x"))])),CallNoArgs(SVar("s2"))))),SDef("alltd-fold-l",[DefaultVarDec("s1"),DefaultVarDec("s2")],Rec("x",LChoice(CallNoArgs(SVar("s1")),Seq(Call(SVar("all-l"),[CallNoArgs(SVar("x"))]),CallNoArgs(SVar("s2"))))))])])
