/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.hs /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox2/benchmark/theBenchmark.hs # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty H-Termination with start terms of the given HASKELL could not be shown: (0) HASKELL (1) LR [EQUIVALENT, 0 ms] (2) HASKELL (3) IPR [EQUIVALENT, 0 ms] (4) HASKELL (5) BR [EQUIVALENT, 0 ms] (6) HASKELL (7) COR [EQUIVALENT, 0 ms] (8) HASKELL ---------------------------------------- (0) Obligation: mainModule Main module Maybe where { import qualified Main; import qualified Monad; import qualified Prelude; } module Main where { import qualified Maybe; import qualified Monad; import qualified Prelude; } module Monad where { import qualified Main; import qualified Maybe; import qualified Prelude; mapAndUnzipM :: Monad c => (a -> c (b,d)) -> [a] -> c ([b],[d]); mapAndUnzipM f xs = sequence (map f xs) >>= return . unzip; } ---------------------------------------- (1) LR (EQUIVALENT) Lambda Reductions: The following Lambda expression "\(a,b)~(as,bs)->(a : as,b : bs)" is transformed to "unzip0 (a,b) ~(as,bs) = (a : as,b : bs); " The following Lambda expression "\xs->return (x : xs)" is transformed to "sequence0 x xs = return (x : xs); " The following Lambda expression "\x->sequence cs >>= sequence0 x" is transformed to "sequence1 cs x = sequence cs >>= sequence0 x; " ---------------------------------------- (2) Obligation: mainModule Main module Maybe where { import qualified Main; import qualified Monad; import qualified Prelude; } module Main where { import qualified Maybe; import qualified Monad; import qualified Prelude; } module Monad where { import qualified Main; import qualified Maybe; import qualified Prelude; mapAndUnzipM :: Monad b => (a -> b (d,c)) -> [a] -> b ([d],[c]); mapAndUnzipM f xs = sequence (map f xs) >>= return . unzip; } ---------------------------------------- (3) IPR (EQUIVALENT) IrrPat Reductions: The variables of the following irrefutable Pattern "~(as,bs)" are replaced by calls to these functions "unzip00 (as,bs) = as; " "unzip01 (as,bs) = bs; " ---------------------------------------- (4) Obligation: mainModule Main module Maybe where { import qualified Main; import qualified Monad; import qualified Prelude; } module Main where { import qualified Maybe; import qualified Monad; import qualified Prelude; } module Monad where { import qualified Main; import qualified Maybe; import qualified Prelude; mapAndUnzipM :: Monad c => (b -> c (a,d)) -> [b] -> c ([a],[d]); mapAndUnzipM f xs = sequence (map f xs) >>= return . unzip; } ---------------------------------------- (5) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (6) Obligation: mainModule Main module Maybe where { import qualified Main; import qualified Monad; import qualified Prelude; } module Main where { import qualified Maybe; import qualified Monad; import qualified Prelude; } module Monad where { import qualified Main; import qualified Maybe; import qualified Prelude; mapAndUnzipM :: Monad d => (a -> d (c,b)) -> [a] -> d ([c],[b]); mapAndUnzipM f xs = sequence (map f xs) >>= return . unzip; } ---------------------------------------- (7) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " ---------------------------------------- (8) Obligation: mainModule Main module Maybe where { import qualified Main; import qualified Monad; import qualified Prelude; } module Main where { import qualified Maybe; import qualified Monad; import qualified Prelude; } module Monad where { import qualified Main; import qualified Maybe; import qualified Prelude; mapAndUnzipM :: Monad d => (c -> d (a,b)) -> [c] -> d ([a],[b]); mapAndUnzipM f xs = sequence (map f xs) >>= return . unzip; }