Prog "OracleDequeue" ["CEventOracle","Oracle","IOExts","Dequeue","Prelude","OraclePrelude"] [] [Func ("OracleDequeue","empty") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Dequeue","Queue") [TVar 0])) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Dequeue","S") [Lit (Intc 0),Comb ConsCall ("Prelude","[]") [],Lit (Intc 0),Comb ConsCall ("Prelude","[]") []]])),Func ("OracleDequeue","isEmpty") 2 Public (FuncType (TCons ("Dequeue","Queue") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_25") [Var 2,Var 1]])),Func ("OracleDequeue","deqHead") 2 Public (FuncType (TCons ("Dequeue","Queue") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_24") [Var 2,Var 1]])),Func ("OracleDequeue","deqLast") 2 Public (FuncType (TCons ("Dequeue","Queue") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_22") [Var 2,Var 1]])),Func ("OracleDequeue","cons") 3 Public (FuncType (TVar 0) (FuncType (TCons ("Dequeue","Queue") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Dequeue","Queue") [TVar 0])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_20") [Var 2,Var 3,Var 1]])),Func ("OracleDequeue","deqTail") 2 Public (FuncType (TCons ("Dequeue","Queue") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Dequeue","Queue") [TVar 0]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_19") [Var 2,Var 1]])),Func ("OracleDequeue","snoc") 3 Public (FuncType (TVar 0) (FuncType (TCons ("Dequeue","Queue") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Dequeue","Queue") [TVar 0])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_17") [Var 2,Var 3,Var 1]])),Func ("OracleDequeue","deqInit") 2 Public (FuncType (TCons ("Dequeue","Queue") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Dequeue","Queue") [TVar 0]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_16") [Var 2,Var 1]])),Func ("OracleDequeue","deqReverse") 2 Public (FuncType (TCons ("Dequeue","Queue") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Dequeue","Queue") [TVar 0]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_14") [Var 2,Var 1]])),Func ("OracleDequeue","check") 5 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Dequeue","Queue") [TVar 0])))))) (Rule [2,3,4,5,1] (Let [(13,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 13,Comb ConsCall ("Prelude","[]") []],Let [(6,Comb FuncCall ("OraclePrelude","+") [Var 2,Var 4,Var 1])] (Let [(14,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 13,Comb ConsCall ("Prelude",":") [Var 14,Comb ConsCall ("Prelude","[]") []],Let [(7,Comb FuncCall ("OraclePrelude","div") [Var 6,Lit (Intc 2),Var 13])] (Let [(15,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 14,Comb ConsCall ("Prelude",":") [Var 15,Comb ConsCall ("Prelude","[]") []],Let [(8,Comb FuncCall ("OraclePrelude","-") [Var 6,Var 7,Var 14])] (Let [(16,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 15,Comb ConsCall ("Prelude",":") [Var 16,Comb ConsCall ("Prelude","[]") []],Let [(9,Comb FuncCall ("OraclePrelude","splitAt") [Var 7,Var 3,Var 15])] (Let [(17,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 16,Comb ConsCall ("Prelude",":") [Var 17,Comb ConsCall ("Prelude","[]") []],Let [(10,Comb FuncCall ("OracleDequeue","check._#selFP3#f'") [Var 9,Var 16])] (Let [(18,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 17,Comb ConsCall ("Prelude",":") [Var 18,Comb ConsCall ("Prelude","[]") []],Let [(11,Comb FuncCall ("OracleDequeue","check._#selFP4#rf'") [Var 9,Var 17])] (Let [(19,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(20,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(21,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 18,Comb ConsCall ("Prelude",":") [Var 19,Comb ConsCall ("Prelude",":") [Var 20,Comb ConsCall ("Prelude",":") [Var 21,Comb ConsCall ("Prelude","[]") []]]],Let [(12,Comb FuncCall ("OraclePrelude","++") [Var 5,Comb FuncCall ("Oracle","apply") [Comb FuncCall ("OraclePrelude","reverse") [Var 18],Var 11,Var 19],Var 20])] (Let [(22,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(23,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(24,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 21,Comb ConsCall ("Prelude",":") [Var 22,Comb ConsCall ("Prelude",":") [Var 23,Comb ConsCall ("Prelude",":") [Var 24,Comb ConsCall ("Prelude","[]") []]]],Comb FuncCall ("OracleDequeue","_case_13") [Var 2,Var 3,Var 4,Var 5,Var 7,Var 8,Var 10,Var 12,Comb FuncCall ("OraclePrelude","<=") [Var 2,Comb FuncCall ("OraclePrelude","+") [Comb FuncCall ("OraclePrelude","*") [Lit (Intc 3),Var 4,Var 21],Lit (Intc 1),Var 22],Var 23],Var 24]]))]))]))]))]))]))]))]))),Func ("OracleDequeue","check._#selFP3#f'") 2 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 45],TCons ("Prelude","[]") [TVar 45]]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TVar 45]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_11") [Var 2,Var 1]])),Func ("OracleDequeue","check._#selFP4#rf'") 2 Private (FuncType (TCons ("Prelude","(,)") [TCons ("Prelude","[]") [TVar 45],TCons ("Prelude","[]") [TVar 45]]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TVar 45]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_10") [Var 2,Var 1]])),Func ("OracleDequeue","listToDeq") 2 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Dequeue","Queue") [TVar 0]))) (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 ("OracleDequeue","check") [Comb FuncCall ("OraclePrelude","length") [Var 2,Var 1],Var 2,Lit (Intc 0),Comb ConsCall ("Prelude","[]") [],Var 3]]))),Func ("OracleDequeue","deqToList") 2 Public (FuncType (TCons ("Dequeue","Queue") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TVar 0]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_9") [Var 2,Var 1]])),Func ("OracleDequeue","deqLength") 2 Public (FuncType (TCons ("Dequeue","Queue") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_8") [Var 2,Var 1]])),Func ("OracleDequeue","rotate") 2 Public (FuncType (TCons ("Dequeue","Queue") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Dequeue","Queue") [TVar 0]))) (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 ("OracleDequeue","snoc") [Comb FuncCall ("OracleDequeue","deqHead") [Var 2,Var 1],Comb FuncCall ("OracleDequeue","deqTail") [Var 2,Var 3],Var 4]]))),Func ("OracleDequeue","matchHead") 2 Public (FuncType (TCons ("Dequeue","Queue") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Maybe") [TCons ("Prelude","(,)") [TVar 0,TCons ("Dequeue","Queue") [TVar 0]]]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_7") [Var 2,Var 1]])),Func ("OracleDequeue","matchLast") 2 Public (FuncType (TCons ("Dequeue","Queue") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Maybe") [TCons ("Prelude","(,)") [TVar 0,TCons ("Dequeue","Queue") [TVar 0]]]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_3") [Var 2,Var 1]])),Func ("OracleDequeue","_case_3") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Dequeue","S") [3,4,5,6]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_2") [Var 3,Var 4,Var 5,Var 6,Var 1]])]])),Func ("OracleDequeue","_case_2") 5 Private (TVar (-42)) (Rule [3,4,5,6,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 6) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_1") [Var 4,Var 1]]),Branch (Pattern ("Prelude",":") [9,10]) (Let [(11,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 11,Comb ConsCall ("Prelude","[]") []],Comb ConsCall ("Prelude","Just") [Comb ConsCall ("Prelude","(,)") [Var 9,Comb FuncCall ("OracleDequeue","check") [Var 3,Var 4,Comb FuncCall ("OraclePrelude","-") [Var 5,Lit (Intc 1),Var 1],Var 10,Var 11]]]]))]])),Func ("OracleDequeue","_case_1") 2 Private (TVar (-42)) (Rule [4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 4) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","Nothing") []]),Branch (Pattern ("Prelude",":") [7,8]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_0") [Var 7,Var 8,Var 1]])]])),Func ("OracleDequeue","_case_0") 3 Private (TVar (-42)) (Rule [7,8,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 8) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb ConsCall ("Prelude","Just") [Comb ConsCall ("Prelude","(,)") [Var 7,Comb FuncCall ("OracleDequeue","empty") [Var 1]]]])]])),Func ("OracleDequeue","_case_7") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Dequeue","S") [3,4,5,6]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_6") [Var 3,Var 5,Var 6,Var 4,Var 1]])]])),Func ("OracleDequeue","_case_6") 5 Private (TVar (-42)) (Rule [3,5,6,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 4) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_5") [Var 6,Var 1]]),Branch (Pattern ("Prelude",":") [9,10]) (Let [(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 11,Comb ConsCall ("Prelude",":") [Var 12,Comb ConsCall ("Prelude","[]") []]],Comb ConsCall ("Prelude","Just") [Comb ConsCall ("Prelude","(,)") [Var 9,Comb FuncCall ("OracleDequeue","deqReverse") [Comb FuncCall ("OracleDequeue","check") [Var 5,Var 6,Comb FuncCall ("OraclePrelude","-") [Var 3,Lit (Intc 1),Var 1],Var 10,Var 11],Var 12]]]]))]])),Func ("OracleDequeue","_case_5") 2 Private (TVar (-42)) (Rule [6,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 6) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","Nothing") []]),Branch (Pattern ("Prelude",":") [7,8]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_4") [Var 7,Var 8,Var 1]])]])),Func ("OracleDequeue","_case_4") 3 Private (TVar (-42)) (Rule [7,8,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 8) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb ConsCall ("Prelude","Just") [Comb ConsCall ("Prelude","(,)") [Var 7,Comb FuncCall ("OracleDequeue","empty") [Var 1]]]])]])),Func ("OracleDequeue","_case_8") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Dequeue","S") [3,4,5,6]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","+") [Var 3,Var 5,Var 1]])]])),Func ("OracleDequeue","_case_9") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Dequeue","S") [3,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 ("OraclePrelude","++") [Var 4,Comb FuncCall ("Oracle","apply") [Comb FuncCall ("OraclePrelude","reverse") [Var 1],Var 6,Var 7],Var 8]]))]])),Func ("OracleDequeue","_case_10") 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","collapse") [Var 1,Var 4])]])),Func ("OracleDequeue","_case_11") 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","collapse") [Var 1,Var 3])]])),Func ("OracleDequeue","_case_13") 10 Private (TVar (-42)) (Rule [2,3,4,5,7,8,10,12,13,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 13) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Dequeue","S") [Var 2,Var 3,Var 4,Var 5]]),Branch (Pattern ("Prelude","False") []) (Let [(14,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 14,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleDequeue","_case_12") [Var 7,Var 8,Var 10,Var 12,Comb FuncCall ("OraclePrelude","otherwise") [Var 1],Var 14]]))]])),Func ("OracleDequeue","_case_12") 6 Private (TVar (-42)) (Rule [7,8,10,12,13,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 13) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Dequeue","S") [Var 7,Var 10,Var 8,Var 12]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","failed") [Var 1]])]])),Func ("OracleDequeue","_case_14") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Dequeue","S") [3,4,5,6]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Dequeue","S") [Var 5,Var 6,Var 3,Var 4]])]])),Func ("OracleDequeue","_case_16") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Dequeue","S") [3,4,5,6]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_15") [Var 3,Var 4,Var 5,Var 6,Var 1]])]])),Func ("OracleDequeue","_case_15") 5 Private (TVar (-42)) (Rule [3,4,5,6,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 6) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","empty") [Var 1]]),Branch (Pattern ("Prelude",":") [7,8]) (Let [(9,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 9,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleDequeue","check") [Var 3,Var 4,Comb FuncCall ("OraclePrelude","-") [Var 5,Lit (Intc 1),Var 1],Var 8,Var 9]]))]])),Func ("OracleDequeue","_case_17") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 3) [Branch (Pattern ("Dequeue","S") [4,5,6,7]) (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 FuncCall ("OracleDequeue","deqReverse") [Comb FuncCall ("OracleDequeue","check") [Comb FuncCall ("OraclePrelude","+") [Var 6,Lit (Intc 1),Var 1],Comb ConsCall ("Prelude",":") [Var 2,Var 7],Var 4,Var 5,Var 8],Var 9]]))]])),Func ("OracleDequeue","_case_19") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Dequeue","S") [3,4,5,6]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","_case_18") [Var 3,Var 5,Var 6,Var 4,Var 1]])]])),Func ("OracleDequeue","_case_18") 5 Private (TVar (-42)) (Rule [3,5,6,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 4) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleDequeue","empty") [Var 1]]),Branch (Pattern ("Prelude",":") [7,8]) (Let [(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 9,Comb ConsCall ("Prelude",":") [Var 10,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("OracleDequeue","deqReverse") [Comb FuncCall ("OracleDequeue","check") [Var 5,Var 6,Comb FuncCall ("OraclePrelude","-") [Var 3,Lit (Intc 1),Var 1],Var 8,Var 9],Var 10]]))]])),Func ("OracleDequeue","_case_20") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 3) [Branch (Pattern ("Dequeue","S") [4,5,6,7]) (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 ("OracleDequeue","check") [Comb FuncCall ("OraclePrelude","+") [Var 4,Lit (Intc 1),Var 1],Comb ConsCall ("Prelude",":") [Var 2,Var 5],Var 6,Var 7,Var 8]]))]])),Func ("OracleDequeue","_case_22") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Dequeue","S") [3,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 ("OraclePrelude","head") [Comb FuncCall ("OracleDequeue","_case_21") [Var 4,Var 5,Var 6,Comb FuncCall ("OraclePrelude","==") [Var 5,Lit (Intc 0),Var 1],Var 7],Var 8]]))]])),Func ("OracleDequeue","_case_21") 5 Private (TVar (-42)) (Rule [4,5,6,7,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 7) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 4]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 6])]])),Func ("OracleDequeue","_case_24") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Dequeue","S") [3,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 ("OraclePrelude","head") [Comb FuncCall ("OracleDequeue","_case_23") [Var 3,Var 4,Var 6,Comb FuncCall ("OraclePrelude","==") [Var 3,Lit (Intc 0),Var 1],Var 7],Var 8]]))]])),Func ("OracleDequeue","_case_23") 5 Private (TVar (-42)) (Rule [3,4,6,7,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 7) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 6]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 4])]])),Func ("OracleDequeue","_case_25") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Dequeue","S") [3,4,5,6]) (Let [(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OraclePrelude","==") [Comb FuncCall ("OraclePrelude","+") [Var 3,Var 5,Var 1],Lit (Intc 0),Var 7]]))]]))] []