Spaces
Explore
Communities
Statistics
Reports
Cluster
Status
Help
Haskell pair #487598768
details
property
value
status
complete
benchmark
List_sortBy_1.hs
ran by
Akihisa Yamada
cpu timeout
1200 seconds
wallclock timeout
300 seconds
memory limit
137438953472 bytes
execution host
n143.star.cs.uiowa.edu
space
full_haskell
run statistics
property
value
solver
AProVE
configuration
standard
runtime (wallclock)
5.70901298523 seconds
cpu usage
13.625731513
max memory
6.86522368E8
stage attributes
key
value
output-size
32024
starexec-result
YES
output
/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.hs /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.hs # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty H-Termination with start terms of the given HASKELL could be proven: (0) HASKELL (1) CR [EQUIVALENT, 0 ms] (2) HASKELL (3) BR [EQUIVALENT, 0 ms] (4) HASKELL (5) COR [EQUIVALENT, 22 ms] (6) HASKELL (7) Narrow [SOUND, 0 ms] (8) AND (9) QDP (10) MRRProof [EQUIVALENT, 13 ms] (11) QDP (12) DependencyGraphProof [EQUIVALENT, 0 ms] (13) TRUE (14) QDP (15) DependencyGraphProof [EQUIVALENT, 0 ms] (16) QDP (17) QDPSizeChangeProof [EQUIVALENT, 54 ms] (18) YES (19) QDP (20) QDPSizeChangeProof [EQUIVALENT, 0 ms] (21) YES (22) QDP (23) QDPSizeChangeProof [EQUIVALENT, 0 ms] (24) YES ---------------------------------------- (0) Obligation: mainModule Main module Maybe where { import qualified List; import qualified Main; import qualified Prelude; } module List where { import qualified Main; import qualified Maybe; import qualified Prelude; merge :: (a -> a -> Ordering) -> [a] -> [a] -> [a]; merge cmp xs [] = xs; merge cmp [] ys = ys; merge cmp (x : xs) (y : ys) = case x `cmp` y of { GT-> y : merge cmp (x : xs) ys; _-> x : merge cmp xs (y : ys); } ; merge_pairs :: (a -> a -> Ordering) -> [[a]] -> [[a]]; merge_pairs cmp [] = []; merge_pairs cmp (xs : []) = xs : []; merge_pairs cmp (xs : ys : xss) = merge cmp xs ys : merge_pairs cmp xss; mergesort :: (a -> a -> Ordering) -> [a] -> [a]; mergesort cmp = mergesort' cmp . map wrap; mergesort' :: (a -> a -> Ordering) -> [[a]] -> [a]; mergesort' cmp [] = []; mergesort' cmp (xs : []) = xs; mergesort' cmp xss = mergesort' cmp (merge_pairs cmp xss); sortBy :: (a -> a -> Ordering) -> [a] -> [a]; sortBy cmp l = mergesort cmp l; wrap :: a -> [a]; wrap x = x : []; } module Main where { import qualified List; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (1) CR (EQUIVALENT) Case Reductions: The following Case expression "case cmp x y of { GT -> y : merge cmp (x : xs) ys; _ -> x : merge cmp xs (y : ys)} " is transformed to "merge0 y cmp x xs ys GT = y : merge cmp (x : xs) ys; merge0 y cmp x xs ys _ = x : merge cmp xs (y : ys);
popout
output may be truncated. 'popout' for the full output.
job log
popout
actions
all output
return to Haskell