Spaces
Explore
Communities
Statistics
Reports
Cluster
Status
Help
Haskell 2019-04-01 06.52 pair #433316630
details
property
value
status
complete
benchmark
List_union_9.hs
ran by
Akihisa Yamada
cpu timeout
1200 seconds
wallclock timeout
300 seconds
memory limit
137438953472 bytes
execution host
n142.star.cs.uiowa.edu
space
full_haskell
run statistics
property
value
solver
AProVE
configuration
standard
runtime (wallclock)
23.5345 seconds
cpu usage
36.2386
user time
35.0766
system time
1.16195
max virtual memory
1.8285568E7
max residence set size
3829248.0
stage attributes
key
value
starexec-result
YES
output
33.62/22.81 YES 36.10/23.48 proof of /export/starexec/sandbox2/benchmark/theBenchmark.hs 36.10/23.48 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 36.10/23.48 36.10/23.48 36.10/23.48 H-Termination with start terms of the given HASKELL could be proven: 36.10/23.48 36.10/23.48 (0) HASKELL 36.10/23.48 (1) IFR [EQUIVALENT, 0 ms] 36.10/23.48 (2) HASKELL 36.10/23.48 (3) BR [EQUIVALENT, 0 ms] 36.10/23.48 (4) HASKELL 36.10/23.48 (5) COR [EQUIVALENT, 27 ms] 36.10/23.48 (6) HASKELL 36.10/23.48 (7) LetRed [EQUIVALENT, 0 ms] 36.10/23.48 (8) HASKELL 36.10/23.48 (9) Narrow [SOUND, 0 ms] 36.10/23.48 (10) AND 36.10/23.48 (11) QDP 36.10/23.48 (12) TransformationProof [EQUIVALENT, 0 ms] 36.10/23.48 (13) QDP 36.10/23.48 (14) DependencyGraphProof [EQUIVALENT, 0 ms] 36.10/23.48 (15) TRUE 36.10/23.48 (16) QDP 36.10/23.48 (17) QDPSizeChangeProof [EQUIVALENT, 0 ms] 36.10/23.48 (18) YES 36.10/23.48 (19) QDP 36.10/23.48 (20) QDPSizeChangeProof [EQUIVALENT, 0 ms] 36.10/23.48 (21) YES 36.10/23.48 (22) QDP 36.10/23.48 (23) TransformationProof [EQUIVALENT, 26 ms] 36.10/23.48 (24) QDP 36.10/23.48 (25) UsableRulesProof [EQUIVALENT, 0 ms] 36.10/23.48 (26) QDP 36.10/23.48 (27) QReductionProof [EQUIVALENT, 0 ms] 36.10/23.48 (28) QDP 36.10/23.48 (29) QDPSizeChangeProof [EQUIVALENT, 0 ms] 36.10/23.48 (30) YES 36.10/23.48 (31) QDP 36.10/23.48 (32) QDPSizeChangeProof [EQUIVALENT, 0 ms] 36.10/23.48 (33) YES 36.10/23.48 (34) QDP 36.10/23.48 (35) QDPSizeChangeProof [EQUIVALENT, 0 ms] 36.10/23.48 (36) YES 36.10/23.48 36.10/23.48 36.10/23.48 ---------------------------------------- 36.10/23.48 36.10/23.48 (0) 36.10/23.48 Obligation: 36.10/23.48 mainModule Main 36.10/23.48 module Maybe where { 36.10/23.48 import qualified List; 36.10/23.48 import qualified Main; 36.10/23.48 import qualified Prelude; 36.10/23.48 } 36.10/23.48 module List where { 36.10/23.48 import qualified Main; 36.10/23.48 import qualified Maybe; 36.10/23.48 import qualified Prelude; 36.10/23.48 deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]; 36.10/23.48 deleteBy _ _ [] = []; 36.10/23.48 deleteBy eq x (y : ys) = if x `eq` y then ys else y : deleteBy eq x ys; 36.10/23.48 36.10/23.48 elem_by :: (a -> a -> Bool) -> a -> [a] -> Bool; 36.10/23.48 elem_by _ _ [] = False; 36.10/23.48 elem_by eq y (x : xs) = x `eq` y || elem_by eq y xs; 36.10/23.48 36.10/23.48 nubBy :: (a -> a -> Bool) -> [a] -> [a]; 36.10/23.48 nubBy eq l = nubBy' l [] where { 36.10/23.48 nubBy' [] _ = []; 36.10/23.48 nubBy' (y : ys) xs | elem_by eq y xs = nubBy' ys xs 36.10/23.48 | otherwise = y : nubBy' ys (y : xs); 36.10/23.48 }; 36.10/23.48 36.10/23.48 union :: Eq a => [a] -> [a] -> [a]; 36.10/23.48 union = unionBy (==); 36.10/23.48 36.10/23.48 unionBy :: (a -> a -> Bool) -> [a] -> [a] -> [a]; 36.10/23.48 unionBy eq xs ys = xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs; 36.10/23.48 36.10/23.48 } 36.10/23.48 module Main where { 36.10/23.48 import qualified List; 36.10/23.48 import qualified Maybe; 36.10/23.48 import qualified Prelude; 36.10/23.48 } 36.10/23.48 36.10/23.48 ---------------------------------------- 36.10/23.48 36.10/23.48 (1) IFR (EQUIVALENT) 36.10/23.48 If Reductions: 36.10/23.48 The following If expression 36.10/23.48 "if eq x y then ys else y : deleteBy eq x ys" 36.10/23.48 is transformed to 36.10/23.48 "deleteBy0 ys y eq x True = ys; 36.10/23.48 deleteBy0 ys y eq x False = y : deleteBy eq x ys; 36.10/23.48 " 36.10/23.48 36.10/23.48 ----------------------------------------
popout
output may be truncated. 'popout' for the full output.
job log
popout
actions
all output
return to Haskell 2019-04-01 06.52