11.04/4.63 YES 13.19/5.21 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 13.19/5.21 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 13.19/5.21 13.19/5.21 13.19/5.21 H-Termination with start terms of the given HASKELL could be proven: 13.19/5.21 13.19/5.21 (0) HASKELL 13.19/5.21 (1) CR [EQUIVALENT, 0 ms] 13.19/5.21 (2) HASKELL 13.19/5.21 (3) BR [EQUIVALENT, 0 ms] 13.19/5.21 (4) HASKELL 13.19/5.21 (5) COR [EQUIVALENT, 23 ms] 13.19/5.21 (6) HASKELL 13.19/5.21 (7) Narrow [SOUND, 0 ms] 13.19/5.21 (8) QDP 13.19/5.21 (9) DependencyGraphProof [EQUIVALENT, 0 ms] 13.19/5.21 (10) AND 13.19/5.21 (11) QDP 13.19/5.21 (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.19/5.21 (13) YES 13.19/5.21 (14) QDP 13.19/5.21 (15) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.19/5.21 (16) YES 13.19/5.21 (17) QDP 13.19/5.21 (18) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.19/5.21 (19) YES 13.19/5.21 (20) QDP 13.19/5.21 (21) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.19/5.21 (22) YES 13.19/5.21 13.19/5.21 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (0) 13.19/5.21 Obligation: 13.19/5.21 mainModule Main 13.19/5.21 module Maybe where { 13.19/5.21 import qualified List; 13.19/5.21 import qualified Main; 13.19/5.21 import qualified Prelude; 13.19/5.21 } 13.19/5.21 module List where { 13.19/5.21 import qualified Main; 13.19/5.21 import qualified Maybe; 13.19/5.21 import qualified Prelude; 13.19/5.21 insert :: Ord a => a -> [a] -> [a]; 13.19/5.21 insert e ls = insertBy compare e ls; 13.19/5.21 13.19/5.21 insertBy :: (a -> a -> Ordering) -> a -> [a] -> [a]; 13.19/5.21 insertBy _ x [] = x : []; 13.19/5.21 insertBy cmp x ys@(y : ys') = case cmp x y of { 13.19/5.21 GT-> y : insertBy cmp x ys'; 13.19/5.21 _-> x : ys; 13.19/5.21 } ; 13.19/5.21 13.19/5.21 } 13.19/5.21 module Main where { 13.19/5.21 import qualified List; 13.19/5.21 import qualified Maybe; 13.19/5.21 import qualified Prelude; 13.19/5.21 } 13.19/5.21 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (1) CR (EQUIVALENT) 13.19/5.21 Case Reductions: 13.19/5.21 The following Case expression 13.19/5.21 "case cmp x y of { 13.19/5.21 GT -> y : insertBy cmp x ys'; 13.19/5.21 _ -> x : ys} 13.19/5.21 " 13.19/5.21 is transformed to 13.19/5.21 "insertBy0 y cmp x ys' ys GT = y : insertBy cmp x ys'; 13.19/5.21 insertBy0 y cmp x ys' ys _ = x : ys; 13.19/5.21 " 13.19/5.21 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (2) 13.19/5.21 Obligation: 13.19/5.21 mainModule Main 13.19/5.21 module Maybe where { 13.19/5.21 import qualified List; 13.19/5.21 import qualified Main; 13.19/5.21 import qualified Prelude; 13.19/5.21 } 13.19/5.21 module List where { 13.19/5.21 import qualified Main; 13.19/5.21 import qualified Maybe; 13.19/5.21 import qualified Prelude; 13.19/5.21 insert :: Ord a => a -> [a] -> [a]; 13.19/5.21 insert e ls = insertBy compare e ls; 13.19/5.21 13.19/5.21 insertBy :: (a -> a -> Ordering) -> a -> [a] -> [a]; 13.19/5.21 insertBy _ x [] = x : []; 13.19/5.21 insertBy cmp x ys@(y : ys') = insertBy0 y cmp x ys' ys (cmp x y); 13.19/5.21 13.19/5.21 insertBy0 y cmp x ys' ys GT = y : insertBy cmp x ys'; 13.19/5.21 insertBy0 y cmp x ys' ys _ = x : ys; 13.19/5.21 13.19/5.21 } 13.19/5.21 module Main where { 13.19/5.21 import qualified List; 13.19/5.21 import qualified Maybe; 13.19/5.21 import qualified Prelude; 13.19/5.21 } 13.19/5.21 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (3) BR (EQUIVALENT) 13.19/5.21 Replaced joker patterns by fresh variables and removed binding patterns. 13.19/5.21 13.19/5.21 Binding Reductions: 13.19/5.21 The bind variable of the following binding Pattern 13.19/5.21 "ys@(wu : wv)" 13.19/5.21 is replaced by the following term 13.19/5.21 "wu : wv" 13.19/5.21 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (4) 13.19/5.21 Obligation: 13.19/5.21 mainModule Main 13.19/5.21 module Maybe where { 13.19/5.21 import qualified List; 13.19/5.21 import qualified Main; 13.19/5.21 import qualified Prelude; 13.19/5.21 } 13.19/5.21 module List where { 13.19/5.21 import qualified Main; 13.19/5.21 import qualified Maybe; 13.19/5.21 import qualified Prelude; 13.19/5.21 insert :: Ord a => a -> [a] -> [a]; 13.19/5.21 insert e ls = insertBy compare e ls; 13.19/5.21 13.19/5.21 insertBy :: (a -> a -> Ordering) -> a -> [a] -> [a]; 13.19/5.21 insertBy vz x [] = x : []; 13.19/5.21 insertBy cmp x (wu : wv) = insertBy0 wu cmp x wv (wu : wv) (cmp x wu); 13.19/5.21 13.19/5.21 insertBy0 y cmp x ys' ys GT = y : insertBy cmp x ys'; 13.19/5.21 insertBy0 y cmp x ys' ys vy = x : ys; 13.19/5.21 13.19/5.21 } 13.19/5.21 module Main where { 13.19/5.21 import qualified List; 13.19/5.21 import qualified Maybe; 13.19/5.21 import qualified Prelude; 13.19/5.21 } 13.19/5.21 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (5) COR (EQUIVALENT) 13.19/5.21 Cond Reductions: 13.19/5.21 The following Function with conditions 13.19/5.21 "undefined |Falseundefined; 13.19/5.21 " 13.19/5.21 is transformed to 13.19/5.21 "undefined = undefined1; 13.19/5.21 " 13.19/5.21 "undefined0 True = undefined; 13.19/5.21 " 13.19/5.21 "undefined1 = undefined0 False; 13.19/5.21 " 13.19/5.21 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (6) 13.19/5.21 Obligation: 13.19/5.21 mainModule Main 13.19/5.21 module Maybe where { 13.19/5.21 import qualified List; 13.19/5.21 import qualified Main; 13.19/5.21 import qualified Prelude; 13.19/5.21 } 13.19/5.21 module List where { 13.19/5.21 import qualified Main; 13.19/5.21 import qualified Maybe; 13.19/5.21 import qualified Prelude; 13.19/5.21 insert :: Ord a => a -> [a] -> [a]; 13.19/5.21 insert e ls = insertBy compare e ls; 13.19/5.21 13.19/5.21 insertBy :: (a -> a -> Ordering) -> a -> [a] -> [a]; 13.19/5.21 insertBy vz x [] = x : []; 13.19/5.21 insertBy cmp x (wu : wv) = insertBy0 wu cmp x wv (wu : wv) (cmp x wu); 13.19/5.21 13.19/5.21 insertBy0 y cmp x ys' ys GT = y : insertBy cmp x ys'; 13.19/5.21 insertBy0 y cmp x ys' ys vy = x : ys; 13.19/5.21 13.19/5.21 } 13.19/5.21 module Main where { 13.19/5.21 import qualified List; 13.19/5.21 import qualified Maybe; 13.19/5.21 import qualified Prelude; 13.19/5.21 } 13.19/5.21 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (7) Narrow (SOUND) 13.19/5.21 Haskell To QDPs 13.19/5.21 13.19/5.21 digraph dp_graph { 13.19/5.21 node [outthreshold=100, inthreshold=100];1[label="List.insert",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 13.19/5.21 3[label="List.insert ww3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 13.19/5.21 4[label="List.insert ww3 ww4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 13.19/5.21 5[label="List.insertBy compare ww3 ww4",fontsize=16,color="burlywood",shape="box"];656[label="ww4/ww40 : ww41",fontsize=10,color="white",style="solid",shape="box"];5 -> 656[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 656 -> 6[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 657[label="ww4/[]",fontsize=10,color="white",style="solid",shape="box"];5 -> 657[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 657 -> 7[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 6[label="List.insertBy compare ww3 (ww40 : ww41)",fontsize=16,color="black",shape="box"];6 -> 8[label="",style="solid", color="black", weight=3]; 13.19/5.21 7[label="List.insertBy compare ww3 []",fontsize=16,color="black",shape="box"];7 -> 9[label="",style="solid", color="black", weight=3]; 13.19/5.21 8[label="List.insertBy0 ww40 compare ww3 ww41 (ww40 : ww41) (compare ww3 ww40)",fontsize=16,color="black",shape="box"];8 -> 10[label="",style="solid", color="black", weight=3]; 13.19/5.21 9[label="ww3 : []",fontsize=16,color="green",shape="box"];10[label="List.insertBy0 ww40 primCmpInt ww3 ww41 (ww40 : ww41) (primCmpInt ww3 ww40)",fontsize=16,color="burlywood",shape="triangle"];658[label="ww3/Pos ww30",fontsize=10,color="white",style="solid",shape="box"];10 -> 658[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 658 -> 11[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 659[label="ww3/Neg ww30",fontsize=10,color="white",style="solid",shape="box"];10 -> 659[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 659 -> 12[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 11[label="List.insertBy0 ww40 primCmpInt (Pos ww30) ww41 (ww40 : ww41) (primCmpInt (Pos ww30) ww40)",fontsize=16,color="burlywood",shape="box"];660[label="ww30/Succ ww300",fontsize=10,color="white",style="solid",shape="box"];11 -> 660[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 660 -> 13[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 661[label="ww30/Zero",fontsize=10,color="white",style="solid",shape="box"];11 -> 661[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 661 -> 14[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 12[label="List.insertBy0 ww40 primCmpInt (Neg ww30) ww41 (ww40 : ww41) (primCmpInt (Neg ww30) ww40)",fontsize=16,color="burlywood",shape="box"];662[label="ww30/Succ ww300",fontsize=10,color="white",style="solid",shape="box"];12 -> 662[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 662 -> 15[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 663[label="ww30/Zero",fontsize=10,color="white",style="solid",shape="box"];12 -> 663[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 663 -> 16[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 13[label="List.insertBy0 ww40 primCmpInt (Pos (Succ ww300)) ww41 (ww40 : ww41) (primCmpInt (Pos (Succ ww300)) ww40)",fontsize=16,color="burlywood",shape="box"];664[label="ww40/Pos ww400",fontsize=10,color="white",style="solid",shape="box"];13 -> 664[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 664 -> 17[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 665[label="ww40/Neg ww400",fontsize=10,color="white",style="solid",shape="box"];13 -> 665[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 665 -> 18[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 14[label="List.insertBy0 ww40 primCmpInt (Pos Zero) ww41 (ww40 : ww41) (primCmpInt (Pos Zero) ww40)",fontsize=16,color="burlywood",shape="box"];666[label="ww40/Pos ww400",fontsize=10,color="white",style="solid",shape="box"];14 -> 666[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 666 -> 19[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 667[label="ww40/Neg ww400",fontsize=10,color="white",style="solid",shape="box"];14 -> 667[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 667 -> 20[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 15[label="List.insertBy0 ww40 primCmpInt (Neg (Succ ww300)) ww41 (ww40 : ww41) (primCmpInt (Neg (Succ ww300)) ww40)",fontsize=16,color="burlywood",shape="box"];668[label="ww40/Pos ww400",fontsize=10,color="white",style="solid",shape="box"];15 -> 668[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 668 -> 21[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 669[label="ww40/Neg ww400",fontsize=10,color="white",style="solid",shape="box"];15 -> 669[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 669 -> 22[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 16[label="List.insertBy0 ww40 primCmpInt (Neg Zero) ww41 (ww40 : ww41) (primCmpInt (Neg Zero) ww40)",fontsize=16,color="burlywood",shape="box"];670[label="ww40/Pos ww400",fontsize=10,color="white",style="solid",shape="box"];16 -> 670[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 670 -> 23[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 671[label="ww40/Neg ww400",fontsize=10,color="white",style="solid",shape="box"];16 -> 671[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 671 -> 24[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 17[label="List.insertBy0 (Pos ww400) primCmpInt (Pos (Succ ww300)) ww41 (Pos ww400 : ww41) (primCmpInt (Pos (Succ ww300)) (Pos ww400))",fontsize=16,color="black",shape="box"];17 -> 25[label="",style="solid", color="black", weight=3]; 13.19/5.21 18[label="List.insertBy0 (Neg ww400) primCmpInt (Pos (Succ ww300)) ww41 (Neg ww400 : ww41) (primCmpInt (Pos (Succ ww300)) (Neg ww400))",fontsize=16,color="black",shape="box"];18 -> 26[label="",style="solid", color="black", weight=3]; 13.19/5.21 19[label="List.insertBy0 (Pos ww400) primCmpInt (Pos Zero) ww41 (Pos ww400 : ww41) (primCmpInt (Pos Zero) (Pos ww400))",fontsize=16,color="burlywood",shape="box"];672[label="ww400/Succ ww4000",fontsize=10,color="white",style="solid",shape="box"];19 -> 672[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 672 -> 27[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 673[label="ww400/Zero",fontsize=10,color="white",style="solid",shape="box"];19 -> 673[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 673 -> 28[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 20[label="List.insertBy0 (Neg ww400) primCmpInt (Pos Zero) ww41 (Neg ww400 : ww41) (primCmpInt (Pos Zero) (Neg ww400))",fontsize=16,color="burlywood",shape="box"];674[label="ww400/Succ ww4000",fontsize=10,color="white",style="solid",shape="box"];20 -> 674[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 674 -> 29[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 675[label="ww400/Zero",fontsize=10,color="white",style="solid",shape="box"];20 -> 675[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 675 -> 30[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 21[label="List.insertBy0 (Pos ww400) primCmpInt (Neg (Succ ww300)) ww41 (Pos ww400 : ww41) (primCmpInt (Neg (Succ ww300)) (Pos ww400))",fontsize=16,color="black",shape="box"];21 -> 31[label="",style="solid", color="black", weight=3]; 13.19/5.21 22[label="List.insertBy0 (Neg ww400) primCmpInt (Neg (Succ ww300)) ww41 (Neg ww400 : ww41) (primCmpInt (Neg (Succ ww300)) (Neg ww400))",fontsize=16,color="black",shape="box"];22 -> 32[label="",style="solid", color="black", weight=3]; 13.19/5.21 23[label="List.insertBy0 (Pos ww400) primCmpInt (Neg Zero) ww41 (Pos ww400 : ww41) (primCmpInt (Neg Zero) (Pos ww400))",fontsize=16,color="burlywood",shape="box"];676[label="ww400/Succ ww4000",fontsize=10,color="white",style="solid",shape="box"];23 -> 676[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 676 -> 33[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 677[label="ww400/Zero",fontsize=10,color="white",style="solid",shape="box"];23 -> 677[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 677 -> 34[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 24[label="List.insertBy0 (Neg ww400) primCmpInt (Neg Zero) ww41 (Neg ww400 : ww41) (primCmpInt (Neg Zero) (Neg ww400))",fontsize=16,color="burlywood",shape="box"];678[label="ww400/Succ ww4000",fontsize=10,color="white",style="solid",shape="box"];24 -> 678[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 678 -> 35[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 679[label="ww400/Zero",fontsize=10,color="white",style="solid",shape="box"];24 -> 679[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 679 -> 36[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 25[label="List.insertBy0 (Pos ww400) primCmpInt (Pos (Succ ww300)) ww41 (Pos ww400 : ww41) (primCmpNat (Succ ww300) ww400)",fontsize=16,color="burlywood",shape="box"];680[label="ww400/Succ ww4000",fontsize=10,color="white",style="solid",shape="box"];25 -> 680[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 680 -> 37[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 681[label="ww400/Zero",fontsize=10,color="white",style="solid",shape="box"];25 -> 681[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 681 -> 38[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 26[label="List.insertBy0 (Neg ww400) primCmpInt (Pos (Succ ww300)) ww41 (Neg ww400 : ww41) GT",fontsize=16,color="black",shape="box"];26 -> 39[label="",style="solid", color="black", weight=3]; 13.19/5.21 27[label="List.insertBy0 (Pos (Succ ww4000)) primCmpInt (Pos Zero) ww41 (Pos (Succ ww4000) : ww41) (primCmpInt (Pos Zero) (Pos (Succ ww4000)))",fontsize=16,color="black",shape="box"];27 -> 40[label="",style="solid", color="black", weight=3]; 13.19/5.21 28[label="List.insertBy0 (Pos Zero) primCmpInt (Pos Zero) ww41 (Pos Zero : ww41) (primCmpInt (Pos Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];28 -> 41[label="",style="solid", color="black", weight=3]; 13.19/5.21 29[label="List.insertBy0 (Neg (Succ ww4000)) primCmpInt (Pos Zero) ww41 (Neg (Succ ww4000) : ww41) (primCmpInt (Pos Zero) (Neg (Succ ww4000)))",fontsize=16,color="black",shape="box"];29 -> 42[label="",style="solid", color="black", weight=3]; 13.19/5.21 30[label="List.insertBy0 (Neg Zero) primCmpInt (Pos Zero) ww41 (Neg Zero : ww41) (primCmpInt (Pos Zero) (Neg Zero))",fontsize=16,color="black",shape="box"];30 -> 43[label="",style="solid", color="black", weight=3]; 13.19/5.21 31[label="List.insertBy0 (Pos ww400) primCmpInt (Neg (Succ ww300)) ww41 (Pos ww400 : ww41) LT",fontsize=16,color="black",shape="box"];31 -> 44[label="",style="solid", color="black", weight=3]; 13.19/5.21 32[label="List.insertBy0 (Neg ww400) primCmpInt (Neg (Succ ww300)) ww41 (Neg ww400 : ww41) (primCmpNat ww400 (Succ ww300))",fontsize=16,color="burlywood",shape="box"];682[label="ww400/Succ ww4000",fontsize=10,color="white",style="solid",shape="box"];32 -> 682[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 682 -> 45[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 683[label="ww400/Zero",fontsize=10,color="white",style="solid",shape="box"];32 -> 683[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 683 -> 46[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 33[label="List.insertBy0 (Pos (Succ ww4000)) primCmpInt (Neg Zero) ww41 (Pos (Succ ww4000) : ww41) (primCmpInt (Neg Zero) (Pos (Succ ww4000)))",fontsize=16,color="black",shape="box"];33 -> 47[label="",style="solid", color="black", weight=3]; 13.19/5.21 34[label="List.insertBy0 (Pos Zero) primCmpInt (Neg Zero) ww41 (Pos Zero : ww41) (primCmpInt (Neg Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];34 -> 48[label="",style="solid", color="black", weight=3]; 13.19/5.21 35[label="List.insertBy0 (Neg (Succ ww4000)) primCmpInt (Neg Zero) ww41 (Neg (Succ ww4000) : ww41) (primCmpInt (Neg Zero) (Neg (Succ ww4000)))",fontsize=16,color="black",shape="box"];35 -> 49[label="",style="solid", color="black", weight=3]; 13.19/5.21 36[label="List.insertBy0 (Neg Zero) primCmpInt (Neg Zero) ww41 (Neg Zero : ww41) (primCmpInt (Neg Zero) (Neg Zero))",fontsize=16,color="black",shape="box"];36 -> 50[label="",style="solid", color="black", weight=3]; 13.19/5.21 37[label="List.insertBy0 (Pos (Succ ww4000)) primCmpInt (Pos (Succ ww300)) ww41 (Pos (Succ ww4000) : ww41) (primCmpNat (Succ ww300) (Succ ww4000))",fontsize=16,color="black",shape="box"];37 -> 51[label="",style="solid", color="black", weight=3]; 13.19/5.21 38[label="List.insertBy0 (Pos Zero) primCmpInt (Pos (Succ ww300)) ww41 (Pos Zero : ww41) (primCmpNat (Succ ww300) Zero)",fontsize=16,color="black",shape="box"];38 -> 52[label="",style="solid", color="black", weight=3]; 13.19/5.21 39[label="Neg ww400 : List.insertBy primCmpInt (Pos (Succ ww300)) ww41",fontsize=16,color="green",shape="box"];39 -> 53[label="",style="dashed", color="green", weight=3]; 13.19/5.21 40[label="List.insertBy0 (Pos (Succ ww4000)) primCmpInt (Pos Zero) ww41 (Pos (Succ ww4000) : ww41) (primCmpNat Zero (Succ ww4000))",fontsize=16,color="black",shape="box"];40 -> 54[label="",style="solid", color="black", weight=3]; 13.19/5.21 41[label="List.insertBy0 (Pos Zero) primCmpInt (Pos Zero) ww41 (Pos Zero : ww41) EQ",fontsize=16,color="black",shape="box"];41 -> 55[label="",style="solid", color="black", weight=3]; 13.19/5.21 42[label="List.insertBy0 (Neg (Succ ww4000)) primCmpInt (Pos Zero) ww41 (Neg (Succ ww4000) : ww41) GT",fontsize=16,color="black",shape="box"];42 -> 56[label="",style="solid", color="black", weight=3]; 13.19/5.21 43[label="List.insertBy0 (Neg Zero) primCmpInt (Pos Zero) ww41 (Neg Zero : ww41) EQ",fontsize=16,color="black",shape="box"];43 -> 57[label="",style="solid", color="black", weight=3]; 13.19/5.21 44[label="Neg (Succ ww300) : Pos ww400 : ww41",fontsize=16,color="green",shape="box"];45[label="List.insertBy0 (Neg (Succ ww4000)) primCmpInt (Neg (Succ ww300)) ww41 (Neg (Succ ww4000) : ww41) (primCmpNat (Succ ww4000) (Succ ww300))",fontsize=16,color="black",shape="box"];45 -> 58[label="",style="solid", color="black", weight=3]; 13.19/5.21 46[label="List.insertBy0 (Neg Zero) primCmpInt (Neg (Succ ww300)) ww41 (Neg Zero : ww41) (primCmpNat Zero (Succ ww300))",fontsize=16,color="black",shape="box"];46 -> 59[label="",style="solid", color="black", weight=3]; 13.19/5.21 47[label="List.insertBy0 (Pos (Succ ww4000)) primCmpInt (Neg Zero) ww41 (Pos (Succ ww4000) : ww41) LT",fontsize=16,color="black",shape="box"];47 -> 60[label="",style="solid", color="black", weight=3]; 13.19/5.21 48[label="List.insertBy0 (Pos Zero) primCmpInt (Neg Zero) ww41 (Pos Zero : ww41) EQ",fontsize=16,color="black",shape="box"];48 -> 61[label="",style="solid", color="black", weight=3]; 13.19/5.21 49[label="List.insertBy0 (Neg (Succ ww4000)) primCmpInt (Neg Zero) ww41 (Neg (Succ ww4000) : ww41) (primCmpNat (Succ ww4000) Zero)",fontsize=16,color="black",shape="box"];49 -> 62[label="",style="solid", color="black", weight=3]; 13.19/5.21 50[label="List.insertBy0 (Neg Zero) primCmpInt (Neg Zero) ww41 (Neg Zero : ww41) EQ",fontsize=16,color="black",shape="box"];50 -> 63[label="",style="solid", color="black", weight=3]; 13.19/5.21 51 -> 511[label="",style="dashed", color="red", weight=0]; 13.19/5.21 51[label="List.insertBy0 (Pos (Succ ww4000)) primCmpInt (Pos (Succ ww300)) ww41 (Pos (Succ ww4000) : ww41) (primCmpNat ww300 ww4000)",fontsize=16,color="magenta"];51 -> 512[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 51 -> 513[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 51 -> 514[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 51 -> 515[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 51 -> 516[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 52[label="List.insertBy0 (Pos Zero) primCmpInt (Pos (Succ ww300)) ww41 (Pos Zero : ww41) GT",fontsize=16,color="black",shape="box"];52 -> 66[label="",style="solid", color="black", weight=3]; 13.19/5.21 53[label="List.insertBy primCmpInt (Pos (Succ ww300)) ww41",fontsize=16,color="burlywood",shape="triangle"];684[label="ww41/ww410 : ww411",fontsize=10,color="white",style="solid",shape="box"];53 -> 684[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 684 -> 67[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 685[label="ww41/[]",fontsize=10,color="white",style="solid",shape="box"];53 -> 685[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 685 -> 68[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 54[label="List.insertBy0 (Pos (Succ ww4000)) primCmpInt (Pos Zero) ww41 (Pos (Succ ww4000) : ww41) LT",fontsize=16,color="black",shape="box"];54 -> 69[label="",style="solid", color="black", weight=3]; 13.19/5.21 55[label="Pos Zero : Pos Zero : ww41",fontsize=16,color="green",shape="box"];56[label="Neg (Succ ww4000) : List.insertBy primCmpInt (Pos Zero) ww41",fontsize=16,color="green",shape="box"];56 -> 70[label="",style="dashed", color="green", weight=3]; 13.19/5.21 57[label="Pos Zero : Neg Zero : ww41",fontsize=16,color="green",shape="box"];58 -> 566[label="",style="dashed", color="red", weight=0]; 13.19/5.21 58[label="List.insertBy0 (Neg (Succ ww4000)) primCmpInt (Neg (Succ ww300)) ww41 (Neg (Succ ww4000) : ww41) (primCmpNat ww4000 ww300)",fontsize=16,color="magenta"];58 -> 567[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 58 -> 568[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 58 -> 569[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 58 -> 570[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 58 -> 571[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 59[label="List.insertBy0 (Neg Zero) primCmpInt (Neg (Succ ww300)) ww41 (Neg Zero : ww41) LT",fontsize=16,color="black",shape="box"];59 -> 73[label="",style="solid", color="black", weight=3]; 13.19/5.21 60[label="Neg Zero : Pos (Succ ww4000) : ww41",fontsize=16,color="green",shape="box"];61[label="Neg Zero : Pos Zero : ww41",fontsize=16,color="green",shape="box"];62[label="List.insertBy0 (Neg (Succ ww4000)) primCmpInt (Neg Zero) ww41 (Neg (Succ ww4000) : ww41) GT",fontsize=16,color="black",shape="box"];62 -> 74[label="",style="solid", color="black", weight=3]; 13.19/5.21 63[label="Neg Zero : Neg Zero : ww41",fontsize=16,color="green",shape="box"];512[label="ww4000",fontsize=16,color="green",shape="box"];513[label="ww300",fontsize=16,color="green",shape="box"];514[label="ww300",fontsize=16,color="green",shape="box"];515[label="ww4000",fontsize=16,color="green",shape="box"];516[label="ww41",fontsize=16,color="green",shape="box"];511[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) (primCmpNat ww62 ww63)",fontsize=16,color="burlywood",shape="triangle"];686[label="ww62/Succ ww620",fontsize=10,color="white",style="solid",shape="box"];511 -> 686[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 686 -> 562[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 687[label="ww62/Zero",fontsize=10,color="white",style="solid",shape="box"];511 -> 687[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 687 -> 563[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 66[label="Pos Zero : List.insertBy primCmpInt (Pos (Succ ww300)) ww41",fontsize=16,color="green",shape="box"];66 -> 79[label="",style="dashed", color="green", weight=3]; 13.19/5.21 67[label="List.insertBy primCmpInt (Pos (Succ ww300)) (ww410 : ww411)",fontsize=16,color="black",shape="box"];67 -> 80[label="",style="solid", color="black", weight=3]; 13.19/5.21 68[label="List.insertBy primCmpInt (Pos (Succ ww300)) []",fontsize=16,color="black",shape="box"];68 -> 81[label="",style="solid", color="black", weight=3]; 13.19/5.21 69[label="Pos Zero : Pos (Succ ww4000) : ww41",fontsize=16,color="green",shape="box"];70[label="List.insertBy primCmpInt (Pos Zero) ww41",fontsize=16,color="burlywood",shape="box"];688[label="ww41/ww410 : ww411",fontsize=10,color="white",style="solid",shape="box"];70 -> 688[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 688 -> 82[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 689[label="ww41/[]",fontsize=10,color="white",style="solid",shape="box"];70 -> 689[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 689 -> 83[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 567[label="ww300",fontsize=16,color="green",shape="box"];568[label="ww4000",fontsize=16,color="green",shape="box"];569[label="ww41",fontsize=16,color="green",shape="box"];570[label="ww4000",fontsize=16,color="green",shape="box"];571[label="ww300",fontsize=16,color="green",shape="box"];566[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) (primCmpNat ww68 ww69)",fontsize=16,color="burlywood",shape="triangle"];690[label="ww68/Succ ww680",fontsize=10,color="white",style="solid",shape="box"];566 -> 690[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 690 -> 617[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 691[label="ww68/Zero",fontsize=10,color="white",style="solid",shape="box"];566 -> 691[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 691 -> 618[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 73[label="Neg (Succ ww300) : Neg Zero : ww41",fontsize=16,color="green",shape="box"];74[label="Neg (Succ ww4000) : List.insertBy primCmpInt (Neg Zero) ww41",fontsize=16,color="green",shape="box"];74 -> 88[label="",style="dashed", color="green", weight=3]; 13.19/5.21 562[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) (primCmpNat (Succ ww620) ww63)",fontsize=16,color="burlywood",shape="box"];692[label="ww63/Succ ww630",fontsize=10,color="white",style="solid",shape="box"];562 -> 692[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 692 -> 619[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 693[label="ww63/Zero",fontsize=10,color="white",style="solid",shape="box"];562 -> 693[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 693 -> 620[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 563[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) (primCmpNat Zero ww63)",fontsize=16,color="burlywood",shape="box"];694[label="ww63/Succ ww630",fontsize=10,color="white",style="solid",shape="box"];563 -> 694[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 694 -> 621[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 695[label="ww63/Zero",fontsize=10,color="white",style="solid",shape="box"];563 -> 695[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 695 -> 622[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 79 -> 53[label="",style="dashed", color="red", weight=0]; 13.19/5.21 79[label="List.insertBy primCmpInt (Pos (Succ ww300)) ww41",fontsize=16,color="magenta"];80 -> 10[label="",style="dashed", color="red", weight=0]; 13.19/5.21 80[label="List.insertBy0 ww410 primCmpInt (Pos (Succ ww300)) ww411 (ww410 : ww411) (primCmpInt (Pos (Succ ww300)) ww410)",fontsize=16,color="magenta"];80 -> 93[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 80 -> 94[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 80 -> 95[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 81[label="Pos (Succ ww300) : []",fontsize=16,color="green",shape="box"];82[label="List.insertBy primCmpInt (Pos Zero) (ww410 : ww411)",fontsize=16,color="black",shape="box"];82 -> 96[label="",style="solid", color="black", weight=3]; 13.19/5.21 83[label="List.insertBy primCmpInt (Pos Zero) []",fontsize=16,color="black",shape="box"];83 -> 97[label="",style="solid", color="black", weight=3]; 13.19/5.21 617[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) (primCmpNat (Succ ww680) ww69)",fontsize=16,color="burlywood",shape="box"];696[label="ww69/Succ ww690",fontsize=10,color="white",style="solid",shape="box"];617 -> 696[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 696 -> 623[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 697[label="ww69/Zero",fontsize=10,color="white",style="solid",shape="box"];617 -> 697[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 697 -> 624[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 618[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) (primCmpNat Zero ww69)",fontsize=16,color="burlywood",shape="box"];698[label="ww69/Succ ww690",fontsize=10,color="white",style="solid",shape="box"];618 -> 698[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 698 -> 625[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 699[label="ww69/Zero",fontsize=10,color="white",style="solid",shape="box"];618 -> 699[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 699 -> 626[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 88[label="List.insertBy primCmpInt (Neg Zero) ww41",fontsize=16,color="burlywood",shape="box"];700[label="ww41/ww410 : ww411",fontsize=10,color="white",style="solid",shape="box"];88 -> 700[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 700 -> 102[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 701[label="ww41/[]",fontsize=10,color="white",style="solid",shape="box"];88 -> 701[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 701 -> 103[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 619[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) (primCmpNat (Succ ww620) (Succ ww630))",fontsize=16,color="black",shape="box"];619 -> 627[label="",style="solid", color="black", weight=3]; 13.19/5.21 620[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) (primCmpNat (Succ ww620) Zero)",fontsize=16,color="black",shape="box"];620 -> 628[label="",style="solid", color="black", weight=3]; 13.19/5.21 621[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) (primCmpNat Zero (Succ ww630))",fontsize=16,color="black",shape="box"];621 -> 629[label="",style="solid", color="black", weight=3]; 13.19/5.21 622[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) (primCmpNat Zero Zero)",fontsize=16,color="black",shape="box"];622 -> 630[label="",style="solid", color="black", weight=3]; 13.19/5.21 93[label="ww411",fontsize=16,color="green",shape="box"];94[label="ww410",fontsize=16,color="green",shape="box"];95[label="Pos (Succ ww300)",fontsize=16,color="green",shape="box"];96 -> 10[label="",style="dashed", color="red", weight=0]; 13.19/5.21 96[label="List.insertBy0 ww410 primCmpInt (Pos Zero) ww411 (ww410 : ww411) (primCmpInt (Pos Zero) ww410)",fontsize=16,color="magenta"];96 -> 109[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 96 -> 110[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 96 -> 111[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 97[label="Pos Zero : []",fontsize=16,color="green",shape="box"];623[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) (primCmpNat (Succ ww680) (Succ ww690))",fontsize=16,color="black",shape="box"];623 -> 631[label="",style="solid", color="black", weight=3]; 13.19/5.21 624[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) (primCmpNat (Succ ww680) Zero)",fontsize=16,color="black",shape="box"];624 -> 632[label="",style="solid", color="black", weight=3]; 13.19/5.21 625[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) (primCmpNat Zero (Succ ww690))",fontsize=16,color="black",shape="box"];625 -> 633[label="",style="solid", color="black", weight=3]; 13.19/5.21 626[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) (primCmpNat Zero Zero)",fontsize=16,color="black",shape="box"];626 -> 634[label="",style="solid", color="black", weight=3]; 13.19/5.21 102[label="List.insertBy primCmpInt (Neg Zero) (ww410 : ww411)",fontsize=16,color="black",shape="box"];102 -> 117[label="",style="solid", color="black", weight=3]; 13.19/5.21 103[label="List.insertBy primCmpInt (Neg Zero) []",fontsize=16,color="black",shape="box"];103 -> 118[label="",style="solid", color="black", weight=3]; 13.19/5.21 627 -> 511[label="",style="dashed", color="red", weight=0]; 13.19/5.21 627[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) (primCmpNat ww620 ww630)",fontsize=16,color="magenta"];627 -> 635[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 627 -> 636[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 628[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) GT",fontsize=16,color="black",shape="box"];628 -> 637[label="",style="solid", color="black", weight=3]; 13.19/5.21 629[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) LT",fontsize=16,color="black",shape="box"];629 -> 638[label="",style="solid", color="black", weight=3]; 13.19/5.21 630[label="List.insertBy0 (Pos (Succ ww59)) primCmpInt (Pos (Succ ww60)) ww61 (Pos (Succ ww59) : ww61) EQ",fontsize=16,color="black",shape="box"];630 -> 639[label="",style="solid", color="black", weight=3]; 13.19/5.21 109[label="ww411",fontsize=16,color="green",shape="box"];110[label="ww410",fontsize=16,color="green",shape="box"];111[label="Pos Zero",fontsize=16,color="green",shape="box"];631 -> 566[label="",style="dashed", color="red", weight=0]; 13.19/5.21 631[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) (primCmpNat ww680 ww690)",fontsize=16,color="magenta"];631 -> 640[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 631 -> 641[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 632[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) GT",fontsize=16,color="black",shape="box"];632 -> 642[label="",style="solid", color="black", weight=3]; 13.19/5.21 633[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) LT",fontsize=16,color="black",shape="box"];633 -> 643[label="",style="solid", color="black", weight=3]; 13.19/5.21 634[label="List.insertBy0 (Neg (Succ ww65)) primCmpInt (Neg (Succ ww66)) ww67 (Neg (Succ ww65) : ww67) EQ",fontsize=16,color="black",shape="box"];634 -> 644[label="",style="solid", color="black", weight=3]; 13.19/5.21 117 -> 10[label="",style="dashed", color="red", weight=0]; 13.19/5.21 117[label="List.insertBy0 ww410 primCmpInt (Neg Zero) ww411 (ww410 : ww411) (primCmpInt (Neg Zero) ww410)",fontsize=16,color="magenta"];117 -> 129[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 117 -> 130[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 117 -> 131[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 118[label="Neg Zero : []",fontsize=16,color="green",shape="box"];635[label="ww630",fontsize=16,color="green",shape="box"];636[label="ww620",fontsize=16,color="green",shape="box"];637[label="Pos (Succ ww59) : List.insertBy primCmpInt (Pos (Succ ww60)) ww61",fontsize=16,color="green",shape="box"];637 -> 645[label="",style="dashed", color="green", weight=3]; 13.19/5.21 638[label="Pos (Succ ww60) : Pos (Succ ww59) : ww61",fontsize=16,color="green",shape="box"];639[label="Pos (Succ ww60) : Pos (Succ ww59) : ww61",fontsize=16,color="green",shape="box"];640[label="ww680",fontsize=16,color="green",shape="box"];641[label="ww690",fontsize=16,color="green",shape="box"];642[label="Neg (Succ ww65) : List.insertBy primCmpInt (Neg (Succ ww66)) ww67",fontsize=16,color="green",shape="box"];642 -> 646[label="",style="dashed", color="green", weight=3]; 13.19/5.21 643[label="Neg (Succ ww66) : Neg (Succ ww65) : ww67",fontsize=16,color="green",shape="box"];644[label="Neg (Succ ww66) : Neg (Succ ww65) : ww67",fontsize=16,color="green",shape="box"];129[label="ww411",fontsize=16,color="green",shape="box"];130[label="ww410",fontsize=16,color="green",shape="box"];131[label="Neg Zero",fontsize=16,color="green",shape="box"];645 -> 53[label="",style="dashed", color="red", weight=0]; 13.19/5.21 645[label="List.insertBy primCmpInt (Pos (Succ ww60)) ww61",fontsize=16,color="magenta"];645 -> 647[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 645 -> 648[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 646[label="List.insertBy primCmpInt (Neg (Succ ww66)) ww67",fontsize=16,color="burlywood",shape="box"];702[label="ww67/ww670 : ww671",fontsize=10,color="white",style="solid",shape="box"];646 -> 702[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 702 -> 649[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 703[label="ww67/[]",fontsize=10,color="white",style="solid",shape="box"];646 -> 703[label="",style="solid", color="burlywood", weight=9]; 13.19/5.21 703 -> 650[label="",style="solid", color="burlywood", weight=3]; 13.19/5.21 647[label="ww61",fontsize=16,color="green",shape="box"];648[label="ww60",fontsize=16,color="green",shape="box"];649[label="List.insertBy primCmpInt (Neg (Succ ww66)) (ww670 : ww671)",fontsize=16,color="black",shape="box"];649 -> 651[label="",style="solid", color="black", weight=3]; 13.19/5.21 650[label="List.insertBy primCmpInt (Neg (Succ ww66)) []",fontsize=16,color="black",shape="box"];650 -> 652[label="",style="solid", color="black", weight=3]; 13.19/5.21 651 -> 10[label="",style="dashed", color="red", weight=0]; 13.19/5.21 651[label="List.insertBy0 ww670 primCmpInt (Neg (Succ ww66)) ww671 (ww670 : ww671) (primCmpInt (Neg (Succ ww66)) ww670)",fontsize=16,color="magenta"];651 -> 653[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 651 -> 654[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 651 -> 655[label="",style="dashed", color="magenta", weight=3]; 13.19/5.21 652[label="Neg (Succ ww66) : []",fontsize=16,color="green",shape="box"];653[label="ww671",fontsize=16,color="green",shape="box"];654[label="ww670",fontsize=16,color="green",shape="box"];655[label="Neg (Succ ww66)",fontsize=16,color="green",shape="box"];} 13.19/5.21 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (8) 13.19/5.21 Obligation: 13.19/5.21 Q DP problem: 13.19/5.21 The TRS P consists of the following rules: 13.19/5.21 13.19/5.21 new_insertBy00(Pos(Zero), Pos(Succ(ww300)), ww41) -> new_insertBy(ww300, ww41) 13.19/5.21 new_insertBy01(ww65, ww66, :(ww670, ww671), Succ(ww680), Zero) -> new_insertBy00(ww670, Neg(Succ(ww66)), ww671) 13.19/5.21 new_insertBy01(ww65, ww66, ww67, Succ(ww680), Succ(ww690)) -> new_insertBy01(ww65, ww66, ww67, ww680, ww690) 13.19/5.21 new_insertBy(ww300, :(ww410, ww411)) -> new_insertBy00(ww410, Pos(Succ(ww300)), ww411) 13.19/5.21 new_insertBy0(ww59, ww60, ww61, Succ(ww620), Succ(ww630)) -> new_insertBy0(ww59, ww60, ww61, ww620, ww630) 13.19/5.21 new_insertBy00(Neg(ww400), Pos(Succ(ww300)), :(ww410, ww411)) -> new_insertBy00(ww410, Pos(Succ(ww300)), ww411) 13.19/5.21 new_insertBy0(ww59, ww60, ww61, Succ(ww620), Zero) -> new_insertBy(ww60, ww61) 13.19/5.21 new_insertBy00(Neg(Succ(ww4000)), Pos(Zero), :(ww410, ww411)) -> new_insertBy00(ww410, Pos(Zero), ww411) 13.19/5.21 new_insertBy00(Neg(Succ(ww4000)), Neg(Succ(ww300)), ww41) -> new_insertBy01(ww4000, ww300, ww41, ww4000, ww300) 13.19/5.21 new_insertBy00(Neg(Succ(ww4000)), Neg(Zero), :(ww410, ww411)) -> new_insertBy00(ww410, Neg(Zero), ww411) 13.19/5.21 new_insertBy00(Pos(Succ(ww4000)), Pos(Succ(ww300)), ww41) -> new_insertBy0(ww4000, ww300, ww41, ww300, ww4000) 13.19/5.21 13.19/5.21 R is empty. 13.19/5.21 Q is empty. 13.19/5.21 We have to consider all minimal (P,Q,R)-chains. 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (9) DependencyGraphProof (EQUIVALENT) 13.19/5.21 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 4 SCCs. 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (10) 13.19/5.21 Complex Obligation (AND) 13.19/5.21 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (11) 13.19/5.21 Obligation: 13.19/5.21 Q DP problem: 13.19/5.21 The TRS P consists of the following rules: 13.19/5.21 13.19/5.21 new_insertBy00(Neg(Succ(ww4000)), Neg(Zero), :(ww410, ww411)) -> new_insertBy00(ww410, Neg(Zero), ww411) 13.19/5.21 13.19/5.21 R is empty. 13.19/5.21 Q is empty. 13.19/5.21 We have to consider all minimal (P,Q,R)-chains. 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (12) QDPSizeChangeProof (EQUIVALENT) 13.19/5.21 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 13.19/5.21 13.19/5.21 From the DPs we obtained the following set of size-change graphs: 13.19/5.21 *new_insertBy00(Neg(Succ(ww4000)), Neg(Zero), :(ww410, ww411)) -> new_insertBy00(ww410, Neg(Zero), ww411) 13.19/5.21 The graph contains the following edges 3 > 1, 2 >= 2, 3 > 3 13.19/5.21 13.19/5.21 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (13) 13.19/5.21 YES 13.19/5.21 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (14) 13.19/5.21 Obligation: 13.19/5.21 Q DP problem: 13.19/5.21 The TRS P consists of the following rules: 13.19/5.21 13.19/5.21 new_insertBy00(Neg(Succ(ww4000)), Pos(Zero), :(ww410, ww411)) -> new_insertBy00(ww410, Pos(Zero), ww411) 13.19/5.21 13.19/5.21 R is empty. 13.19/5.21 Q is empty. 13.19/5.21 We have to consider all minimal (P,Q,R)-chains. 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (15) QDPSizeChangeProof (EQUIVALENT) 13.19/5.21 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 13.19/5.21 13.19/5.21 From the DPs we obtained the following set of size-change graphs: 13.19/5.21 *new_insertBy00(Neg(Succ(ww4000)), Pos(Zero), :(ww410, ww411)) -> new_insertBy00(ww410, Pos(Zero), ww411) 13.19/5.21 The graph contains the following edges 3 > 1, 2 >= 2, 3 > 3 13.19/5.21 13.19/5.21 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (16) 13.19/5.21 YES 13.19/5.21 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (17) 13.19/5.21 Obligation: 13.19/5.21 Q DP problem: 13.19/5.21 The TRS P consists of the following rules: 13.19/5.21 13.19/5.21 new_insertBy00(Neg(Succ(ww4000)), Neg(Succ(ww300)), ww41) -> new_insertBy01(ww4000, ww300, ww41, ww4000, ww300) 13.19/5.21 new_insertBy01(ww65, ww66, :(ww670, ww671), Succ(ww680), Zero) -> new_insertBy00(ww670, Neg(Succ(ww66)), ww671) 13.19/5.21 new_insertBy01(ww65, ww66, ww67, Succ(ww680), Succ(ww690)) -> new_insertBy01(ww65, ww66, ww67, ww680, ww690) 13.19/5.21 13.19/5.21 R is empty. 13.19/5.21 Q is empty. 13.19/5.21 We have to consider all minimal (P,Q,R)-chains. 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (18) QDPSizeChangeProof (EQUIVALENT) 13.19/5.21 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 13.19/5.21 13.19/5.21 From the DPs we obtained the following set of size-change graphs: 13.19/5.21 *new_insertBy01(ww65, ww66, :(ww670, ww671), Succ(ww680), Zero) -> new_insertBy00(ww670, Neg(Succ(ww66)), ww671) 13.19/5.21 The graph contains the following edges 3 > 1, 3 > 3 13.19/5.21 13.19/5.21 13.19/5.21 *new_insertBy01(ww65, ww66, ww67, Succ(ww680), Succ(ww690)) -> new_insertBy01(ww65, ww66, ww67, ww680, ww690) 13.19/5.21 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 > 5 13.19/5.21 13.19/5.21 13.19/5.21 *new_insertBy00(Neg(Succ(ww4000)), Neg(Succ(ww300)), ww41) -> new_insertBy01(ww4000, ww300, ww41, ww4000, ww300) 13.19/5.21 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3, 1 > 4, 2 > 5 13.19/5.21 13.19/5.21 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (19) 13.19/5.21 YES 13.19/5.21 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (20) 13.19/5.21 Obligation: 13.19/5.21 Q DP problem: 13.19/5.21 The TRS P consists of the following rules: 13.19/5.21 13.19/5.21 new_insertBy(ww300, :(ww410, ww411)) -> new_insertBy00(ww410, Pos(Succ(ww300)), ww411) 13.19/5.21 new_insertBy00(Pos(Zero), Pos(Succ(ww300)), ww41) -> new_insertBy(ww300, ww41) 13.19/5.21 new_insertBy00(Neg(ww400), Pos(Succ(ww300)), :(ww410, ww411)) -> new_insertBy00(ww410, Pos(Succ(ww300)), ww411) 13.19/5.21 new_insertBy00(Pos(Succ(ww4000)), Pos(Succ(ww300)), ww41) -> new_insertBy0(ww4000, ww300, ww41, ww300, ww4000) 13.19/5.21 new_insertBy0(ww59, ww60, ww61, Succ(ww620), Succ(ww630)) -> new_insertBy0(ww59, ww60, ww61, ww620, ww630) 13.19/5.21 new_insertBy0(ww59, ww60, ww61, Succ(ww620), Zero) -> new_insertBy(ww60, ww61) 13.19/5.21 13.19/5.21 R is empty. 13.19/5.21 Q is empty. 13.19/5.21 We have to consider all minimal (P,Q,R)-chains. 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (21) QDPSizeChangeProof (EQUIVALENT) 13.19/5.21 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 13.19/5.21 13.19/5.21 From the DPs we obtained the following set of size-change graphs: 13.19/5.21 *new_insertBy00(Pos(Zero), Pos(Succ(ww300)), ww41) -> new_insertBy(ww300, ww41) 13.19/5.21 The graph contains the following edges 2 > 1, 3 >= 2 13.19/5.21 13.19/5.21 13.19/5.21 *new_insertBy0(ww59, ww60, ww61, Succ(ww620), Zero) -> new_insertBy(ww60, ww61) 13.19/5.21 The graph contains the following edges 2 >= 1, 3 >= 2 13.19/5.21 13.19/5.21 13.19/5.21 *new_insertBy00(Neg(ww400), Pos(Succ(ww300)), :(ww410, ww411)) -> new_insertBy00(ww410, Pos(Succ(ww300)), ww411) 13.19/5.21 The graph contains the following edges 3 > 1, 2 >= 2, 3 > 3 13.19/5.21 13.19/5.21 13.19/5.21 *new_insertBy00(Pos(Succ(ww4000)), Pos(Succ(ww300)), ww41) -> new_insertBy0(ww4000, ww300, ww41, ww300, ww4000) 13.19/5.21 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3, 2 > 4, 1 > 5 13.19/5.21 13.19/5.21 13.19/5.21 *new_insertBy(ww300, :(ww410, ww411)) -> new_insertBy00(ww410, Pos(Succ(ww300)), ww411) 13.19/5.21 The graph contains the following edges 2 > 1, 2 > 3 13.19/5.21 13.19/5.21 13.19/5.21 *new_insertBy0(ww59, ww60, ww61, Succ(ww620), Succ(ww630)) -> new_insertBy0(ww59, ww60, ww61, ww620, ww630) 13.19/5.21 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 > 5 13.19/5.21 13.19/5.21 13.19/5.21 ---------------------------------------- 13.19/5.21 13.19/5.21 (22) 13.19/5.21 YES 13.40/5.25 EOF