Prog "OracleFlatCurryGoodies" ["CEventOracle","Oracle","IOExts","FlatCurryGoodies","FlatCurry","Prelude","OracleFlatCurry","OraclePrelude"] [] [Func ("OracleFlatCurryGoodies","trProg") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]) (TVar 0))))))))))) (FuncType (TCons ("FlatCurry","Prog") []) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0)))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_53") [Var 2,Var 3,Var 1]])),Func ("OracleFlatCurryGoodies","progName") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trProg") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]]]],Comb (FuncPartCall 6) ("OracleFlatCurryGoodies","progName._#lambda2") []]]]])),Func ("OracleFlatCurryGoodies","progName._#lambda2") 6 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]))))))) (Rule [2,3,4,5,6,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 2])),Func ("OracleFlatCurryGoodies","progImports") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trProg") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]]]],Comb (FuncPartCall 6) ("OracleFlatCurryGoodies","progImports._#lambda3") []]]]])),Func ("OracleFlatCurryGoodies","progImports._#lambda3") 6 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))))))) (Rule [2,3,4,5,6,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])),Func ("OracleFlatCurryGoodies","progTypes") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trProg") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]]]],Comb (FuncPartCall 6) ("OracleFlatCurryGoodies","progTypes._#lambda4") []]]]])),Func ("OracleFlatCurryGoodies","progTypes._#lambda4") 6 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]))))))) (Rule [2,3,4,5,6,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 4])),Func ("OracleFlatCurryGoodies","progFuncs") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trProg") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]]]],Comb (FuncPartCall 6) ("OracleFlatCurryGoodies","progFuncs._#lambda5") []]]]])),Func ("OracleFlatCurryGoodies","progFuncs._#lambda5") 6 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]))))))) (Rule [2,3,4,5,6,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 5])),Func ("OracleFlatCurryGoodies","progOps") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trProg") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]]]],Comb (FuncPartCall 6) ("OracleFlatCurryGoodies","progOps._#lambda6") []]]]])),Func ("OracleFlatCurryGoodies","progOps._#lambda6") 6 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]))))))) (Rule [2,3,4,5,6,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 6])),Func ("OracleFlatCurryGoodies","updProg") 6 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") []))))))))) (Rule [2,3,4,5,6,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trProg") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]]]],Comb (FuncPartCall 6) ("OracleFlatCurryGoodies","updProg.prog.40") [Var 5,Var 3,Var 2,Var 6,Var 4]]]]])),Func ("OracleFlatCurryGoodies","updProg.prog.40") 11 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]))) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","Prog") [])))))))))))) (Rule [2,3,4,5,6,7,8,9,10,11,1] (Let [(12,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(13,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(14,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(15,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 12,Comb ConsCall ("Prelude",":") [Var 13,Comb ConsCall ("Prelude",":") [Var 14,Comb ConsCall ("Prelude",":") [Var 15,Comb ConsCall ("Prelude","[]") []]]]],Comb ConsCall ("FlatCurry","Prog") [Comb FuncCall ("Oracle","apply") [Var 4,Var 7,Var 1],Comb FuncCall ("Oracle","apply") [Var 3,Var 8,Var 12],Comb FuncCall ("Oracle","apply") [Var 6,Var 9,Var 13],Comb FuncCall ("Oracle","apply") [Var 2,Var 10,Var 14],Comb FuncCall ("Oracle","apply") [Var 5,Var 11,Var 15]]]))),Func ("OracleFlatCurryGoodies","updProgName") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updProg") [Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updProgImports") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updProg") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updProgTypes") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeDecl") []]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updProg") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updProgFuncs") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","FuncDecl") []]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updProg") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updProgOps") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","OpDecl") []]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") [])))))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","updProg") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []]]]])),Func ("OracleFlatCurryGoodies","allVarsInProg") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])))) (Rule [1] (Let [(2,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []]]],Comb FuncCall ("OraclePrelude",".") [Comb FuncCall ("OraclePrelude","concatMap") [Comb FuncCall ("OracleFlatCurryGoodies","allVarsInFunc") [Var 1],Var 2],Comb FuncCall ("OracleFlatCurryGoodies","progFuncs") [Var 3],Var 4]]))),Func ("OracleFlatCurryGoodies","updProgExps") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") [])))))) (Rule [1] (Let [(2,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("OraclePrelude",".") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","updProgFuncs") []],Comb FuncCall ("OraclePrelude",".") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OraclePrelude","map") []],Comb FuncCall ("OracleFlatCurryGoodies","updFuncBody") [Var 1],Var 2],Var 3]]))),Func ("OracleFlatCurryGoodies","rnmAllVarsInProg") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") [])))))) (Rule [1] (Let [(2,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("OraclePrelude",".") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","updProgFuncs") []],Comb FuncCall ("OraclePrelude",".") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OraclePrelude","map") []],Comb FuncCall ("OracleFlatCurryGoodies","rnmAllVarsInFunc") [Var 1],Var 2],Var 3]]))),Func ("OracleFlatCurryGoodies","updQNamesInProg") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Prog") []) (TCons ("FlatCurry","Prog") []))))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []]]],Comb FuncCall ("OracleFlatCurryGoodies","updProg") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","map") [Comb FuncCall ("OracleFlatCurryGoodies","updQNamesInType") [Var 2,Var 1]]],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","map") [Comb FuncCall ("OracleFlatCurryGoodies","updQNamesInFunc") [Var 2,Var 3]]],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","map") [Comb FuncCall ("OracleFlatCurryGoodies","updOpName") [Var 2,Var 4]]],Var 5]]))),Func ("OracleFlatCurryGoodies","rnmProg") 3 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("FlatCurry","Prog") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","Prog") [])))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude","[]") []]]],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("OracleFlatCurryGoodies","updProgName") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","const") [Var 2]],Var 1],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("OracleFlatCurryGoodies","updQNamesInProg") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","rnmProg.rnm.62") [Var 2,Var 3]],Var 4],Var 3,Var 5],Var 6]]))),Func ("OracleFlatCurryGoodies","rnmProg.rnm.62") 4 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("FlatCurry","Prog") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TVar 0]))))) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_52") [Var 2,Var 3,Var 4,Var 1]])),Func ("OracleFlatCurryGoodies","trType") 4 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (TVar 0))))))))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TVar 0))))))))) (FuncType (TCons ("FlatCurry","TypeDecl") []) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0))))) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_49") [Var 2,Var 3,Var 4,Var 1]])),Func ("OracleFlatCurryGoodies","typeName") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trType") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]],Comb (FuncPartCall 5) ("OracleFlatCurryGoodies","typeName._#lambda7") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]],Comb (FuncPartCall 5) ("OracleFlatCurryGoodies","typeName._#lambda8") []]]]])),Func ("OracleFlatCurryGoodies","typeName._#lambda7") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])))))) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 2])),Func ("OracleFlatCurryGoodies","typeName._#lambda8") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])))))) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 2])),Func ("OracleFlatCurryGoodies","typeVisibility") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("FlatCurry","Visibility") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trType") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]],Comb (FuncPartCall 5) ("OracleFlatCurryGoodies","typeVisibility._#lambda9") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]],Comb (FuncPartCall 5) ("OracleFlatCurryGoodies","typeVisibility._#lambda10") []]]]])),Func ("OracleFlatCurryGoodies","typeVisibility._#lambda9") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","Visibility") [])))))) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])),Func ("OracleFlatCurryGoodies","typeVisibility._#lambda10") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","Visibility") [])))))) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])),Func ("OracleFlatCurryGoodies","typeParams") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trType") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]],Comb (FuncPartCall 5) ("OracleFlatCurryGoodies","typeParams._#lambda11") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]],Comb (FuncPartCall 5) ("OracleFlatCurryGoodies","typeParams._#lambda12") []]]]])),Func ("OracleFlatCurryGoodies","typeParams._#lambda11") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])))))) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 4])),Func ("OracleFlatCurryGoodies","typeParams._#lambda12") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])))))) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 4])),Func ("OracleFlatCurryGoodies","typeConsDecls") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []])))) (Rule [1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trType") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]],Comb (FuncPartCall 5) ("OracleFlatCurryGoodies","typeConsDecls._#lambda13") []],Comb FuncCall ("OraclePrelude","failed") [Var 1]]]])),Func ("OracleFlatCurryGoodies","typeConsDecls._#lambda13") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []])))))) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 5])),Func ("OracleFlatCurryGoodies","typeSyn") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("FlatCurry","TypeExpr") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trType") [Comb FuncCall ("OraclePrelude","failed") [Var 1],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]],Comb (FuncPartCall 5) ("OracleFlatCurryGoodies","typeSyn._#lambda14") []]]]])),Func ("OracleFlatCurryGoodies","typeSyn._#lambda14") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","TypeExpr") [])))))) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 5])),Func ("OracleFlatCurryGoodies","isTypeSyn") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("Prelude","Bool") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trType") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]],Comb (FuncPartCall 5) ("OracleFlatCurryGoodies","isTypeSyn._#lambda15") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]],Comb (FuncPartCall 5) ("OracleFlatCurryGoodies","isTypeSyn._#lambda16") []]]]])),Func ("OracleFlatCurryGoodies","isTypeSyn._#lambda15") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))))) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])),Func ("OracleFlatCurryGoodies","isTypeSyn._#lambda16") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))))) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","True") []])),Func ("OracleFlatCurryGoodies","isDataTypeDecl") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("Prelude","Bool") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trType") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]],Comb (FuncPartCall 5) ("OracleFlatCurryGoodies","isDataTypeDecl._#lambda17") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]],Comb (FuncPartCall 5) ("OracleFlatCurryGoodies","isDataTypeDecl._#lambda18") []]]]])),Func ("OracleFlatCurryGoodies","isDataTypeDecl._#lambda17") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))))) (Rule [2,3,4,5,1] (Let [(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OraclePrelude","not") [Comb FuncCall ("OraclePrelude","null") [Var 5,Var 1],Var 6]]))),Func ("OracleFlatCurryGoodies","isDataTypeDecl._#lambda18") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))))) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])),Func ("OracleFlatCurryGoodies","isExternalType") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("Prelude","Bool") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trType") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]],Comb (FuncPartCall 5) ("OracleFlatCurryGoodies","isExternalType._#lambda19") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]],Comb (FuncPartCall 5) ("OracleFlatCurryGoodies","isExternalType._#lambda20") []]]]])),Func ("OracleFlatCurryGoodies","isExternalType._#lambda19") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))))) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","null") [Var 5,Var 1]])),Func ("OracleFlatCurryGoodies","isExternalType._#lambda20") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))))) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])),Func ("OracleFlatCurryGoodies","updType") 6 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Visibility") []) (TCons ("FlatCurry","Visibility") []))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("FlatCurry","TypeDecl") []))))))))) (Rule [2,3,4,5,6,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trType") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]],Comb (FuncPartCall 5) ("OracleFlatCurryGoodies","updType.typ.148") [Var 5,Var 2,Var 4,Var 3]],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]],Comb (FuncPartCall 5) ("OracleFlatCurryGoodies","updType.typesyn.148") [Var 2,Var 4,Var 6,Var 3]]]]])),Func ("OracleFlatCurryGoodies","updType.typ.148") 9 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Visibility") []) (TCons ("FlatCurry","Visibility") []))) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","TypeDecl") [])))))))))) (Rule [2,3,4,5,6,7,8,9,1] (Let [(10,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(11,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(12,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 10,Comb ConsCall ("Prelude",":") [Var 11,Comb ConsCall ("Prelude",":") [Var 12,Comb ConsCall ("Prelude","[]") []]]],Comb ConsCall ("FlatCurry","Type") [Comb FuncCall ("Oracle","apply") [Var 3,Var 6,Var 1],Comb FuncCall ("Oracle","apply") [Var 5,Var 7,Var 10],Comb FuncCall ("Oracle","apply") [Var 4,Var 8,Var 11],Comb FuncCall ("Oracle","apply") [Var 2,Var 9,Var 12]]]))),Func ("OracleFlatCurryGoodies","updType.typesyn.148") 9 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") []))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Visibility") []) (TCons ("FlatCurry","Visibility") []))) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","TypeDecl") [])))))))))) (Rule [2,3,4,5,6,7,8,9,1] (Let [(10,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(11,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(12,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 10,Comb ConsCall ("Prelude",":") [Var 11,Comb ConsCall ("Prelude",":") [Var 12,Comb ConsCall ("Prelude","[]") []]]],Comb ConsCall ("FlatCurry","TypeSyn") [Comb FuncCall ("Oracle","apply") [Var 2,Var 6,Var 1],Comb FuncCall ("Oracle","apply") [Var 5,Var 7,Var 10],Comb FuncCall ("Oracle","apply") [Var 3,Var 8,Var 11],Comb FuncCall ("Oracle","apply") [Var 4,Var 9,Var 12]]]))),Func ("OracleFlatCurryGoodies","updTypeName") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("FlatCurry","TypeDecl") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updType") [Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updTypeVisibility") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Visibility") []) (TCons ("FlatCurry","Visibility") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("FlatCurry","TypeDecl") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updType") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updTypeParams") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("FlatCurry","TypeDecl") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updType") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updTypeConsDecls") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","ConsDecl") []]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("FlatCurry","TypeDecl") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updType") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updTypeSynonym") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("FlatCurry","TypeDecl") [])))))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","updType") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []]]]])),Func ("OracleFlatCurryGoodies","updQNamesInType") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeDecl") []) (TCons ("FlatCurry","TypeDecl") []))))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("OracleFlatCurryGoodies","updType") [Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","map") [Comb FuncCall ("OracleFlatCurryGoodies","updQNamesInConsDecl") [Var 2,Var 1]]],Comb FuncCall ("OracleFlatCurryGoodies","updQNamesInTypeExpr") [Var 2,Var 3],Var 4]]))),Func ("OracleFlatCurryGoodies","trCons") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (TVar 0))))))))) (FuncType (TCons ("FlatCurry","ConsDecl") []) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0)))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_48") [Var 2,Var 3,Var 1]])),Func ("OracleFlatCurryGoodies","consName") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","ConsDecl") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trCons") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]],Comb (FuncPartCall 5) ("OracleFlatCurryGoodies","consName._#lambda21") []]]]])),Func ("OracleFlatCurryGoodies","consName._#lambda21") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])))))) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 2])),Func ("OracleFlatCurryGoodies","consArity") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","ConsDecl") []) (TCons ("Prelude","Int") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trCons") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]],Comb (FuncPartCall 5) ("OracleFlatCurryGoodies","consArity._#lambda22") []]]]])),Func ("OracleFlatCurryGoodies","consArity._#lambda22") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])))))) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])),Func ("OracleFlatCurryGoodies","consVisibility") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","ConsDecl") []) (TCons ("FlatCurry","Visibility") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trCons") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]],Comb (FuncPartCall 5) ("OracleFlatCurryGoodies","consVisibility._#lambda23") []]]]])),Func ("OracleFlatCurryGoodies","consVisibility._#lambda23") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","Visibility") [])))))) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 4])),Func ("OracleFlatCurryGoodies","consArgs") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","ConsDecl") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trCons") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]],Comb (FuncPartCall 5) ("OracleFlatCurryGoodies","consArgs._#lambda24") []]]]])),Func ("OracleFlatCurryGoodies","consArgs._#lambda24") 5 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []])))))) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 5])),Func ("OracleFlatCurryGoodies","updCons") 5 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Visibility") []) (TCons ("FlatCurry","Visibility") []))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","ConsDecl") []) (TCons ("FlatCurry","ConsDecl") [])))))))) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trCons") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]],Comb (FuncPartCall 5) ("OracleFlatCurryGoodies","updCons.cons.192") [Var 3,Var 5,Var 2,Var 4]]]]])),Func ("OracleFlatCurryGoodies","updCons.cons.192") 9 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Visibility") []) (TCons ("FlatCurry","Visibility") []))) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","ConsDecl") [])))))))))) (Rule [2,3,4,5,6,7,8,9,1] (Let [(10,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(11,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(12,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 10,Comb ConsCall ("Prelude",":") [Var 11,Comb ConsCall ("Prelude",":") [Var 12,Comb ConsCall ("Prelude","[]") []]]],Comb ConsCall ("FlatCurry","Cons") [Comb FuncCall ("Oracle","apply") [Var 4,Var 6,Var 1],Comb FuncCall ("Oracle","apply") [Var 2,Var 7,Var 10],Comb FuncCall ("Oracle","apply") [Var 5,Var 8,Var 11],Comb FuncCall ("Oracle","apply") [Var 3,Var 9,Var 12]]]))),Func ("OracleFlatCurryGoodies","updConsName") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","ConsDecl") []) (TCons ("FlatCurry","ConsDecl") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updCons") [Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updConsArity") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","ConsDecl") []) (TCons ("FlatCurry","ConsDecl") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updCons") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updConsVisibility") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Visibility") []) (TCons ("FlatCurry","Visibility") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","ConsDecl") []) (TCons ("FlatCurry","ConsDecl") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updCons") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updConsArgs") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","ConsDecl") []) (TCons ("FlatCurry","ConsDecl") [])))))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","updCons") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []]]]])),Func ("OracleFlatCurryGoodies","updQNamesInConsDecl") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","ConsDecl") []) (TCons ("FlatCurry","ConsDecl") []))))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleFlatCurryGoodies","updCons") [Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","map") [Comb FuncCall ("OracleFlatCurryGoodies","updQNamesInTypeExpr") [Var 2,Var 1]]],Var 3]]))),Func ("OracleFlatCurryGoodies","tVarIndex") 2 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_47") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","domain") 2 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","TypeExpr") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_46") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","range") 2 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","TypeExpr") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_45") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","tConsName") 2 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_44") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","tConsArgs") 2 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_43") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","trTypeExpr") 5 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TVar 0))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TVar 0))))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 0))))) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0)))))) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_42") [Var 2,Var 3,Var 4,Var 5,Var 1]])),Func ("OracleFlatCurryGoodies","isTVar") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trTypeExpr") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","isTVar._#lambda25") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","isTVar._#lambda26") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","isTVar._#lambda27") []]]]])),Func ("OracleFlatCurryGoodies","isTVar._#lambda25") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","True") []])),Func ("OracleFlatCurryGoodies","isTVar._#lambda26") 3 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Bool") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])),Func ("OracleFlatCurryGoodies","isTVar._#lambda27") 3 Private (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])),Func ("OracleFlatCurryGoodies","isTCons") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trTypeExpr") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","isTCons._#lambda28") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","isTCons._#lambda29") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","isTCons._#lambda30") []]]]])),Func ("OracleFlatCurryGoodies","isTCons._#lambda28") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])),Func ("OracleFlatCurryGoodies","isTCons._#lambda29") 3 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Bool") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","True") []])),Func ("OracleFlatCurryGoodies","isTCons._#lambda30") 3 Private (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])),Func ("OracleFlatCurryGoodies","isFuncType") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","Bool") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trTypeExpr") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","isFuncType._#lambda31") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","isFuncType._#lambda32") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","isFuncType._#lambda33") []]]]])),Func ("OracleFlatCurryGoodies","isFuncType._#lambda31") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])),Func ("OracleFlatCurryGoodies","isFuncType._#lambda32") 3 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Bool") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])),Func ("OracleFlatCurryGoodies","isFuncType._#lambda33") 3 Private (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("Prelude","Bool") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","True") []])),Func ("OracleFlatCurryGoodies","updTVars") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("FlatCurry","TypeExpr") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trTypeExpr") [Var 2,Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","TCons") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","FuncType") []]]]])),Func ("OracleFlatCurryGoodies","updTCons") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (TCons ("FlatCurry","TypeExpr") []))))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trTypeExpr") [Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","TVar") []],Var 2,Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","FuncType") []]]]])),Func ("OracleFlatCurryGoodies","updFuncTypes") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") []))))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") [])))))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","trTypeExpr") [Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","TVar") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","TCons") []]]]])),Func ("OracleFlatCurryGoodies","argTypes") 2 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_41") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","resultType") 2 Public (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","TypeExpr") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_40") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","allVarsInTypeExpr") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trTypeExpr") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","flip") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("Prelude",":") []],Comb ConsCall ("Prelude","[]") []]],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","const") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","concat") []]]],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OraclePrelude","++") []]]]])),Func ("OracleFlatCurryGoodies","rnmAllVarsInTypeExpr") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") []))))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleFlatCurryGoodies","updTVars") [Comb FuncCall ("OraclePrelude",".") [Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","TVar") []],Var 2,Var 1],Var 3]]))),Func ("OracleFlatCurryGoodies","updQNamesInTypeExpr") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updTCons") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","updQNamesInTypeExpr._#lambda34") [Var 2]],Var 1]])),Func ("OracleFlatCurryGoodies","updQNamesInTypeExpr._#lambda34") 4 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","TypeExpr") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","TypeExpr") []))))) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb ConsCall ("FlatCurry","TCons") [Comb FuncCall ("Oracle","apply") [Var 2,Var 3,Var 1],Var 4]])),Func ("OracleFlatCurryGoodies","trOp") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Fixity") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TVar 0))))))) (FuncType (TCons ("FlatCurry","OpDecl") []) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0)))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_39") [Var 2,Var 3,Var 1]])),Func ("OracleFlatCurryGoodies","opName") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","OpDecl") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trOp") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]],Comb (FuncPartCall 4) ("OracleFlatCurryGoodies","opName._#lambda35") []]]]])),Func ("OracleFlatCurryGoodies","opName._#lambda35") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Fixity") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))))) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 2])),Func ("OracleFlatCurryGoodies","opFixity") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","OpDecl") []) (TCons ("FlatCurry","Fixity") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trOp") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]],Comb (FuncPartCall 4) ("OracleFlatCurryGoodies","opFixity._#lambda36") []]]]])),Func ("OracleFlatCurryGoodies","opFixity._#lambda36") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Fixity") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","Fixity") []))))) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])),Func ("OracleFlatCurryGoodies","opPrecedence") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","OpDecl") []) (TCons ("Prelude","Int") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trOp") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]],Comb (FuncPartCall 4) ("OracleFlatCurryGoodies","opPrecedence._#lambda37") []]]]])),Func ("OracleFlatCurryGoodies","opPrecedence._#lambda37") 4 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Fixity") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))))) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 4])),Func ("OracleFlatCurryGoodies","updOp") 4 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Fixity") []) (TCons ("FlatCurry","Fixity") []))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","OpDecl") []) (TCons ("FlatCurry","OpDecl") []))))))) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trOp") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]],Comb (FuncPartCall 4) ("OracleFlatCurryGoodies","updOp.op.305") [Var 3,Var 2,Var 4]]]]])),Func ("OracleFlatCurryGoodies","updOp.op.305") 7 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Fixity") []) (TCons ("FlatCurry","Fixity") []))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("FlatCurry","Fixity") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","OpDecl") [])))))))) (Rule [2,3,4,5,6,7,1] (Let [(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(9,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude",":") [Var 9,Comb ConsCall ("Prelude","[]") []]],Comb ConsCall ("FlatCurry","Op") [Comb FuncCall ("Oracle","apply") [Var 3,Var 5,Var 1],Comb FuncCall ("Oracle","apply") [Var 2,Var 6,Var 8],Comb FuncCall ("Oracle","apply") [Var 4,Var 7,Var 9]]]))),Func ("OracleFlatCurryGoodies","updOpName") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","OpDecl") []) (TCons ("FlatCurry","OpDecl") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updOp") [Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updOpFixity") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Fixity") []) (TCons ("FlatCurry","Fixity") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","OpDecl") []) (TCons ("FlatCurry","OpDecl") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updOp") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updOpPrecedence") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","OpDecl") []) (TCons ("FlatCurry","OpDecl") [])))))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","updOp") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []]]]])),Func ("OracleFlatCurryGoodies","trFunc") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Rule") []) (TVar 0))))))))))) (FuncType (TCons ("FlatCurry","FuncDecl") []) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0)))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_38") [Var 2,Var 3,Var 1]])),Func ("OracleFlatCurryGoodies","funcName") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trFunc") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]]]],Comb (FuncPartCall 6) ("OracleFlatCurryGoodies","funcName._#lambda38") []]]]])),Func ("OracleFlatCurryGoodies","funcName._#lambda38") 6 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("FlatCurry","Rule") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))))))) (Rule [2,3,4,5,6,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 2])),Func ("OracleFlatCurryGoodies","funcArity") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("Prelude","Int") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trFunc") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]]]],Comb (FuncPartCall 6) ("OracleFlatCurryGoodies","funcArity._#lambda39") []]]]])),Func ("OracleFlatCurryGoodies","funcArity._#lambda39") 6 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("FlatCurry","Rule") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))))))) (Rule [2,3,4,5,6,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])),Func ("OracleFlatCurryGoodies","funcVisibility") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","Visibility") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trFunc") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]]]],Comb (FuncPartCall 6) ("OracleFlatCurryGoodies","funcVisibility._#lambda40") []]]]])),Func ("OracleFlatCurryGoodies","funcVisibility._#lambda40") 6 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("FlatCurry","Rule") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","Visibility") []))))))) (Rule [2,3,4,5,6,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 4])),Func ("OracleFlatCurryGoodies","funcType") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","TypeExpr") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trFunc") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]]]],Comb (FuncPartCall 6) ("OracleFlatCurryGoodies","funcType._#lambda41") []]]]])),Func ("OracleFlatCurryGoodies","funcType._#lambda41") 6 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("FlatCurry","Rule") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","TypeExpr") []))))))) (Rule [2,3,4,5,6,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 5])),Func ("OracleFlatCurryGoodies","funcRule") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","Rule") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trFunc") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]]]],Comb (FuncPartCall 6) ("OracleFlatCurryGoodies","funcRule._#lambda42") []]]]])),Func ("OracleFlatCurryGoodies","funcRule._#lambda42") 6 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("FlatCurry","Rule") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","Rule") []))))))) (Rule [2,3,4,5,6,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 6])),Func ("OracleFlatCurryGoodies","updFunc") 6 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Visibility") []) (TCons ("FlatCurry","Visibility") []))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") []))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Rule") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") []))))))))) (Rule [2,3,4,5,6,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trFunc") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []]]],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]]]]]],Comb (FuncPartCall 6) ("OracleFlatCurryGoodies","updFunc.func.352") [Var 3,Var 2,Var 6,Var 5,Var 4]]]]])),Func ("OracleFlatCurryGoodies","updFunc.func.352") 11 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Rule") []))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") []))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Visibility") []) (TCons ("FlatCurry","Visibility") []))) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("FlatCurry","Visibility") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (FuncType (TCons ("FlatCurry","Rule") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","FuncDecl") [])))))))))))) (Rule [2,3,4,5,6,7,8,9,10,11,1] (Let [(12,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(13,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(14,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(15,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 12,Comb ConsCall ("Prelude",":") [Var 13,Comb ConsCall ("Prelude",":") [Var 14,Comb ConsCall ("Prelude",":") [Var 15,Comb ConsCall ("Prelude","[]") []]]]],Comb ConsCall ("FlatCurry","Func") [Comb FuncCall ("Oracle","apply") [Var 3,Var 7,Var 1],Comb FuncCall ("Oracle","apply") [Var 2,Var 8,Var 12],Comb FuncCall ("Oracle","apply") [Var 6,Var 9,Var 13],Comb FuncCall ("Oracle","apply") [Var 5,Var 10,Var 14],Comb FuncCall ("Oracle","apply") [Var 4,Var 11,Var 15]]]))),Func ("OracleFlatCurryGoodies","updFuncName") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updFunc") [Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updFuncArity") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updFunc") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updFuncVisibility") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Visibility") []) (TCons ("FlatCurry","Visibility") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updFunc") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updFuncType") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","TypeExpr") []) (TCons ("FlatCurry","TypeExpr") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updFunc") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updFuncRule") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Rule") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") [])))))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","updFunc") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []]]]])),Func ("OracleFlatCurryGoodies","isExternal") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("Prelude","Bool") [])))) (Rule [1] (Let [(2,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("OraclePrelude",".") [Comb FuncCall ("OracleFlatCurryGoodies","isRuleExternal") [Var 1],Comb FuncCall ("OracleFlatCurryGoodies","funcRule") [Var 2],Var 3]]))),Func ("OracleFlatCurryGoodies","allVarsInFunc") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])))) (Rule [1] (Let [(2,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("OraclePrelude",".") [Comb FuncCall ("OracleFlatCurryGoodies","allVarsInRule") [Var 1],Comb FuncCall ("OracleFlatCurryGoodies","funcRule") [Var 2],Var 3]]))),Func ("OracleFlatCurryGoodies","funcArgs") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])))) (Rule [1] (Let [(2,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("OraclePrelude",".") [Comb FuncCall ("OracleFlatCurryGoodies","ruleArgs") [Var 1],Comb FuncCall ("OracleFlatCurryGoodies","funcRule") [Var 2],Var 3]]))),Func ("OracleFlatCurryGoodies","funcBody") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","Expr") [])))) (Rule [1] (Let [(2,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("OraclePrelude",".") [Comb FuncCall ("OracleFlatCurryGoodies","ruleBody") [Var 1],Comb FuncCall ("OracleFlatCurryGoodies","funcRule") [Var 2],Var 3]]))),Func ("OracleFlatCurryGoodies","funcRHS") 2 Public (FuncType (TCons ("FlatCurry","FuncDecl") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []]]],Comb FuncCall ("OracleFlatCurryGoodies","_case_37") [Var 2,Comb FuncCall ("OraclePrelude","not") [Comb FuncCall ("Oracle","apply") [Comb FuncCall ("OracleFlatCurryGoodies","isExternal") [Var 1],Var 2,Var 3],Var 4],Var 5]]))),Func ("OracleFlatCurryGoodies","funcRHS.orCase.374") 2 Private (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleFlatCurryGoodies","_case_35") [Var 2,Comb FuncCall ("OracleFlatCurryGoodies","isOr") [Var 2,Var 1],Var 3]]))),Func ("OracleFlatCurryGoodies","rnmAllVarsInFunc") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") [])))))) (Rule [1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude",".") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","updFunc") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []]]],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","rnmAllVarsInRule") []],Var 1]])),Func ("OracleFlatCurryGoodies","updQNamesInFunc") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") []))))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []]]],Comb FuncCall ("OracleFlatCurryGoodies","updFunc") [Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb FuncCall ("OracleFlatCurryGoodies","updQNamesInTypeExpr") [Var 2,Var 1],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("OracleFlatCurryGoodies","updQNamesInRule") [Var 3],Var 2,Var 4],Var 5]]))),Func ("OracleFlatCurryGoodies","updFuncArgs") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") [])))))) (Rule [1] (Let [(2,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OraclePrelude",".") [Comb FuncCall ("OracleFlatCurryGoodies","updFuncRule") [Var 1],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","updRuleArgs") []],Var 2]]))),Func ("OracleFlatCurryGoodies","updFuncBody") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","FuncDecl") []) (TCons ("FlatCurry","FuncDecl") [])))))) (Rule [1] (Let [(2,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OraclePrelude",".") [Comb FuncCall ("OracleFlatCurryGoodies","updFuncRule") [Var 1],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","updRuleBody") []],Var 2]]))),Func ("OracleFlatCurryGoodies","trRule") 4 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TVar 0))))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TVar 0))) (FuncType (TCons ("FlatCurry","Rule") []) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0))))) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_32") [Var 2,Var 3,Var 4,Var 1]])),Func ("OracleFlatCurryGoodies","ruleArgs") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])))) (Rule [1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trRule") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","ruleArgs._#lambda43") []],Comb FuncCall ("OraclePrelude","failed") [Var 1]]]])),Func ("OracleFlatCurryGoodies","ruleArgs._#lambda43") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 2])),Func ("OracleFlatCurryGoodies","ruleBody") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Expr") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trRule") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","ruleBody._#lambda44") []],Comb FuncCall ("OraclePrelude","failed") [Var 1]]]])),Func ("OracleFlatCurryGoodies","ruleBody._#lambda44") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","Expr") [])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])),Func ("OracleFlatCurryGoodies","ruleExtDecl") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []])))) (Rule [1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trRule") [Comb FuncCall ("OraclePrelude","failed") [Var 1],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []]]]])),Func ("OracleFlatCurryGoodies","isRuleExternal") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("Prelude","Bool") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trRule") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","isRuleExternal._#lambda45") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","isRuleExternal._#lambda46") []]]]])),Func ("OracleFlatCurryGoodies","isRuleExternal._#lambda45") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])),Func ("OracleFlatCurryGoodies","isRuleExternal._#lambda46") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","True") []])),Func ("OracleFlatCurryGoodies","updRule") 4 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Rule") []))))))) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trRule") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","updRule.rule.409") [Var 2,Var 3]],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","updRule.ext.409") [Var 4]]]]])),Func ("OracleFlatCurryGoodies","updRule.rule.409") 5 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","Rule") [])))))) (Rule [2,3,4,5,1] (Let [(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude","[]") []],Comb ConsCall ("FlatCurry","Rule") [Comb FuncCall ("Oracle","apply") [Var 2,Var 4,Var 1],Comb FuncCall ("Oracle","apply") [Var 3,Var 5,Var 6]]]))),Func ("OracleFlatCurryGoodies","updRule.ext.409") 3 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]))) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","Rule") [])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb ConsCall ("FlatCurry","External") [Comb FuncCall ("Oracle","apply") [Var 2,Var 3,Var 1]]])),Func ("OracleFlatCurryGoodies","updRuleArgs") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Rule") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updRule") [Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updRuleBody") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Rule") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updRule") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updRuleExtDecl") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Rule") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updRule") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","allVarsInRule") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trRule") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","allVarsInRule._#lambda47") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","allVarsInRule._#lambda48") []]]]])),Func ("OracleFlatCurryGoodies","allVarsInRule._#lambda47") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OraclePrelude","++") [Var 2,Comb FuncCall ("OracleFlatCurryGoodies","allVars") [Var 3,Var 1],Var 4]]))),Func ("OracleFlatCurryGoodies","allVarsInRule._#lambda48") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TVar 1003]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","[]") []])),Func ("OracleFlatCurryGoodies","rnmAllVarsInRule") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Rule") []))))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleFlatCurryGoodies","updRule") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","map") [Var 2]],Comb FuncCall ("OracleFlatCurryGoodies","rnmAllVars") [Var 2,Var 1],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 3]]))),Func ("OracleFlatCurryGoodies","updQNamesInRule") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Rule") []) (TCons ("FlatCurry","Rule") [])))))) (Rule [1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude",".") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","updRuleBody") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","updQNames") []],Var 1]])),Func ("OracleFlatCurryGoodies","trCombType") 6 Public (FuncType (TVar 0) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TVar 0))) (FuncType (TVar 0) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TVar 0))) (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0))))))) (Rule [2,3,4,5,6,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_31") [Var 2,Var 3,Var 4,Var 5,Var 6,Var 1]])),Func ("OracleFlatCurryGoodies","isCombTypeFuncCall") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","CombType") []) (TCons ("Prelude","Bool") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trCombType") [Comb ConsCall ("Prelude","True") [],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","isCombTypeFuncCall._#lambda49") []],Comb ConsCall ("Prelude","False") [],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","isCombTypeFuncCall._#lambda50") []]]]])),Func ("OracleFlatCurryGoodies","isCombTypeFuncCall._#lambda49") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])),Func ("OracleFlatCurryGoodies","isCombTypeFuncCall._#lambda50") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])),Func ("OracleFlatCurryGoodies","isCombTypeFuncPartCall") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","CombType") []) (TCons ("Prelude","Bool") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trCombType") [Comb ConsCall ("Prelude","False") [],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","isCombTypeFuncPartCall._#lambda51") []],Comb ConsCall ("Prelude","False") [],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","isCombTypeFuncPartCall._#lambda52") []]]]])),Func ("OracleFlatCurryGoodies","isCombTypeFuncPartCall._#lambda51") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","True") []])),Func ("OracleFlatCurryGoodies","isCombTypeFuncPartCall._#lambda52") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])),Func ("OracleFlatCurryGoodies","isCombTypeConsCall") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","CombType") []) (TCons ("Prelude","Bool") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trCombType") [Comb ConsCall ("Prelude","False") [],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","isCombTypeConsCall._#lambda53") []],Comb ConsCall ("Prelude","True") [],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","isCombTypeConsCall._#lambda54") []]]]])),Func ("OracleFlatCurryGoodies","isCombTypeConsCall._#lambda53") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])),Func ("OracleFlatCurryGoodies","isCombTypeConsCall._#lambda54") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])),Func ("OracleFlatCurryGoodies","isCombTypeConsPartCall") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","CombType") []) (TCons ("Prelude","Bool") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trCombType") [Comb ConsCall ("Prelude","False") [],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","isCombTypeConsPartCall._#lambda55") []],Comb ConsCall ("Prelude","False") [],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","isCombTypeConsPartCall._#lambda56") []]]]])),Func ("OracleFlatCurryGoodies","isCombTypeConsPartCall._#lambda55") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])),Func ("OracleFlatCurryGoodies","isCombTypeConsPartCall._#lambda56") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","True") []])),Func ("OracleFlatCurryGoodies","missingArgs") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","CombType") []) (TCons ("Prelude","Int") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trCombType") [Lit (Intc 0),Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Lit (Intc 0),Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []]]]])),Func ("OracleFlatCurryGoodies","varNr") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_30") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","literal") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","Literal") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_29") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","combType") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","CombType") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_28") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","combName") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_27") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","combArgs") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_26") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","missingCombArgs") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("Prelude","Int") [])))) (Rule [1] (Let [(2,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OraclePrelude",".") [Comb FuncCall ("OracleFlatCurryGoodies","missingArgs") [Var 1],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","combType") []],Var 2]]))),Func ("OracleFlatCurryGoodies","letBinds") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("FlatCurry","Expr") []]]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_25") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","letBody") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","Expr") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_24") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","freeVars") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_23") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","freeExpr") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","Expr") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_22") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","orExps") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_21") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","caseType") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","CaseType") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_20") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","caseExpr") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","Expr") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_19") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","caseBranches") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_18") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","isVar") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_17") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","isLit") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_16") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","isComb") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_15") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","isLet") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_14") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","isFree") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_13") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","isOr") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_12") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","isCase") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_11") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","trExpr") 10 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TVar 0))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Literal") []) (TVar 0))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TVar 0))))))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TVar 0]]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 0))))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 0))))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 0))))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","CaseType") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 1]) (TVar 0))))))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TVar 1))))) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0))))))))))) (Rule [2,3,4,5,6,7,8,9,10,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_10") [Var 2,Var 3,Var 4,Var 5,Var 6,Var 7,Var 8,Var 9,Var 10,Var 1]])),Func ("OracleFlatCurryGoodies","trExpr._#lambda64") 3 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TVar 231))) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("FlatCurry","Expr") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TVar 231])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_9") [Var 2,Var 3,Var 1]])),Func ("OracleFlatCurryGoodies","trExpr._#lambda65") 4 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 231) (TVar 232))))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TVar 231))) (FuncType (TCons ("FlatCurry","BranchExpr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 232))))) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_8") [Var 2,Var 3,Var 4,Var 1]])),Func ("OracleFlatCurryGoodies","updVars") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("FlatCurry","Expr") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trExpr") [Var 2,Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","Lit") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []]]],Comb (ConsPartCall 3) ("FlatCurry","Comb") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Let") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Free") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Or") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []]]],Comb (ConsPartCall 3) ("FlatCurry","Case") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Branch") []]]]])),Func ("OracleFlatCurryGoodies","updLiterals") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Literal") []) (TCons ("FlatCurry","Expr") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trExpr") [Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","Var") []],Var 2,Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []]]],Comb (ConsPartCall 3) ("FlatCurry","Comb") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Let") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Free") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Or") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []]]],Comb (ConsPartCall 3) ("FlatCurry","Case") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Branch") []]]]])),Func ("OracleFlatCurryGoodies","updCombs") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (TCons ("FlatCurry","Expr") []))))))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trExpr") [Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","Var") []],Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","Lit") []],Var 2,Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Let") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Free") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Or") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []]]],Comb (ConsPartCall 3) ("FlatCurry","Case") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Branch") []]]]])),Func ("OracleFlatCurryGoodies","updLets") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("FlatCurry","Expr") []]]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trExpr") [Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","Var") []],Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","Lit") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []]]],Comb (ConsPartCall 3) ("FlatCurry","Comb") []],Var 2,Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Free") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Or") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []]]],Comb (ConsPartCall 3) ("FlatCurry","Case") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Branch") []]]]])),Func ("OracleFlatCurryGoodies","updFrees") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trExpr") [Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","Var") []],Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","Lit") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []]]],Comb (ConsPartCall 3) ("FlatCurry","Comb") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Let") []],Var 2,Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Or") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []]]],Comb (ConsPartCall 3) ("FlatCurry","Case") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Branch") []]]]])),Func ("OracleFlatCurryGoodies","updOrs") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trExpr") [Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","Var") []],Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","Lit") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []]]],Comb (ConsPartCall 3) ("FlatCurry","Comb") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Let") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Free") []],Var 2,Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []]]],Comb (ConsPartCall 3) ("FlatCurry","Case") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Branch") []]]]])),Func ("OracleFlatCurryGoodies","updCases") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","CaseType") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","BranchExpr") []]) (TCons ("FlatCurry","Expr") []))))))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trExpr") [Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","Var") []],Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","Lit") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []]]],Comb (ConsPartCall 3) ("FlatCurry","Comb") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Let") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Free") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Or") []],Var 2,Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Branch") []]]]])),Func ("OracleFlatCurryGoodies","updBranches") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","BranchExpr") []))))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trExpr") [Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","Var") []],Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","Lit") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []]]],Comb (ConsPartCall 3) ("FlatCurry","Comb") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Let") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Free") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Or") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []]]],Comb (ConsPartCall 3) ("FlatCurry","Case") []],Var 2]]])),Func ("OracleFlatCurryGoodies","isFuncCall") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude","[]") []]]]],Comb FuncCall ("OraclePrelude","&&") [Comb FuncCall ("OracleFlatCurryGoodies","isComb") [Var 2,Var 1],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("OracleFlatCurryGoodies","isCombTypeFuncCall") [Var 3],Comb FuncCall ("OracleFlatCurryGoodies","combType") [Var 2,Var 4],Var 5],Var 6]]))),Func ("OracleFlatCurryGoodies","isFuncPartCall") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude","[]") []]]]],Comb FuncCall ("OraclePrelude","&&") [Comb FuncCall ("OracleFlatCurryGoodies","isComb") [Var 2,Var 1],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("OracleFlatCurryGoodies","isCombTypeFuncPartCall") [Var 3],Comb FuncCall ("OracleFlatCurryGoodies","combType") [Var 2,Var 4],Var 5],Var 6]]))),Func ("OracleFlatCurryGoodies","isConsCall") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude","[]") []]]]],Comb FuncCall ("OraclePrelude","&&") [Comb FuncCall ("OracleFlatCurryGoodies","isComb") [Var 2,Var 1],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("OracleFlatCurryGoodies","isCombTypeConsCall") [Var 3],Comb FuncCall ("OracleFlatCurryGoodies","combType") [Var 2,Var 4],Var 5],Var 6]]))),Func ("OracleFlatCurryGoodies","isConsPartCall") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude","[]") []]]]],Comb FuncCall ("OraclePrelude","&&") [Comb FuncCall ("OracleFlatCurryGoodies","isComb") [Var 2,Var 1],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("OracleFlatCurryGoodies","isCombTypeConsPartCall") [Var 3],Comb FuncCall ("OracleFlatCurryGoodies","combType") [Var 2,Var 4],Var 5],Var 6]]))),Func ("OracleFlatCurryGoodies","isGround") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_7") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","allVars") 2 Public (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("OracleFlatCurryGoodies","trExpr") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("Prelude",":") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","const") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []]]],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","allVars.comb.650") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","allVars.lt.650") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","allVars.fr.650") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OraclePrelude",".") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]],Comb (FuncPartCall 4) ("OracleFlatCurryGoodies","allVars.cas.650") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","allVars.branch.650") []],Var 2,Var 1],Comb ConsCall ("Prelude","[]") [],Var 3]]))),Func ("OracleFlatCurryGoodies","allVars.comb.650") 3 Private (FuncType (TVar 0) (FuncType (TVar 1) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 2) (TVar 2))]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 2) (TVar 2)))))))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","foldr") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OraclePrelude",".") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []]]]])),Func ("OracleFlatCurryGoodies","allVars.lt.650") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","(,)") [TVar 0,FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))]]) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TVar 1))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TVar 1)))))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("OraclePrelude",".") [Var 3,Comb FuncCall ("OraclePrelude","foldr") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OraclePrelude",".") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb FuncCall ("OraclePrelude","map") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","allVars.lt.650._#lambda67") []],Var 2,Var 1],Var 4],Var 5]]))),Func ("OracleFlatCurryGoodies","allVars.lt.650._#lambda67") 2 Private (FuncType (TCons ("Prelude","(,)") [TVar 283,FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 283]) (TCons ("Prelude","[]") [TVar 283]))]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 283]) (TCons ("Prelude","[]") [TVar 283]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_5") [Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","allVars.fr.650") 3 Private (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 1) (TCons ("Prelude","[]") [TVar 0]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 1) (TCons ("Prelude","[]") [TVar 0])))))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude",".") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","++") [Var 2]],Var 3,Var 1]])),Func ("OracleFlatCurryGoodies","allVars.cas.650") 4 Private (FuncType (TVar 0) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 1) (TVar 2))) (FuncType (TCons ("Prelude","[]") [FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 1) (TVar 1))]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 1) (TVar 2))))))) (Rule [2,3,4,1] (Let [(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OraclePrelude",".") [Var 3,Comb FuncCall ("OraclePrelude","foldr") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OraclePrelude",".") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 4,Var 1],Var 5]]))),Func ("OracleFlatCurryGoodies","allVars.args.650") 2 Private (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("OracleFlatCurryGoodies","_case_4") [Var 2,Comb FuncCall ("Oracle","apply") [Comb FuncCall ("OracleFlatCurryGoodies","isConsPattern") [Var 1],Var 2,Var 3],Var 4]]))),Func ("OracleFlatCurryGoodies","allVars.branch.650") 3 Private (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])))))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OraclePrelude",".") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","++") [Comb FuncCall ("OracleFlatCurryGoodies","allVars.args.650") [Var 2,Var 1]]],Var 3,Var 4]]))),Func ("OracleFlatCurryGoodies","rnmAllVars") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))))) (Rule [2,1] (Let [(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []],Let [(3,Comb FuncCall ("OraclePrelude",".") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Let") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","map") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","rnmAllVars._#lambda68") [Var 2]]]],Var 1])] (Let [(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 5,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude","[]") []]],Let [(4,Comb FuncCall ("OraclePrelude",".") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Branch") []],Comb FuncCall ("OracleFlatCurryGoodies","updPatArgs") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","map") [Var 2]],Var 5],Var 6])] (Let [(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 7,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude","[]") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trExpr") [Comb FuncCall ("OraclePrelude",".") [Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","Var") []],Var 2,Var 7],Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","Lit") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []]]],Comb (ConsPartCall 3) ("FlatCurry","Comb") []],Var 3,Comb FuncCall ("OraclePrelude",".") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Free") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","map") [Var 2]],Var 8],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Or") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []]]],Comb (ConsPartCall 3) ("FlatCurry","Case") []],Var 4]]]))]))]))),Func ("OracleFlatCurryGoodies","rnmAllVars._#lambda68") 3 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","Int") []) (TCons ("Prelude","Int") []))) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("FlatCurry","Expr") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","(,)") [TCons ("Prelude","Int") [],TCons ("FlatCurry","Expr") []])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_2") [Var 2,Var 3,Var 1]])),Func ("OracleFlatCurryGoodies","updQNames") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trExpr") [Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","Var") []],Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","Lit") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []]]],Comb (FuncPartCall 4) ("OracleFlatCurryGoodies","updQNames.comb.673") [Var 2]],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Let") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Free") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Or") []],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 1) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") []],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []]]],Comb (ConsPartCall 3) ("FlatCurry","Case") []],Comb FuncCall ("OraclePrelude",".") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partCons") []],Comb (ConsPartCall 2) ("FlatCurry","Branch") []],Comb FuncCall ("OracleFlatCurryGoodies","updPatCons") [Var 2,Var 1],Var 3]]]]))),Func ("OracleFlatCurryGoodies","updQNames.comb.673") 5 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (TCons ("FlatCurry","CombType") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("FlatCurry","Expr") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","Expr") [])))))) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb ConsCall ("FlatCurry","Comb") [Var 3,Comb FuncCall ("Oracle","apply") [Var 2,Var 4,Var 1],Var 5]])),Func ("OracleFlatCurryGoodies","trBranch") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TVar 0))))) (FuncType (TCons ("FlatCurry","BranchExpr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0)))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_1") [Var 2,Var 3,Var 1]])),Func ("OracleFlatCurryGoodies","branchPattern") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","BranchExpr") []) (TCons ("FlatCurry","Pattern") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trBranch") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","branchPattern._#lambda69") []]]]])),Func ("OracleFlatCurryGoodies","branchPattern._#lambda69") 3 Private (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","Pattern") [])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 2])),Func ("OracleFlatCurryGoodies","branchExpr") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","BranchExpr") []) (TCons ("FlatCurry","Expr") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trBranch") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","branchExpr._#lambda70") []]]]])),Func ("OracleFlatCurryGoodies","branchExpr._#lambda70") 3 Private (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","Expr") [])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])),Func ("OracleFlatCurryGoodies","updBranch") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("FlatCurry","Pattern") []))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","BranchExpr") []) (TCons ("FlatCurry","BranchExpr") [])))))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trBranch") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","updBranch.branch.687") [Var 3,Var 2]]]]])),Func ("OracleFlatCurryGoodies","updBranch.branch.687") 5 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("FlatCurry","Pattern") []))) (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (TCons ("FlatCurry","Expr") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","BranchExpr") [])))))) (Rule [2,3,4,5,1] (Let [(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude","[]") []],Comb ConsCall ("FlatCurry","Branch") [Comb FuncCall ("Oracle","apply") [Var 3,Var 4,Var 1],Comb FuncCall ("Oracle","apply") [Var 2,Var 5,Var 6]]]))),Func ("OracleFlatCurryGoodies","updBranchPattern") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("FlatCurry","Pattern") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","BranchExpr") []) (TCons ("FlatCurry","BranchExpr") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updBranch") [Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updBranchExpr") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Expr") []) (TCons ("FlatCurry","Expr") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","BranchExpr") []) (TCons ("FlatCurry","BranchExpr") [])))))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","updBranch") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []]]]])),Func ("OracleFlatCurryGoodies","trPattern") 4 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TVar 0))))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Literal") []) (TVar 0))) (FuncType (TCons ("FlatCurry","Pattern") []) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0))))) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_0") [Var 2,Var 3,Var 4,Var 1]])),Func ("OracleFlatCurryGoodies","patCons") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])))) (Rule [1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trPattern") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","patCons._#lambda71") []],Comb FuncCall ("OraclePrelude","failed") [Var 1]]]])),Func ("OracleFlatCurryGoodies","patCons._#lambda71") 3 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 2])),Func ("OracleFlatCurryGoodies","patArgs") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])))) (Rule [1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trPattern") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","patArgs._#lambda72") []],Comb FuncCall ("OraclePrelude","failed") [Var 1]]]])),Func ("OracleFlatCurryGoodies","patArgs._#lambda72") 3 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])),Func ("OracleFlatCurryGoodies","patLiteral") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("FlatCurry","Literal") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trPattern") [Comb FuncCall ("OraclePrelude","failed") [Var 1],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []]]]])),Func ("OracleFlatCurryGoodies","isConsPattern") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("Prelude","Bool") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trPattern") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","isConsPattern._#lambda73") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","isConsPattern._#lambda74") []]]]])),Func ("OracleFlatCurryGoodies","isConsPattern._#lambda73") 3 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","True") []])),Func ("OracleFlatCurryGoodies","isConsPattern._#lambda74") 2 Private (FuncType (TCons ("FlatCurry","Literal") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])),Func ("OracleFlatCurryGoodies","updPattern") 4 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Literal") []) (TCons ("FlatCurry","Literal") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("FlatCurry","Pattern") []))))))) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trPattern") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFlatCurryGoodies","updPattern.pattern.718") [Var 3,Var 2]],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","updPattern.lpattern.718") [Var 4]]]]])),Func ("OracleFlatCurryGoodies","updPattern.pattern.718") 5 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","Pattern") [])))))) (Rule [2,3,4,5,1] (Let [(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude","[]") []],Comb ConsCall ("FlatCurry","Pattern") [Comb FuncCall ("Oracle","apply") [Var 3,Var 4,Var 1],Comb FuncCall ("Oracle","apply") [Var 2,Var 5,Var 6]]]))),Func ("OracleFlatCurryGoodies","updPattern.lpattern.718") 3 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Literal") []) (TCons ("FlatCurry","Literal") []))) (FuncType (TCons ("FlatCurry","Literal") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("FlatCurry","Pattern") [])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb ConsCall ("FlatCurry","LPattern") [Comb FuncCall ("Oracle","apply") [Var 2,Var 3,Var 1]]])),Func ("OracleFlatCurryGoodies","updPatCons") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("FlatCurry","Pattern") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updPattern") [Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updPatArgs") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("FlatCurry","Pattern") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updPattern") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 1]])),Func ("OracleFlatCurryGoodies","updPatLiteral") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Literal") []) (TCons ("FlatCurry","Literal") []))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("FlatCurry","Pattern") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","updPattern") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","id") []],Var 2,Var 1]])),Func ("OracleFlatCurryGoodies","patExpr") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("FlatCurry","Pattern") []) (TCons ("FlatCurry","Expr") [])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trPattern") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","patExpr._#lambda75") []],Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","Lit") []]]]])),Func ("OracleFlatCurryGoodies","patExpr._#lambda75") 2 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []],TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]) (TCons ("FlatCurry","Expr") []))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude",".") [Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","Comb") [Comb ConsCall ("FlatCurry","ConsCall") [],Var 2]],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","map") [Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("FlatCurry","Var") []]]],Var 1]])),Func ("OracleFlatCurryGoodies","_case_0") 4 Private (TVar (-42)) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 4) [Branch (Pattern ("FlatCurry","Pattern") [5,6]) (Let [(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Var 2,Var 5,Var 1],Var 6,Var 8]])),Branch (Pattern ("FlatCurry","LPattern") [7]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","apply") [Var 3,Var 7,Var 1]])]])),Func ("OracleFlatCurryGoodies","_case_1") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 3) [Branch (Pattern ("FlatCurry","Branch") [4,5]) (Let [(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Var 2,Var 4,Var 1],Var 5,Var 6]]))]])),Func ("OracleFlatCurryGoodies","_case_2") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 3) [Branch (Pattern ("Prelude","(,)") [4,5]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb ConsCall ("Prelude","(,)") [Comb FuncCall ("Oracle","apply") [Var 2,Var 4,Var 1],Var 5]])]])),Func ("OracleFlatCurryGoodies","_case_4") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 3) [Branch (Pattern ("Prelude","True") []) (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("OracleFlatCurryGoodies","patArgs") [Var 1],Var 2,Var 4]])),Branch (Pattern ("Prelude","False") []) (Let [(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleFlatCurryGoodies","_case_3") [Comb FuncCall ("OraclePrelude","otherwise") [Var 1],Var 5]]))]])),Func ("OracleFlatCurryGoodies","_case_3") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 2) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","failed") [Var 1]])]])),Func ("OracleFlatCurryGoodies","_case_5") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Prelude","(,)") [3,4]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude",".") [Comb (FuncPartCall 2) ("Oracle","partCons") [Comb (ConsPartCall 1) ("Prelude",":") [Var 3]],Var 4,Var 1]])]])),Func ("OracleFlatCurryGoodies","_case_7") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 2) [Branch (Pattern ("FlatCurry","Comb") [3,4,5]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","_case_6") [Var 2,Var 5,Var 3,Var 1]]),Branch (Pattern ("FlatCurry","Var") [8]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","isLit") [Var 2,Var 1]]),Branch (Pattern ("FlatCurry","Lit") [9]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","isLit") [Var 2,Var 1]]),Branch (Pattern ("FlatCurry","Let") [10,11]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","isLit") [Var 2,Var 1]]),Branch (Pattern ("FlatCurry","Free") [12,13]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","isLit") [Var 2,Var 1]]),Branch (Pattern ("FlatCurry","Or") [14,15]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","isLit") [Var 2,Var 1]]),Branch (Pattern ("FlatCurry","Case") [16,17,18]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","isLit") [Var 2,Var 1]])]])),Func ("OracleFlatCurryGoodies","_case_6") 4 Private (TVar (-42)) (Rule [2,5,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 3) [Branch (Pattern ("FlatCurry","ConsCall") []) (Let [(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("OraclePrelude","all") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","isGround") []],Var 1],Var 5,Var 8]])),Branch (Pattern ("FlatCurry","FuncCall") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","isLit") [Var 2,Var 1]]),Branch (Pattern ("FlatCurry","FuncPartCall") [6]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","isLit") [Var 2,Var 1]]),Branch (Pattern ("FlatCurry","ConsPartCall") [7]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","isLit") [Var 2,Var 1]])]])),Func ("OracleFlatCurryGoodies","_case_8") 4 Private (TVar (-42)) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 4) [Branch (Pattern ("FlatCurry","Branch") [5,6]) (Let [(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Var 2,Var 5,Var 1],Comb FuncCall ("Oracle","apply") [Var 3,Var 6,Var 7],Var 8]]))]])),Func ("OracleFlatCurryGoodies","_case_9") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 3) [Branch (Pattern ("Prelude","(,)") [4,5]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb ConsCall ("Prelude","(,)") [Var 4,Comb FuncCall ("Oracle","apply") [Var 2,Var 5,Var 1]]])]])),Func ("OracleFlatCurryGoodies","_case_10") 10 Private (TVar (-42)) (Rule [2,3,4,5,6,7,8,9,10,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 10) [Branch (Pattern ("FlatCurry","Var") [11]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","apply") [Var 2,Var 11,Var 1]]),Branch (Pattern ("FlatCurry","Lit") [12]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","apply") [Var 3,Var 12,Var 1]]),Branch (Pattern ("FlatCurry","Comb") [13,14,15]) (Let [(28,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(29,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(30,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 28,Comb ConsCall ("Prelude",":") [Var 29,Comb ConsCall ("Prelude",":") [Var 30,Comb ConsCall ("Prelude","[]") []]]],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Var 4,Var 13,Var 1],Var 14,Var 28],Comb FuncCall ("OraclePrelude","map") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trExpr") [Var 2,Var 3,Var 4,Var 5,Var 6,Var 7,Var 8,Var 9]],Var 15,Var 29],Var 30]])),Branch (Pattern ("FlatCurry","Let") [16,17]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Let [(18,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trExpr") [Var 2,Var 3,Var 4,Var 5,Var 6,Var 7,Var 8,Var 9]])] (Let [(31,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(32,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(33,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 31,Comb ConsCall ("Prelude",":") [Var 32,Comb ConsCall ("Prelude",":") [Var 33,Comb ConsCall ("Prelude","[]") []]]],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Var 5,Comb FuncCall ("OraclePrelude","map") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trExpr._#lambda64") [Var 18]],Var 16,Var 1],Var 31],Comb FuncCall ("Oracle","apply") [Var 18,Var 17,Var 32],Var 33]]))]),Branch (Pattern ("FlatCurry","Free") [19,20]) (Let [(34,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(35,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 34,Comb ConsCall ("Prelude",":") [Var 35,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Var 6,Var 19,Var 1],Comb FuncCall ("OracleFlatCurryGoodies","trExpr") [Var 2,Var 3,Var 4,Var 5,Var 6,Var 7,Var 8,Var 9,Var 20,Var 34],Var 35]])),Branch (Pattern ("FlatCurry","Or") [21,22]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Let [(23,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trExpr") [Var 2,Var 3,Var 4,Var 5,Var 6,Var 7,Var 8,Var 9]])] (Let [(36,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(37,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(38,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 36,Comb ConsCall ("Prelude",":") [Var 37,Comb ConsCall ("Prelude",":") [Var 38,Comb ConsCall ("Prelude","[]") []]]],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Var 7,Comb FuncCall ("Oracle","apply") [Var 23,Var 21,Var 1],Var 36],Comb FuncCall ("Oracle","apply") [Var 23,Var 22,Var 37],Var 38]]))]),Branch (Pattern ("FlatCurry","Case") [24,25,26]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Let [(27,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trExpr") [Var 2,Var 3,Var 4,Var 5,Var 6,Var 7,Var 8,Var 9]])] (Let [(39,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(40,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(41,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(42,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 39,Comb ConsCall ("Prelude",":") [Var 40,Comb ConsCall ("Prelude",":") [Var 41,Comb ConsCall ("Prelude",":") [Var 42,Comb ConsCall ("Prelude","[]") []]]]],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Var 8,Var 24,Var 1],Comb FuncCall ("Oracle","apply") [Var 27,Var 25,Var 39],Var 40],Comb FuncCall ("OraclePrelude","map") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trExpr._#lambda65") [Var 9,Var 27]],Var 26,Var 41],Var 42]]))])]])),Func ("OracleFlatCurryGoodies","_case_11") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 2) [Branch (Pattern ("FlatCurry","Case") [3,4,5]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","True") []]),Branch (Pattern ("FlatCurry","Var") [6]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Lit") [7]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Comb") [8,9,10]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Let") [11,12]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Free") [13,14]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Or") [15,16]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])]])),Func ("OracleFlatCurryGoodies","_case_12") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 2) [Branch (Pattern ("FlatCurry","Or") [3,4]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","True") []]),Branch (Pattern ("FlatCurry","Var") [5]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Lit") [6]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Comb") [7,8,9]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Let") [10,11]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Free") [12,13]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Case") [14,15,16]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])]])),Func ("OracleFlatCurryGoodies","_case_13") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 2) [Branch (Pattern ("FlatCurry","Free") [3,4]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","True") []]),Branch (Pattern ("FlatCurry","Var") [5]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Lit") [6]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Comb") [7,8,9]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Let") [10,11]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Or") [12,13]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Case") [14,15,16]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])]])),Func ("OracleFlatCurryGoodies","_case_14") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 2) [Branch (Pattern ("FlatCurry","Let") [3,4]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","True") []]),Branch (Pattern ("FlatCurry","Var") [5]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Lit") [6]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Comb") [7,8,9]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Free") [10,11]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Or") [12,13]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Case") [14,15,16]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])]])),Func ("OracleFlatCurryGoodies","_case_15") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 2) [Branch (Pattern ("FlatCurry","Comb") [3,4,5]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","True") []]),Branch (Pattern ("FlatCurry","Var") [6]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Lit") [7]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Let") [8,9]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Free") [10,11]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Or") [12,13]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Case") [14,15,16]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])]])),Func ("OracleFlatCurryGoodies","_case_16") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 2) [Branch (Pattern ("FlatCurry","Lit") [3]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","True") []]),Branch (Pattern ("FlatCurry","Var") [4]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Comb") [5,6,7]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Let") [8,9]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Free") [10,11]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Or") [12,13]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Case") [14,15,16]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])]])),Func ("OracleFlatCurryGoodies","_case_17") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 2) [Branch (Pattern ("FlatCurry","Var") [3]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","True") []]),Branch (Pattern ("FlatCurry","Lit") [4]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Comb") [5,6,7]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Let") [8,9]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Free") [10,11]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Or") [12,13]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("FlatCurry","Case") [14,15,16]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])]])),Func ("OracleFlatCurryGoodies","_case_18") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("FlatCurry","Case") [3,4,5]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 5])]])),Func ("OracleFlatCurryGoodies","_case_19") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("FlatCurry","Case") [3,4,5]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 4])]])),Func ("OracleFlatCurryGoodies","_case_20") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("FlatCurry","Case") [3,4,5]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])]])),Func ("OracleFlatCurryGoodies","_case_21") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("FlatCurry","Or") [3,4]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []]]])]])),Func ("OracleFlatCurryGoodies","_case_22") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("FlatCurry","Free") [3,4]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 4])]])),Func ("OracleFlatCurryGoodies","_case_23") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("FlatCurry","Free") [3,4]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])]])),Func ("OracleFlatCurryGoodies","_case_24") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("FlatCurry","Let") [3,4]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 4])]])),Func ("OracleFlatCurryGoodies","_case_25") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("FlatCurry","Let") [3,4]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])]])),Func ("OracleFlatCurryGoodies","_case_26") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("FlatCurry","Comb") [3,4,5]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 5])]])),Func ("OracleFlatCurryGoodies","_case_27") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("FlatCurry","Comb") [3,4,5]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 4])]])),Func ("OracleFlatCurryGoodies","_case_28") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("FlatCurry","Comb") [3,4,5]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])]])),Func ("OracleFlatCurryGoodies","_case_29") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("FlatCurry","Lit") [3]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])]])),Func ("OracleFlatCurryGoodies","_case_30") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("FlatCurry","Var") [3]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])]])),Func ("OracleFlatCurryGoodies","_case_31") 6 Private (TVar (-42)) (Rule [2,3,4,5,6,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 6) [Branch (Pattern ("FlatCurry","FuncCall") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 2]),Branch (Pattern ("FlatCurry","FuncPartCall") [7]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","apply") [Var 3,Var 7,Var 1]]),Branch (Pattern ("FlatCurry","ConsCall") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 4]),Branch (Pattern ("FlatCurry","ConsPartCall") [8]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","apply") [Var 5,Var 8,Var 1]])]])),Func ("OracleFlatCurryGoodies","_case_32") 4 Private (TVar (-42)) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 4) [Branch (Pattern ("FlatCurry","Rule") [5,6]) (Let [(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Var 2,Var 5,Var 1],Var 6,Var 8]])),Branch (Pattern ("FlatCurry","External") [7]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","apply") [Var 3,Var 7,Var 1]])]])),Func ("OracleFlatCurryGoodies","_case_35") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 3) [Branch (Pattern ("Prelude","True") []) (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("OraclePrelude","concatMap") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","funcRHS.orCase.374") []],Var 1],Comb FuncCall ("OracleFlatCurryGoodies","orExps") [Var 2,Var 4],Var 5]])),Branch (Pattern ("Prelude","False") []) (Let [(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleFlatCurryGoodies","_case_34") [Var 2,Comb FuncCall ("OracleFlatCurryGoodies","isCase") [Var 2,Var 1],Var 6]]))]])),Func ("OracleFlatCurryGoodies","_case_34") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 3) [Branch (Pattern ("Prelude","True") []) (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude","[]") []]]]],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("OraclePrelude","concatMap") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","funcRHS.orCase.374") []],Var 1],Comb FuncCall ("OraclePrelude","map") [Comb FuncCall ("OracleFlatCurryGoodies","branchExpr") [Var 4],Comb FuncCall ("OracleFlatCurryGoodies","caseBranches") [Var 2,Var 5],Var 6],Var 7]])),Branch (Pattern ("Prelude","False") []) (Let [(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleFlatCurryGoodies","_case_33") [Var 2,Comb FuncCall ("OraclePrelude","otherwise") [Var 1],Var 8]]))]])),Func ("OracleFlatCurryGoodies","_case_33") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 3) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","failed") [Var 1]])]])),Func ("OracleFlatCurryGoodies","_case_37") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 3) [Branch (Pattern ("Prelude","True") []) (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("OracleFlatCurryGoodies","funcRHS.orCase.374") [Comb FuncCall ("Oracle","apply") [Comb FuncCall ("OracleFlatCurryGoodies","funcBody") [Var 1],Var 2,Var 4],Var 5]])),Branch (Pattern ("Prelude","False") []) (Let [(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleFlatCurryGoodies","_case_36") [Comb FuncCall ("OraclePrelude","otherwise") [Var 1],Var 6]]))]])),Func ("OracleFlatCurryGoodies","_case_36") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 2) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","failed") [Var 1]])]])),Func ("OracleFlatCurryGoodies","_case_38") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 3) [Branch (Pattern ("FlatCurry","Func") [4,5,6,7,8]) (Let [(9,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(10,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(11,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(12,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 9,Comb ConsCall ("Prelude",":") [Var 10,Comb ConsCall ("Prelude",":") [Var 11,Comb ConsCall ("Prelude",":") [Var 12,Comb ConsCall ("Prelude","[]") []]]]],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Var 2,Var 4,Var 1],Var 5,Var 9],Var 6,Var 10],Var 7,Var 11],Var 8,Var 12]]))]])),Func ("OracleFlatCurryGoodies","_case_39") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 3) [Branch (Pattern ("FlatCurry","Op") [4,5,6]) (Let [(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Var 2,Var 4,Var 1],Var 5,Var 7],Var 6,Var 8]]))]])),Func ("OracleFlatCurryGoodies","_case_40") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("FlatCurry","TVar") [3]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("FlatCurry","TVar") [Var 3]]),Branch (Pattern ("FlatCurry","TCons") [4,5]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("FlatCurry","TCons") [Var 4,Var 5]]),Branch (Pattern ("FlatCurry","FuncType") [6,7]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleFlatCurryGoodies","resultType") [Var 7,Var 1]])]])),Func ("OracleFlatCurryGoodies","_case_41") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("FlatCurry","TVar") [3]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("FlatCurry","TCons") [4,5]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("FlatCurry","FuncType") [6,7]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb ConsCall ("Prelude",":") [Var 6,Comb FuncCall ("OracleFlatCurryGoodies","argTypes") [Var 7,Var 1]]])]])),Func ("OracleFlatCurryGoodies","_case_42") 5 Private (TVar (-42)) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 5) [Branch (Pattern ("FlatCurry","TVar") [6]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","apply") [Var 2,Var 6,Var 1]]),Branch (Pattern ("FlatCurry","TCons") [7,8]) (Let [(12,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(13,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 12,Comb ConsCall ("Prelude",":") [Var 13,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Var 3,Var 7,Var 1],Comb FuncCall ("OraclePrelude","map") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trTypeExpr") [Var 2,Var 3,Var 4]],Var 8,Var 12],Var 13]])),Branch (Pattern ("FlatCurry","FuncType") [9,10]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Let [(11,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFlatCurryGoodies","trTypeExpr") [Var 2,Var 3,Var 4]])] (Let [(14,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(15,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(16,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 14,Comb ConsCall ("Prelude",":") [Var 15,Comb ConsCall ("Prelude",":") [Var 16,Comb ConsCall ("Prelude","[]") []]]],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Var 4,Comb FuncCall ("Oracle","apply") [Var 11,Var 9,Var 1],Var 14],Comb FuncCall ("Oracle","apply") [Var 11,Var 10,Var 15],Var 16]]))])]])),Func ("OracleFlatCurryGoodies","_case_43") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("FlatCurry","TCons") [3,4]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 4])]])),Func ("OracleFlatCurryGoodies","_case_44") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("FlatCurry","TCons") [3,4]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])]])),Func ("OracleFlatCurryGoodies","_case_45") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("FlatCurry","FuncType") [3,4]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 4])]])),Func ("OracleFlatCurryGoodies","_case_46") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("FlatCurry","FuncType") [3,4]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])]])),Func ("OracleFlatCurryGoodies","_case_47") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("FlatCurry","TVar") [3]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])]])),Func ("OracleFlatCurryGoodies","_case_48") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 3) [Branch (Pattern ("FlatCurry","Cons") [4,5,6,7]) (Let [(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(9,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(10,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude",":") [Var 9,Comb ConsCall ("Prelude",":") [Var 10,Comb ConsCall ("Prelude","[]") []]]],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Var 2,Var 4,Var 1],Var 5,Var 8],Var 6,Var 9],Var 7,Var 10]]))]])),Func ("OracleFlatCurryGoodies","_case_49") 4 Private (TVar (-42)) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 4) [Branch (Pattern ("FlatCurry","Type") [5,6,7,8]) (Let [(13,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(14,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(15,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 13,Comb ConsCall ("Prelude",":") [Var 14,Comb ConsCall ("Prelude",":") [Var 15,Comb ConsCall ("Prelude","[]") []]]],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Var 2,Var 5,Var 1],Var 6,Var 13],Var 7,Var 14],Var 8,Var 15]])),Branch (Pattern ("FlatCurry","TypeSyn") [9,10,11,12]) (Let [(16,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(17,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(18,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 16,Comb ConsCall ("Prelude",":") [Var 17,Comb ConsCall ("Prelude",":") [Var 18,Comb ConsCall ("Prelude","[]") []]]],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Var 3,Var 9,Var 1],Var 10,Var 16],Var 11,Var 17],Var 12,Var 18]]))]])),Func ("OracleFlatCurryGoodies","_case_52") 4 Private (TVar (-42)) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 4) [Branch (Pattern ("Prelude","(,)") [5,6]) (Let [(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(9,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude",":") [Var 9,Comb ConsCall ("Prelude","[]") []]]],Comb FuncCall ("OracleFlatCurryGoodies","_case_51") [Var 2,Var 3,Var 5,Var 6,Comb FuncCall ("OraclePrelude","==") [Var 5,Comb FuncCall ("Oracle","apply") [Comb FuncCall ("OracleFlatCurryGoodies","progName") [Var 1],Var 3,Var 7],Var 8],Var 9]]))]])),Func ("OracleFlatCurryGoodies","_case_51") 6 Private (TVar (-42)) (Rule [2,3,5,6,7,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 7) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","(,)") [Var 2,Var 6]]),Branch (Pattern ("Prelude","False") []) (Let [(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleFlatCurryGoodies","_case_50") [Var 5,Var 6,Comb FuncCall ("OraclePrelude","otherwise") [Var 1],Var 8]]))]])),Func ("OracleFlatCurryGoodies","_case_50") 4 Private (TVar (-42)) (Rule [5,6,7,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 7) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","(,)") [Var 5,Var 6]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","failed") [Var 1]])]])),Func ("OracleFlatCurryGoodies","_case_53") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 3) [Branch (Pattern ("FlatCurry","Prog") [4,5,6,7,8]) (Let [(9,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(10,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(11,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(12,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 9,Comb ConsCall ("Prelude",":") [Var 10,Comb ConsCall ("Prelude",":") [Var 11,Comb ConsCall ("Prelude",":") [Var 12,Comb ConsCall ("Prelude","[]") []]]]],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Comb FuncCall ("Oracle","apply") [Var 2,Var 4,Var 1],Var 5,Var 9],Var 6,Var 10],Var 7,Var 11],Var 8,Var 12]]))]]))] []