9.74/4.83 YES 11.65/5.38 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 11.65/5.38 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 11.65/5.38 11.65/5.38 11.65/5.38 H-Termination with start terms of the given HASKELL could be proven: 11.65/5.38 11.65/5.38 (0) HASKELL 11.65/5.38 (1) BR [EQUIVALENT, 0 ms] 11.65/5.38 (2) HASKELL 11.65/5.38 (3) COR [EQUIVALENT, 0 ms] 11.65/5.38 (4) HASKELL 11.65/5.38 (5) Narrow [SOUND, 0 ms] 11.65/5.38 (6) AND 11.65/5.38 (7) QDP 11.65/5.38 (8) DependencyGraphProof [EQUIVALENT, 0 ms] 11.65/5.38 (9) AND 11.65/5.38 (10) QDP 11.65/5.38 (11) TransformationProof [EQUIVALENT, 0 ms] 11.65/5.38 (12) QDP 11.65/5.38 (13) UsableRulesProof [EQUIVALENT, 0 ms] 11.65/5.38 (14) QDP 11.65/5.38 (15) QReductionProof [EQUIVALENT, 0 ms] 11.65/5.38 (16) QDP 11.65/5.38 (17) TransformationProof [EQUIVALENT, 1 ms] 11.65/5.38 (18) QDP 11.65/5.38 (19) UsableRulesProof [EQUIVALENT, 0 ms] 11.65/5.38 (20) QDP 11.65/5.38 (21) QReductionProof [EQUIVALENT, 0 ms] 11.65/5.38 (22) QDP 11.65/5.38 (23) TransformationProof [EQUIVALENT, 0 ms] 11.65/5.38 (24) QDP 11.65/5.38 (25) TransformationProof [EQUIVALENT, 0 ms] 11.65/5.38 (26) QDP 11.65/5.38 (27) DependencyGraphProof [EQUIVALENT, 0 ms] 11.65/5.38 (28) QDP 11.65/5.38 (29) UsableRulesProof [EQUIVALENT, 0 ms] 11.65/5.38 (30) QDP 11.65/5.38 (31) QReductionProof [EQUIVALENT, 0 ms] 11.65/5.38 (32) QDP 11.65/5.38 (33) TransformationProof [EQUIVALENT, 0 ms] 11.65/5.38 (34) QDP 11.65/5.38 (35) UsableRulesProof [EQUIVALENT, 0 ms] 11.65/5.38 (36) QDP 11.65/5.38 (37) QReductionProof [EQUIVALENT, 0 ms] 11.65/5.38 (38) QDP 11.65/5.38 (39) QDPSizeChangeProof [EQUIVALENT, 0 ms] 11.65/5.38 (40) YES 11.65/5.38 (41) QDP 11.65/5.38 (42) QDPOrderProof [EQUIVALENT, 31 ms] 11.65/5.38 (43) QDP 11.65/5.38 (44) DependencyGraphProof [EQUIVALENT, 0 ms] 11.65/5.38 (45) QDP 11.65/5.38 (46) QDPSizeChangeProof [EQUIVALENT, 0 ms] 11.65/5.38 (47) YES 11.65/5.38 (48) QDP 11.65/5.38 (49) DependencyGraphProof [EQUIVALENT, 0 ms] 11.65/5.38 (50) AND 11.65/5.38 (51) QDP 11.65/5.38 (52) MRRProof [EQUIVALENT, 0 ms] 11.65/5.38 (53) QDP 11.65/5.38 (54) PisEmptyProof [EQUIVALENT, 0 ms] 11.65/5.38 (55) YES 11.65/5.38 (56) QDP 11.65/5.38 (57) QDPOrderProof [EQUIVALENT, 0 ms] 11.65/5.38 (58) QDP 11.65/5.38 (59) DependencyGraphProof [EQUIVALENT, 0 ms] 11.65/5.38 (60) QDP 11.65/5.38 (61) QDPSizeChangeProof [EQUIVALENT, 0 ms] 11.65/5.38 (62) YES 11.65/5.38 (63) QDP 11.65/5.38 (64) QDPSizeChangeProof [EQUIVALENT, 0 ms] 11.65/5.38 (65) YES 11.65/5.38 11.65/5.38 11.65/5.38 ---------------------------------------- 11.65/5.38 11.65/5.38 (0) 11.65/5.38 Obligation: 11.65/5.38 mainModule Main 11.65/5.38 module Main where { 11.65/5.38 import qualified Prelude; 11.65/5.38 data MyBool = MyTrue | MyFalse ; 11.65/5.38 11.65/5.38 data MyInt = Pos Main.Nat | Neg Main.Nat ; 11.65/5.38 11.65/5.38 data Main.Nat = Succ Main.Nat | Zero ; 11.65/5.38 11.65/5.38 data Tup2 b a = Tup2 b a ; 11.65/5.38 11.65/5.38 error :: a; 11.65/5.38 error = stop MyTrue; 11.65/5.38 11.65/5.38 primDivNatS :: Main.Nat -> Main.Nat -> Main.Nat; 11.65/5.38 primDivNatS Main.Zero Main.Zero = Main.error; 11.65/5.38 primDivNatS (Main.Succ x) Main.Zero = Main.error; 11.65/5.38 primDivNatS (Main.Succ x) (Main.Succ y) = primDivNatS0 x y (primGEqNatS x y); 11.65/5.38 primDivNatS Main.Zero (Main.Succ x) = Main.Zero; 11.65/5.38 11.65/5.38 primDivNatS0 x y MyTrue = Main.Succ (primDivNatS (primMinusNatS x y) (Main.Succ y)); 11.65/5.38 primDivNatS0 x y MyFalse = Main.Zero; 11.65/5.38 11.65/5.38 primGEqNatS :: Main.Nat -> Main.Nat -> MyBool; 11.65/5.38 primGEqNatS (Main.Succ x) Main.Zero = MyTrue; 11.65/5.38 primGEqNatS (Main.Succ x) (Main.Succ y) = primGEqNatS x y; 11.65/5.38 primGEqNatS Main.Zero (Main.Succ x) = MyFalse; 11.65/5.38 primGEqNatS Main.Zero Main.Zero = MyTrue; 11.65/5.38 11.65/5.38 primMinusNatS :: Main.Nat -> Main.Nat -> Main.Nat; 11.65/5.38 primMinusNatS (Main.Succ x) (Main.Succ y) = primMinusNatS x y; 11.65/5.38 primMinusNatS Main.Zero (Main.Succ y) = Main.Zero; 11.65/5.38 primMinusNatS x Main.Zero = x; 11.65/5.38 11.65/5.38 primModNatS :: Main.Nat -> Main.Nat -> Main.Nat; 11.65/5.38 primModNatS Main.Zero Main.Zero = Main.error; 11.65/5.38 primModNatS Main.Zero (Main.Succ x) = Main.Zero; 11.65/5.38 primModNatS (Main.Succ x) Main.Zero = Main.error; 11.65/5.38 primModNatS (Main.Succ x) (Main.Succ Main.Zero) = Main.Zero; 11.65/5.38 primModNatS (Main.Succ x) (Main.Succ (Main.Succ y)) = primModNatS0 x y (primGEqNatS x (Main.Succ y)); 11.65/5.38 11.65/5.38 primModNatS0 x y MyTrue = primModNatS (primMinusNatS x (Main.Succ y)) (Main.Succ (Main.Succ y)); 11.65/5.38 primModNatS0 x y MyFalse = Main.Succ x; 11.65/5.38 11.65/5.38 primQrmInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; 11.65/5.38 primQrmInt x y = Tup2 (primQuotInt x y) (primRemInt x y); 11.65/5.38 11.65/5.38 primQuotInt :: MyInt -> MyInt -> MyInt; 11.65/5.38 primQuotInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 11.65/5.38 primQuotInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 11.65/5.38 primQuotInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 11.65/5.38 primQuotInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 11.65/5.38 primQuotInt vx vy = Main.error; 11.65/5.38 11.65/5.38 primRemInt :: MyInt -> MyInt -> MyInt; 11.65/5.38 primRemInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); 11.65/5.38 primRemInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); 11.65/5.38 primRemInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); 11.65/5.38 primRemInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); 11.65/5.38 primRemInt vv vw = Main.error; 11.65/5.38 11.65/5.38 quotRemMyInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; 11.65/5.38 quotRemMyInt = primQrmInt; 11.65/5.38 11.65/5.38 stop :: MyBool -> a; 11.65/5.38 stop MyFalse = stop MyFalse; 11.65/5.38 11.65/5.38 } 11.65/5.38 11.65/5.38 ---------------------------------------- 11.65/5.38 11.65/5.38 (1) BR (EQUIVALENT) 11.65/5.38 Replaced joker patterns by fresh variables and removed binding patterns. 11.65/5.38 ---------------------------------------- 11.65/5.38 11.65/5.38 (2) 11.65/5.38 Obligation: 11.65/5.38 mainModule Main 11.65/5.38 module Main where { 11.65/5.38 import qualified Prelude; 11.65/5.38 data MyBool = MyTrue | MyFalse ; 11.65/5.38 11.65/5.38 data MyInt = Pos Main.Nat | Neg Main.Nat ; 11.65/5.38 11.65/5.38 data Main.Nat = Succ Main.Nat | Zero ; 11.65/5.38 11.65/5.38 data Tup2 a b = Tup2 a b ; 11.65/5.38 11.65/5.38 error :: a; 11.65/5.38 error = stop MyTrue; 11.65/5.38 11.65/5.38 primDivNatS :: Main.Nat -> Main.Nat -> Main.Nat; 11.65/5.38 primDivNatS Main.Zero Main.Zero = Main.error; 11.65/5.38 primDivNatS (Main.Succ x) Main.Zero = Main.error; 11.65/5.38 primDivNatS (Main.Succ x) (Main.Succ y) = primDivNatS0 x y (primGEqNatS x y); 11.65/5.38 primDivNatS Main.Zero (Main.Succ x) = Main.Zero; 11.65/5.38 11.65/5.38 primDivNatS0 x y MyTrue = Main.Succ (primDivNatS (primMinusNatS x y) (Main.Succ y)); 11.65/5.39 primDivNatS0 x y MyFalse = Main.Zero; 11.65/5.39 11.65/5.39 primGEqNatS :: Main.Nat -> Main.Nat -> MyBool; 11.65/5.39 primGEqNatS (Main.Succ x) Main.Zero = MyTrue; 11.65/5.39 primGEqNatS (Main.Succ x) (Main.Succ y) = primGEqNatS x y; 11.65/5.39 primGEqNatS Main.Zero (Main.Succ x) = MyFalse; 11.65/5.39 primGEqNatS Main.Zero Main.Zero = MyTrue; 11.65/5.39 11.65/5.39 primMinusNatS :: Main.Nat -> Main.Nat -> Main.Nat; 11.65/5.39 primMinusNatS (Main.Succ x) (Main.Succ y) = primMinusNatS x y; 11.65/5.39 primMinusNatS Main.Zero (Main.Succ y) = Main.Zero; 11.65/5.39 primMinusNatS x Main.Zero = x; 11.65/5.39 11.65/5.39 primModNatS :: Main.Nat -> Main.Nat -> Main.Nat; 11.65/5.39 primModNatS Main.Zero Main.Zero = Main.error; 11.65/5.39 primModNatS Main.Zero (Main.Succ x) = Main.Zero; 11.65/5.39 primModNatS (Main.Succ x) Main.Zero = Main.error; 11.65/5.39 primModNatS (Main.Succ x) (Main.Succ Main.Zero) = Main.Zero; 11.65/5.39 primModNatS (Main.Succ x) (Main.Succ (Main.Succ y)) = primModNatS0 x y (primGEqNatS x (Main.Succ y)); 11.65/5.39 11.65/5.39 primModNatS0 x y MyTrue = primModNatS (primMinusNatS x (Main.Succ y)) (Main.Succ (Main.Succ y)); 11.65/5.39 primModNatS0 x y MyFalse = Main.Succ x; 11.65/5.39 11.65/5.39 primQrmInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; 11.65/5.39 primQrmInt x y = Tup2 (primQuotInt x y) (primRemInt x y); 11.65/5.39 11.65/5.39 primQuotInt :: MyInt -> MyInt -> MyInt; 11.65/5.39 primQuotInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 11.65/5.39 primQuotInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 11.65/5.39 primQuotInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 11.65/5.39 primQuotInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 11.65/5.39 primQuotInt vx vy = Main.error; 11.65/5.39 11.65/5.39 primRemInt :: MyInt -> MyInt -> MyInt; 11.65/5.39 primRemInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); 11.65/5.39 primRemInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); 11.65/5.39 primRemInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); 11.65/5.39 primRemInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); 11.65/5.39 primRemInt vv vw = Main.error; 11.65/5.39 11.65/5.39 quotRemMyInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; 11.65/5.39 quotRemMyInt = primQrmInt; 11.65/5.39 11.65/5.39 stop :: MyBool -> a; 11.65/5.39 stop MyFalse = stop MyFalse; 11.65/5.39 11.65/5.39 } 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (3) COR (EQUIVALENT) 11.65/5.39 Cond Reductions: 11.65/5.39 The following Function with conditions 11.65/5.39 "undefined |Falseundefined; 11.65/5.39 " 11.65/5.39 is transformed to 11.65/5.39 "undefined = undefined1; 11.65/5.39 " 11.65/5.39 "undefined0 True = undefined; 11.65/5.39 " 11.65/5.39 "undefined1 = undefined0 False; 11.65/5.39 " 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (4) 11.65/5.39 Obligation: 11.65/5.39 mainModule Main 11.65/5.39 module Main where { 11.65/5.39 import qualified Prelude; 11.65/5.39 data MyBool = MyTrue | MyFalse ; 11.65/5.39 11.65/5.39 data MyInt = Pos Main.Nat | Neg Main.Nat ; 11.65/5.39 11.65/5.39 data Main.Nat = Succ Main.Nat | Zero ; 11.65/5.39 11.65/5.39 data Tup2 a b = Tup2 a b ; 11.65/5.39 11.65/5.39 error :: a; 11.65/5.39 error = stop MyTrue; 11.65/5.39 11.65/5.39 primDivNatS :: Main.Nat -> Main.Nat -> Main.Nat; 11.65/5.39 primDivNatS Main.Zero Main.Zero = Main.error; 11.65/5.39 primDivNatS (Main.Succ x) Main.Zero = Main.error; 11.65/5.39 primDivNatS (Main.Succ x) (Main.Succ y) = primDivNatS0 x y (primGEqNatS x y); 11.65/5.39 primDivNatS Main.Zero (Main.Succ x) = Main.Zero; 11.65/5.39 11.65/5.39 primDivNatS0 x y MyTrue = Main.Succ (primDivNatS (primMinusNatS x y) (Main.Succ y)); 11.65/5.39 primDivNatS0 x y MyFalse = Main.Zero; 11.65/5.39 11.65/5.39 primGEqNatS :: Main.Nat -> Main.Nat -> MyBool; 11.65/5.39 primGEqNatS (Main.Succ x) Main.Zero = MyTrue; 11.65/5.39 primGEqNatS (Main.Succ x) (Main.Succ y) = primGEqNatS x y; 11.65/5.39 primGEqNatS Main.Zero (Main.Succ x) = MyFalse; 11.65/5.39 primGEqNatS Main.Zero Main.Zero = MyTrue; 11.65/5.39 11.65/5.39 primMinusNatS :: Main.Nat -> Main.Nat -> Main.Nat; 11.65/5.39 primMinusNatS (Main.Succ x) (Main.Succ y) = primMinusNatS x y; 11.65/5.39 primMinusNatS Main.Zero (Main.Succ y) = Main.Zero; 11.65/5.39 primMinusNatS x Main.Zero = x; 11.65/5.39 11.65/5.39 primModNatS :: Main.Nat -> Main.Nat -> Main.Nat; 11.65/5.39 primModNatS Main.Zero Main.Zero = Main.error; 11.65/5.39 primModNatS Main.Zero (Main.Succ x) = Main.Zero; 11.65/5.39 primModNatS (Main.Succ x) Main.Zero = Main.error; 11.65/5.39 primModNatS (Main.Succ x) (Main.Succ Main.Zero) = Main.Zero; 11.65/5.39 primModNatS (Main.Succ x) (Main.Succ (Main.Succ y)) = primModNatS0 x y (primGEqNatS x (Main.Succ y)); 11.65/5.39 11.65/5.39 primModNatS0 x y MyTrue = primModNatS (primMinusNatS x (Main.Succ y)) (Main.Succ (Main.Succ y)); 11.65/5.39 primModNatS0 x y MyFalse = Main.Succ x; 11.65/5.39 11.65/5.39 primQrmInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; 11.65/5.39 primQrmInt x y = Tup2 (primQuotInt x y) (primRemInt x y); 11.65/5.39 11.65/5.39 primQuotInt :: MyInt -> MyInt -> MyInt; 11.65/5.39 primQuotInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 11.65/5.39 primQuotInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 11.65/5.39 primQuotInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 11.65/5.39 primQuotInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 11.65/5.39 primQuotInt vx vy = Main.error; 11.65/5.39 11.65/5.39 primRemInt :: MyInt -> MyInt -> MyInt; 11.65/5.39 primRemInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); 11.65/5.39 primRemInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); 11.65/5.39 primRemInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); 11.65/5.39 primRemInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); 11.65/5.39 primRemInt vv vw = Main.error; 11.65/5.39 11.65/5.39 quotRemMyInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; 11.65/5.39 quotRemMyInt = primQrmInt; 11.65/5.39 11.65/5.39 stop :: MyBool -> a; 11.65/5.39 stop MyFalse = stop MyFalse; 11.65/5.39 11.65/5.39 } 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (5) Narrow (SOUND) 11.65/5.39 Haskell To QDPs 11.65/5.39 11.65/5.39 digraph dp_graph { 11.65/5.39 node [outthreshold=100, inthreshold=100];1[label="quotRemMyInt",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 11.65/5.39 3[label="quotRemMyInt wv3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 11.65/5.39 4[label="quotRemMyInt wv3 wv4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 11.65/5.39 5[label="primQrmInt wv3 wv4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 11.65/5.39 6[label="Tup2 (primQuotInt wv3 wv4) (primRemInt wv3 wv4)",fontsize=16,color="green",shape="box"];6 -> 7[label="",style="dashed", color="green", weight=3]; 11.65/5.39 6 -> 8[label="",style="dashed", color="green", weight=3]; 11.65/5.39 7[label="primQuotInt wv3 wv4",fontsize=16,color="burlywood",shape="box"];659[label="wv3/Pos wv30",fontsize=10,color="white",style="solid",shape="box"];7 -> 659[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 659 -> 9[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 660[label="wv3/Neg wv30",fontsize=10,color="white",style="solid",shape="box"];7 -> 660[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 660 -> 10[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 8[label="primRemInt wv3 wv4",fontsize=16,color="burlywood",shape="box"];661[label="wv3/Pos wv30",fontsize=10,color="white",style="solid",shape="box"];8 -> 661[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 661 -> 11[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 662[label="wv3/Neg wv30",fontsize=10,color="white",style="solid",shape="box"];8 -> 662[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 662 -> 12[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 9[label="primQuotInt (Pos wv30) wv4",fontsize=16,color="burlywood",shape="box"];663[label="wv4/Pos wv40",fontsize=10,color="white",style="solid",shape="box"];9 -> 663[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 663 -> 13[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 664[label="wv4/Neg wv40",fontsize=10,color="white",style="solid",shape="box"];9 -> 664[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 664 -> 14[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 10[label="primQuotInt (Neg wv30) wv4",fontsize=16,color="burlywood",shape="box"];665[label="wv4/Pos wv40",fontsize=10,color="white",style="solid",shape="box"];10 -> 665[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 665 -> 15[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 666[label="wv4/Neg wv40",fontsize=10,color="white",style="solid",shape="box"];10 -> 666[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 666 -> 16[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 11[label="primRemInt (Pos wv30) wv4",fontsize=16,color="burlywood",shape="box"];667[label="wv4/Pos wv40",fontsize=10,color="white",style="solid",shape="box"];11 -> 667[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 667 -> 17[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 668[label="wv4/Neg wv40",fontsize=10,color="white",style="solid",shape="box"];11 -> 668[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 668 -> 18[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 12[label="primRemInt (Neg wv30) wv4",fontsize=16,color="burlywood",shape="box"];669[label="wv4/Pos wv40",fontsize=10,color="white",style="solid",shape="box"];12 -> 669[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 669 -> 19[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 670[label="wv4/Neg wv40",fontsize=10,color="white",style="solid",shape="box"];12 -> 670[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 670 -> 20[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 13[label="primQuotInt (Pos wv30) (Pos wv40)",fontsize=16,color="burlywood",shape="box"];671[label="wv40/Succ wv400",fontsize=10,color="white",style="solid",shape="box"];13 -> 671[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 671 -> 21[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 672[label="wv40/Zero",fontsize=10,color="white",style="solid",shape="box"];13 -> 672[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 672 -> 22[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 14[label="primQuotInt (Pos wv30) (Neg wv40)",fontsize=16,color="burlywood",shape="box"];673[label="wv40/Succ wv400",fontsize=10,color="white",style="solid",shape="box"];14 -> 673[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 673 -> 23[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 674[label="wv40/Zero",fontsize=10,color="white",style="solid",shape="box"];14 -> 674[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 674 -> 24[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 15[label="primQuotInt (Neg wv30) (Pos wv40)",fontsize=16,color="burlywood",shape="box"];675[label="wv40/Succ wv400",fontsize=10,color="white",style="solid",shape="box"];15 -> 675[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 675 -> 25[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 676[label="wv40/Zero",fontsize=10,color="white",style="solid",shape="box"];15 -> 676[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 676 -> 26[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 16[label="primQuotInt (Neg wv30) (Neg wv40)",fontsize=16,color="burlywood",shape="box"];677[label="wv40/Succ wv400",fontsize=10,color="white",style="solid",shape="box"];16 -> 677[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 677 -> 27[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 678[label="wv40/Zero",fontsize=10,color="white",style="solid",shape="box"];16 -> 678[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 678 -> 28[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 17[label="primRemInt (Pos wv30) (Pos wv40)",fontsize=16,color="burlywood",shape="box"];679[label="wv40/Succ wv400",fontsize=10,color="white",style="solid",shape="box"];17 -> 679[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 679 -> 29[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 680[label="wv40/Zero",fontsize=10,color="white",style="solid",shape="box"];17 -> 680[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 680 -> 30[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 18[label="primRemInt (Pos wv30) (Neg wv40)",fontsize=16,color="burlywood",shape="box"];681[label="wv40/Succ wv400",fontsize=10,color="white",style="solid",shape="box"];18 -> 681[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 681 -> 31[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 682[label="wv40/Zero",fontsize=10,color="white",style="solid",shape="box"];18 -> 682[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 682 -> 32[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 19[label="primRemInt (Neg wv30) (Pos wv40)",fontsize=16,color="burlywood",shape="box"];683[label="wv40/Succ wv400",fontsize=10,color="white",style="solid",shape="box"];19 -> 683[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 683 -> 33[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 684[label="wv40/Zero",fontsize=10,color="white",style="solid",shape="box"];19 -> 684[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 684 -> 34[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 20[label="primRemInt (Neg wv30) (Neg wv40)",fontsize=16,color="burlywood",shape="box"];685[label="wv40/Succ wv400",fontsize=10,color="white",style="solid",shape="box"];20 -> 685[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 685 -> 35[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 686[label="wv40/Zero",fontsize=10,color="white",style="solid",shape="box"];20 -> 686[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 686 -> 36[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 21[label="primQuotInt (Pos wv30) (Pos (Succ wv400))",fontsize=16,color="black",shape="box"];21 -> 37[label="",style="solid", color="black", weight=3]; 11.65/5.39 22[label="primQuotInt (Pos wv30) (Pos Zero)",fontsize=16,color="black",shape="box"];22 -> 38[label="",style="solid", color="black", weight=3]; 11.65/5.39 23[label="primQuotInt (Pos wv30) (Neg (Succ wv400))",fontsize=16,color="black",shape="box"];23 -> 39[label="",style="solid", color="black", weight=3]; 11.65/5.39 24[label="primQuotInt (Pos wv30) (Neg Zero)",fontsize=16,color="black",shape="box"];24 -> 40[label="",style="solid", color="black", weight=3]; 11.65/5.39 25[label="primQuotInt (Neg wv30) (Pos (Succ wv400))",fontsize=16,color="black",shape="box"];25 -> 41[label="",style="solid", color="black", weight=3]; 11.65/5.39 26[label="primQuotInt (Neg wv30) (Pos Zero)",fontsize=16,color="black",shape="box"];26 -> 42[label="",style="solid", color="black", weight=3]; 11.65/5.39 27[label="primQuotInt (Neg wv30) (Neg (Succ wv400))",fontsize=16,color="black",shape="box"];27 -> 43[label="",style="solid", color="black", weight=3]; 11.65/5.39 28[label="primQuotInt (Neg wv30) (Neg Zero)",fontsize=16,color="black",shape="box"];28 -> 44[label="",style="solid", color="black", weight=3]; 11.65/5.39 29[label="primRemInt (Pos wv30) (Pos (Succ wv400))",fontsize=16,color="black",shape="box"];29 -> 45[label="",style="solid", color="black", weight=3]; 11.65/5.39 30[label="primRemInt (Pos wv30) (Pos Zero)",fontsize=16,color="black",shape="box"];30 -> 46[label="",style="solid", color="black", weight=3]; 11.65/5.39 31[label="primRemInt (Pos wv30) (Neg (Succ wv400))",fontsize=16,color="black",shape="box"];31 -> 47[label="",style="solid", color="black", weight=3]; 11.65/5.39 32[label="primRemInt (Pos wv30) (Neg Zero)",fontsize=16,color="black",shape="box"];32 -> 48[label="",style="solid", color="black", weight=3]; 11.65/5.39 33[label="primRemInt (Neg wv30) (Pos (Succ wv400))",fontsize=16,color="black",shape="box"];33 -> 49[label="",style="solid", color="black", weight=3]; 11.65/5.39 34[label="primRemInt (Neg wv30) (Pos Zero)",fontsize=16,color="black",shape="box"];34 -> 50[label="",style="solid", color="black", weight=3]; 11.65/5.39 35[label="primRemInt (Neg wv30) (Neg (Succ wv400))",fontsize=16,color="black",shape="box"];35 -> 51[label="",style="solid", color="black", weight=3]; 11.65/5.39 36[label="primRemInt (Neg wv30) (Neg Zero)",fontsize=16,color="black",shape="box"];36 -> 52[label="",style="solid", color="black", weight=3]; 11.65/5.39 37[label="Pos (primDivNatS wv30 (Succ wv400))",fontsize=16,color="green",shape="box"];37 -> 53[label="",style="dashed", color="green", weight=3]; 11.65/5.39 38[label="error",fontsize=16,color="black",shape="triangle"];38 -> 54[label="",style="solid", color="black", weight=3]; 11.65/5.39 39[label="Neg (primDivNatS wv30 (Succ wv400))",fontsize=16,color="green",shape="box"];39 -> 55[label="",style="dashed", color="green", weight=3]; 11.65/5.39 40 -> 38[label="",style="dashed", color="red", weight=0]; 11.65/5.39 40[label="error",fontsize=16,color="magenta"];41[label="Neg (primDivNatS wv30 (Succ wv400))",fontsize=16,color="green",shape="box"];41 -> 56[label="",style="dashed", color="green", weight=3]; 11.65/5.39 42 -> 38[label="",style="dashed", color="red", weight=0]; 11.65/5.39 42[label="error",fontsize=16,color="magenta"];43[label="Pos (primDivNatS wv30 (Succ wv400))",fontsize=16,color="green",shape="box"];43 -> 57[label="",style="dashed", color="green", weight=3]; 11.65/5.39 44 -> 38[label="",style="dashed", color="red", weight=0]; 11.65/5.39 44[label="error",fontsize=16,color="magenta"];45[label="Pos (primModNatS wv30 (Succ wv400))",fontsize=16,color="green",shape="box"];45 -> 58[label="",style="dashed", color="green", weight=3]; 11.65/5.39 46 -> 38[label="",style="dashed", color="red", weight=0]; 11.65/5.39 46[label="error",fontsize=16,color="magenta"];47[label="Pos (primModNatS wv30 (Succ wv400))",fontsize=16,color="green",shape="box"];47 -> 59[label="",style="dashed", color="green", weight=3]; 11.65/5.39 48 -> 38[label="",style="dashed", color="red", weight=0]; 11.65/5.39 48[label="error",fontsize=16,color="magenta"];49[label="Neg (primModNatS wv30 (Succ wv400))",fontsize=16,color="green",shape="box"];49 -> 60[label="",style="dashed", color="green", weight=3]; 11.65/5.39 50 -> 38[label="",style="dashed", color="red", weight=0]; 11.65/5.39 50[label="error",fontsize=16,color="magenta"];51[label="Neg (primModNatS wv30 (Succ wv400))",fontsize=16,color="green",shape="box"];51 -> 61[label="",style="dashed", color="green", weight=3]; 11.65/5.39 52 -> 38[label="",style="dashed", color="red", weight=0]; 11.65/5.39 52[label="error",fontsize=16,color="magenta"];53[label="primDivNatS wv30 (Succ wv400)",fontsize=16,color="burlywood",shape="triangle"];687[label="wv30/Succ wv300",fontsize=10,color="white",style="solid",shape="box"];53 -> 687[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 687 -> 62[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 688[label="wv30/Zero",fontsize=10,color="white",style="solid",shape="box"];53 -> 688[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 688 -> 63[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 54[label="stop MyTrue",fontsize=16,color="black",shape="box"];54 -> 64[label="",style="solid", color="black", weight=3]; 11.65/5.39 55 -> 53[label="",style="dashed", color="red", weight=0]; 11.65/5.39 55[label="primDivNatS wv30 (Succ wv400)",fontsize=16,color="magenta"];55 -> 65[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 56 -> 53[label="",style="dashed", color="red", weight=0]; 11.65/5.39 56[label="primDivNatS wv30 (Succ wv400)",fontsize=16,color="magenta"];56 -> 66[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 57 -> 53[label="",style="dashed", color="red", weight=0]; 11.65/5.39 57[label="primDivNatS wv30 (Succ wv400)",fontsize=16,color="magenta"];57 -> 67[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 57 -> 68[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 58[label="primModNatS wv30 (Succ wv400)",fontsize=16,color="burlywood",shape="triangle"];689[label="wv30/Succ wv300",fontsize=10,color="white",style="solid",shape="box"];58 -> 689[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 689 -> 69[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 690[label="wv30/Zero",fontsize=10,color="white",style="solid",shape="box"];58 -> 690[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 690 -> 70[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 59 -> 58[label="",style="dashed", color="red", weight=0]; 11.65/5.39 59[label="primModNatS wv30 (Succ wv400)",fontsize=16,color="magenta"];59 -> 71[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 60 -> 58[label="",style="dashed", color="red", weight=0]; 11.65/5.39 60[label="primModNatS wv30 (Succ wv400)",fontsize=16,color="magenta"];60 -> 72[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 61 -> 58[label="",style="dashed", color="red", weight=0]; 11.65/5.39 61[label="primModNatS wv30 (Succ wv400)",fontsize=16,color="magenta"];61 -> 73[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 61 -> 74[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 62[label="primDivNatS (Succ wv300) (Succ wv400)",fontsize=16,color="black",shape="box"];62 -> 75[label="",style="solid", color="black", weight=3]; 11.65/5.39 63[label="primDivNatS Zero (Succ wv400)",fontsize=16,color="black",shape="box"];63 -> 76[label="",style="solid", color="black", weight=3]; 11.65/5.39 64[label="error []",fontsize=16,color="red",shape="box"];65[label="wv400",fontsize=16,color="green",shape="box"];66[label="wv30",fontsize=16,color="green",shape="box"];67[label="wv30",fontsize=16,color="green",shape="box"];68[label="wv400",fontsize=16,color="green",shape="box"];69[label="primModNatS (Succ wv300) (Succ wv400)",fontsize=16,color="burlywood",shape="box"];691[label="wv400/Succ wv4000",fontsize=10,color="white",style="solid",shape="box"];69 -> 691[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 691 -> 77[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 692[label="wv400/Zero",fontsize=10,color="white",style="solid",shape="box"];69 -> 692[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 692 -> 78[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 70[label="primModNatS Zero (Succ wv400)",fontsize=16,color="black",shape="box"];70 -> 79[label="",style="solid", color="black", weight=3]; 11.65/5.39 71[label="wv400",fontsize=16,color="green",shape="box"];72[label="wv30",fontsize=16,color="green",shape="box"];73[label="wv30",fontsize=16,color="green",shape="box"];74[label="wv400",fontsize=16,color="green",shape="box"];75[label="primDivNatS0 wv300 wv400 (primGEqNatS wv300 wv400)",fontsize=16,color="burlywood",shape="box"];693[label="wv300/Succ wv3000",fontsize=10,color="white",style="solid",shape="box"];75 -> 693[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 693 -> 80[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 694[label="wv300/Zero",fontsize=10,color="white",style="solid",shape="box"];75 -> 694[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 694 -> 81[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 76[label="Zero",fontsize=16,color="green",shape="box"];77[label="primModNatS (Succ wv300) (Succ (Succ wv4000))",fontsize=16,color="black",shape="box"];77 -> 82[label="",style="solid", color="black", weight=3]; 11.65/5.39 78[label="primModNatS (Succ wv300) (Succ Zero)",fontsize=16,color="black",shape="box"];78 -> 83[label="",style="solid", color="black", weight=3]; 11.65/5.39 79[label="Zero",fontsize=16,color="green",shape="box"];80[label="primDivNatS0 (Succ wv3000) wv400 (primGEqNatS (Succ wv3000) wv400)",fontsize=16,color="burlywood",shape="box"];695[label="wv400/Succ wv4000",fontsize=10,color="white",style="solid",shape="box"];80 -> 695[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 695 -> 84[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 696[label="wv400/Zero",fontsize=10,color="white",style="solid",shape="box"];80 -> 696[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 696 -> 85[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 81[label="primDivNatS0 Zero wv400 (primGEqNatS Zero wv400)",fontsize=16,color="burlywood",shape="box"];697[label="wv400/Succ wv4000",fontsize=10,color="white",style="solid",shape="box"];81 -> 697[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 697 -> 86[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 698[label="wv400/Zero",fontsize=10,color="white",style="solid",shape="box"];81 -> 698[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 698 -> 87[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 82[label="primModNatS0 wv300 wv4000 (primGEqNatS wv300 (Succ wv4000))",fontsize=16,color="burlywood",shape="box"];699[label="wv300/Succ wv3000",fontsize=10,color="white",style="solid",shape="box"];82 -> 699[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 699 -> 88[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 700[label="wv300/Zero",fontsize=10,color="white",style="solid",shape="box"];82 -> 700[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 700 -> 89[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 83[label="Zero",fontsize=16,color="green",shape="box"];84[label="primDivNatS0 (Succ wv3000) (Succ wv4000) (primGEqNatS (Succ wv3000) (Succ wv4000))",fontsize=16,color="black",shape="box"];84 -> 90[label="",style="solid", color="black", weight=3]; 11.65/5.39 85[label="primDivNatS0 (Succ wv3000) Zero (primGEqNatS (Succ wv3000) Zero)",fontsize=16,color="black",shape="box"];85 -> 91[label="",style="solid", color="black", weight=3]; 11.65/5.39 86[label="primDivNatS0 Zero (Succ wv4000) (primGEqNatS Zero (Succ wv4000))",fontsize=16,color="black",shape="box"];86 -> 92[label="",style="solid", color="black", weight=3]; 11.65/5.39 87[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];87 -> 93[label="",style="solid", color="black", weight=3]; 11.65/5.39 88[label="primModNatS0 (Succ wv3000) wv4000 (primGEqNatS (Succ wv3000) (Succ wv4000))",fontsize=16,color="black",shape="box"];88 -> 94[label="",style="solid", color="black", weight=3]; 11.65/5.39 89[label="primModNatS0 Zero wv4000 (primGEqNatS Zero (Succ wv4000))",fontsize=16,color="black",shape="box"];89 -> 95[label="",style="solid", color="black", weight=3]; 11.65/5.39 90 -> 541[label="",style="dashed", color="red", weight=0]; 11.65/5.39 90[label="primDivNatS0 (Succ wv3000) (Succ wv4000) (primGEqNatS wv3000 wv4000)",fontsize=16,color="magenta"];90 -> 542[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 90 -> 543[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 90 -> 544[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 90 -> 545[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 91[label="primDivNatS0 (Succ wv3000) Zero MyTrue",fontsize=16,color="black",shape="box"];91 -> 98[label="",style="solid", color="black", weight=3]; 11.65/5.39 92[label="primDivNatS0 Zero (Succ wv4000) MyFalse",fontsize=16,color="black",shape="box"];92 -> 99[label="",style="solid", color="black", weight=3]; 11.65/5.39 93[label="primDivNatS0 Zero Zero MyTrue",fontsize=16,color="black",shape="box"];93 -> 100[label="",style="solid", color="black", weight=3]; 11.65/5.39 94[label="primModNatS0 (Succ wv3000) wv4000 (primGEqNatS wv3000 wv4000)",fontsize=16,color="burlywood",shape="box"];701[label="wv3000/Succ wv30000",fontsize=10,color="white",style="solid",shape="box"];94 -> 701[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 701 -> 101[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 702[label="wv3000/Zero",fontsize=10,color="white",style="solid",shape="box"];94 -> 702[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 702 -> 102[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 95[label="primModNatS0 Zero wv4000 MyFalse",fontsize=16,color="black",shape="box"];95 -> 103[label="",style="solid", color="black", weight=3]; 11.65/5.39 542[label="wv4000",fontsize=16,color="green",shape="box"];543[label="wv3000",fontsize=16,color="green",shape="box"];544[label="wv3000",fontsize=16,color="green",shape="box"];545[label="wv4000",fontsize=16,color="green",shape="box"];541[label="primDivNatS0 (Succ wv43) (Succ wv44) (primGEqNatS wv45 wv46)",fontsize=16,color="burlywood",shape="triangle"];703[label="wv45/Succ wv450",fontsize=10,color="white",style="solid",shape="box"];541 -> 703[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 703 -> 582[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 704[label="wv45/Zero",fontsize=10,color="white",style="solid",shape="box"];541 -> 704[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 704 -> 583[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 98[label="Succ (primDivNatS (primMinusNatS (Succ wv3000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];98 -> 108[label="",style="dashed", color="green", weight=3]; 11.65/5.39 99[label="Zero",fontsize=16,color="green",shape="box"];100[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];100 -> 109[label="",style="dashed", color="green", weight=3]; 11.65/5.39 101[label="primModNatS0 (Succ (Succ wv30000)) wv4000 (primGEqNatS (Succ wv30000) wv4000)",fontsize=16,color="burlywood",shape="box"];705[label="wv4000/Succ wv40000",fontsize=10,color="white",style="solid",shape="box"];101 -> 705[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 705 -> 110[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 706[label="wv4000/Zero",fontsize=10,color="white",style="solid",shape="box"];101 -> 706[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 706 -> 111[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 102[label="primModNatS0 (Succ Zero) wv4000 (primGEqNatS Zero wv4000)",fontsize=16,color="burlywood",shape="box"];707[label="wv4000/Succ wv40000",fontsize=10,color="white",style="solid",shape="box"];102 -> 707[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 707 -> 112[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 708[label="wv4000/Zero",fontsize=10,color="white",style="solid",shape="box"];102 -> 708[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 708 -> 113[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 103[label="Succ Zero",fontsize=16,color="green",shape="box"];582[label="primDivNatS0 (Succ wv43) (Succ wv44) (primGEqNatS (Succ wv450) wv46)",fontsize=16,color="burlywood",shape="box"];709[label="wv46/Succ wv460",fontsize=10,color="white",style="solid",shape="box"];582 -> 709[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 709 -> 623[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 710[label="wv46/Zero",fontsize=10,color="white",style="solid",shape="box"];582 -> 710[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 710 -> 624[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 583[label="primDivNatS0 (Succ wv43) (Succ wv44) (primGEqNatS Zero wv46)",fontsize=16,color="burlywood",shape="box"];711[label="wv46/Succ wv460",fontsize=10,color="white",style="solid",shape="box"];583 -> 711[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 711 -> 625[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 712[label="wv46/Zero",fontsize=10,color="white",style="solid",shape="box"];583 -> 712[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 712 -> 626[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 108 -> 53[label="",style="dashed", color="red", weight=0]; 11.65/5.39 108[label="primDivNatS (primMinusNatS (Succ wv3000) Zero) (Succ Zero)",fontsize=16,color="magenta"];108 -> 118[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 108 -> 119[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 109 -> 53[label="",style="dashed", color="red", weight=0]; 11.65/5.39 109[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];109 -> 120[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 109 -> 121[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 110[label="primModNatS0 (Succ (Succ wv30000)) (Succ wv40000) (primGEqNatS (Succ wv30000) (Succ wv40000))",fontsize=16,color="black",shape="box"];110 -> 122[label="",style="solid", color="black", weight=3]; 11.65/5.39 111[label="primModNatS0 (Succ (Succ wv30000)) Zero (primGEqNatS (Succ wv30000) Zero)",fontsize=16,color="black",shape="box"];111 -> 123[label="",style="solid", color="black", weight=3]; 11.65/5.39 112[label="primModNatS0 (Succ Zero) (Succ wv40000) (primGEqNatS Zero (Succ wv40000))",fontsize=16,color="black",shape="box"];112 -> 124[label="",style="solid", color="black", weight=3]; 11.65/5.39 113[label="primModNatS0 (Succ Zero) Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];113 -> 125[label="",style="solid", color="black", weight=3]; 11.65/5.39 623[label="primDivNatS0 (Succ wv43) (Succ wv44) (primGEqNatS (Succ wv450) (Succ wv460))",fontsize=16,color="black",shape="box"];623 -> 629[label="",style="solid", color="black", weight=3]; 11.65/5.39 624[label="primDivNatS0 (Succ wv43) (Succ wv44) (primGEqNatS (Succ wv450) Zero)",fontsize=16,color="black",shape="box"];624 -> 630[label="",style="solid", color="black", weight=3]; 11.65/5.39 625[label="primDivNatS0 (Succ wv43) (Succ wv44) (primGEqNatS Zero (Succ wv460))",fontsize=16,color="black",shape="box"];625 -> 631[label="",style="solid", color="black", weight=3]; 11.65/5.39 626[label="primDivNatS0 (Succ wv43) (Succ wv44) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];626 -> 632[label="",style="solid", color="black", weight=3]; 11.65/5.39 118[label="primMinusNatS (Succ wv3000) Zero",fontsize=16,color="black",shape="triangle"];118 -> 131[label="",style="solid", color="black", weight=3]; 11.65/5.39 119[label="Zero",fontsize=16,color="green",shape="box"];120[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];120 -> 132[label="",style="solid", color="black", weight=3]; 11.65/5.39 121[label="Zero",fontsize=16,color="green",shape="box"];122 -> 586[label="",style="dashed", color="red", weight=0]; 11.65/5.39 122[label="primModNatS0 (Succ (Succ wv30000)) (Succ wv40000) (primGEqNatS wv30000 wv40000)",fontsize=16,color="magenta"];122 -> 587[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 122 -> 588[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 122 -> 589[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 122 -> 590[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 123[label="primModNatS0 (Succ (Succ wv30000)) Zero MyTrue",fontsize=16,color="black",shape="box"];123 -> 135[label="",style="solid", color="black", weight=3]; 11.65/5.39 124 -> 392[label="",style="dashed", color="red", weight=0]; 11.65/5.39 124[label="primModNatS0 (Succ Zero) (Succ wv40000) MyFalse",fontsize=16,color="magenta"];124 -> 393[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 124 -> 394[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 125[label="primModNatS0 (Succ Zero) Zero MyTrue",fontsize=16,color="black",shape="box"];125 -> 137[label="",style="solid", color="black", weight=3]; 11.65/5.39 629 -> 541[label="",style="dashed", color="red", weight=0]; 11.65/5.39 629[label="primDivNatS0 (Succ wv43) (Succ wv44) (primGEqNatS wv450 wv460)",fontsize=16,color="magenta"];629 -> 637[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 629 -> 638[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 630[label="primDivNatS0 (Succ wv43) (Succ wv44) MyTrue",fontsize=16,color="black",shape="triangle"];630 -> 639[label="",style="solid", color="black", weight=3]; 11.65/5.39 631[label="primDivNatS0 (Succ wv43) (Succ wv44) MyFalse",fontsize=16,color="black",shape="box"];631 -> 640[label="",style="solid", color="black", weight=3]; 11.65/5.39 632 -> 630[label="",style="dashed", color="red", weight=0]; 11.65/5.39 632[label="primDivNatS0 (Succ wv43) (Succ wv44) MyTrue",fontsize=16,color="magenta"];131[label="Succ wv3000",fontsize=16,color="green",shape="box"];132[label="Zero",fontsize=16,color="green",shape="box"];587[label="wv40000",fontsize=16,color="green",shape="box"];588[label="Succ wv30000",fontsize=16,color="green",shape="box"];589[label="wv40000",fontsize=16,color="green",shape="box"];590[label="wv30000",fontsize=16,color="green",shape="box"];586[label="primModNatS0 (Succ wv48) (Succ wv49) (primGEqNatS wv50 wv51)",fontsize=16,color="burlywood",shape="triangle"];713[label="wv50/Succ wv500",fontsize=10,color="white",style="solid",shape="box"];586 -> 713[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 713 -> 627[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 714[label="wv50/Zero",fontsize=10,color="white",style="solid",shape="box"];586 -> 714[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 714 -> 628[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 135 -> 58[label="",style="dashed", color="red", weight=0]; 11.65/5.39 135[label="primModNatS (primMinusNatS (Succ (Succ wv30000)) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="magenta"];135 -> 148[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 135 -> 149[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 393[label="Zero",fontsize=16,color="green",shape="box"];394[label="wv40000",fontsize=16,color="green",shape="box"];392[label="primModNatS0 (Succ wv34) (Succ wv35) MyFalse",fontsize=16,color="black",shape="triangle"];392 -> 407[label="",style="solid", color="black", weight=3]; 11.65/5.39 137 -> 58[label="",style="dashed", color="red", weight=0]; 11.65/5.39 137[label="primModNatS (primMinusNatS (Succ Zero) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="magenta"];137 -> 150[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 137 -> 151[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 637[label="wv460",fontsize=16,color="green",shape="box"];638[label="wv450",fontsize=16,color="green",shape="box"];639[label="Succ (primDivNatS (primMinusNatS (Succ wv43) (Succ wv44)) (Succ (Succ wv44)))",fontsize=16,color="green",shape="box"];639 -> 645[label="",style="dashed", color="green", weight=3]; 11.65/5.39 640[label="Zero",fontsize=16,color="green",shape="box"];627[label="primModNatS0 (Succ wv48) (Succ wv49) (primGEqNatS (Succ wv500) wv51)",fontsize=16,color="burlywood",shape="box"];715[label="wv51/Succ wv510",fontsize=10,color="white",style="solid",shape="box"];627 -> 715[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 715 -> 633[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 716[label="wv51/Zero",fontsize=10,color="white",style="solid",shape="box"];627 -> 716[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 716 -> 634[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 628[label="primModNatS0 (Succ wv48) (Succ wv49) (primGEqNatS Zero wv51)",fontsize=16,color="burlywood",shape="box"];717[label="wv51/Succ wv510",fontsize=10,color="white",style="solid",shape="box"];628 -> 717[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 717 -> 635[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 718[label="wv51/Zero",fontsize=10,color="white",style="solid",shape="box"];628 -> 718[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 718 -> 636[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 148 -> 433[label="",style="dashed", color="red", weight=0]; 11.65/5.39 148[label="primMinusNatS (Succ (Succ wv30000)) (Succ Zero)",fontsize=16,color="magenta"];148 -> 434[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 148 -> 435[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 149[label="Succ Zero",fontsize=16,color="green",shape="box"];407[label="Succ (Succ wv34)",fontsize=16,color="green",shape="box"];150 -> 433[label="",style="dashed", color="red", weight=0]; 11.65/5.39 150[label="primMinusNatS (Succ Zero) (Succ Zero)",fontsize=16,color="magenta"];150 -> 436[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 150 -> 437[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 151[label="Succ Zero",fontsize=16,color="green",shape="box"];645 -> 53[label="",style="dashed", color="red", weight=0]; 11.65/5.39 645[label="primDivNatS (primMinusNatS (Succ wv43) (Succ wv44)) (Succ (Succ wv44))",fontsize=16,color="magenta"];645 -> 651[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 645 -> 652[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 633[label="primModNatS0 (Succ wv48) (Succ wv49) (primGEqNatS (Succ wv500) (Succ wv510))",fontsize=16,color="black",shape="box"];633 -> 641[label="",style="solid", color="black", weight=3]; 11.65/5.39 634[label="primModNatS0 (Succ wv48) (Succ wv49) (primGEqNatS (Succ wv500) Zero)",fontsize=16,color="black",shape="box"];634 -> 642[label="",style="solid", color="black", weight=3]; 11.65/5.39 635[label="primModNatS0 (Succ wv48) (Succ wv49) (primGEqNatS Zero (Succ wv510))",fontsize=16,color="black",shape="box"];635 -> 643[label="",style="solid", color="black", weight=3]; 11.65/5.39 636[label="primModNatS0 (Succ wv48) (Succ wv49) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];636 -> 644[label="",style="solid", color="black", weight=3]; 11.65/5.39 434[label="Succ wv30000",fontsize=16,color="green",shape="box"];435[label="Zero",fontsize=16,color="green",shape="box"];433[label="primMinusNatS (Succ wv37) (Succ wv38)",fontsize=16,color="black",shape="triangle"];433 -> 468[label="",style="solid", color="black", weight=3]; 11.65/5.39 436[label="Zero",fontsize=16,color="green",shape="box"];437[label="Zero",fontsize=16,color="green",shape="box"];651 -> 468[label="",style="dashed", color="red", weight=0]; 11.65/5.39 651[label="primMinusNatS (Succ wv43) (Succ wv44)",fontsize=16,color="magenta"];651 -> 655[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 651 -> 656[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 652[label="Succ wv44",fontsize=16,color="green",shape="box"];641 -> 586[label="",style="dashed", color="red", weight=0]; 11.65/5.39 641[label="primModNatS0 (Succ wv48) (Succ wv49) (primGEqNatS wv500 wv510)",fontsize=16,color="magenta"];641 -> 646[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 641 -> 647[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 642[label="primModNatS0 (Succ wv48) (Succ wv49) MyTrue",fontsize=16,color="black",shape="triangle"];642 -> 648[label="",style="solid", color="black", weight=3]; 11.65/5.39 643 -> 392[label="",style="dashed", color="red", weight=0]; 11.65/5.39 643[label="primModNatS0 (Succ wv48) (Succ wv49) MyFalse",fontsize=16,color="magenta"];643 -> 649[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 643 -> 650[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 644 -> 642[label="",style="dashed", color="red", weight=0]; 11.65/5.39 644[label="primModNatS0 (Succ wv48) (Succ wv49) MyTrue",fontsize=16,color="magenta"];468[label="primMinusNatS wv37 wv38",fontsize=16,color="burlywood",shape="triangle"];719[label="wv37/Succ wv370",fontsize=10,color="white",style="solid",shape="box"];468 -> 719[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 719 -> 509[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 720[label="wv37/Zero",fontsize=10,color="white",style="solid",shape="box"];468 -> 720[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 720 -> 510[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 655[label="Succ wv43",fontsize=16,color="green",shape="box"];656[label="Succ wv44",fontsize=16,color="green",shape="box"];646[label="wv510",fontsize=16,color="green",shape="box"];647[label="wv500",fontsize=16,color="green",shape="box"];648 -> 58[label="",style="dashed", color="red", weight=0]; 11.65/5.39 648[label="primModNatS (primMinusNatS (Succ wv48) (Succ (Succ wv49))) (Succ (Succ (Succ wv49)))",fontsize=16,color="magenta"];648 -> 653[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 648 -> 654[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 649[label="wv48",fontsize=16,color="green",shape="box"];650[label="wv49",fontsize=16,color="green",shape="box"];509[label="primMinusNatS (Succ wv370) wv38",fontsize=16,color="burlywood",shape="box"];721[label="wv38/Succ wv380",fontsize=10,color="white",style="solid",shape="box"];509 -> 721[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 721 -> 523[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 722[label="wv38/Zero",fontsize=10,color="white",style="solid",shape="box"];509 -> 722[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 722 -> 524[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 510[label="primMinusNatS Zero wv38",fontsize=16,color="burlywood",shape="box"];723[label="wv38/Succ wv380",fontsize=10,color="white",style="solid",shape="box"];510 -> 723[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 723 -> 525[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 724[label="wv38/Zero",fontsize=10,color="white",style="solid",shape="box"];510 -> 724[label="",style="solid", color="burlywood", weight=9]; 11.65/5.39 724 -> 526[label="",style="solid", color="burlywood", weight=3]; 11.65/5.39 653 -> 468[label="",style="dashed", color="red", weight=0]; 11.65/5.39 653[label="primMinusNatS (Succ wv48) (Succ (Succ wv49))",fontsize=16,color="magenta"];653 -> 657[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 653 -> 658[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 654[label="Succ (Succ wv49)",fontsize=16,color="green",shape="box"];523[label="primMinusNatS (Succ wv370) (Succ wv380)",fontsize=16,color="black",shape="box"];523 -> 537[label="",style="solid", color="black", weight=3]; 11.65/5.39 524[label="primMinusNatS (Succ wv370) Zero",fontsize=16,color="black",shape="box"];524 -> 538[label="",style="solid", color="black", weight=3]; 11.65/5.39 525[label="primMinusNatS Zero (Succ wv380)",fontsize=16,color="black",shape="box"];525 -> 539[label="",style="solid", color="black", weight=3]; 11.65/5.39 526[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];526 -> 540[label="",style="solid", color="black", weight=3]; 11.65/5.39 657[label="Succ wv48",fontsize=16,color="green",shape="box"];658[label="Succ (Succ wv49)",fontsize=16,color="green",shape="box"];537 -> 468[label="",style="dashed", color="red", weight=0]; 11.65/5.39 537[label="primMinusNatS wv370 wv380",fontsize=16,color="magenta"];537 -> 584[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 537 -> 585[label="",style="dashed", color="magenta", weight=3]; 11.65/5.39 538[label="Succ wv370",fontsize=16,color="green",shape="box"];539[label="Zero",fontsize=16,color="green",shape="box"];540[label="Zero",fontsize=16,color="green",shape="box"];584[label="wv370",fontsize=16,color="green",shape="box"];585[label="wv380",fontsize=16,color="green",shape="box"];} 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (6) 11.65/5.39 Complex Obligation (AND) 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (7) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primModNatS0(wv48, wv49, Main.Zero, Main.Zero) -> new_primModNatS00(wv48, wv49) 11.65/5.39 new_primModNatS0(wv48, wv49, Main.Succ(wv500), Main.Zero) -> new_primModNatS(new_primMinusNatS2(Main.Succ(wv48), Main.Succ(Main.Succ(wv49))), Main.Succ(Main.Succ(wv49))) 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS1, Main.Succ(Main.Zero)) 11.65/5.39 new_primModNatS0(wv48, wv49, Main.Succ(wv500), Main.Succ(wv510)) -> new_primModNatS0(wv48, wv49, wv500, wv510) 11.65/5.39 new_primModNatS00(wv48, wv49) -> new_primModNatS(new_primMinusNatS2(Main.Succ(wv48), Main.Succ(Main.Succ(wv49))), Main.Succ(Main.Succ(wv49))) 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS0(wv30000), Main.Succ(Main.Zero)) 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Succ(wv40000))) -> new_primModNatS0(Main.Succ(wv30000), wv40000, wv30000, wv40000) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS3(wv37, wv38) -> new_primMinusNatS2(wv37, wv38) 11.65/5.39 new_primMinusNatS1 -> new_primMinusNatS3(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS0(wv30000) -> new_primMinusNatS3(Main.Succ(wv30000), Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS3(x0, x1) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS0(x0) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS1 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (8) DependencyGraphProof (EQUIVALENT) 11.65/5.39 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (9) 11.65/5.39 Complex Obligation (AND) 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (10) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS0(wv30000), Main.Succ(Main.Zero)) 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS1, Main.Succ(Main.Zero)) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS3(wv37, wv38) -> new_primMinusNatS2(wv37, wv38) 11.65/5.39 new_primMinusNatS1 -> new_primMinusNatS3(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS0(wv30000) -> new_primMinusNatS3(Main.Succ(wv30000), Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS3(x0, x1) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS0(x0) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS1 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (11) TransformationProof (EQUIVALENT) 11.65/5.39 By rewriting [LPAR04] the rule new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS0(wv30000), Main.Succ(Main.Zero)) at position [0] we obtained the following new rules [LPAR04]: 11.65/5.39 11.65/5.39 (new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS3(Main.Succ(wv30000), Main.Zero), Main.Succ(Main.Zero)),new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS3(Main.Succ(wv30000), Main.Zero), Main.Succ(Main.Zero))) 11.65/5.39 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (12) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS1, Main.Succ(Main.Zero)) 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS3(Main.Succ(wv30000), Main.Zero), Main.Succ(Main.Zero)) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS3(wv37, wv38) -> new_primMinusNatS2(wv37, wv38) 11.65/5.39 new_primMinusNatS1 -> new_primMinusNatS3(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS0(wv30000) -> new_primMinusNatS3(Main.Succ(wv30000), Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS3(x0, x1) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS0(x0) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS1 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (13) UsableRulesProof (EQUIVALENT) 11.65/5.39 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (14) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS1, Main.Succ(Main.Zero)) 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS3(Main.Succ(wv30000), Main.Zero), Main.Succ(Main.Zero)) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS3(wv37, wv38) -> new_primMinusNatS2(wv37, wv38) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 new_primMinusNatS1 -> new_primMinusNatS3(Main.Zero, Main.Zero) 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS3(x0, x1) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS0(x0) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS1 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (15) QReductionProof (EQUIVALENT) 11.65/5.39 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 11.65/5.39 11.65/5.39 new_primMinusNatS0(x0) 11.65/5.39 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (16) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS1, Main.Succ(Main.Zero)) 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS3(Main.Succ(wv30000), Main.Zero), Main.Succ(Main.Zero)) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS3(wv37, wv38) -> new_primMinusNatS2(wv37, wv38) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 new_primMinusNatS1 -> new_primMinusNatS3(Main.Zero, Main.Zero) 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS3(x0, x1) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS1 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (17) TransformationProof (EQUIVALENT) 11.65/5.39 By rewriting [LPAR04] the rule new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS1, Main.Succ(Main.Zero)) at position [0] we obtained the following new rules [LPAR04]: 11.65/5.39 11.65/5.39 (new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS3(Main.Zero, Main.Zero), Main.Succ(Main.Zero)),new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS3(Main.Zero, Main.Zero), Main.Succ(Main.Zero))) 11.65/5.39 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (18) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS3(Main.Succ(wv30000), Main.Zero), Main.Succ(Main.Zero)) 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS3(Main.Zero, Main.Zero), Main.Succ(Main.Zero)) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS3(wv37, wv38) -> new_primMinusNatS2(wv37, wv38) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 new_primMinusNatS1 -> new_primMinusNatS3(Main.Zero, Main.Zero) 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS3(x0, x1) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS1 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (19) UsableRulesProof (EQUIVALENT) 11.65/5.39 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (20) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS3(Main.Succ(wv30000), Main.Zero), Main.Succ(Main.Zero)) 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS3(Main.Zero, Main.Zero), Main.Succ(Main.Zero)) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS3(wv37, wv38) -> new_primMinusNatS2(wv37, wv38) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS3(x0, x1) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS1 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (21) QReductionProof (EQUIVALENT) 11.65/5.39 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 11.65/5.39 11.65/5.39 new_primMinusNatS1 11.65/5.39 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (22) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS3(Main.Succ(wv30000), Main.Zero), Main.Succ(Main.Zero)) 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS3(Main.Zero, Main.Zero), Main.Succ(Main.Zero)) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS3(wv37, wv38) -> new_primMinusNatS2(wv37, wv38) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS3(x0, x1) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (23) TransformationProof (EQUIVALENT) 11.65/5.39 By rewriting [LPAR04] the rule new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS3(Main.Succ(wv30000), Main.Zero), Main.Succ(Main.Zero)) at position [0] we obtained the following new rules [LPAR04]: 11.65/5.39 11.65/5.39 (new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS2(Main.Succ(wv30000), Main.Zero), Main.Succ(Main.Zero)),new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS2(Main.Succ(wv30000), Main.Zero), Main.Succ(Main.Zero))) 11.65/5.39 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (24) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS3(Main.Zero, Main.Zero), Main.Succ(Main.Zero)) 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS2(Main.Succ(wv30000), Main.Zero), Main.Succ(Main.Zero)) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS3(wv37, wv38) -> new_primMinusNatS2(wv37, wv38) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS3(x0, x1) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (25) TransformationProof (EQUIVALENT) 11.65/5.39 By rewriting [LPAR04] the rule new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS3(Main.Zero, Main.Zero), Main.Succ(Main.Zero)) at position [0] we obtained the following new rules [LPAR04]: 11.65/5.39 11.65/5.39 (new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS2(Main.Zero, Main.Zero), Main.Succ(Main.Zero)),new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS2(Main.Zero, Main.Zero), Main.Succ(Main.Zero))) 11.65/5.39 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (26) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS2(Main.Succ(wv30000), Main.Zero), Main.Succ(Main.Zero)) 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS2(Main.Zero, Main.Zero), Main.Succ(Main.Zero)) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS3(wv37, wv38) -> new_primMinusNatS2(wv37, wv38) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS3(x0, x1) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (27) DependencyGraphProof (EQUIVALENT) 11.65/5.39 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (28) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS2(Main.Succ(wv30000), Main.Zero), Main.Succ(Main.Zero)) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS3(wv37, wv38) -> new_primMinusNatS2(wv37, wv38) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS3(x0, x1) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (29) UsableRulesProof (EQUIVALENT) 11.65/5.39 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (30) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS2(Main.Succ(wv30000), Main.Zero), Main.Succ(Main.Zero)) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS3(x0, x1) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (31) QReductionProof (EQUIVALENT) 11.65/5.39 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 11.65/5.39 11.65/5.39 new_primMinusNatS3(x0, x1) 11.65/5.39 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (32) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS2(Main.Succ(wv30000), Main.Zero), Main.Succ(Main.Zero)) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (33) TransformationProof (EQUIVALENT) 11.65/5.39 By rewriting [LPAR04] the rule new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(new_primMinusNatS2(Main.Succ(wv30000), Main.Zero), Main.Succ(Main.Zero)) at position [0] we obtained the following new rules [LPAR04]: 11.65/5.39 11.65/5.39 (new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(Main.Succ(wv30000), Main.Succ(Main.Zero)),new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(Main.Succ(wv30000), Main.Succ(Main.Zero))) 11.65/5.39 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (34) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(Main.Succ(wv30000), Main.Succ(Main.Zero)) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (35) UsableRulesProof (EQUIVALENT) 11.65/5.39 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (36) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(Main.Succ(wv30000), Main.Succ(Main.Zero)) 11.65/5.39 11.65/5.39 R is empty. 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (37) QReductionProof (EQUIVALENT) 11.65/5.39 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 11.65/5.39 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (38) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(Main.Succ(wv30000), Main.Succ(Main.Zero)) 11.65/5.39 11.65/5.39 R is empty. 11.65/5.39 Q is empty. 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (39) QDPSizeChangeProof (EQUIVALENT) 11.65/5.39 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. 11.65/5.39 11.65/5.39 From the DPs we obtained the following set of size-change graphs: 11.65/5.39 *new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Zero)) -> new_primModNatS(Main.Succ(wv30000), Main.Succ(Main.Zero)) 11.65/5.39 The graph contains the following edges 1 > 1, 2 >= 2 11.65/5.39 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (40) 11.65/5.39 YES 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (41) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primModNatS00(wv48, wv49) -> new_primModNatS(new_primMinusNatS2(Main.Succ(wv48), Main.Succ(Main.Succ(wv49))), Main.Succ(Main.Succ(wv49))) 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Succ(wv40000))) -> new_primModNatS0(Main.Succ(wv30000), wv40000, wv30000, wv40000) 11.65/5.39 new_primModNatS0(wv48, wv49, Main.Zero, Main.Zero) -> new_primModNatS00(wv48, wv49) 11.65/5.39 new_primModNatS0(wv48, wv49, Main.Succ(wv500), Main.Zero) -> new_primModNatS(new_primMinusNatS2(Main.Succ(wv48), Main.Succ(Main.Succ(wv49))), Main.Succ(Main.Succ(wv49))) 11.65/5.39 new_primModNatS0(wv48, wv49, Main.Succ(wv500), Main.Succ(wv510)) -> new_primModNatS0(wv48, wv49, wv500, wv510) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS3(wv37, wv38) -> new_primMinusNatS2(wv37, wv38) 11.65/5.39 new_primMinusNatS1 -> new_primMinusNatS3(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS0(wv30000) -> new_primMinusNatS3(Main.Succ(wv30000), Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS3(x0, x1) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS0(x0) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS1 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (42) QDPOrderProof (EQUIVALENT) 11.65/5.39 We use the reduction pair processor [LPAR04,JAR06]. 11.65/5.39 11.65/5.39 11.65/5.39 The following pairs can be oriented strictly and are deleted. 11.65/5.39 11.65/5.39 new_primModNatS(Main.Succ(Main.Succ(Main.Succ(wv30000))), Main.Succ(Main.Succ(wv40000))) -> new_primModNatS0(Main.Succ(wv30000), wv40000, wv30000, wv40000) 11.65/5.39 The remaining pairs can at least be oriented weakly. 11.65/5.39 Used ordering: Polynomial interpretation [POLO]: 11.65/5.39 11.65/5.39 POL(Main.Succ(x_1)) = 1 + x_1 11.65/5.39 POL(Main.Zero) = 0 11.65/5.39 POL(new_primMinusNatS2(x_1, x_2)) = x_1 11.65/5.39 POL(new_primModNatS(x_1, x_2)) = x_1 11.65/5.39 POL(new_primModNatS0(x_1, x_2, x_3, x_4)) = 1 + x_1 11.65/5.39 POL(new_primModNatS00(x_1, x_2)) = 1 + x_1 11.65/5.39 11.65/5.39 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 11.65/5.39 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (43) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primModNatS00(wv48, wv49) -> new_primModNatS(new_primMinusNatS2(Main.Succ(wv48), Main.Succ(Main.Succ(wv49))), Main.Succ(Main.Succ(wv49))) 11.65/5.39 new_primModNatS0(wv48, wv49, Main.Zero, Main.Zero) -> new_primModNatS00(wv48, wv49) 11.65/5.39 new_primModNatS0(wv48, wv49, Main.Succ(wv500), Main.Zero) -> new_primModNatS(new_primMinusNatS2(Main.Succ(wv48), Main.Succ(Main.Succ(wv49))), Main.Succ(Main.Succ(wv49))) 11.65/5.39 new_primModNatS0(wv48, wv49, Main.Succ(wv500), Main.Succ(wv510)) -> new_primModNatS0(wv48, wv49, wv500, wv510) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS3(wv37, wv38) -> new_primMinusNatS2(wv37, wv38) 11.65/5.39 new_primMinusNatS1 -> new_primMinusNatS3(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS0(wv30000) -> new_primMinusNatS3(Main.Succ(wv30000), Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS3(x0, x1) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS0(x0) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS1 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (44) DependencyGraphProof (EQUIVALENT) 11.65/5.39 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (45) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primModNatS0(wv48, wv49, Main.Succ(wv500), Main.Succ(wv510)) -> new_primModNatS0(wv48, wv49, wv500, wv510) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS3(wv37, wv38) -> new_primMinusNatS2(wv37, wv38) 11.65/5.39 new_primMinusNatS1 -> new_primMinusNatS3(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS0(wv30000) -> new_primMinusNatS3(Main.Succ(wv30000), Main.Zero) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS3(x0, x1) 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS0(x0) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS1 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (46) QDPSizeChangeProof (EQUIVALENT) 11.65/5.39 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. 11.65/5.39 11.65/5.39 From the DPs we obtained the following set of size-change graphs: 11.65/5.39 *new_primModNatS0(wv48, wv49, Main.Succ(wv500), Main.Succ(wv510)) -> new_primModNatS0(wv48, wv49, wv500, wv510) 11.65/5.39 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 11.65/5.39 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (47) 11.65/5.39 YES 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (48) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primDivNatS0(wv43, wv44, Main.Succ(wv450), Main.Succ(wv460)) -> new_primDivNatS0(wv43, wv44, wv450, wv460) 11.65/5.39 new_primDivNatS00(wv43, wv44) -> new_primDivNatS(new_primMinusNatS2(Main.Succ(wv43), Main.Succ(wv44)), Main.Succ(wv44)) 11.65/5.39 new_primDivNatS(Main.Succ(Main.Zero), Main.Zero) -> new_primDivNatS(new_primMinusNatS5, Main.Zero) 11.65/5.39 new_primDivNatS(Main.Succ(Main.Succ(wv3000)), Main.Zero) -> new_primDivNatS(new_primMinusNatS4(wv3000), Main.Zero) 11.65/5.39 new_primDivNatS0(wv43, wv44, Main.Zero, Main.Zero) -> new_primDivNatS00(wv43, wv44) 11.65/5.39 new_primDivNatS(Main.Succ(Main.Succ(wv3000)), Main.Succ(wv4000)) -> new_primDivNatS0(wv3000, wv4000, wv3000, wv4000) 11.65/5.39 new_primDivNatS0(wv43, wv44, Main.Succ(wv450), Main.Zero) -> new_primDivNatS(new_primMinusNatS2(Main.Succ(wv43), Main.Succ(wv44)), Main.Succ(wv44)) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS4(wv3000) -> Main.Succ(wv3000) 11.65/5.39 new_primMinusNatS5 -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS4(x0) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS5 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (49) DependencyGraphProof (EQUIVALENT) 11.65/5.39 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (50) 11.65/5.39 Complex Obligation (AND) 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (51) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primDivNatS(Main.Succ(Main.Succ(wv3000)), Main.Zero) -> new_primDivNatS(new_primMinusNatS4(wv3000), Main.Zero) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS4(wv3000) -> Main.Succ(wv3000) 11.65/5.39 new_primMinusNatS5 -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS4(x0) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS5 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (52) MRRProof (EQUIVALENT) 11.65/5.39 By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. 11.65/5.39 11.65/5.39 Strictly oriented dependency pairs: 11.65/5.39 11.65/5.39 new_primDivNatS(Main.Succ(Main.Succ(wv3000)), Main.Zero) -> new_primDivNatS(new_primMinusNatS4(wv3000), Main.Zero) 11.65/5.39 11.65/5.39 Strictly oriented rules of the TRS R: 11.65/5.39 11.65/5.39 new_primMinusNatS4(wv3000) -> Main.Succ(wv3000) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 11.65/5.39 Used ordering: Polynomial interpretation [POLO]: 11.65/5.39 11.65/5.39 POL(Main.Succ(x_1)) = 1 + 2*x_1 11.65/5.39 POL(Main.Zero) = 2 11.65/5.39 POL(new_primDivNatS(x_1, x_2)) = x_1 + x_2 11.65/5.39 POL(new_primMinusNatS2(x_1, x_2)) = 2 + 2*x_1 + 2*x_2 11.65/5.39 POL(new_primMinusNatS4(x_1)) = 2 + 2*x_1 11.65/5.39 POL(new_primMinusNatS5) = 2 11.65/5.39 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (53) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 P is empty. 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS5 -> Main.Zero 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS4(x0) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS5 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (54) PisEmptyProof (EQUIVALENT) 11.65/5.39 The TRS P is empty. Hence, there is no (P,Q,R) chain. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (55) 11.65/5.39 YES 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (56) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primDivNatS0(wv43, wv44, Main.Zero, Main.Zero) -> new_primDivNatS00(wv43, wv44) 11.65/5.39 new_primDivNatS00(wv43, wv44) -> new_primDivNatS(new_primMinusNatS2(Main.Succ(wv43), Main.Succ(wv44)), Main.Succ(wv44)) 11.65/5.39 new_primDivNatS(Main.Succ(Main.Succ(wv3000)), Main.Succ(wv4000)) -> new_primDivNatS0(wv3000, wv4000, wv3000, wv4000) 11.65/5.39 new_primDivNatS0(wv43, wv44, Main.Succ(wv450), Main.Succ(wv460)) -> new_primDivNatS0(wv43, wv44, wv450, wv460) 11.65/5.39 new_primDivNatS0(wv43, wv44, Main.Succ(wv450), Main.Zero) -> new_primDivNatS(new_primMinusNatS2(Main.Succ(wv43), Main.Succ(wv44)), Main.Succ(wv44)) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS4(wv3000) -> Main.Succ(wv3000) 11.65/5.39 new_primMinusNatS5 -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS4(x0) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS5 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (57) QDPOrderProof (EQUIVALENT) 11.65/5.39 We use the reduction pair processor [LPAR04,JAR06]. 11.65/5.39 11.65/5.39 11.65/5.39 The following pairs can be oriented strictly and are deleted. 11.65/5.39 11.65/5.39 new_primDivNatS(Main.Succ(Main.Succ(wv3000)), Main.Succ(wv4000)) -> new_primDivNatS0(wv3000, wv4000, wv3000, wv4000) 11.65/5.39 The remaining pairs can at least be oriented weakly. 11.65/5.39 Used ordering: Polynomial interpretation [POLO]: 11.65/5.39 11.65/5.39 POL(Main.Succ(x_1)) = 1 + x_1 11.65/5.39 POL(Main.Zero) = 1 11.65/5.39 POL(new_primDivNatS(x_1, x_2)) = x_1 11.65/5.39 POL(new_primDivNatS0(x_1, x_2, x_3, x_4)) = 1 + x_1 11.65/5.39 POL(new_primDivNatS00(x_1, x_2)) = 1 + x_1 11.65/5.39 POL(new_primMinusNatS2(x_1, x_2)) = x_1 11.65/5.39 11.65/5.39 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 11.65/5.39 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (58) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primDivNatS0(wv43, wv44, Main.Zero, Main.Zero) -> new_primDivNatS00(wv43, wv44) 11.65/5.39 new_primDivNatS00(wv43, wv44) -> new_primDivNatS(new_primMinusNatS2(Main.Succ(wv43), Main.Succ(wv44)), Main.Succ(wv44)) 11.65/5.39 new_primDivNatS0(wv43, wv44, Main.Succ(wv450), Main.Succ(wv460)) -> new_primDivNatS0(wv43, wv44, wv450, wv460) 11.65/5.39 new_primDivNatS0(wv43, wv44, Main.Succ(wv450), Main.Zero) -> new_primDivNatS(new_primMinusNatS2(Main.Succ(wv43), Main.Succ(wv44)), Main.Succ(wv44)) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS4(wv3000) -> Main.Succ(wv3000) 11.65/5.39 new_primMinusNatS5 -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS4(x0) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS5 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (59) DependencyGraphProof (EQUIVALENT) 11.65/5.39 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (60) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primDivNatS0(wv43, wv44, Main.Succ(wv450), Main.Succ(wv460)) -> new_primDivNatS0(wv43, wv44, wv450, wv460) 11.65/5.39 11.65/5.39 The TRS R consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS4(wv3000) -> Main.Succ(wv3000) 11.65/5.39 new_primMinusNatS5 -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) -> Main.Zero 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS2(wv370, wv380) 11.65/5.39 new_primMinusNatS2(Main.Succ(wv370), Main.Zero) -> Main.Succ(wv370) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(wv380)) -> Main.Zero 11.65/5.39 11.65/5.39 The set Q consists of the following terms: 11.65/5.39 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Zero) 11.65/5.39 new_primMinusNatS4(x0) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Succ(x0)) 11.65/5.39 new_primMinusNatS2(Main.Zero, Main.Zero) 11.65/5.39 new_primMinusNatS5 11.65/5.39 new_primMinusNatS2(Main.Succ(x0), Main.Succ(x1)) 11.65/5.39 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (61) QDPSizeChangeProof (EQUIVALENT) 11.65/5.39 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. 11.65/5.39 11.65/5.39 From the DPs we obtained the following set of size-change graphs: 11.65/5.39 *new_primDivNatS0(wv43, wv44, Main.Succ(wv450), Main.Succ(wv460)) -> new_primDivNatS0(wv43, wv44, wv450, wv460) 11.65/5.39 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 11.65/5.39 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (62) 11.65/5.39 YES 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (63) 11.65/5.39 Obligation: 11.65/5.39 Q DP problem: 11.65/5.39 The TRS P consists of the following rules: 11.65/5.39 11.65/5.39 new_primMinusNatS(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS(wv370, wv380) 11.65/5.39 11.65/5.39 R is empty. 11.65/5.39 Q is empty. 11.65/5.39 We have to consider all minimal (P,Q,R)-chains. 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (64) QDPSizeChangeProof (EQUIVALENT) 11.65/5.39 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. 11.65/5.39 11.65/5.39 From the DPs we obtained the following set of size-change graphs: 11.65/5.39 *new_primMinusNatS(Main.Succ(wv370), Main.Succ(wv380)) -> new_primMinusNatS(wv370, wv380) 11.65/5.39 The graph contains the following edges 1 > 1, 2 > 2 11.65/5.39 11.65/5.39 11.65/5.39 ---------------------------------------- 11.65/5.39 11.65/5.39 (65) 11.65/5.39 YES 11.88/5.44 EOF