{"o_vars":null,"o_types":[[{"spanInfo":{"startLine":33,"endLine":35,"endCol":16,"startCol":7,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797840","[a]"]]],[{"spanInfo":{"startLine":33,"endLine":33,"endCol":18,"startCol":7,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797829","[a]"]]],[{"spanInfo":{"startLine":20,"endLine":20,"endCol":28,"startCol":18,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797824","{os : [a] | Reverse.length xs == Reverse.length os\n && os == Reverse.reverse xs}"]]],[{"spanInfo":{"startLine":1,"endLine":1,"endCol":1,"startCol":1,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["Reverse.$trModule","GHC.Types.Module"]]],[{"spanInfo":{"startLine":32,"endLine":32,"endCol":11,"startCol":1,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["Reverse.singletonP","x1:a -> {VV : () | Reverse.reverse (GHC.Types.: x1 GHC.Types.[]) == GHC.Types.: x1 GHC.Types.[]}"]]],[{"spanInfo":{"startLine":12,"endLine":12,"endCol":7,"startCol":1,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["Reverse.length","x1:[a] -> {v : GHC.Types.Int | v >= 0\n && v == Reverse.length x1}"]]],[{"spanInfo":{"startLine":26,"endLine":26,"endCol":10,"startCol":8,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["Reverse.++","x1:[a] -> x2:[a] -> {os : [a] | Reverse.length os == Reverse.length x1 + Reverse.length x2}"]]],[{"spanInfo":{"startLine":13,"endLine":13,"endCol":20,"startCol":19,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[[null,"x1:GHC.Types.Int -> x2:GHC.Types.Int -> {v : GHC.Types.Int | v == x1 + x2}"]]],[{"spanInfo":{"startLine":32,"endLine":32,"endCol":13,"startCol":12,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["x","a"]]],[{"spanInfo":{"startLine":26,"endLine":26,"endCol":13,"startCol":11,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["ys","[a]"]]],[{"spanInfo":{"startLine":34,"endLine":34,"endCol":17,"startCol":7,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797831","[a]"]]],[{"spanInfo":{"startLine":33,"endLine":34,"endCol":24,"startCol":7,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797835","[a]"]]],[{"spanInfo":{"startLine":13,"endLine":13,"endCol":30,"startCol":17,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797819","{v : GHC.Types.Int | v == (1 : int)}"]]],[{"spanInfo":{"startLine":27,"endLine":27,"endCol":27,"startCol":19,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797822","{os : [a] | Reverse.length os == Reverse.length xs + Reverse.length ys\n && os == Reverse.++ xs ys}"]]],[{"spanInfo":{"startLine":33,"endLine":36,"endCol":10,"startCol":7,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797843","[a]"]]],[{"spanInfo":{"startLine":33,"endLine":37,"endCol":10,"startCol":7,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["LiquidHaskell.ProofCombinators.QED","{v : LiquidHaskell.ProofCombinators.QED | v == LiquidHaskell.ProofCombinators.QED}"]]],[{"spanInfo":{"startLine":13,"endLine":13,"endCol":30,"startCol":21,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797820","{v : GHC.Types.Int | v >= 0\n && v == Reverse.length xs}"]]],[{"spanInfo":{"startLine":19,"endLine":19,"endCol":8,"startCol":1,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["Reverse.reverse","x1:[a] -> {os : [a] | Reverse.length x1 == Reverse.length os}"]]],[{"spanInfo":{"startLine":20,"endLine":20,"endCol":35,"startCol":18,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797826","{v : [a] | head v == x\n && lqdc##$select v == x}"]]],[{"spanInfo":{"startLine":35,"endLine":35,"endCol":16,"startCol":7,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797839","[a]"]]],[{"spanInfo":{"startLine":34,"endLine":34,"endCol":24,"startCol":7,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797834","[a]"]]]],"o_templs":[[{"spanInfo":{"startLine":33,"endLine":35,"endCol":16,"startCol":7,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797840","{lq_tmp$x##988 : [{lq_tmp$x##985 : a^\"lq_tmp$x##977\" | $k_##976[VV##982:=lq_tmp$x##988][VV##975:=lq_tmp$x##985][lq_tmp$x##973:=lq_anf$##7205759403792797835##d16j][lq_tmp$x##974:=lq_anf$##7205759403792797839##d16n]}]^\"lq_tmp$x##984\" \"lq_tmp$x##27\" | $k_##983[VV##982:=lq_tmp$x##988][lq_tmp$x##973:=lq_anf$##7205759403792797835##d16j][lq_tmp$x##974:=lq_anf$##7205759403792797839##d16n]}"]]],[{"spanInfo":{"startLine":33,"endLine":33,"endCol":18,"startCol":7,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797829","{lq_tmp$x##701 : [{lq_tmp$x##710 : a^\"lq_tmp$x##709\" | $k_##708[VV##707:=lq_tmp$x##710][lq_tmp$x##704:=lq_anf$##7205759403792797828##d16c]}] | Reverse.length lq_anf$##7205759403792797828##d16c == Reverse.length lq_tmp$x##701\n && lq_tmp$x##701 == Reverse.reverse lq_anf$##7205759403792797828##d16c\n && lq_tmp$x##701 == (if is$GHC.Types.[] lq_anf$##7205759403792797828##d16c then GHC.Types.[] else Reverse.++ (Reverse.reverse (lqdc##$select##GHC.Types.:##2 lq_anf$##7205759403792797828##d16c)) (GHC.Types.: (lqdc##$select##GHC.Types.:##1 lq_anf$##7205759403792797828##d16c) GHC.Types.[]))\n && lq_tmp$x##701 == Reverse.reverse lq_anf$##7205759403792797828##d16c}"]]],[{"spanInfo":{"startLine":20,"endLine":20,"endCol":28,"startCol":18,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797824","{os : [{lq_tmp$x##550 : a^\"lq_tmp$x##549\" | $k_##548[lq_tmp$x##457:=xs##aTw][VV##547:=lq_tmp$x##550]}] | Reverse.length xs##aTw == Reverse.length os\n && os == Reverse.reverse xs##aTw}"]]],[{"spanInfo":{"startLine":1,"endLine":1,"endCol":1,"startCol":1,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["Reverse.$trModule","GHC.Types.Module"]]],[{"spanInfo":{"startLine":32,"endLine":32,"endCol":11,"startCol":1,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["Reverse.singletonP","lq_tmp$x##645:a -> {VV : () | Reverse.reverse (GHC.Types.: lq_tmp$x##645 GHC.Types.[]) == GHC.Types.: lq_tmp$x##645 GHC.Types.[]}"]]],[{"spanInfo":{"startLine":12,"endLine":12,"endCol":7,"startCol":1,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["Reverse.length","lq_tmp$x##176:[a] -> {lq_tmp$x##0 : GHC.Types.Int | lq_tmp$x##0 >= 0\n && lq_tmp$x##0 == Reverse.length lq_tmp$x##176}"]]],[{"spanInfo":{"startLine":26,"endLine":26,"endCol":10,"startCol":8,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["Reverse.++","lq_tmp$x##298:[a] -> lq_tmp$x##299:[a] -> {os : [a] | Reverse.length os == Reverse.length lq_tmp$x##298 + Reverse.length lq_tmp$x##299}"]]],[{"spanInfo":{"startLine":13,"endLine":13,"endCol":20,"startCol":19,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[[null,"lq_tmp$x##277:GHC.Types.Int -> lq_tmp$x##278:GHC.Types.Int -> {lq_tmp$x##280 : GHC.Types.Int^\"lq_tmp$x##279\" | lq_tmp$x##280 == lq_tmp$x##277 + lq_tmp$x##278}"]]],[{"spanInfo":{"startLine":32,"endLine":32,"endCol":13,"startCol":12,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["x","a"]]],[{"spanInfo":{"startLine":26,"endLine":26,"endCol":13,"startCol":11,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["ys","[a]"]]],[{"spanInfo":{"startLine":34,"endLine":34,"endCol":17,"startCol":7,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797831","{lq_tmp$x##739 : [{lq_tmp$x##748 : a^\"lq_tmp$x##747\" | $k_##746[lq_tmp$x##742:=lq_anf$##7205759403792797830##d16e][VV##745:=lq_tmp$x##748]}] | Reverse.length lq_anf$##7205759403792797830##d16e == Reverse.length lq_tmp$x##739\n && lq_tmp$x##739 == Reverse.reverse lq_anf$##7205759403792797830##d16e\n && lq_tmp$x##739 == (if is$GHC.Types.[] lq_anf$##7205759403792797830##d16e then GHC.Types.[] else Reverse.++ (Reverse.reverse (lqdc##$select##GHC.Types.:##2 lq_anf$##7205759403792797830##d16e)) (GHC.Types.: (lqdc##$select##GHC.Types.:##1 lq_anf$##7205759403792797830##d16e) GHC.Types.[]))\n && lq_tmp$x##739 == Reverse.reverse lq_anf$##7205759403792797830##d16e}"]]],[{"spanInfo":{"startLine":33,"endLine":34,"endCol":24,"startCol":7,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797835","{lq_tmp$x##858 : [{lq_tmp$x##855 : a^\"lq_tmp$x##847\" | $k_##846[VV##852:=lq_tmp$x##858][lq_tmp$x##844:=lq_anf$##7205759403792797834##d16i][VV##845:=lq_tmp$x##855][lq_tmp$x##843:=lq_anf$##7205759403792797829##d16d]}]^\"lq_tmp$x##854\" \"lq_tmp$x##27\" | $k_##853[VV##852:=lq_tmp$x##858][lq_tmp$x##844:=lq_anf$##7205759403792797834##d16i][lq_tmp$x##843:=lq_anf$##7205759403792797829##d16d]}"]]],[{"spanInfo":{"startLine":13,"endLine":13,"endCol":30,"startCol":17,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797819","{lq_tmp$x##244 : GHC.Types.Int | lq_tmp$x##244 == (1 : int)}"]]],[{"spanInfo":{"startLine":27,"endLine":27,"endCol":27,"startCol":19,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797822","{os : [{lq_tmp$x##393 : a^\"lq_tmp$x##392\" | $k_##391[lq_tmp$x##299:=ys##aTx][lq_tmp$x##298:=xs##aTz][VV##390:=lq_tmp$x##393]}] | Reverse.length os == Reverse.length xs##aTz + Reverse.length ys##aTx\n && os == Reverse.++ xs##aTz ys##aTx}"]]],[{"spanInfo":{"startLine":33,"endLine":36,"endCol":10,"startCol":7,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797843","{lq_tmp$x##1067 : [{lq_tmp$x##1064 : a^\"lq_tmp$x##1056\" | $k_##1055[VV##1061:=lq_tmp$x##1067][lq_tmp$x##1053:=lq_anf$##7205759403792797842##d16q][VV##1054:=lq_tmp$x##1064][lq_tmp$x##1052:=lq_anf$##7205759403792797840##d16o]}]^\"lq_tmp$x##1063\" \"lq_tmp$x##27\" | $k_##1062[VV##1061:=lq_tmp$x##1067][lq_tmp$x##1053:=lq_anf$##7205759403792797842##d16q][lq_tmp$x##1052:=lq_anf$##7205759403792797840##d16o]}"]]],[{"spanInfo":{"startLine":33,"endLine":37,"endCol":10,"startCol":7,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["LiquidHaskell.ProofCombinators.QED","{lq_tmp$x##1105 : LiquidHaskell.ProofCombinators.QED^\"lq_tmp$x##33\" | lq_tmp$x##1105 == LiquidHaskell.ProofCombinators.QED}"]]],[{"spanInfo":{"startLine":13,"endLine":13,"endCol":30,"startCol":21,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797820","{lq_tmp$x##0 : GHC.Types.Int | lq_tmp$x##0 >= 0\n && lq_tmp$x##0 == Reverse.length xs##aS1\n && lq_tmp$x##0 == Reverse.length xs##aS1}"]]],[{"spanInfo":{"startLine":19,"endLine":19,"endCol":8,"startCol":1,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["Reverse.reverse","lq_tmp$x##457:[a] -> {os : [a] | Reverse.length lq_tmp$x##457 == Reverse.length os}"]]],[{"spanInfo":{"startLine":20,"endLine":20,"endCol":35,"startCol":18,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797826","{lq_tmp$x##580 : [{lq_tmp$x##591 : a^\"lq_tmp$x##590\" | $k_##589[lq_tmp$x##584:=x##aTv][VV##588:=lq_tmp$x##591][lq_tmp$x##585:=lq_anf$##7205759403792797825##d169]}] | Reverse.length lq_tmp$x##580 == 1 + Reverse.length lq_anf$##7205759403792797825##d169\n && len lq_tmp$x##580 == 1 + len lq_anf$##7205759403792797825##d169\n && tail lq_tmp$x##580 == lq_anf$##7205759403792797825##d169\n && head lq_tmp$x##580 == x##aTv\n && lqdc##$select##GHC.Types.:##2 lq_tmp$x##580 == lq_anf$##7205759403792797825##d169\n && lqdc##$select##GHC.Types.:##1 lq_tmp$x##580 == x##aTv\n && (is$GHC.Types.: lq_tmp$x##580 <=> true)\n && (is$GHC.Types.[] lq_tmp$x##580 <=> false)\n && lqdc##$select##GHC.Types.:##2 lq_tmp$x##580 == lq_anf$##7205759403792797825##d169\n && lqdc##$select##GHC.Types.:##1 lq_tmp$x##580 == x##aTv\n && lqdc##$select##GHC.Types.:##2 lq_tmp$x##580 == lq_anf$##7205759403792797825##d169\n && lqdc##$select##GHC.Types.:##1 lq_tmp$x##580 == x##aTv\n && (is$GHC.Types.: lq_tmp$x##580 <=> true)\n && (is$GHC.Types.[] lq_tmp$x##580 <=> false)\n && lq_tmp$x##580 == GHC.Types.: x##aTv lq_anf$##7205759403792797825##d169}"]]],[{"spanInfo":{"startLine":35,"endLine":35,"endCol":16,"startCol":7,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797839","{lq_tmp$x##943 : [{lq_tmp$x##956 : a^\"lq_tmp$x##955\" | $k_##954[lq_tmp$x##949:=lq_anf$##7205759403792797838##d16m][lq_tmp$x##948:=lq_anf$##7205759403792797836##d16k][VV##953:=lq_tmp$x##956]}] | Reverse.length lq_tmp$x##943 == Reverse.length lq_anf$##7205759403792797836##d16k + Reverse.length lq_anf$##7205759403792797838##d16m\n && lq_tmp$x##943 == Reverse.++ lq_anf$##7205759403792797836##d16k lq_anf$##7205759403792797838##d16m\n && lq_tmp$x##943 == (if is$GHC.Types.[] lq_anf$##7205759403792797836##d16k then lq_anf$##7205759403792797838##d16m else GHC.Types.: (lqdc##$select##GHC.Types.:##1 lq_anf$##7205759403792797836##d16k) (Reverse.++ (lqdc##$select##GHC.Types.:##2 lq_anf$##7205759403792797836##d16k) lq_anf$##7205759403792797838##d16m))\n && lq_tmp$x##943 == Reverse.++ lq_anf$##7205759403792797836##d16k lq_anf$##7205759403792797838##d16m}"]]],[{"spanInfo":{"startLine":34,"endLine":34,"endCol":24,"startCol":7,"filename":"/Users/niki/tmp/test/proof-combinators/examples/Reverse.hs"},"realSpan":true},[["lq_anf$##7205759403792797834","{lq_tmp$x##813 : [{lq_tmp$x##826 : a^\"lq_tmp$x##825\" | $k_##824[lq_tmp$x##818:=lq_anf$##7205759403792797831##d16f][VV##823:=lq_tmp$x##826][lq_tmp$x##819:=lq_anf$##7205759403792797833##d16h]}] | Reverse.length lq_tmp$x##813 == Reverse.length lq_anf$##7205759403792797831##d16f + Reverse.length lq_anf$##7205759403792797833##d16h\n && lq_tmp$x##813 == Reverse.++ lq_anf$##7205759403792797831##d16f lq_anf$##7205759403792797833##d16h\n && lq_tmp$x##813 == (if is$GHC.Types.[] lq_anf$##7205759403792797831##d16f then lq_anf$##7205759403792797833##d16h else GHC.Types.: (lqdc##$select##GHC.Types.:##1 lq_anf$##7205759403792797831##d16f) (Reverse.++ (lqdc##$select##GHC.Types.:##2 lq_anf$##7205759403792797831##d16f) lq_anf$##7205759403792797833##d16h))\n && lq_tmp$x##813 == Reverse.++ lq_anf$##7205759403792797831##d16f lq_anf$##7205759403792797833##d16h}"]]]],"o_bots":[],"o_result":{"tag":"Safe"}}