/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.hs /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox/benchmark/theBenchmark.hs # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty H-Termination with start terms of the given HASKELL could not be shown: (0) HASKELL (1) BR [EQUIVALENT, 0 ms] (2) HASKELL (3) COR [EQUIVALENT, 0 ms] (4) HASKELL (5) Narrow [SOUND, 0 ms] (6) AND (7) QDP (8) QDPSizeChangeProof [EQUIVALENT, 0 ms] (9) YES (10) QDP (11) QDPSizeChangeProof [EQUIVALENT, 0 ms] (12) YES (13) QDP (14) DependencyGraphProof [EQUIVALENT, 1 ms] (15) AND (16) QDP (17) TransformationProof [EQUIVALENT, 0 ms] (18) QDP (19) DependencyGraphProof [EQUIVALENT, 0 ms] (20) AND (21) QDP (22) UsableRulesProof [EQUIVALENT, 0 ms] (23) QDP (24) QReductionProof [EQUIVALENT, 0 ms] (25) QDP (26) NonTerminationLoopProof [COMPLETE, 0 ms] (27) NO (28) QDP (29) TransformationProof [EQUIVALENT, 0 ms] (30) QDP (31) UsableRulesProof [EQUIVALENT, 0 ms] (32) QDP (33) QReductionProof [EQUIVALENT, 0 ms] (34) QDP (35) TransformationProof [EQUIVALENT, 0 ms] (36) QDP (37) DependencyGraphProof [EQUIVALENT, 0 ms] (38) QDP (39) TransformationProof [EQUIVALENT, 0 ms] (40) QDP (41) QDPSizeChangeProof [EQUIVALENT, 0 ms] (42) YES (43) QDP (44) TransformationProof [EQUIVALENT, 0 ms] (45) QDP (46) TransformationProof [EQUIVALENT, 0 ms] (47) QDP (48) TransformationProof [EQUIVALENT, 0 ms] (49) QDP (50) DependencyGraphProof [EQUIVALENT, 0 ms] (51) AND (52) QDP (53) UsableRulesProof [EQUIVALENT, 0 ms] (54) QDP (55) QReductionProof [EQUIVALENT, 0 ms] (56) QDP (57) NonTerminationLoopProof [COMPLETE, 0 ms] (58) NO (59) QDP (60) TransformationProof [EQUIVALENT, 0 ms] (61) QDP (62) DependencyGraphProof [EQUIVALENT, 0 ms] (63) QDP (64) TransformationProof [EQUIVALENT, 0 ms] (65) QDP (66) UsableRulesProof [EQUIVALENT, 0 ms] (67) QDP (68) QReductionProof [EQUIVALENT, 0 ms] (69) QDP (70) TransformationProof [EQUIVALENT, 0 ms] (71) QDP (72) TransformationProof [EQUIVALENT, 0 ms] (73) QDP (74) TransformationProof [EQUIVALENT, 0 ms] (75) QDP (76) TransformationProof [EQUIVALENT, 0 ms] (77) QDP (78) TransformationProof [EQUIVALENT, 0 ms] (79) QDP (80) TransformationProof [EQUIVALENT, 0 ms] (81) QDP (82) TransformationProof [EQUIVALENT, 0 ms] (83) QDP (84) TransformationProof [EQUIVALENT, 0 ms] (85) QDP (86) DependencyGraphProof [EQUIVALENT, 0 ms] (87) QDP (88) MNOCProof [EQUIVALENT, 0 ms] (89) QDP (90) InductionCalculusProof [EQUIVALENT, 0 ms] (91) QDP (92) QDPPairToRuleProof [EQUIVALENT, 0 ms] (93) AND (94) QDP (95) MNOCProof [EQUIVALENT, 0 ms] (96) QDP (97) InductionCalculusProof [EQUIVALENT, 0 ms] (98) QDP (99) TransformationProof [EQUIVALENT, 0 ms] (100) QDP (101) DependencyGraphProof [EQUIVALENT, 0 ms] (102) QDP (103) TransformationProof [EQUIVALENT, 0 ms] (104) QDP (105) TransformationProof [EQUIVALENT, 0 ms] (106) QDP (107) TransformationProof [EQUIVALENT, 0 ms] (108) QDP (109) TransformationProof [EQUIVALENT, 0 ms] (110) QDP (111) TransformationProof [EQUIVALENT, 0 ms] (112) QDP (113) UsableRulesProof [EQUIVALENT, 0 ms] (114) QDP (115) QReductionProof [EQUIVALENT, 0 ms] (116) QDP (117) TransformationProof [EQUIVALENT, 0 ms] (118) QDP (119) TransformationProof [EQUIVALENT, 0 ms] (120) QDP (121) TransformationProof [EQUIVALENT, 0 ms] (122) QDP (123) TransformationProof [EQUIVALENT, 0 ms] (124) QDP (125) TransformationProof [EQUIVALENT, 0 ms] (126) QDP (127) TransformationProof [EQUIVALENT, 0 ms] (128) QDP (129) MNOCProof [EQUIVALENT, 0 ms] (130) QDP (131) InductionCalculusProof [EQUIVALENT, 0 ms] (132) QDP (133) QDP (134) QDPSizeChangeProof [EQUIVALENT, 0 ms] (135) YES (136) QDP (137) QDPSizeChangeProof [EQUIVALENT, 0 ms] (138) YES (139) QDP (140) QDPSizeChangeProof [EQUIVALENT, 0 ms] (141) YES (142) QDP (143) QDPSizeChangeProof [EQUIVALENT, 0 ms] (144) YES (145) Narrow [COMPLETE, 0 ms] (146) TRUE ---------------------------------------- (0) Obligation: mainModule Main module Main where { import qualified Prelude; data MyBool = MyTrue | MyFalse ; data MyInt = Pos Main.Nat | Neg Main.Nat ; data Main.Nat = Succ Main.Nat | Zero ; data Ordering = LT | EQ | GT ; compareMyInt :: MyInt -> MyInt -> Ordering; compareMyInt = primCmpInt; error :: a; error = stop MyTrue; esEsMyInt :: MyInt -> MyInt -> MyBool; esEsMyInt = primEqInt; esEsOrdering :: Ordering -> Ordering -> MyBool; esEsOrdering LT LT = MyTrue; esEsOrdering LT EQ = MyFalse; esEsOrdering LT GT = MyFalse; esEsOrdering EQ LT = MyFalse; esEsOrdering EQ EQ = MyTrue; esEsOrdering EQ GT = MyFalse; esEsOrdering GT LT = MyFalse; esEsOrdering GT EQ = MyFalse; esEsOrdering GT GT = MyTrue; evenMyInt :: MyInt -> MyBool; evenMyInt = primEvenInt; fromIntMyInt :: MyInt -> MyInt; fromIntMyInt x = x; gtMyInt :: MyInt -> MyInt -> MyBool; gtMyInt x y = esEsOrdering (compareMyInt x y) GT; msMyInt :: MyInt -> MyInt -> MyInt; msMyInt = primMinusInt; otherwise :: MyBool; otherwise = MyTrue; pr x vww = pr4 x vww; pr x n = pr2 x n; pr wy wz = pr0 wy wz; pr0 wy wz = Main.error; pr2 x n = pr2Pr1 x n (gtMyInt n (fromIntMyInt (Main.Pos Main.Zero))); pr2 vwu vwv = pr0 vwu vwv; pr2F wx vuy y = pr2F4 wx vuy y; pr2F x n y = pr2F0 x n y; pr2F0 x n y = pr2F0G y x n; pr2F0G vxy x n = pr2F0G2 vxy x n; pr2F0G0 vxy x n MyTrue = pr2F x (msMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero)))) (srMyInt x vxy); pr2F0G1 vxy x n MyTrue = pr2F0G vxy (srMyInt x x) (quotMyInt n (fromIntMyInt (Main.Pos (Main.Succ (Main.Succ Main.Zero))))); pr2F0G1 vxy x n MyFalse = pr2F0G0 vxy x n otherwise; pr2F0G2 vxy x n = pr2F0G1 vxy x n (evenMyInt n); pr2F3 MyTrue wx vuy y = y; pr2F3 vuz vvu vvv vvw = pr2F0 vvu vvv vvw; pr2F4 wx vuy y = pr2F3 (esEsMyInt vuy (fromIntMyInt (Main.Pos Main.Zero))) wx vuy y; pr2F4 vvx vvy vvz = pr2F0 vvx vvy vvz; pr2Pr1 x n MyTrue = pr2F x (msMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero)))) x; pr2Pr1 x n MyFalse = pr0 x n; pr3 MyTrue x vww = fromIntMyInt (Main.Pos (Main.Succ Main.Zero)); pr3 vwx vwy vwz = pr2 vwy vwz; pr4 x vww = pr3 (esEsMyInt vww (fromIntMyInt (Main.Pos Main.Zero))) x vww; pr4 vxu vxv = pr2 vxu vxv; primCmpInt :: MyInt -> MyInt -> Ordering; primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; primCmpInt (Main.Pos x) (Main.Neg y) = GT; primCmpInt (Main.Neg x) (Main.Pos y) = LT; primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; primCmpNat :: Main.Nat -> Main.Nat -> Ordering; primCmpNat Main.Zero Main.Zero = EQ; primCmpNat Main.Zero (Main.Succ y) = LT; primCmpNat (Main.Succ x) Main.Zero = GT; primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; primDivNatS :: Main.Nat -> Main.Nat -> Main.Nat; primDivNatS Main.Zero Main.Zero = Main.error; primDivNatS (Main.Succ x) Main.Zero = Main.error; primDivNatS (Main.Succ x) (Main.Succ y) = primDivNatS0 x y (primGEqNatS x y); primDivNatS Main.Zero (Main.Succ x) = Main.Zero; primDivNatS0 x y MyTrue = Main.Succ (primDivNatS (primMinusNatS x y) (Main.Succ y)); primDivNatS0 x y MyFalse = Main.Zero; primEqInt :: MyInt -> MyInt -> MyBool; primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; primEqInt xy xz = MyFalse; primEqNat :: Main.Nat -> Main.Nat -> MyBool; primEqNat Main.Zero Main.Zero = MyTrue; primEqNat Main.Zero (Main.Succ y) = MyFalse; primEqNat (Main.Succ x) Main.Zero = MyFalse; primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; primEvenInt :: MyInt -> MyBool; primEvenInt (Main.Pos x) = primEvenNat x; primEvenInt (Main.Neg x) = primEvenNat x; primEvenNat :: Main.Nat -> MyBool; primEvenNat Main.Zero = MyTrue; primEvenNat (Main.Succ Main.Zero) = MyFalse; primEvenNat (Main.Succ (Main.Succ x)) = primEvenNat x; primGEqNatS :: Main.Nat -> Main.Nat -> MyBool; primGEqNatS (Main.Succ x) Main.Zero = MyTrue; primGEqNatS (Main.Succ x) (Main.Succ y) = primGEqNatS x y; primGEqNatS Main.Zero (Main.Succ x) = MyFalse; primGEqNatS Main.Zero Main.Zero = MyTrue; primMinusInt :: MyInt -> MyInt -> MyInt; primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; primMinusNat :: Main.Nat -> Main.Nat -> MyInt; primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; primMinusNatS :: Main.Nat -> Main.Nat -> Main.Nat; primMinusNatS (Main.Succ x) (Main.Succ y) = primMinusNatS x y; primMinusNatS Main.Zero (Main.Succ y) = Main.Zero; primMinusNatS x Main.Zero = x; primMulInt :: MyInt -> MyInt -> MyInt; primMulInt (Main.Pos x) (Main.Pos y) = Main.Pos (primMulNat x y); primMulInt (Main.Pos x) (Main.Neg y) = Main.Neg (primMulNat x y); primMulInt (Main.Neg x) (Main.Pos y) = Main.Neg (primMulNat x y); primMulInt (Main.Neg x) (Main.Neg y) = Main.Pos (primMulNat x y); primMulNat :: Main.Nat -> Main.Nat -> Main.Nat; primMulNat Main.Zero Main.Zero = Main.Zero; primMulNat Main.Zero (Main.Succ y) = Main.Zero; primMulNat (Main.Succ x) Main.Zero = Main.Zero; primMulNat (Main.Succ x) (Main.Succ y) = primPlusNat (primMulNat x (Main.Succ y)) (Main.Succ y); primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; primPlusNat Main.Zero Main.Zero = Main.Zero; primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); primQuotInt :: MyInt -> MyInt -> MyInt; primQuotInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primQuotInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); primQuotInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); primQuotInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primQuotInt xw xx = Main.error; quotMyInt :: MyInt -> MyInt -> MyInt; quotMyInt = primQuotInt; srMyInt :: MyInt -> MyInt -> MyInt; srMyInt = primMulInt; stop :: MyBool -> a; stop MyFalse = stop MyFalse; } ---------------------------------------- (1) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (2) Obligation: mainModule Main module Main where { import qualified Prelude; data MyBool = MyTrue | MyFalse ; data MyInt = Pos Main.Nat | Neg Main.Nat ; data Main.Nat = Succ Main.Nat | Zero ; data Ordering = LT | EQ | GT ; compareMyInt :: MyInt -> MyInt -> Ordering; compareMyInt = primCmpInt; error :: a; error = stop MyTrue; esEsMyInt :: MyInt -> MyInt -> MyBool; esEsMyInt = primEqInt; esEsOrdering :: Ordering -> Ordering -> MyBool; esEsOrdering LT LT = MyTrue; esEsOrdering LT EQ = MyFalse; esEsOrdering LT GT = MyFalse; esEsOrdering EQ LT = MyFalse; esEsOrdering EQ EQ = MyTrue; esEsOrdering EQ GT = MyFalse; esEsOrdering GT LT = MyFalse; esEsOrdering GT EQ = MyFalse; esEsOrdering GT GT = MyTrue; evenMyInt :: MyInt -> MyBool; evenMyInt = primEvenInt; fromIntMyInt :: MyInt -> MyInt; fromIntMyInt x = x; gtMyInt :: MyInt -> MyInt -> MyBool; gtMyInt x y = esEsOrdering (compareMyInt x y) GT; msMyInt :: MyInt -> MyInt -> MyInt; msMyInt = primMinusInt; otherwise :: MyBool; otherwise = MyTrue; pr x vww = pr4 x vww; pr x n = pr2 x n; pr wy wz = pr0 wy wz; pr0 wy wz = Main.error; pr2 x n = pr2Pr1 x n (gtMyInt n (fromIntMyInt (Main.Pos Main.Zero))); pr2 vwu vwv = pr0 vwu vwv; pr2F wx vuy y = pr2F4 wx vuy y; pr2F x n y = pr2F0 x n y; pr2F0 x n y = pr2F0G y x n; pr2F0G vxy x n = pr2F0G2 vxy x n; pr2F0G0 vxy x n MyTrue = pr2F x (msMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero)))) (srMyInt x vxy); pr2F0G1 vxy x n MyTrue = pr2F0G vxy (srMyInt x x) (quotMyInt n (fromIntMyInt (Main.Pos (Main.Succ (Main.Succ Main.Zero))))); pr2F0G1 vxy x n MyFalse = pr2F0G0 vxy x n otherwise; pr2F0G2 vxy x n = pr2F0G1 vxy x n (evenMyInt n); pr2F3 MyTrue wx vuy y = y; pr2F3 vuz vvu vvv vvw = pr2F0 vvu vvv vvw; pr2F4 wx vuy y = pr2F3 (esEsMyInt vuy (fromIntMyInt (Main.Pos Main.Zero))) wx vuy y; pr2F4 vvx vvy vvz = pr2F0 vvx vvy vvz; pr2Pr1 x n MyTrue = pr2F x (msMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero)))) x; pr2Pr1 x n MyFalse = pr0 x n; pr3 MyTrue x vww = fromIntMyInt (Main.Pos (Main.Succ Main.Zero)); pr3 vwx vwy vwz = pr2 vwy vwz; pr4 x vww = pr3 (esEsMyInt vww (fromIntMyInt (Main.Pos Main.Zero))) x vww; pr4 vxu vxv = pr2 vxu vxv; primCmpInt :: MyInt -> MyInt -> Ordering; primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; primCmpInt (Main.Pos x) (Main.Neg y) = GT; primCmpInt (Main.Neg x) (Main.Pos y) = LT; primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; primCmpNat :: Main.Nat -> Main.Nat -> Ordering; primCmpNat Main.Zero Main.Zero = EQ; primCmpNat Main.Zero (Main.Succ y) = LT; primCmpNat (Main.Succ x) Main.Zero = GT; primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; primDivNatS :: Main.Nat -> Main.Nat -> Main.Nat; primDivNatS Main.Zero Main.Zero = Main.error; primDivNatS (Main.Succ x) Main.Zero = Main.error; primDivNatS (Main.Succ x) (Main.Succ y) = primDivNatS0 x y (primGEqNatS x y); primDivNatS Main.Zero (Main.Succ x) = Main.Zero; primDivNatS0 x y MyTrue = Main.Succ (primDivNatS (primMinusNatS x y) (Main.Succ y)); primDivNatS0 x y MyFalse = Main.Zero; primEqInt :: MyInt -> MyInt -> MyBool; primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; primEqInt xy xz = MyFalse; primEqNat :: Main.Nat -> Main.Nat -> MyBool; primEqNat Main.Zero Main.Zero = MyTrue; primEqNat Main.Zero (Main.Succ y) = MyFalse; primEqNat (Main.Succ x) Main.Zero = MyFalse; primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; primEvenInt :: MyInt -> MyBool; primEvenInt (Main.Pos x) = primEvenNat x; primEvenInt (Main.Neg x) = primEvenNat x; primEvenNat :: Main.Nat -> MyBool; primEvenNat Main.Zero = MyTrue; primEvenNat (Main.Succ Main.Zero) = MyFalse; primEvenNat (Main.Succ (Main.Succ x)) = primEvenNat x; primGEqNatS :: Main.Nat -> Main.Nat -> MyBool; primGEqNatS (Main.Succ x) Main.Zero = MyTrue; primGEqNatS (Main.Succ x) (Main.Succ y) = primGEqNatS x y; primGEqNatS Main.Zero (Main.Succ x) = MyFalse; primGEqNatS Main.Zero Main.Zero = MyTrue; primMinusInt :: MyInt -> MyInt -> MyInt; primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; primMinusNat :: Main.Nat -> Main.Nat -> MyInt; primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; primMinusNatS :: Main.Nat -> Main.Nat -> Main.Nat; primMinusNatS (Main.Succ x) (Main.Succ y) = primMinusNatS x y; primMinusNatS Main.Zero (Main.Succ y) = Main.Zero; primMinusNatS x Main.Zero = x; primMulInt :: MyInt -> MyInt -> MyInt; primMulInt (Main.Pos x) (Main.Pos y) = Main.Pos (primMulNat x y); primMulInt (Main.Pos x) (Main.Neg y) = Main.Neg (primMulNat x y); primMulInt (Main.Neg x) (Main.Pos y) = Main.Neg (primMulNat x y); primMulInt (Main.Neg x) (Main.Neg y) = Main.Pos (primMulNat x y); primMulNat :: Main.Nat -> Main.Nat -> Main.Nat; primMulNat Main.Zero Main.Zero = Main.Zero; primMulNat Main.Zero (Main.Succ y) = Main.Zero; primMulNat (Main.Succ x) Main.Zero = Main.Zero; primMulNat (Main.Succ x) (Main.Succ y) = primPlusNat (primMulNat x (Main.Succ y)) (Main.Succ y); primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; primPlusNat Main.Zero Main.Zero = Main.Zero; primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); primQuotInt :: MyInt -> MyInt -> MyInt; primQuotInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primQuotInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); primQuotInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); primQuotInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primQuotInt xw xx = Main.error; quotMyInt :: MyInt -> MyInt -> MyInt; quotMyInt = primQuotInt; srMyInt :: MyInt -> MyInt -> MyInt; srMyInt = primMulInt; stop :: MyBool -> a; stop MyFalse = stop MyFalse; } ---------------------------------------- (3) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " ---------------------------------------- (4) Obligation: mainModule Main module Main where { import qualified Prelude; data MyBool = MyTrue | MyFalse ; data MyInt = Pos Main.Nat | Neg Main.Nat ; data Main.Nat = Succ Main.Nat | Zero ; data Ordering = LT | EQ | GT ; compareMyInt :: MyInt -> MyInt -> Ordering; compareMyInt = primCmpInt; error :: a; error = stop MyTrue; esEsMyInt :: MyInt -> MyInt -> MyBool; esEsMyInt = primEqInt; esEsOrdering :: Ordering -> Ordering -> MyBool; esEsOrdering LT LT = MyTrue; esEsOrdering LT EQ = MyFalse; esEsOrdering LT GT = MyFalse; esEsOrdering EQ LT = MyFalse; esEsOrdering EQ EQ = MyTrue; esEsOrdering EQ GT = MyFalse; esEsOrdering GT LT = MyFalse; esEsOrdering GT EQ = MyFalse; esEsOrdering GT GT = MyTrue; evenMyInt :: MyInt -> MyBool; evenMyInt = primEvenInt; fromIntMyInt :: MyInt -> MyInt; fromIntMyInt x = x; gtMyInt :: MyInt -> MyInt -> MyBool; gtMyInt x y = esEsOrdering (compareMyInt x y) GT; msMyInt :: MyInt -> MyInt -> MyInt; msMyInt = primMinusInt; otherwise :: MyBool; otherwise = MyTrue; pr x vww = pr4 x vww; pr x n = pr2 x n; pr wy wz = pr0 wy wz; pr0 wy wz = Main.error; pr2 x n = pr2Pr1 x n (gtMyInt n (fromIntMyInt (Main.Pos Main.Zero))); pr2 vwu vwv = pr0 vwu vwv; pr2F wx vuy y = pr2F4 wx vuy y; pr2F x n y = pr2F0 x n y; pr2F0 x n y = pr2F0G y x n; pr2F0G vxy x n = pr2F0G2 vxy x n; pr2F0G0 vxy x n MyTrue = pr2F x (msMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero)))) (srMyInt x vxy); pr2F0G1 vxy x n MyTrue = pr2F0G vxy (srMyInt x x) (quotMyInt n (fromIntMyInt (Main.Pos (Main.Succ (Main.Succ Main.Zero))))); pr2F0G1 vxy x n MyFalse = pr2F0G0 vxy x n otherwise; pr2F0G2 vxy x n = pr2F0G1 vxy x n (evenMyInt n); pr2F3 MyTrue wx vuy y = y; pr2F3 vuz vvu vvv vvw = pr2F0 vvu vvv vvw; pr2F4 wx vuy y = pr2F3 (esEsMyInt vuy (fromIntMyInt (Main.Pos Main.Zero))) wx vuy y; pr2F4 vvx vvy vvz = pr2F0 vvx vvy vvz; pr2Pr1 x n MyTrue = pr2F x (msMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero)))) x; pr2Pr1 x n MyFalse = pr0 x n; pr3 MyTrue x vww = fromIntMyInt (Main.Pos (Main.Succ Main.Zero)); pr3 vwx vwy vwz = pr2 vwy vwz; pr4 x vww = pr3 (esEsMyInt vww (fromIntMyInt (Main.Pos Main.Zero))) x vww; pr4 vxu vxv = pr2 vxu vxv; primCmpInt :: MyInt -> MyInt -> Ordering; primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; primCmpInt (Main.Pos x) (Main.Neg y) = GT; primCmpInt (Main.Neg x) (Main.Pos y) = LT; primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; primCmpNat :: Main.Nat -> Main.Nat -> Ordering; primCmpNat Main.Zero Main.Zero = EQ; primCmpNat Main.Zero (Main.Succ y) = LT; primCmpNat (Main.Succ x) Main.Zero = GT; primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; primDivNatS :: Main.Nat -> Main.Nat -> Main.Nat; primDivNatS Main.Zero Main.Zero = Main.error; primDivNatS (Main.Succ x) Main.Zero = Main.error; primDivNatS (Main.Succ x) (Main.Succ y) = primDivNatS0 x y (primGEqNatS x y); primDivNatS Main.Zero (Main.Succ x) = Main.Zero; primDivNatS0 x y MyTrue = Main.Succ (primDivNatS (primMinusNatS x y) (Main.Succ y)); primDivNatS0 x y MyFalse = Main.Zero; primEqInt :: MyInt -> MyInt -> MyBool; primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; primEqInt xy xz = MyFalse; primEqNat :: Main.Nat -> Main.Nat -> MyBool; primEqNat Main.Zero Main.Zero = MyTrue; primEqNat Main.Zero (Main.Succ y) = MyFalse; primEqNat (Main.Succ x) Main.Zero = MyFalse; primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; primEvenInt :: MyInt -> MyBool; primEvenInt (Main.Pos x) = primEvenNat x; primEvenInt (Main.Neg x) = primEvenNat x; primEvenNat :: Main.Nat -> MyBool; primEvenNat Main.Zero = MyTrue; primEvenNat (Main.Succ Main.Zero) = MyFalse; primEvenNat (Main.Succ (Main.Succ x)) = primEvenNat x; primGEqNatS :: Main.Nat -> Main.Nat -> MyBool; primGEqNatS (Main.Succ x) Main.Zero = MyTrue; primGEqNatS (Main.Succ x) (Main.Succ y) = primGEqNatS x y; primGEqNatS Main.Zero (Main.Succ x) = MyFalse; primGEqNatS Main.Zero Main.Zero = MyTrue; primMinusInt :: MyInt -> MyInt -> MyInt; primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; primMinusNat :: Main.Nat -> Main.Nat -> MyInt; primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; primMinusNatS :: Main.Nat -> Main.Nat -> Main.Nat; primMinusNatS (Main.Succ x) (Main.Succ y) = primMinusNatS x y; primMinusNatS Main.Zero (Main.Succ y) = Main.Zero; primMinusNatS x Main.Zero = x; primMulInt :: MyInt -> MyInt -> MyInt; primMulInt (Main.Pos x) (Main.Pos y) = Main.Pos (primMulNat x y); primMulInt (Main.Pos x) (Main.Neg y) = Main.Neg (primMulNat x y); primMulInt (Main.Neg x) (Main.Pos y) = Main.Neg (primMulNat x y); primMulInt (Main.Neg x) (Main.Neg y) = Main.Pos (primMulNat x y); primMulNat :: Main.Nat -> Main.Nat -> Main.Nat; primMulNat Main.Zero Main.Zero = Main.Zero; primMulNat Main.Zero (Main.Succ y) = Main.Zero; primMulNat (Main.Succ x) Main.Zero = Main.Zero; primMulNat (Main.Succ x) (Main.Succ y) = primPlusNat (primMulNat x (Main.Succ y)) (Main.Succ y); primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; primPlusNat Main.Zero Main.Zero = Main.Zero; primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); primQuotInt :: MyInt -> MyInt -> MyInt; primQuotInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primQuotInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); primQuotInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); primQuotInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primQuotInt xw xx = Main.error; quotMyInt :: MyInt -> MyInt -> MyInt; quotMyInt = primQuotInt; srMyInt :: MyInt -> MyInt -> MyInt; srMyInt = primMulInt; stop :: MyBool -> a; stop MyFalse = stop MyFalse; } ---------------------------------------- (5) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="pr",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="pr vx3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="pr vx3 vx4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="pr4 vx3 vx4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6[label="pr3 (esEsMyInt vx4 (fromIntMyInt (Pos Zero))) vx3 vx4",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 7[label="pr3 (primEqInt vx4 (fromIntMyInt (Pos Zero))) vx3 vx4",fontsize=16,color="burlywood",shape="box"];1176[label="vx4/Pos vx40",fontsize=10,color="white",style="solid",shape="box"];7 -> 1176[label="",style="solid", color="burlywood", weight=9]; 1176 -> 8[label="",style="solid", color="burlywood", weight=3]; 1177[label="vx4/Neg vx40",fontsize=10,color="white",style="solid",shape="box"];7 -> 1177[label="",style="solid", color="burlywood", weight=9]; 1177 -> 9[label="",style="solid", color="burlywood", weight=3]; 8[label="pr3 (primEqInt (Pos vx40) (fromIntMyInt (Pos Zero))) vx3 (Pos vx40)",fontsize=16,color="burlywood",shape="box"];1178[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];8 -> 1178[label="",style="solid", color="burlywood", weight=9]; 1178 -> 10[label="",style="solid", color="burlywood", weight=3]; 1179[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];8 -> 1179[label="",style="solid", color="burlywood", weight=9]; 1179 -> 11[label="",style="solid", color="burlywood", weight=3]; 9[label="pr3 (primEqInt (Neg vx40) (fromIntMyInt (Pos Zero))) vx3 (Neg vx40)",fontsize=16,color="burlywood",shape="box"];1180[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];9 -> 1180[label="",style="solid", color="burlywood", weight=9]; 1180 -> 12[label="",style="solid", color="burlywood", weight=3]; 1181[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];9 -> 1181[label="",style="solid", color="burlywood", weight=9]; 1181 -> 13[label="",style="solid", color="burlywood", weight=3]; 10[label="pr3 (primEqInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero))) vx3 (Pos (Succ vx400))",fontsize=16,color="black",shape="box"];10 -> 14[label="",style="solid", color="black", weight=3]; 11[label="pr3 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx3 (Pos Zero)",fontsize=16,color="black",shape="box"];11 -> 15[label="",style="solid", color="black", weight=3]; 12[label="pr3 (primEqInt (Neg (Succ vx400)) (fromIntMyInt (Pos Zero))) vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];12 -> 16[label="",style="solid", color="black", weight=3]; 13[label="pr3 (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero))) vx3 (Neg Zero)",fontsize=16,color="black",shape="box"];13 -> 17[label="",style="solid", color="black", weight=3]; 14[label="pr3 (primEqInt (Pos (Succ vx400)) (Pos Zero)) vx3 (Pos (Succ vx400))",fontsize=16,color="black",shape="box"];14 -> 18[label="",style="solid", color="black", weight=3]; 15[label="pr3 (primEqInt (Pos Zero) (Pos Zero)) vx3 (Pos Zero)",fontsize=16,color="black",shape="box"];15 -> 19[label="",style="solid", color="black", weight=3]; 16[label="pr3 (primEqInt (Neg (Succ vx400)) (Pos Zero)) vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];16 -> 20[label="",style="solid", color="black", weight=3]; 17[label="pr3 (primEqInt (Neg Zero) (Pos Zero)) vx3 (Neg Zero)",fontsize=16,color="black",shape="box"];17 -> 21[label="",style="solid", color="black", weight=3]; 18[label="pr3 MyFalse vx3 (Pos (Succ vx400))",fontsize=16,color="black",shape="box"];18 -> 22[label="",style="solid", color="black", weight=3]; 19[label="pr3 MyTrue vx3 (Pos Zero)",fontsize=16,color="black",shape="box"];19 -> 23[label="",style="solid", color="black", weight=3]; 20[label="pr3 MyFalse vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];20 -> 24[label="",style="solid", color="black", weight=3]; 21[label="pr3 MyTrue vx3 (Neg Zero)",fontsize=16,color="black",shape="box"];21 -> 25[label="",style="solid", color="black", weight=3]; 22[label="pr2 vx3 (Pos (Succ vx400))",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 23[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];23 -> 27[label="",style="solid", color="black", weight=3]; 24[label="pr2 vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 25 -> 23[label="",style="dashed", color="red", weight=0]; 25[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];26[label="pr2Pr1 vx3 (Pos (Succ vx400)) (gtMyInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];26 -> 29[label="",style="solid", color="black", weight=3]; 27[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];28[label="pr2Pr1 vx3 (Neg (Succ vx400)) (gtMyInt (Neg (Succ vx400)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];28 -> 30[label="",style="solid", color="black", weight=3]; 29[label="pr2Pr1 vx3 (Pos (Succ vx400)) (esEsOrdering (compareMyInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero))) GT)",fontsize=16,color="black",shape="box"];29 -> 31[label="",style="solid", color="black", weight=3]; 30[label="pr2Pr1 vx3 (Neg (Succ vx400)) (esEsOrdering (compareMyInt (Neg (Succ vx400)) (fromIntMyInt (Pos Zero))) GT)",fontsize=16,color="black",shape="box"];30 -> 32[label="",style="solid", color="black", weight=3]; 31[label="pr2Pr1 vx3 (Pos (Succ vx400)) (esEsOrdering (primCmpInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero))) GT)",fontsize=16,color="black",shape="box"];31 -> 33[label="",style="solid", color="black", weight=3]; 32[label="pr2Pr1 vx3 (Neg (Succ vx400)) (esEsOrdering (primCmpInt (Neg (Succ vx400)) (fromIntMyInt (Pos Zero))) GT)",fontsize=16,color="black",shape="box"];32 -> 34[label="",style="solid", color="black", weight=3]; 33[label="pr2Pr1 vx3 (Pos (Succ vx400)) (esEsOrdering (primCmpInt (Pos (Succ vx400)) (Pos Zero)) GT)",fontsize=16,color="black",shape="box"];33 -> 35[label="",style="solid", color="black", weight=3]; 34[label="pr2Pr1 vx3 (Neg (Succ vx400)) (esEsOrdering (primCmpInt (Neg (Succ vx400)) (Pos Zero)) GT)",fontsize=16,color="black",shape="box"];34 -> 36[label="",style="solid", color="black", weight=3]; 35[label="pr2Pr1 vx3 (Pos (Succ vx400)) (esEsOrdering (primCmpNat (Succ vx400) Zero) GT)",fontsize=16,color="black",shape="box"];35 -> 37[label="",style="solid", color="black", weight=3]; 36[label="pr2Pr1 vx3 (Neg (Succ vx400)) (esEsOrdering LT GT)",fontsize=16,color="black",shape="box"];36 -> 38[label="",style="solid", color="black", weight=3]; 37[label="pr2Pr1 vx3 (Pos (Succ vx400)) (esEsOrdering GT GT)",fontsize=16,color="black",shape="box"];37 -> 39[label="",style="solid", color="black", weight=3]; 38[label="pr2Pr1 vx3 (Neg (Succ vx400)) MyFalse",fontsize=16,color="black",shape="box"];38 -> 40[label="",style="solid", color="black", weight=3]; 39[label="pr2Pr1 vx3 (Pos (Succ vx400)) MyTrue",fontsize=16,color="black",shape="box"];39 -> 41[label="",style="solid", color="black", weight=3]; 40[label="pr0 vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];40 -> 42[label="",style="solid", color="black", weight=3]; 41 -> 43[label="",style="dashed", color="red", weight=0]; 41[label="pr2F vx3 (msMyInt (Pos (Succ vx400)) (fromIntMyInt (Pos (Succ Zero)))) vx3",fontsize=16,color="magenta"];41 -> 44[label="",style="dashed", color="magenta", weight=3]; 42[label="error",fontsize=16,color="black",shape="box"];42 -> 45[label="",style="solid", color="black", weight=3]; 44 -> 23[label="",style="dashed", color="red", weight=0]; 44[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];43[label="pr2F vx3 (msMyInt (Pos (Succ vx400)) vx5) vx3",fontsize=16,color="black",shape="triangle"];43 -> 46[label="",style="solid", color="black", weight=3]; 45[label="stop MyTrue",fontsize=16,color="black",shape="box"];45 -> 47[label="",style="solid", color="black", weight=3]; 46[label="pr2F4 vx3 (msMyInt (Pos (Succ vx400)) vx5) vx3",fontsize=16,color="black",shape="box"];46 -> 48[label="",style="solid", color="black", weight=3]; 47[label="error []",fontsize=16,color="red",shape="box"];48[label="pr2F3 (esEsMyInt (msMyInt (Pos (Succ vx400)) vx5) (fromIntMyInt (Pos Zero))) vx3 (msMyInt (Pos (Succ vx400)) vx5) vx3",fontsize=16,color="black",shape="box"];48 -> 49[label="",style="solid", color="black", weight=3]; 49[label="pr2F3 (primEqInt (msMyInt (Pos (Succ vx400)) vx5) (fromIntMyInt (Pos Zero))) vx3 (msMyInt (Pos (Succ vx400)) vx5) vx3",fontsize=16,color="black",shape="box"];49 -> 50[label="",style="solid", color="black", weight=3]; 50[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx400)) vx5) (fromIntMyInt (Pos Zero))) vx3 (primMinusInt (Pos (Succ vx400)) vx5) vx3",fontsize=16,color="burlywood",shape="box"];1182[label="vx5/Pos vx50",fontsize=10,color="white",style="solid",shape="box"];50 -> 1182[label="",style="solid", color="burlywood", weight=9]; 1182 -> 51[label="",style="solid", color="burlywood", weight=3]; 1183[label="vx5/Neg vx50",fontsize=10,color="white",style="solid",shape="box"];50 -> 1183[label="",style="solid", color="burlywood", weight=9]; 1183 -> 52[label="",style="solid", color="burlywood", weight=3]; 51[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx400)) (Pos vx50)) (fromIntMyInt (Pos Zero))) vx3 (primMinusInt (Pos (Succ vx400)) (Pos vx50)) vx3",fontsize=16,color="black",shape="box"];51 -> 53[label="",style="solid", color="black", weight=3]; 52[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx400)) (Neg vx50)) (fromIntMyInt (Pos Zero))) vx3 (primMinusInt (Pos (Succ vx400)) (Neg vx50)) vx3",fontsize=16,color="black",shape="box"];52 -> 54[label="",style="solid", color="black", weight=3]; 53[label="pr2F3 (primEqInt (primMinusNat (Succ vx400) vx50) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx400) vx50) vx3",fontsize=16,color="burlywood",shape="box"];1184[label="vx50/Succ vx500",fontsize=10,color="white",style="solid",shape="box"];53 -> 1184[label="",style="solid", color="burlywood", weight=9]; 1184 -> 55[label="",style="solid", color="burlywood", weight=3]; 1185[label="vx50/Zero",fontsize=10,color="white",style="solid",shape="box"];53 -> 1185[label="",style="solid", color="burlywood", weight=9]; 1185 -> 56[label="",style="solid", color="burlywood", weight=3]; 54[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vx400) vx50)) (fromIntMyInt (Pos Zero))) vx3 (Pos (primPlusNat (Succ vx400) vx50)) vx3",fontsize=16,color="burlywood",shape="box"];1186[label="vx50/Succ vx500",fontsize=10,color="white",style="solid",shape="box"];54 -> 1186[label="",style="solid", color="burlywood", weight=9]; 1186 -> 57[label="",style="solid", color="burlywood", weight=3]; 1187[label="vx50/Zero",fontsize=10,color="white",style="solid",shape="box"];54 -> 1187[label="",style="solid", color="burlywood", weight=9]; 1187 -> 58[label="",style="solid", color="burlywood", weight=3]; 55[label="pr2F3 (primEqInt (primMinusNat (Succ vx400) (Succ vx500)) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx400) (Succ vx500)) vx3",fontsize=16,color="black",shape="box"];55 -> 59[label="",style="solid", color="black", weight=3]; 56[label="pr2F3 (primEqInt (primMinusNat (Succ vx400) Zero) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx400) Zero) vx3",fontsize=16,color="black",shape="box"];56 -> 60[label="",style="solid", color="black", weight=3]; 57[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vx400) (Succ vx500))) (fromIntMyInt (Pos Zero))) vx3 (Pos (primPlusNat (Succ vx400) (Succ vx500))) vx3",fontsize=16,color="black",shape="box"];57 -> 61[label="",style="solid", color="black", weight=3]; 58[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vx400) Zero)) (fromIntMyInt (Pos Zero))) vx3 (Pos (primPlusNat (Succ vx400) Zero)) vx3",fontsize=16,color="black",shape="box"];58 -> 62[label="",style="solid", color="black", weight=3]; 59[label="pr2F3 (primEqInt (primMinusNat vx400 vx500) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat vx400 vx500) vx3",fontsize=16,color="burlywood",shape="triangle"];1188[label="vx400/Succ vx4000",fontsize=10,color="white",style="solid",shape="box"];59 -> 1188[label="",style="solid", color="burlywood", weight=9]; 1188 -> 63[label="",style="solid", color="burlywood", weight=3]; 1189[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];59 -> 1189[label="",style="solid", color="burlywood", weight=9]; 1189 -> 64[label="",style="solid", color="burlywood", weight=3]; 60 -> 414[label="",style="dashed", color="red", weight=0]; 60[label="pr2F3 (primEqInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero))) vx3 (Pos (Succ vx400)) vx3",fontsize=16,color="magenta"];60 -> 415[label="",style="dashed", color="magenta", weight=3]; 60 -> 416[label="",style="dashed", color="magenta", weight=3]; 60 -> 417[label="",style="dashed", color="magenta", weight=3]; 61 -> 414[label="",style="dashed", color="red", weight=0]; 61[label="pr2F3 (primEqInt (Pos (Succ (Succ (primPlusNat vx400 vx500)))) (fromIntMyInt (Pos Zero))) vx3 (Pos (Succ (Succ (primPlusNat vx400 vx500)))) vx3",fontsize=16,color="magenta"];61 -> 418[label="",style="dashed", color="magenta", weight=3]; 61 -> 419[label="",style="dashed", color="magenta", weight=3]; 61 -> 420[label="",style="dashed", color="magenta", weight=3]; 62 -> 414[label="",style="dashed", color="red", weight=0]; 62[label="pr2F3 (primEqInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero))) vx3 (Pos (Succ vx400)) vx3",fontsize=16,color="magenta"];62 -> 421[label="",style="dashed", color="magenta", weight=3]; 62 -> 422[label="",style="dashed", color="magenta", weight=3]; 62 -> 423[label="",style="dashed", color="magenta", weight=3]; 63[label="pr2F3 (primEqInt (primMinusNat (Succ vx4000) vx500) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx4000) vx500) vx3",fontsize=16,color="burlywood",shape="box"];1190[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];63 -> 1190[label="",style="solid", color="burlywood", weight=9]; 1190 -> 67[label="",style="solid", color="burlywood", weight=3]; 1191[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];63 -> 1191[label="",style="solid", color="burlywood", weight=9]; 1191 -> 68[label="",style="solid", color="burlywood", weight=3]; 64[label="pr2F3 (primEqInt (primMinusNat Zero vx500) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat Zero vx500) vx3",fontsize=16,color="burlywood",shape="box"];1192[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];64 -> 1192[label="",style="solid", color="burlywood", weight=9]; 1192 -> 69[label="",style="solid", color="burlywood", weight=3]; 1193[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];64 -> 1193[label="",style="solid", color="burlywood", weight=9]; 1193 -> 70[label="",style="solid", color="burlywood", weight=3]; 415[label="vx3",fontsize=16,color="green",shape="box"];416[label="vx3",fontsize=16,color="green",shape="box"];417[label="vx400",fontsize=16,color="green",shape="box"];414[label="pr2F3 (primEqInt (Pos (Succ vx23000)) (fromIntMyInt (Pos Zero))) vx12 (Pos (Succ vx23000)) vx33",fontsize=16,color="black",shape="triangle"];414 -> 428[label="",style="solid", color="black", weight=3]; 418[label="vx3",fontsize=16,color="green",shape="box"];419[label="vx3",fontsize=16,color="green",shape="box"];420[label="Succ (primPlusNat vx400 vx500)",fontsize=16,color="green",shape="box"];420 -> 429[label="",style="dashed", color="green", weight=3]; 421[label="vx3",fontsize=16,color="green",shape="box"];422[label="vx3",fontsize=16,color="green",shape="box"];423[label="vx400",fontsize=16,color="green",shape="box"];67[label="pr2F3 (primEqInt (primMinusNat (Succ vx4000) (Succ vx5000)) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx4000) (Succ vx5000)) vx3",fontsize=16,color="black",shape="box"];67 -> 73[label="",style="solid", color="black", weight=3]; 68[label="pr2F3 (primEqInt (primMinusNat (Succ vx4000) Zero) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx4000) Zero) vx3",fontsize=16,color="black",shape="box"];68 -> 74[label="",style="solid", color="black", weight=3]; 69[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vx5000)) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat Zero (Succ vx5000)) vx3",fontsize=16,color="black",shape="box"];69 -> 75[label="",style="solid", color="black", weight=3]; 70[label="pr2F3 (primEqInt (primMinusNat Zero Zero) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat Zero Zero) vx3",fontsize=16,color="black",shape="box"];70 -> 76[label="",style="solid", color="black", weight=3]; 428[label="pr2F3 (primEqInt (Pos (Succ vx23000)) (Pos Zero)) vx12 (Pos (Succ vx23000)) vx33",fontsize=16,color="black",shape="box"];428 -> 436[label="",style="solid", color="black", weight=3]; 429 -> 72[label="",style="dashed", color="red", weight=0]; 429[label="primPlusNat vx400 vx500",fontsize=16,color="magenta"];73 -> 59[label="",style="dashed", color="red", weight=0]; 73[label="pr2F3 (primEqInt (primMinusNat vx4000 vx5000) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat vx4000 vx5000) vx3",fontsize=16,color="magenta"];73 -> 80[label="",style="dashed", color="magenta", weight=3]; 73 -> 81[label="",style="dashed", color="magenta", weight=3]; 74 -> 414[label="",style="dashed", color="red", weight=0]; 74[label="pr2F3 (primEqInt (Pos (Succ vx4000)) (fromIntMyInt (Pos Zero))) vx3 (Pos (Succ vx4000)) vx3",fontsize=16,color="magenta"];74 -> 424[label="",style="dashed", color="magenta", weight=3]; 74 -> 425[label="",style="dashed", color="magenta", weight=3]; 74 -> 426[label="",style="dashed", color="magenta", weight=3]; 75[label="pr2F3 (primEqInt (Neg (Succ vx5000)) (fromIntMyInt (Pos Zero))) vx3 (Neg (Succ vx5000)) vx3",fontsize=16,color="black",shape="box"];75 -> 83[label="",style="solid", color="black", weight=3]; 76 -> 432[label="",style="dashed", color="red", weight=0]; 76[label="pr2F3 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx3 (Pos Zero) vx3",fontsize=16,color="magenta"];76 -> 433[label="",style="dashed", color="magenta", weight=3]; 76 -> 434[label="",style="dashed", color="magenta", weight=3]; 436[label="pr2F3 MyFalse vx12 (Pos (Succ vx23000)) vx33",fontsize=16,color="black",shape="box"];436 -> 440[label="",style="solid", color="black", weight=3]; 72[label="primPlusNat vx400 vx500",fontsize=16,color="burlywood",shape="triangle"];1194[label="vx400/Succ vx4000",fontsize=10,color="white",style="solid",shape="box"];72 -> 1194[label="",style="solid", color="burlywood", weight=9]; 1194 -> 78[label="",style="solid", color="burlywood", weight=3]; 1195[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];72 -> 1195[label="",style="solid", color="burlywood", weight=9]; 1195 -> 79[label="",style="solid", color="burlywood", weight=3]; 80[label="vx4000",fontsize=16,color="green",shape="box"];81[label="vx5000",fontsize=16,color="green",shape="box"];424[label="vx3",fontsize=16,color="green",shape="box"];425[label="vx3",fontsize=16,color="green",shape="box"];426[label="vx4000",fontsize=16,color="green",shape="box"];83 -> 764[label="",style="dashed", color="red", weight=0]; 83[label="pr2F3 (primEqInt (Neg (Succ vx5000)) (Pos Zero)) vx3 (Neg (Succ vx5000)) vx3",fontsize=16,color="magenta"];83 -> 765[label="",style="dashed", color="magenta", weight=3]; 83 -> 766[label="",style="dashed", color="magenta", weight=3]; 83 -> 767[label="",style="dashed", color="magenta", weight=3]; 83 -> 768[label="",style="dashed", color="magenta", weight=3]; 433[label="vx3",fontsize=16,color="green",shape="box"];434[label="vx3",fontsize=16,color="green",shape="box"];432[label="pr2F3 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx12 (Pos Zero) vx34",fontsize=16,color="black",shape="triangle"];432 -> 437[label="",style="solid", color="black", weight=3]; 440[label="pr2F0 vx12 (Pos (Succ vx23000)) vx33",fontsize=16,color="black",shape="box"];440 -> 444[label="",style="solid", color="black", weight=3]; 78[label="primPlusNat (Succ vx4000) vx500",fontsize=16,color="burlywood",shape="box"];1196[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];78 -> 1196[label="",style="solid", color="burlywood", weight=9]; 1196 -> 86[label="",style="solid", color="burlywood", weight=3]; 1197[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];78 -> 1197[label="",style="solid", color="burlywood", weight=9]; 1197 -> 87[label="",style="solid", color="burlywood", weight=3]; 79[label="primPlusNat Zero vx500",fontsize=16,color="burlywood",shape="box"];1198[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];79 -> 1198[label="",style="solid", color="burlywood", weight=9]; 1198 -> 88[label="",style="solid", color="burlywood", weight=3]; 1199[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];79 -> 1199[label="",style="solid", color="burlywood", weight=9]; 1199 -> 89[label="",style="solid", color="burlywood", weight=3]; 765[label="vx3",fontsize=16,color="green",shape="box"];766[label="vx3",fontsize=16,color="green",shape="box"];767[label="Succ vx5000",fontsize=16,color="green",shape="box"];768[label="vx5000",fontsize=16,color="green",shape="box"];764[label="pr2F3 (primEqInt (Neg (Succ vx620)) (Pos Zero)) vx50 (Neg vx61) vx64",fontsize=16,color="black",shape="triangle"];764 -> 770[label="",style="solid", color="black", weight=3]; 437[label="pr2F3 (primEqInt (Pos Zero) (Pos Zero)) vx12 (Pos Zero) vx34",fontsize=16,color="black",shape="box"];437 -> 441[label="",style="solid", color="black", weight=3]; 444 -> 771[label="",style="dashed", color="red", weight=0]; 444[label="pr2F0G vx33 vx12 (Pos (Succ vx23000))",fontsize=16,color="magenta"];444 -> 772[label="",style="dashed", color="magenta", weight=3]; 444 -> 773[label="",style="dashed", color="magenta", weight=3]; 444 -> 774[label="",style="dashed", color="magenta", weight=3]; 86[label="primPlusNat (Succ vx4000) (Succ vx5000)",fontsize=16,color="black",shape="box"];86 -> 93[label="",style="solid", color="black", weight=3]; 87[label="primPlusNat (Succ vx4000) Zero",fontsize=16,color="black",shape="box"];87 -> 94[label="",style="solid", color="black", weight=3]; 88[label="primPlusNat Zero (Succ vx5000)",fontsize=16,color="black",shape="box"];88 -> 95[label="",style="solid", color="black", weight=3]; 89[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];89 -> 96[label="",style="solid", color="black", weight=3]; 770[label="pr2F3 MyFalse vx50 (Neg vx61) vx64",fontsize=16,color="black",shape="box"];770 -> 776[label="",style="solid", color="black", weight=3]; 441[label="pr2F3 MyTrue vx12 (Pos Zero) vx34",fontsize=16,color="black",shape="box"];441 -> 445[label="",style="solid", color="black", weight=3]; 772[label="vx33",fontsize=16,color="green",shape="box"];773[label="vx12",fontsize=16,color="green",shape="box"];774[label="Succ vx23000",fontsize=16,color="green",shape="box"];771[label="pr2F0G vx65 vx44 (Pos vx59)",fontsize=16,color="black",shape="triangle"];771 -> 777[label="",style="solid", color="black", weight=3]; 93[label="Succ (Succ (primPlusNat vx4000 vx5000))",fontsize=16,color="green",shape="box"];93 -> 100[label="",style="dashed", color="green", weight=3]; 94[label="Succ vx4000",fontsize=16,color="green",shape="box"];95[label="Succ vx5000",fontsize=16,color="green",shape="box"];96[label="Zero",fontsize=16,color="green",shape="box"];776[label="pr2F0 vx50 (Neg vx61) vx64",fontsize=16,color="black",shape="box"];776 -> 778[label="",style="solid", color="black", weight=3]; 445[label="vx34",fontsize=16,color="green",shape="box"];777[label="pr2F0G2 vx65 vx44 (Pos vx59)",fontsize=16,color="black",shape="box"];777 -> 779[label="",style="solid", color="black", weight=3]; 100 -> 72[label="",style="dashed", color="red", weight=0]; 100[label="primPlusNat vx4000 vx5000",fontsize=16,color="magenta"];100 -> 103[label="",style="dashed", color="magenta", weight=3]; 100 -> 104[label="",style="dashed", color="magenta", weight=3]; 778[label="pr2F0G vx64 vx50 (Neg vx61)",fontsize=16,color="black",shape="box"];778 -> 780[label="",style="solid", color="black", weight=3]; 779[label="pr2F0G1 vx65 vx44 (Pos vx59) (evenMyInt (Pos vx59))",fontsize=16,color="black",shape="box"];779 -> 781[label="",style="solid", color="black", weight=3]; 103[label="vx5000",fontsize=16,color="green",shape="box"];104[label="vx4000",fontsize=16,color="green",shape="box"];780[label="pr2F0G2 vx64 vx50 (Neg vx61)",fontsize=16,color="black",shape="box"];780 -> 782[label="",style="solid", color="black", weight=3]; 781[label="pr2F0G1 vx65 vx44 (Pos vx59) (primEvenInt (Pos vx59))",fontsize=16,color="black",shape="triangle"];781 -> 783[label="",style="solid", color="black", weight=3]; 782[label="pr2F0G1 vx64 vx50 (Neg vx61) (evenMyInt (Neg vx61))",fontsize=16,color="black",shape="box"];782 -> 784[label="",style="solid", color="black", weight=3]; 783[label="pr2F0G1 vx65 vx44 (Pos vx59) (primEvenNat vx59)",fontsize=16,color="burlywood",shape="box"];1200[label="vx59/Succ vx590",fontsize=10,color="white",style="solid",shape="box"];783 -> 1200[label="",style="solid", color="burlywood", weight=9]; 1200 -> 785[label="",style="solid", color="burlywood", weight=3]; 1201[label="vx59/Zero",fontsize=10,color="white",style="solid",shape="box"];783 -> 1201[label="",style="solid", color="burlywood", weight=9]; 1201 -> 786[label="",style="solid", color="burlywood", weight=3]; 784[label="pr2F0G1 vx64 vx50 (Neg vx61) (primEvenInt (Neg vx61))",fontsize=16,color="black",shape="triangle"];784 -> 787[label="",style="solid", color="black", weight=3]; 785[label="pr2F0G1 vx65 vx44 (Pos (Succ vx590)) (primEvenNat (Succ vx590))",fontsize=16,color="burlywood",shape="box"];1202[label="vx590/Succ vx5900",fontsize=10,color="white",style="solid",shape="box"];785 -> 1202[label="",style="solid", color="burlywood", weight=9]; 1202 -> 788[label="",style="solid", color="burlywood", weight=3]; 1203[label="vx590/Zero",fontsize=10,color="white",style="solid",shape="box"];785 -> 1203[label="",style="solid", color="burlywood", weight=9]; 1203 -> 789[label="",style="solid", color="burlywood", weight=3]; 786[label="pr2F0G1 vx65 vx44 (Pos Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];786 -> 790[label="",style="solid", color="black", weight=3]; 787[label="pr2F0G1 vx64 vx50 (Neg vx61) (primEvenNat vx61)",fontsize=16,color="burlywood",shape="box"];1204[label="vx61/Succ vx610",fontsize=10,color="white",style="solid",shape="box"];787 -> 1204[label="",style="solid", color="burlywood", weight=9]; 1204 -> 791[label="",style="solid", color="burlywood", weight=3]; 1205[label="vx61/Zero",fontsize=10,color="white",style="solid",shape="box"];787 -> 1205[label="",style="solid", color="burlywood", weight=9]; 1205 -> 792[label="",style="solid", color="burlywood", weight=3]; 788[label="pr2F0G1 vx65 vx44 (Pos (Succ (Succ vx5900))) (primEvenNat (Succ (Succ vx5900)))",fontsize=16,color="black",shape="box"];788 -> 793[label="",style="solid", color="black", weight=3]; 789[label="pr2F0G1 vx65 vx44 (Pos (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];789 -> 794[label="",style="solid", color="black", weight=3]; 790[label="pr2F0G1 vx65 vx44 (Pos Zero) MyTrue",fontsize=16,color="black",shape="box"];790 -> 795[label="",style="solid", color="black", weight=3]; 791[label="pr2F0G1 vx64 vx50 (Neg (Succ vx610)) (primEvenNat (Succ vx610))",fontsize=16,color="burlywood",shape="box"];1206[label="vx610/Succ vx6100",fontsize=10,color="white",style="solid",shape="box"];791 -> 1206[label="",style="solid", color="burlywood", weight=9]; 1206 -> 796[label="",style="solid", color="burlywood", weight=3]; 1207[label="vx610/Zero",fontsize=10,color="white",style="solid",shape="box"];791 -> 1207[label="",style="solid", color="burlywood", weight=9]; 1207 -> 797[label="",style="solid", color="burlywood", weight=3]; 792[label="pr2F0G1 vx64 vx50 (Neg Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];792 -> 798[label="",style="solid", color="black", weight=3]; 793 -> 865[label="",style="dashed", color="red", weight=0]; 793[label="pr2F0G1 vx65 vx44 (Pos (Succ (Succ vx5900))) (primEvenNat vx5900)",fontsize=16,color="magenta"];793 -> 866[label="",style="dashed", color="magenta", weight=3]; 793 -> 867[label="",style="dashed", color="magenta", weight=3]; 793 -> 868[label="",style="dashed", color="magenta", weight=3]; 793 -> 869[label="",style="dashed", color="magenta", weight=3]; 794[label="pr2F0G1 vx65 vx44 (Pos (Succ Zero)) MyFalse",fontsize=16,color="black",shape="box"];794 -> 801[label="",style="solid", color="black", weight=3]; 795[label="pr2F0G vx65 (srMyInt vx44 vx44) (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];795 -> 802[label="",style="solid", color="black", weight=3]; 796[label="pr2F0G1 vx64 vx50 (Neg (Succ (Succ vx6100))) (primEvenNat (Succ (Succ vx6100)))",fontsize=16,color="black",shape="box"];796 -> 803[label="",style="solid", color="black", weight=3]; 797[label="pr2F0G1 vx64 vx50 (Neg (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];797 -> 804[label="",style="solid", color="black", weight=3]; 798[label="pr2F0G1 vx64 vx50 (Neg Zero) MyTrue",fontsize=16,color="black",shape="box"];798 -> 805[label="",style="solid", color="black", weight=3]; 866[label="vx5900",fontsize=16,color="green",shape="box"];867[label="vx65",fontsize=16,color="green",shape="box"];868[label="Succ vx5900",fontsize=16,color="green",shape="box"];869[label="vx44",fontsize=16,color="green",shape="box"];865[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) (primEvenNat vx72)",fontsize=16,color="burlywood",shape="triangle"];1208[label="vx72/Succ vx720",fontsize=10,color="white",style="solid",shape="box"];865 -> 1208[label="",style="solid", color="burlywood", weight=9]; 1208 -> 878[label="",style="solid", color="burlywood", weight=3]; 1209[label="vx72/Zero",fontsize=10,color="white",style="solid",shape="box"];865 -> 1209[label="",style="solid", color="burlywood", weight=9]; 1209 -> 879[label="",style="solid", color="burlywood", weight=3]; 801[label="pr2F0G0 vx65 vx44 (Pos (Succ Zero)) otherwise",fontsize=16,color="black",shape="box"];801 -> 809[label="",style="solid", color="black", weight=3]; 802[label="pr2F0G2 vx65 (srMyInt vx44 vx44) (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];802 -> 810[label="",style="solid", color="black", weight=3]; 803 -> 896[label="",style="dashed", color="red", weight=0]; 803[label="pr2F0G1 vx64 vx50 (Neg (Succ (Succ vx6100))) (primEvenNat vx6100)",fontsize=16,color="magenta"];803 -> 897[label="",style="dashed", color="magenta", weight=3]; 803 -> 898[label="",style="dashed", color="magenta", weight=3]; 803 -> 899[label="",style="dashed", color="magenta", weight=3]; 803 -> 900[label="",style="dashed", color="magenta", weight=3]; 804[label="pr2F0G1 vx64 vx50 (Neg (Succ Zero)) MyFalse",fontsize=16,color="black",shape="box"];804 -> 813[label="",style="solid", color="black", weight=3]; 805[label="pr2F0G vx64 (srMyInt vx50 vx50) (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];805 -> 814[label="",style="solid", color="black", weight=3]; 878[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) (primEvenNat (Succ vx720))",fontsize=16,color="burlywood",shape="box"];1210[label="vx720/Succ vx7200",fontsize=10,color="white",style="solid",shape="box"];878 -> 1210[label="",style="solid", color="burlywood", weight=9]; 1210 -> 890[label="",style="solid", color="burlywood", weight=3]; 1211[label="vx720/Zero",fontsize=10,color="white",style="solid",shape="box"];878 -> 1211[label="",style="solid", color="burlywood", weight=9]; 1211 -> 891[label="",style="solid", color="burlywood", weight=3]; 879[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];879 -> 892[label="",style="solid", color="black", weight=3]; 809[label="pr2F0G0 vx65 vx44 (Pos (Succ Zero)) MyTrue",fontsize=16,color="black",shape="box"];809 -> 818[label="",style="solid", color="black", weight=3]; 810[label="pr2F0G1 vx65 (srMyInt vx44 vx44) (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (evenMyInt (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];810 -> 819[label="",style="solid", color="black", weight=3]; 897[label="vx64",fontsize=16,color="green",shape="box"];898[label="Succ vx6100",fontsize=16,color="green",shape="box"];899[label="vx6100",fontsize=16,color="green",shape="box"];900[label="vx50",fontsize=16,color="green",shape="box"];896[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) (primEvenNat vx77)",fontsize=16,color="burlywood",shape="triangle"];1212[label="vx77/Succ vx770",fontsize=10,color="white",style="solid",shape="box"];896 -> 1212[label="",style="solid", color="burlywood", weight=9]; 1212 -> 909[label="",style="solid", color="burlywood", weight=3]; 1213[label="vx77/Zero",fontsize=10,color="white",style="solid",shape="box"];896 -> 1213[label="",style="solid", color="burlywood", weight=9]; 1213 -> 910[label="",style="solid", color="burlywood", weight=3]; 813[label="pr2F0G0 vx64 vx50 (Neg (Succ Zero)) otherwise",fontsize=16,color="black",shape="box"];813 -> 823[label="",style="solid", color="black", weight=3]; 814[label="pr2F0G2 vx64 (srMyInt vx50 vx50) (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];814 -> 824[label="",style="solid", color="black", weight=3]; 890[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) (primEvenNat (Succ (Succ vx7200)))",fontsize=16,color="black",shape="box"];890 -> 911[label="",style="solid", color="black", weight=3]; 891[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];891 -> 912[label="",style="solid", color="black", weight=3]; 892[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) MyTrue",fontsize=16,color="black",shape="box"];892 -> 913[label="",style="solid", color="black", weight=3]; 818 -> 958[label="",style="dashed", color="red", weight=0]; 818[label="pr2F vx44 (msMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (srMyInt vx44 vx65)",fontsize=16,color="magenta"];818 -> 959[label="",style="dashed", color="magenta", weight=3]; 818 -> 960[label="",style="dashed", color="magenta", weight=3]; 818 -> 961[label="",style="dashed", color="magenta", weight=3]; 818 -> 962[label="",style="dashed", color="magenta", weight=3]; 819[label="pr2F0G1 vx65 (srMyInt vx44 vx44) (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];819 -> 831[label="",style="solid", color="black", weight=3]; 909[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) (primEvenNat (Succ vx770))",fontsize=16,color="burlywood",shape="box"];1214[label="vx770/Succ vx7700",fontsize=10,color="white",style="solid",shape="box"];909 -> 1214[label="",style="solid", color="burlywood", weight=9]; 1214 -> 921[label="",style="solid", color="burlywood", weight=3]; 1215[label="vx770/Zero",fontsize=10,color="white",style="solid",shape="box"];909 -> 1215[label="",style="solid", color="burlywood", weight=9]; 1215 -> 922[label="",style="solid", color="burlywood", weight=3]; 910[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];910 -> 923[label="",style="solid", color="black", weight=3]; 823[label="pr2F0G0 vx64 vx50 (Neg (Succ Zero)) MyTrue",fontsize=16,color="black",shape="box"];823 -> 835[label="",style="solid", color="black", weight=3]; 824[label="pr2F0G1 vx64 (srMyInt vx50 vx50) (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (evenMyInt (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];824 -> 836[label="",style="solid", color="black", weight=3]; 911 -> 865[label="",style="dashed", color="red", weight=0]; 911[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) (primEvenNat vx7200)",fontsize=16,color="magenta"];911 -> 924[label="",style="dashed", color="magenta", weight=3]; 912[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) MyFalse",fontsize=16,color="black",shape="box"];912 -> 925[label="",style="solid", color="black", weight=3]; 913 -> 926[label="",style="dashed", color="red", weight=0]; 913[label="pr2F0G vx69 (srMyInt vx70 vx70) (quotMyInt (Pos (Succ vx71)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="magenta"];913 -> 927[label="",style="dashed", color="magenta", weight=3]; 959 -> 23[label="",style="dashed", color="red", weight=0]; 959[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];960[label="vx65",fontsize=16,color="green",shape="box"];961[label="Zero",fontsize=16,color="green",shape="box"];962[label="vx44",fontsize=16,color="green",shape="box"];958[label="pr2F vx70 (msMyInt (Pos (Succ vx71)) vx82) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="triangle"];958 -> 968[label="",style="solid", color="black", weight=3]; 831[label="pr2F0G1 vx65 (srMyInt vx44 vx44) (primQuotInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (primQuotInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];831 -> 843[label="",style="solid", color="black", weight=3]; 921[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) (primEvenNat (Succ (Succ vx7700)))",fontsize=16,color="black",shape="box"];921 -> 928[label="",style="solid", color="black", weight=3]; 922[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];922 -> 929[label="",style="solid", color="black", weight=3]; 923[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) MyTrue",fontsize=16,color="black",shape="box"];923 -> 930[label="",style="solid", color="black", weight=3]; 835 -> 979[label="",style="dashed", color="red", weight=0]; 835[label="pr2F vx50 (msMyInt (Neg (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (srMyInt vx50 vx64)",fontsize=16,color="magenta"];835 -> 980[label="",style="dashed", color="magenta", weight=3]; 835 -> 981[label="",style="dashed", color="magenta", weight=3]; 835 -> 982[label="",style="dashed", color="magenta", weight=3]; 835 -> 983[label="",style="dashed", color="magenta", weight=3]; 836[label="pr2F0G1 vx64 (srMyInt vx50 vx50) (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];836 -> 850[label="",style="solid", color="black", weight=3]; 924[label="vx7200",fontsize=16,color="green",shape="box"];925[label="pr2F0G0 vx69 vx70 (Pos (Succ vx71)) otherwise",fontsize=16,color="black",shape="box"];925 -> 931[label="",style="solid", color="black", weight=3]; 927 -> 881[label="",style="dashed", color="red", weight=0]; 927[label="srMyInt vx70 vx70",fontsize=16,color="magenta"];927 -> 932[label="",style="dashed", color="magenta", weight=3]; 926[label="pr2F0G vx69 vx78 (quotMyInt (Pos (Succ vx71)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="triangle"];926 -> 933[label="",style="solid", color="black", weight=3]; 968[label="pr2F4 vx70 (msMyInt (Pos (Succ vx71)) vx82) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];968 -> 977[label="",style="solid", color="black", weight=3]; 843[label="pr2F0G1 vx65 (srMyInt vx44 vx44) (primQuotInt (Pos Zero) (Pos (Succ (Succ Zero)))) (primEvenInt (primQuotInt (Pos Zero) (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];843 -> 857[label="",style="solid", color="black", weight=3]; 928 -> 896[label="",style="dashed", color="red", weight=0]; 928[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) (primEvenNat vx7700)",fontsize=16,color="magenta"];928 -> 940[label="",style="dashed", color="magenta", weight=3]; 929[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) MyFalse",fontsize=16,color="black",shape="box"];929 -> 941[label="",style="solid", color="black", weight=3]; 930 -> 942[label="",style="dashed", color="red", weight=0]; 930[label="pr2F0G vx74 (srMyInt vx75 vx75) (quotMyInt (Neg (Succ vx76)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="magenta"];930 -> 943[label="",style="dashed", color="magenta", weight=3]; 980[label="vx64",fontsize=16,color="green",shape="box"];981 -> 23[label="",style="dashed", color="red", weight=0]; 981[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];982[label="Zero",fontsize=16,color="green",shape="box"];983[label="vx50",fontsize=16,color="green",shape="box"];979[label="pr2F vx75 (msMyInt (Neg (Succ vx76)) vx83) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="triangle"];979 -> 989[label="",style="solid", color="black", weight=3]; 850[label="pr2F0G1 vx64 (srMyInt vx50 vx50) (primQuotInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (primQuotInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];850 -> 864[label="",style="solid", color="black", weight=3]; 931[label="pr2F0G0 vx69 vx70 (Pos (Succ vx71)) MyTrue",fontsize=16,color="black",shape="box"];931 -> 944[label="",style="solid", color="black", weight=3]; 932[label="vx70",fontsize=16,color="green",shape="box"];881[label="srMyInt vx44 vx44",fontsize=16,color="black",shape="triangle"];881 -> 894[label="",style="solid", color="black", weight=3]; 933[label="pr2F0G2 vx69 vx78 (quotMyInt (Pos (Succ vx71)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];933 -> 945[label="",style="solid", color="black", weight=3]; 977[label="pr2F3 (esEsMyInt (msMyInt (Pos (Succ vx71)) vx82) (fromIntMyInt (Pos Zero))) vx70 (msMyInt (Pos (Succ vx71)) vx82) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];977 -> 990[label="",style="solid", color="black", weight=3]; 857 -> 781[label="",style="dashed", color="red", weight=0]; 857[label="pr2F0G1 vx65 (srMyInt vx44 vx44) (Pos (primDivNatS Zero (Succ (Succ Zero)))) (primEvenInt (Pos (primDivNatS Zero (Succ (Succ Zero)))))",fontsize=16,color="magenta"];857 -> 881[label="",style="dashed", color="magenta", weight=3]; 857 -> 882[label="",style="dashed", color="magenta", weight=3]; 940[label="vx7700",fontsize=16,color="green",shape="box"];941[label="pr2F0G0 vx74 vx75 (Neg (Succ vx76)) otherwise",fontsize=16,color="black",shape="box"];941 -> 946[label="",style="solid", color="black", weight=3]; 943 -> 881[label="",style="dashed", color="red", weight=0]; 943[label="srMyInt vx75 vx75",fontsize=16,color="magenta"];943 -> 947[label="",style="dashed", color="magenta", weight=3]; 942[label="pr2F0G vx74 vx79 (quotMyInt (Neg (Succ vx76)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="triangle"];942 -> 948[label="",style="solid", color="black", weight=3]; 989[label="pr2F4 vx75 (msMyInt (Neg (Succ vx76)) vx83) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="box"];989 -> 995[label="",style="solid", color="black", weight=3]; 864[label="pr2F0G1 vx64 (srMyInt vx50 vx50) (primQuotInt (Neg Zero) (Pos (Succ (Succ Zero)))) (primEvenInt (primQuotInt (Neg Zero) (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];864 -> 889[label="",style="solid", color="black", weight=3]; 944 -> 958[label="",style="dashed", color="red", weight=0]; 944[label="pr2F vx70 (msMyInt (Pos (Succ vx71)) (fromIntMyInt (Pos (Succ Zero)))) (srMyInt vx70 vx69)",fontsize=16,color="magenta"];944 -> 967[label="",style="dashed", color="magenta", weight=3]; 894[label="primMulInt vx44 vx44",fontsize=16,color="burlywood",shape="box"];1216[label="vx44/Pos vx440",fontsize=10,color="white",style="solid",shape="box"];894 -> 1216[label="",style="solid", color="burlywood", weight=9]; 1216 -> 919[label="",style="solid", color="burlywood", weight=3]; 1217[label="vx44/Neg vx440",fontsize=10,color="white",style="solid",shape="box"];894 -> 1217[label="",style="solid", color="burlywood", weight=9]; 1217 -> 920[label="",style="solid", color="burlywood", weight=3]; 945[label="pr2F0G1 vx69 vx78 (quotMyInt (Pos (Succ vx71)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (evenMyInt (quotMyInt (Pos (Succ vx71)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];945 -> 969[label="",style="solid", color="black", weight=3]; 990[label="pr2F3 (primEqInt (msMyInt (Pos (Succ vx71)) vx82) (fromIntMyInt (Pos Zero))) vx70 (msMyInt (Pos (Succ vx71)) vx82) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];990 -> 996[label="",style="solid", color="black", weight=3]; 882[label="primDivNatS Zero (Succ (Succ Zero))",fontsize=16,color="black",shape="triangle"];882 -> 895[label="",style="solid", color="black", weight=3]; 946[label="pr2F0G0 vx74 vx75 (Neg (Succ vx76)) MyTrue",fontsize=16,color="black",shape="box"];946 -> 970[label="",style="solid", color="black", weight=3]; 947[label="vx75",fontsize=16,color="green",shape="box"];948[label="pr2F0G2 vx74 vx79 (quotMyInt (Neg (Succ vx76)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];948 -> 971[label="",style="solid", color="black", weight=3]; 995[label="pr2F3 (esEsMyInt (msMyInt (Neg (Succ vx76)) vx83) (fromIntMyInt (Pos Zero))) vx75 (msMyInt (Neg (Succ vx76)) vx83) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="box"];995 -> 1001[label="",style="solid", color="black", weight=3]; 889 -> 784[label="",style="dashed", color="red", weight=0]; 889[label="pr2F0G1 vx64 (srMyInt vx50 vx50) (Neg (primDivNatS Zero (Succ (Succ Zero)))) (primEvenInt (Neg (primDivNatS Zero (Succ (Succ Zero)))))",fontsize=16,color="magenta"];889 -> 915[label="",style="dashed", color="magenta", weight=3]; 889 -> 916[label="",style="dashed", color="magenta", weight=3]; 967 -> 23[label="",style="dashed", color="red", weight=0]; 967[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];919[label="primMulInt (Pos vx440) (Pos vx440)",fontsize=16,color="black",shape="box"];919 -> 938[label="",style="solid", color="black", weight=3]; 920[label="primMulInt (Neg vx440) (Neg vx440)",fontsize=16,color="black",shape="box"];920 -> 939[label="",style="solid", color="black", weight=3]; 969[label="pr2F0G1 vx69 vx78 (quotMyInt (Pos (Succ vx71)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (quotMyInt (Pos (Succ vx71)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];969 -> 978[label="",style="solid", color="black", weight=3]; 996[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx71)) vx82) (fromIntMyInt (Pos Zero))) vx70 (primMinusInt (Pos (Succ vx71)) vx82) (srMyInt vx70 vx69)",fontsize=16,color="burlywood",shape="box"];1218[label="vx82/Pos vx820",fontsize=10,color="white",style="solid",shape="box"];996 -> 1218[label="",style="solid", color="burlywood", weight=9]; 1218 -> 1002[label="",style="solid", color="burlywood", weight=3]; 1219[label="vx82/Neg vx820",fontsize=10,color="white",style="solid",shape="box"];996 -> 1219[label="",style="solid", color="burlywood", weight=9]; 1219 -> 1003[label="",style="solid", color="burlywood", weight=3]; 895[label="Zero",fontsize=16,color="green",shape="box"];970 -> 979[label="",style="dashed", color="red", weight=0]; 970[label="pr2F vx75 (msMyInt (Neg (Succ vx76)) (fromIntMyInt (Pos (Succ Zero)))) (srMyInt vx75 vx74)",fontsize=16,color="magenta"];970 -> 988[label="",style="dashed", color="magenta", weight=3]; 971[label="pr2F0G1 vx74 vx79 (quotMyInt (Neg (Succ vx76)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (evenMyInt (quotMyInt (Neg (Succ vx76)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];971 -> 991[label="",style="solid", color="black", weight=3]; 1001[label="pr2F3 (primEqInt (msMyInt (Neg (Succ vx76)) vx83) (fromIntMyInt (Pos Zero))) vx75 (msMyInt (Neg (Succ vx76)) vx83) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="box"];1001 -> 1010[label="",style="solid", color="black", weight=3]; 915 -> 881[label="",style="dashed", color="red", weight=0]; 915[label="srMyInt vx50 vx50",fontsize=16,color="magenta"];915 -> 935[label="",style="dashed", color="magenta", weight=3]; 916 -> 882[label="",style="dashed", color="red", weight=0]; 916[label="primDivNatS Zero (Succ (Succ Zero))",fontsize=16,color="magenta"];938[label="Pos (primMulNat vx440 vx440)",fontsize=16,color="green",shape="box"];938 -> 949[label="",style="dashed", color="green", weight=3]; 939[label="Pos (primMulNat vx440 vx440)",fontsize=16,color="green",shape="box"];939 -> 950[label="",style="dashed", color="green", weight=3]; 978[label="pr2F0G1 vx69 vx78 (primQuotInt (Pos (Succ vx71)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (primQuotInt (Pos (Succ vx71)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];978 -> 992[label="",style="solid", color="black", weight=3]; 1002[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx71)) (Pos vx820)) (fromIntMyInt (Pos Zero))) vx70 (primMinusInt (Pos (Succ vx71)) (Pos vx820)) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1002 -> 1011[label="",style="solid", color="black", weight=3]; 1003[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx71)) (Neg vx820)) (fromIntMyInt (Pos Zero))) vx70 (primMinusInt (Pos (Succ vx71)) (Neg vx820)) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1003 -> 1012[label="",style="solid", color="black", weight=3]; 988 -> 23[label="",style="dashed", color="red", weight=0]; 988[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];991[label="pr2F0G1 vx74 vx79 (quotMyInt (Neg (Succ vx76)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (quotMyInt (Neg (Succ vx76)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];991 -> 997[label="",style="solid", color="black", weight=3]; 1010[label="pr2F3 (primEqInt (primMinusInt (Neg (Succ vx76)) vx83) (fromIntMyInt (Pos Zero))) vx75 (primMinusInt (Neg (Succ vx76)) vx83) (srMyInt vx75 vx74)",fontsize=16,color="burlywood",shape="box"];1220[label="vx83/Pos vx830",fontsize=10,color="white",style="solid",shape="box"];1010 -> 1220[label="",style="solid", color="burlywood", weight=9]; 1220 -> 1017[label="",style="solid", color="burlywood", weight=3]; 1221[label="vx83/Neg vx830",fontsize=10,color="white",style="solid",shape="box"];1010 -> 1221[label="",style="solid", color="burlywood", weight=9]; 1221 -> 1018[label="",style="solid", color="burlywood", weight=3]; 935[label="vx50",fontsize=16,color="green",shape="box"];949[label="primMulNat vx440 vx440",fontsize=16,color="burlywood",shape="triangle"];1222[label="vx440/Succ vx4400",fontsize=10,color="white",style="solid",shape="box"];949 -> 1222[label="",style="solid", color="burlywood", weight=9]; 1222 -> 972[label="",style="solid", color="burlywood", weight=3]; 1223[label="vx440/Zero",fontsize=10,color="white",style="solid",shape="box"];949 -> 1223[label="",style="solid", color="burlywood", weight=9]; 1223 -> 973[label="",style="solid", color="burlywood", weight=3]; 950 -> 949[label="",style="dashed", color="red", weight=0]; 950[label="primMulNat vx440 vx440",fontsize=16,color="magenta"];950 -> 974[label="",style="dashed", color="magenta", weight=3]; 992[label="pr2F0G1 vx69 vx78 (primQuotInt (Pos (Succ vx71)) (Pos (Succ (Succ Zero)))) (primEvenInt (primQuotInt (Pos (Succ vx71)) (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];992 -> 998[label="",style="solid", color="black", weight=3]; 1011[label="pr2F3 (primEqInt (primMinusNat (Succ vx71) vx820) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat (Succ vx71) vx820) (srMyInt vx70 vx69)",fontsize=16,color="burlywood",shape="box"];1224[label="vx820/Succ vx8200",fontsize=10,color="white",style="solid",shape="box"];1011 -> 1224[label="",style="solid", color="burlywood", weight=9]; 1224 -> 1019[label="",style="solid", color="burlywood", weight=3]; 1225[label="vx820/Zero",fontsize=10,color="white",style="solid",shape="box"];1011 -> 1225[label="",style="solid", color="burlywood", weight=9]; 1225 -> 1020[label="",style="solid", color="burlywood", weight=3]; 1012 -> 1021[label="",style="dashed", color="red", weight=0]; 1012[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vx71) vx820)) (fromIntMyInt (Pos Zero))) vx70 (Pos (primPlusNat (Succ vx71) vx820)) (srMyInt vx70 vx69)",fontsize=16,color="magenta"];1012 -> 1022[label="",style="dashed", color="magenta", weight=3]; 1012 -> 1023[label="",style="dashed", color="magenta", weight=3]; 997[label="pr2F0G1 vx74 vx79 (primQuotInt (Neg (Succ vx76)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (primQuotInt (Neg (Succ vx76)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];997 -> 1004[label="",style="solid", color="black", weight=3]; 1017[label="pr2F3 (primEqInt (primMinusInt (Neg (Succ vx76)) (Pos vx830)) (fromIntMyInt (Pos Zero))) vx75 (primMinusInt (Neg (Succ vx76)) (Pos vx830)) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="box"];1017 -> 1024[label="",style="solid", color="black", weight=3]; 1018[label="pr2F3 (primEqInt (primMinusInt (Neg (Succ vx76)) (Neg vx830)) (fromIntMyInt (Pos Zero))) vx75 (primMinusInt (Neg (Succ vx76)) (Neg vx830)) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="box"];1018 -> 1025[label="",style="solid", color="black", weight=3]; 972[label="primMulNat (Succ vx4400) (Succ vx4400)",fontsize=16,color="black",shape="box"];972 -> 993[label="",style="solid", color="black", weight=3]; 973[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];973 -> 994[label="",style="solid", color="black", weight=3]; 974[label="vx440",fontsize=16,color="green",shape="box"];998 -> 781[label="",style="dashed", color="red", weight=0]; 998[label="pr2F0G1 vx69 vx78 (Pos (primDivNatS (Succ vx71) (Succ (Succ Zero)))) (primEvenInt (Pos (primDivNatS (Succ vx71) (Succ (Succ Zero)))))",fontsize=16,color="magenta"];998 -> 1005[label="",style="dashed", color="magenta", weight=3]; 998 -> 1006[label="",style="dashed", color="magenta", weight=3]; 998 -> 1007[label="",style="dashed", color="magenta", weight=3]; 1019[label="pr2F3 (primEqInt (primMinusNat (Succ vx71) (Succ vx8200)) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat (Succ vx71) (Succ vx8200)) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1019 -> 1026[label="",style="solid", color="black", weight=3]; 1020[label="pr2F3 (primEqInt (primMinusNat (Succ vx71) Zero) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat (Succ vx71) Zero) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1020 -> 1027[label="",style="solid", color="black", weight=3]; 1022 -> 72[label="",style="dashed", color="red", weight=0]; 1022[label="primPlusNat (Succ vx71) vx820",fontsize=16,color="magenta"];1022 -> 1028[label="",style="dashed", color="magenta", weight=3]; 1022 -> 1029[label="",style="dashed", color="magenta", weight=3]; 1023 -> 72[label="",style="dashed", color="red", weight=0]; 1023[label="primPlusNat (Succ vx71) vx820",fontsize=16,color="magenta"];1023 -> 1030[label="",style="dashed", color="magenta", weight=3]; 1023 -> 1031[label="",style="dashed", color="magenta", weight=3]; 1021[label="pr2F3 (primEqInt (Pos vx85) (fromIntMyInt (Pos Zero))) vx70 (Pos vx84) (srMyInt vx70 vx69)",fontsize=16,color="burlywood",shape="triangle"];1226[label="vx85/Succ vx850",fontsize=10,color="white",style="solid",shape="box"];1021 -> 1226[label="",style="solid", color="burlywood", weight=9]; 1226 -> 1032[label="",style="solid", color="burlywood", weight=3]; 1227[label="vx85/Zero",fontsize=10,color="white",style="solid",shape="box"];1021 -> 1227[label="",style="solid", color="burlywood", weight=9]; 1227 -> 1033[label="",style="solid", color="burlywood", weight=3]; 1004[label="pr2F0G1 vx74 vx79 (primQuotInt (Neg (Succ vx76)) (Pos (Succ (Succ Zero)))) (primEvenInt (primQuotInt (Neg (Succ vx76)) (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];1004 -> 1013[label="",style="solid", color="black", weight=3]; 1024 -> 1041[label="",style="dashed", color="red", weight=0]; 1024[label="pr2F3 (primEqInt (Neg (primPlusNat (Succ vx76) vx830)) (fromIntMyInt (Pos Zero))) vx75 (Neg (primPlusNat (Succ vx76) vx830)) (srMyInt vx75 vx74)",fontsize=16,color="magenta"];1024 -> 1042[label="",style="dashed", color="magenta", weight=3]; 1024 -> 1043[label="",style="dashed", color="magenta", weight=3]; 1025[label="pr2F3 (primEqInt (primMinusNat vx830 (Succ vx76)) (fromIntMyInt (Pos Zero))) vx75 (primMinusNat vx830 (Succ vx76)) (srMyInt vx75 vx74)",fontsize=16,color="burlywood",shape="box"];1228[label="vx830/Succ vx8300",fontsize=10,color="white",style="solid",shape="box"];1025 -> 1228[label="",style="solid", color="burlywood", weight=9]; 1228 -> 1044[label="",style="solid", color="burlywood", weight=3]; 1229[label="vx830/Zero",fontsize=10,color="white",style="solid",shape="box"];1025 -> 1229[label="",style="solid", color="burlywood", weight=9]; 1229 -> 1045[label="",style="solid", color="burlywood", weight=3]; 993 -> 72[label="",style="dashed", color="red", weight=0]; 993[label="primPlusNat (primMulNat vx4400 (Succ vx4400)) (Succ vx4400)",fontsize=16,color="magenta"];993 -> 999[label="",style="dashed", color="magenta", weight=3]; 993 -> 1000[label="",style="dashed", color="magenta", weight=3]; 994[label="Zero",fontsize=16,color="green",shape="box"];1005[label="vx69",fontsize=16,color="green",shape="box"];1006[label="vx78",fontsize=16,color="green",shape="box"];1007[label="primDivNatS (Succ vx71) (Succ (Succ Zero))",fontsize=16,color="black",shape="triangle"];1007 -> 1014[label="",style="solid", color="black", weight=3]; 1026[label="pr2F3 (primEqInt (primMinusNat vx71 vx8200) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat vx71 vx8200) (srMyInt vx70 vx69)",fontsize=16,color="burlywood",shape="triangle"];1230[label="vx71/Succ vx710",fontsize=10,color="white",style="solid",shape="box"];1026 -> 1230[label="",style="solid", color="burlywood", weight=9]; 1230 -> 1046[label="",style="solid", color="burlywood", weight=3]; 1231[label="vx71/Zero",fontsize=10,color="white",style="solid",shape="box"];1026 -> 1231[label="",style="solid", color="burlywood", weight=9]; 1231 -> 1047[label="",style="solid", color="burlywood", weight=3]; 1027 -> 1021[label="",style="dashed", color="red", weight=0]; 1027[label="pr2F3 (primEqInt (Pos (Succ vx71)) (fromIntMyInt (Pos Zero))) vx70 (Pos (Succ vx71)) (srMyInt vx70 vx69)",fontsize=16,color="magenta"];1027 -> 1048[label="",style="dashed", color="magenta", weight=3]; 1027 -> 1049[label="",style="dashed", color="magenta", weight=3]; 1028[label="vx820",fontsize=16,color="green",shape="box"];1029[label="Succ vx71",fontsize=16,color="green",shape="box"];1030[label="vx820",fontsize=16,color="green",shape="box"];1031[label="Succ vx71",fontsize=16,color="green",shape="box"];1032[label="pr2F3 (primEqInt (Pos (Succ vx850)) (fromIntMyInt (Pos Zero))) vx70 (Pos vx84) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1032 -> 1050[label="",style="solid", color="black", weight=3]; 1033[label="pr2F3 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx70 (Pos vx84) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1033 -> 1051[label="",style="solid", color="black", weight=3]; 1013 -> 784[label="",style="dashed", color="red", weight=0]; 1013[label="pr2F0G1 vx74 vx79 (Neg (primDivNatS (Succ vx76) (Succ (Succ Zero)))) (primEvenInt (Neg (primDivNatS (Succ vx76) (Succ (Succ Zero)))))",fontsize=16,color="magenta"];1013 -> 1034[label="",style="dashed", color="magenta", weight=3]; 1013 -> 1035[label="",style="dashed", color="magenta", weight=3]; 1013 -> 1036[label="",style="dashed", color="magenta", weight=3]; 1042 -> 72[label="",style="dashed", color="red", weight=0]; 1042[label="primPlusNat (Succ vx76) vx830",fontsize=16,color="magenta"];1042 -> 1052[label="",style="dashed", color="magenta", weight=3]; 1042 -> 1053[label="",style="dashed", color="magenta", weight=3]; 1043 -> 72[label="",style="dashed", color="red", weight=0]; 1043[label="primPlusNat (Succ vx76) vx830",fontsize=16,color="magenta"];1043 -> 1054[label="",style="dashed", color="magenta", weight=3]; 1043 -> 1055[label="",style="dashed", color="magenta", weight=3]; 1041[label="pr2F3 (primEqInt (Neg vx87) (fromIntMyInt (Pos Zero))) vx75 (Neg vx86) (srMyInt vx75 vx74)",fontsize=16,color="burlywood",shape="triangle"];1232[label="vx87/Succ vx870",fontsize=10,color="white",style="solid",shape="box"];1041 -> 1232[label="",style="solid", color="burlywood", weight=9]; 1232 -> 1056[label="",style="solid", color="burlywood", weight=3]; 1233[label="vx87/Zero",fontsize=10,color="white",style="solid",shape="box"];1041 -> 1233[label="",style="solid", color="burlywood", weight=9]; 1233 -> 1057[label="",style="solid", color="burlywood", weight=3]; 1044[label="pr2F3 (primEqInt (primMinusNat (Succ vx8300) (Succ vx76)) (fromIntMyInt (Pos Zero))) vx75 (primMinusNat (Succ vx8300) (Succ vx76)) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="box"];1044 -> 1063[label="",style="solid", color="black", weight=3]; 1045[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vx76)) (fromIntMyInt (Pos Zero))) vx75 (primMinusNat Zero (Succ vx76)) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="box"];1045 -> 1064[label="",style="solid", color="black", weight=3]; 999[label="Succ vx4400",fontsize=16,color="green",shape="box"];1000[label="primMulNat vx4400 (Succ vx4400)",fontsize=16,color="burlywood",shape="box"];1234[label="vx4400/Succ vx44000",fontsize=10,color="white",style="solid",shape="box"];1000 -> 1234[label="",style="solid", color="burlywood", weight=9]; 1234 -> 1008[label="",style="solid", color="burlywood", weight=3]; 1235[label="vx4400/Zero",fontsize=10,color="white",style="solid",shape="box"];1000 -> 1235[label="",style="solid", color="burlywood", weight=9]; 1235 -> 1009[label="",style="solid", color="burlywood", weight=3]; 1014[label="primDivNatS0 vx71 (Succ Zero) (primGEqNatS vx71 (Succ Zero))",fontsize=16,color="burlywood",shape="box"];1236[label="vx71/Succ vx710",fontsize=10,color="white",style="solid",shape="box"];1014 -> 1236[label="",style="solid", color="burlywood", weight=9]; 1236 -> 1037[label="",style="solid", color="burlywood", weight=3]; 1237[label="vx71/Zero",fontsize=10,color="white",style="solid",shape="box"];1014 -> 1237[label="",style="solid", color="burlywood", weight=9]; 1237 -> 1038[label="",style="solid", color="burlywood", weight=3]; 1046[label="pr2F3 (primEqInt (primMinusNat (Succ vx710) vx8200) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat (Succ vx710) vx8200) (srMyInt vx70 vx69)",fontsize=16,color="burlywood",shape="box"];1238[label="vx8200/Succ vx82000",fontsize=10,color="white",style="solid",shape="box"];1046 -> 1238[label="",style="solid", color="burlywood", weight=9]; 1238 -> 1065[label="",style="solid", color="burlywood", weight=3]; 1239[label="vx8200/Zero",fontsize=10,color="white",style="solid",shape="box"];1046 -> 1239[label="",style="solid", color="burlywood", weight=9]; 1239 -> 1066[label="",style="solid", color="burlywood", weight=3]; 1047[label="pr2F3 (primEqInt (primMinusNat Zero vx8200) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat Zero vx8200) (srMyInt vx70 vx69)",fontsize=16,color="burlywood",shape="box"];1240[label="vx8200/Succ vx82000",fontsize=10,color="white",style="solid",shape="box"];1047 -> 1240[label="",style="solid", color="burlywood", weight=9]; 1240 -> 1067[label="",style="solid", color="burlywood", weight=3]; 1241[label="vx8200/Zero",fontsize=10,color="white",style="solid",shape="box"];1047 -> 1241[label="",style="solid", color="burlywood", weight=9]; 1241 -> 1068[label="",style="solid", color="burlywood", weight=3]; 1048[label="Succ vx71",fontsize=16,color="green",shape="box"];1049[label="Succ vx71",fontsize=16,color="green",shape="box"];1050[label="pr2F3 (primEqInt (Pos (Succ vx850)) (Pos Zero)) vx70 (Pos vx84) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1050 -> 1069[label="",style="solid", color="black", weight=3]; 1051[label="pr2F3 (primEqInt (Pos Zero) (Pos Zero)) vx70 (Pos vx84) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1051 -> 1070[label="",style="solid", color="black", weight=3]; 1034[label="vx74",fontsize=16,color="green",shape="box"];1035[label="vx79",fontsize=16,color="green",shape="box"];1036 -> 1007[label="",style="dashed", color="red", weight=0]; 1036[label="primDivNatS (Succ vx76) (Succ (Succ Zero))",fontsize=16,color="magenta"];1036 -> 1058[label="",style="dashed", color="magenta", weight=3]; 1052[label="vx830",fontsize=16,color="green",shape="box"];1053[label="Succ vx76",fontsize=16,color="green",shape="box"];1054[label="vx830",fontsize=16,color="green",shape="box"];1055[label="Succ vx76",fontsize=16,color="green",shape="box"];1056[label="pr2F3 (primEqInt (Neg (Succ vx870)) (fromIntMyInt (Pos Zero))) vx75 (Neg vx86) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="box"];1056 -> 1071[label="",style="solid", color="black", weight=3]; 1057[label="pr2F3 (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero))) vx75 (Neg vx86) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="box"];1057 -> 1072[label="",style="solid", color="black", weight=3]; 1063 -> 1026[label="",style="dashed", color="red", weight=0]; 1063[label="pr2F3 (primEqInt (primMinusNat vx8300 vx76) (fromIntMyInt (Pos Zero))) vx75 (primMinusNat vx8300 vx76) (srMyInt vx75 vx74)",fontsize=16,color="magenta"];1063 -> 1078[label="",style="dashed", color="magenta", weight=3]; 1063 -> 1079[label="",style="dashed", color="magenta", weight=3]; 1063 -> 1080[label="",style="dashed", color="magenta", weight=3]; 1063 -> 1081[label="",style="dashed", color="magenta", weight=3]; 1064 -> 1041[label="",style="dashed", color="red", weight=0]; 1064[label="pr2F3 (primEqInt (Neg (Succ vx76)) (fromIntMyInt (Pos Zero))) vx75 (Neg (Succ vx76)) (srMyInt vx75 vx74)",fontsize=16,color="magenta"];1064 -> 1082[label="",style="dashed", color="magenta", weight=3]; 1064 -> 1083[label="",style="dashed", color="magenta", weight=3]; 1008[label="primMulNat (Succ vx44000) (Succ (Succ vx44000))",fontsize=16,color="black",shape="box"];1008 -> 1015[label="",style="solid", color="black", weight=3]; 1009[label="primMulNat Zero (Succ Zero)",fontsize=16,color="black",shape="box"];1009 -> 1016[label="",style="solid", color="black", weight=3]; 1037[label="primDivNatS0 (Succ vx710) (Succ Zero) (primGEqNatS (Succ vx710) (Succ Zero))",fontsize=16,color="black",shape="box"];1037 -> 1059[label="",style="solid", color="black", weight=3]; 1038[label="primDivNatS0 Zero (Succ Zero) (primGEqNatS Zero (Succ Zero))",fontsize=16,color="black",shape="box"];1038 -> 1060[label="",style="solid", color="black", weight=3]; 1065[label="pr2F3 (primEqInt (primMinusNat (Succ vx710) (Succ vx82000)) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat (Succ vx710) (Succ vx82000)) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1065 -> 1084[label="",style="solid", color="black", weight=3]; 1066[label="pr2F3 (primEqInt (primMinusNat (Succ vx710) Zero) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat (Succ vx710) Zero) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1066 -> 1085[label="",style="solid", color="black", weight=3]; 1067[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vx82000)) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat Zero (Succ vx82000)) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1067 -> 1086[label="",style="solid", color="black", weight=3]; 1068[label="pr2F3 (primEqInt (primMinusNat Zero Zero) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat Zero Zero) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1068 -> 1087[label="",style="solid", color="black", weight=3]; 1069[label="pr2F3 MyFalse vx70 (Pos vx84) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1069 -> 1088[label="",style="solid", color="black", weight=3]; 1070[label="pr2F3 MyTrue vx70 (Pos vx84) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1070 -> 1089[label="",style="solid", color="black", weight=3]; 1058[label="vx76",fontsize=16,color="green",shape="box"];1071 -> 764[label="",style="dashed", color="red", weight=0]; 1071[label="pr2F3 (primEqInt (Neg (Succ vx870)) (Pos Zero)) vx75 (Neg vx86) (srMyInt vx75 vx74)",fontsize=16,color="magenta"];1071 -> 1090[label="",style="dashed", color="magenta", weight=3]; 1071 -> 1091[label="",style="dashed", color="magenta", weight=3]; 1071 -> 1092[label="",style="dashed", color="magenta", weight=3]; 1071 -> 1093[label="",style="dashed", color="magenta", weight=3]; 1072[label="pr2F3 (primEqInt (Neg Zero) (Pos Zero)) vx75 (Neg vx86) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="box"];1072 -> 1094[label="",style="solid", color="black", weight=3]; 1078[label="vx76",fontsize=16,color="green",shape="box"];1079[label="vx74",fontsize=16,color="green",shape="box"];1080[label="vx8300",fontsize=16,color="green",shape="box"];1081[label="vx75",fontsize=16,color="green",shape="box"];1082[label="Succ vx76",fontsize=16,color="green",shape="box"];1083[label="Succ vx76",fontsize=16,color="green",shape="box"];1015 -> 72[label="",style="dashed", color="red", weight=0]; 1015[label="primPlusNat (primMulNat vx44000 (Succ (Succ vx44000))) (Succ (Succ vx44000))",fontsize=16,color="magenta"];1015 -> 1039[label="",style="dashed", color="magenta", weight=3]; 1015 -> 1040[label="",style="dashed", color="magenta", weight=3]; 1016[label="Zero",fontsize=16,color="green",shape="box"];1059[label="primDivNatS0 (Succ vx710) (Succ Zero) (primGEqNatS vx710 Zero)",fontsize=16,color="burlywood",shape="box"];1242[label="vx710/Succ vx7100",fontsize=10,color="white",style="solid",shape="box"];1059 -> 1242[label="",style="solid", color="burlywood", weight=9]; 1242 -> 1073[label="",style="solid", color="burlywood", weight=3]; 1243[label="vx710/Zero",fontsize=10,color="white",style="solid",shape="box"];1059 -> 1243[label="",style="solid", color="burlywood", weight=9]; 1243 -> 1074[label="",style="solid", color="burlywood", weight=3]; 1060[label="primDivNatS0 Zero (Succ Zero) MyFalse",fontsize=16,color="black",shape="box"];1060 -> 1075[label="",style="solid", color="black", weight=3]; 1084 -> 1026[label="",style="dashed", color="red", weight=0]; 1084[label="pr2F3 (primEqInt (primMinusNat vx710 vx82000) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat vx710 vx82000) (srMyInt vx70 vx69)",fontsize=16,color="magenta"];1084 -> 1099[label="",style="dashed", color="magenta", weight=3]; 1084 -> 1100[label="",style="dashed", color="magenta", weight=3]; 1085 -> 1021[label="",style="dashed", color="red", weight=0]; 1085[label="pr2F3 (primEqInt (Pos (Succ vx710)) (fromIntMyInt (Pos Zero))) vx70 (Pos (Succ vx710)) (srMyInt vx70 vx69)",fontsize=16,color="magenta"];1085 -> 1101[label="",style="dashed", color="magenta", weight=3]; 1085 -> 1102[label="",style="dashed", color="magenta", weight=3]; 1086 -> 1041[label="",style="dashed", color="red", weight=0]; 1086[label="pr2F3 (primEqInt (Neg (Succ vx82000)) (fromIntMyInt (Pos Zero))) vx70 (Neg (Succ vx82000)) (srMyInt vx70 vx69)",fontsize=16,color="magenta"];1086 -> 1103[label="",style="dashed", color="magenta", weight=3]; 1086 -> 1104[label="",style="dashed", color="magenta", weight=3]; 1086 -> 1105[label="",style="dashed", color="magenta", weight=3]; 1086 -> 1106[label="",style="dashed", color="magenta", weight=3]; 1087 -> 1021[label="",style="dashed", color="red", weight=0]; 1087[label="pr2F3 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx70 (Pos Zero) (srMyInt vx70 vx69)",fontsize=16,color="magenta"];1087 -> 1107[label="",style="dashed", color="magenta", weight=3]; 1087 -> 1108[label="",style="dashed", color="magenta", weight=3]; 1088[label="pr2F0 vx70 (Pos vx84) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1088 -> 1109[label="",style="solid", color="black", weight=3]; 1089[label="srMyInt vx70 vx69",fontsize=16,color="black",shape="triangle"];1089 -> 1110[label="",style="solid", color="black", weight=3]; 1090 -> 1089[label="",style="dashed", color="red", weight=0]; 1090[label="srMyInt vx75 vx74",fontsize=16,color="magenta"];1090 -> 1111[label="",style="dashed", color="magenta", weight=3]; 1090 -> 1112[label="",style="dashed", color="magenta", weight=3]; 1091[label="vx75",fontsize=16,color="green",shape="box"];1092[label="vx86",fontsize=16,color="green",shape="box"];1093[label="vx870",fontsize=16,color="green",shape="box"];1094 -> 1113[label="",style="dashed", color="red", weight=0]; 1094[label="pr2F3 MyTrue vx75 (Neg vx86) (srMyInt vx75 vx74)",fontsize=16,color="magenta"];1094 -> 1114[label="",style="dashed", color="magenta", weight=3]; 1039[label="Succ (Succ vx44000)",fontsize=16,color="green",shape="box"];1040[label="primMulNat vx44000 (Succ (Succ vx44000))",fontsize=16,color="burlywood",shape="box"];1244[label="vx44000/Succ vx440000",fontsize=10,color="white",style="solid",shape="box"];1040 -> 1244[label="",style="solid", color="burlywood", weight=9]; 1244 -> 1061[label="",style="solid", color="burlywood", weight=3]; 1245[label="vx44000/Zero",fontsize=10,color="white",style="solid",shape="box"];1040 -> 1245[label="",style="solid", color="burlywood", weight=9]; 1245 -> 1062[label="",style="solid", color="burlywood", weight=3]; 1073[label="primDivNatS0 (Succ (Succ vx7100)) (Succ Zero) (primGEqNatS (Succ vx7100) Zero)",fontsize=16,color="black",shape="box"];1073 -> 1095[label="",style="solid", color="black", weight=3]; 1074[label="primDivNatS0 (Succ Zero) (Succ Zero) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1074 -> 1096[label="",style="solid", color="black", weight=3]; 1075[label="Zero",fontsize=16,color="green",shape="box"];1099[label="vx82000",fontsize=16,color="green",shape="box"];1100[label="vx710",fontsize=16,color="green",shape="box"];1101[label="Succ vx710",fontsize=16,color="green",shape="box"];1102[label="Succ vx710",fontsize=16,color="green",shape="box"];1103[label="vx69",fontsize=16,color="green",shape="box"];1104[label="Succ vx82000",fontsize=16,color="green",shape="box"];1105[label="Succ vx82000",fontsize=16,color="green",shape="box"];1106[label="vx70",fontsize=16,color="green",shape="box"];1107[label="Zero",fontsize=16,color="green",shape="box"];1108[label="Zero",fontsize=16,color="green",shape="box"];1109 -> 771[label="",style="dashed", color="red", weight=0]; 1109[label="pr2F0G (srMyInt vx70 vx69) vx70 (Pos vx84)",fontsize=16,color="magenta"];1109 -> 1115[label="",style="dashed", color="magenta", weight=3]; 1109 -> 1116[label="",style="dashed", color="magenta", weight=3]; 1109 -> 1117[label="",style="dashed", color="magenta", weight=3]; 1110[label="primMulInt vx70 vx69",fontsize=16,color="burlywood",shape="box"];1246[label="vx70/Pos vx700",fontsize=10,color="white",style="solid",shape="box"];1110 -> 1246[label="",style="solid", color="burlywood", weight=9]; 1246 -> 1118[label="",style="solid", color="burlywood", weight=3]; 1247[label="vx70/Neg vx700",fontsize=10,color="white",style="solid",shape="box"];1110 -> 1247[label="",style="solid", color="burlywood", weight=9]; 1247 -> 1119[label="",style="solid", color="burlywood", weight=3]; 1111[label="vx74",fontsize=16,color="green",shape="box"];1112[label="vx75",fontsize=16,color="green",shape="box"];1114 -> 1089[label="",style="dashed", color="red", weight=0]; 1114[label="srMyInt vx75 vx74",fontsize=16,color="magenta"];1114 -> 1120[label="",style="dashed", color="magenta", weight=3]; 1114 -> 1121[label="",style="dashed", color="magenta", weight=3]; 1113[label="pr2F3 MyTrue vx75 (Neg vx86) vx88",fontsize=16,color="black",shape="triangle"];1113 -> 1122[label="",style="solid", color="black", weight=3]; 1061[label="primMulNat (Succ vx440000) (Succ (Succ (Succ vx440000)))",fontsize=16,color="black",shape="box"];1061 -> 1076[label="",style="solid", color="black", weight=3]; 1062[label="primMulNat Zero (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];1062 -> 1077[label="",style="solid", color="black", weight=3]; 1095[label="primDivNatS0 (Succ (Succ vx7100)) (Succ Zero) MyTrue",fontsize=16,color="black",shape="box"];1095 -> 1123[label="",style="solid", color="black", weight=3]; 1096[label="primDivNatS0 (Succ Zero) (Succ Zero) MyTrue",fontsize=16,color="black",shape="box"];1096 -> 1124[label="",style="solid", color="black", weight=3]; 1115 -> 1089[label="",style="dashed", color="red", weight=0]; 1115[label="srMyInt vx70 vx69",fontsize=16,color="magenta"];1116[label="vx70",fontsize=16,color="green",shape="box"];1117[label="vx84",fontsize=16,color="green",shape="box"];1118[label="primMulInt (Pos vx700) vx69",fontsize=16,color="burlywood",shape="box"];1248[label="vx69/Pos vx690",fontsize=10,color="white",style="solid",shape="box"];1118 -> 1248[label="",style="solid", color="burlywood", weight=9]; 1248 -> 1127[label="",style="solid", color="burlywood", weight=3]; 1249[label="vx69/Neg vx690",fontsize=10,color="white",style="solid",shape="box"];1118 -> 1249[label="",style="solid", color="burlywood", weight=9]; 1249 -> 1128[label="",style="solid", color="burlywood", weight=3]; 1119[label="primMulInt (Neg vx700) vx69",fontsize=16,color="burlywood",shape="box"];1250[label="vx69/Pos vx690",fontsize=10,color="white",style="solid",shape="box"];1119 -> 1250[label="",style="solid", color="burlywood", weight=9]; 1250 -> 1129[label="",style="solid", color="burlywood", weight=3]; 1251[label="vx69/Neg vx690",fontsize=10,color="white",style="solid",shape="box"];1119 -> 1251[label="",style="solid", color="burlywood", weight=9]; 1251 -> 1130[label="",style="solid", color="burlywood", weight=3]; 1120[label="vx74",fontsize=16,color="green",shape="box"];1121[label="vx75",fontsize=16,color="green",shape="box"];1122[label="vx88",fontsize=16,color="green",shape="box"];1076 -> 72[label="",style="dashed", color="red", weight=0]; 1076[label="primPlusNat (primMulNat vx440000 (Succ (Succ (Succ vx440000)))) (Succ (Succ (Succ vx440000)))",fontsize=16,color="magenta"];1076 -> 1097[label="",style="dashed", color="magenta", weight=3]; 1076 -> 1098[label="",style="dashed", color="magenta", weight=3]; 1077[label="Zero",fontsize=16,color="green",shape="box"];1123[label="Succ (primDivNatS (primMinusNatS (Succ (Succ vx7100)) (Succ Zero)) (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];1123 -> 1131[label="",style="dashed", color="green", weight=3]; 1124[label="Succ (primDivNatS (primMinusNatS (Succ Zero) (Succ Zero)) (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];1124 -> 1132[label="",style="dashed", color="green", weight=3]; 1127[label="primMulInt (Pos vx700) (Pos vx690)",fontsize=16,color="black",shape="box"];1127 -> 1135[label="",style="solid", color="black", weight=3]; 1128[label="primMulInt (Pos vx700) (Neg vx690)",fontsize=16,color="black",shape="box"];1128 -> 1136[label="",style="solid", color="black", weight=3]; 1129[label="primMulInt (Neg vx700) (Pos vx690)",fontsize=16,color="black",shape="box"];1129 -> 1137[label="",style="solid", color="black", weight=3]; 1130[label="primMulInt (Neg vx700) (Neg vx690)",fontsize=16,color="black",shape="box"];1130 -> 1138[label="",style="solid", color="black", weight=3]; 1097[label="Succ (Succ (Succ vx440000))",fontsize=16,color="green",shape="box"];1098[label="primMulNat vx440000 (Succ (Succ (Succ vx440000)))",fontsize=16,color="burlywood",shape="box"];1252[label="vx440000/Succ vx4400000",fontsize=10,color="white",style="solid",shape="box"];1098 -> 1252[label="",style="solid", color="burlywood", weight=9]; 1252 -> 1125[label="",style="solid", color="burlywood", weight=3]; 1253[label="vx440000/Zero",fontsize=10,color="white",style="solid",shape="box"];1098 -> 1253[label="",style="solid", color="burlywood", weight=9]; 1253 -> 1126[label="",style="solid", color="burlywood", weight=3]; 1131[label="primDivNatS (primMinusNatS (Succ (Succ vx7100)) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];1131 -> 1139[label="",style="solid", color="black", weight=3]; 1132[label="primDivNatS (primMinusNatS (Succ Zero) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];1132 -> 1140[label="",style="solid", color="black", weight=3]; 1135[label="Pos (primMulNat vx700 vx690)",fontsize=16,color="green",shape="box"];1135 -> 1143[label="",style="dashed", color="green", weight=3]; 1136[label="Neg (primMulNat vx700 vx690)",fontsize=16,color="green",shape="box"];1136 -> 1144[label="",style="dashed", color="green", weight=3]; 1137[label="Neg (primMulNat vx700 vx690)",fontsize=16,color="green",shape="box"];1137 -> 1145[label="",style="dashed", color="green", weight=3]; 1138[label="Pos (primMulNat vx700 vx690)",fontsize=16,color="green",shape="box"];1138 -> 1146[label="",style="dashed", color="green", weight=3]; 1125[label="primMulNat (Succ vx4400000) (Succ (Succ (Succ (Succ vx4400000))))",fontsize=16,color="black",shape="box"];1125 -> 1133[label="",style="solid", color="black", weight=3]; 1126[label="primMulNat Zero (Succ (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];1126 -> 1134[label="",style="solid", color="black", weight=3]; 1139[label="primDivNatS (primMinusNatS (Succ vx7100) Zero) (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];1139 -> 1147[label="",style="solid", color="black", weight=3]; 1140[label="primDivNatS (primMinusNatS Zero Zero) (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];1140 -> 1148[label="",style="solid", color="black", weight=3]; 1143[label="primMulNat vx700 vx690",fontsize=16,color="burlywood",shape="triangle"];1254[label="vx700/Succ vx7000",fontsize=10,color="white",style="solid",shape="box"];1143 -> 1254[label="",style="solid", color="burlywood", weight=9]; 1254 -> 1151[label="",style="solid", color="burlywood", weight=3]; 1255[label="vx700/Zero",fontsize=10,color="white",style="solid",shape="box"];1143 -> 1255[label="",style="solid", color="burlywood", weight=9]; 1255 -> 1152[label="",style="solid", color="burlywood", weight=3]; 1144 -> 1143[label="",style="dashed", color="red", weight=0]; 1144[label="primMulNat vx700 vx690",fontsize=16,color="magenta"];1144 -> 1153[label="",style="dashed", color="magenta", weight=3]; 1145 -> 1143[label="",style="dashed", color="red", weight=0]; 1145[label="primMulNat vx700 vx690",fontsize=16,color="magenta"];1145 -> 1154[label="",style="dashed", color="magenta", weight=3]; 1146 -> 1143[label="",style="dashed", color="red", weight=0]; 1146[label="primMulNat vx700 vx690",fontsize=16,color="magenta"];1146 -> 1155[label="",style="dashed", color="magenta", weight=3]; 1146 -> 1156[label="",style="dashed", color="magenta", weight=3]; 1133 -> 72[label="",style="dashed", color="red", weight=0]; 1133[label="primPlusNat (primMulNat vx4400000 (Succ (Succ (Succ (Succ vx4400000))))) (Succ (Succ (Succ (Succ vx4400000))))",fontsize=16,color="magenta"];1133 -> 1141[label="",style="dashed", color="magenta", weight=3]; 1133 -> 1142[label="",style="dashed", color="magenta", weight=3]; 1134[label="Zero",fontsize=16,color="green",shape="box"];1147 -> 1007[label="",style="dashed", color="red", weight=0]; 1147[label="primDivNatS (Succ vx7100) (Succ (Succ Zero))",fontsize=16,color="magenta"];1147 -> 1157[label="",style="dashed", color="magenta", weight=3]; 1148 -> 882[label="",style="dashed", color="red", weight=0]; 1148[label="primDivNatS Zero (Succ (Succ Zero))",fontsize=16,color="magenta"];1151[label="primMulNat (Succ vx7000) vx690",fontsize=16,color="burlywood",shape="box"];1256[label="vx690/Succ vx6900",fontsize=10,color="white",style="solid",shape="box"];1151 -> 1256[label="",style="solid", color="burlywood", weight=9]; 1256 -> 1160[label="",style="solid", color="burlywood", weight=3]; 1257[label="vx690/Zero",fontsize=10,color="white",style="solid",shape="box"];1151 -> 1257[label="",style="solid", color="burlywood", weight=9]; 1257 -> 1161[label="",style="solid", color="burlywood", weight=3]; 1152[label="primMulNat Zero vx690",fontsize=16,color="burlywood",shape="box"];1258[label="vx690/Succ vx6900",fontsize=10,color="white",style="solid",shape="box"];1152 -> 1258[label="",style="solid", color="burlywood", weight=9]; 1258 -> 1162[label="",style="solid", color="burlywood", weight=3]; 1259[label="vx690/Zero",fontsize=10,color="white",style="solid",shape="box"];1152 -> 1259[label="",style="solid", color="burlywood", weight=9]; 1259 -> 1163[label="",style="solid", color="burlywood", weight=3]; 1153[label="vx690",fontsize=16,color="green",shape="box"];1154[label="vx700",fontsize=16,color="green",shape="box"];1155[label="vx690",fontsize=16,color="green",shape="box"];1156[label="vx700",fontsize=16,color="green",shape="box"];1141[label="Succ (Succ (Succ (Succ vx4400000)))",fontsize=16,color="green",shape="box"];1142[label="primMulNat vx4400000 (Succ (Succ (Succ (Succ vx4400000))))",fontsize=16,color="burlywood",shape="box"];1260[label="vx4400000/Succ vx44000000",fontsize=10,color="white",style="solid",shape="box"];1142 -> 1260[label="",style="solid", color="burlywood", weight=9]; 1260 -> 1149[label="",style="solid", color="burlywood", weight=3]; 1261[label="vx4400000/Zero",fontsize=10,color="white",style="solid",shape="box"];1142 -> 1261[label="",style="solid", color="burlywood", weight=9]; 1261 -> 1150[label="",style="solid", color="burlywood", weight=3]; 1157[label="vx7100",fontsize=16,color="green",shape="box"];1160[label="primMulNat (Succ vx7000) (Succ vx6900)",fontsize=16,color="black",shape="box"];1160 -> 1166[label="",style="solid", color="black", weight=3]; 1161[label="primMulNat (Succ vx7000) Zero",fontsize=16,color="black",shape="box"];1161 -> 1167[label="",style="solid", color="black", weight=3]; 1162[label="primMulNat Zero (Succ vx6900)",fontsize=16,color="black",shape="box"];1162 -> 1168[label="",style="solid", color="black", weight=3]; 1163[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];1163 -> 1169[label="",style="solid", color="black", weight=3]; 1149[label="primMulNat (Succ vx44000000) (Succ (Succ (Succ (Succ (Succ vx44000000)))))",fontsize=16,color="black",shape="box"];1149 -> 1158[label="",style="solid", color="black", weight=3]; 1150[label="primMulNat Zero (Succ (Succ (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];1150 -> 1159[label="",style="solid", color="black", weight=3]; 1166 -> 72[label="",style="dashed", color="red", weight=0]; 1166[label="primPlusNat (primMulNat vx7000 (Succ vx6900)) (Succ vx6900)",fontsize=16,color="magenta"];1166 -> 1172[label="",style="dashed", color="magenta", weight=3]; 1166 -> 1173[label="",style="dashed", color="magenta", weight=3]; 1167[label="Zero",fontsize=16,color="green",shape="box"];1168[label="Zero",fontsize=16,color="green",shape="box"];1169[label="Zero",fontsize=16,color="green",shape="box"];1158 -> 72[label="",style="dashed", color="red", weight=0]; 1158[label="primPlusNat (primMulNat vx44000000 (Succ (Succ (Succ (Succ (Succ vx44000000)))))) (Succ (Succ (Succ (Succ (Succ vx44000000)))))",fontsize=16,color="magenta"];1158 -> 1164[label="",style="dashed", color="magenta", weight=3]; 1158 -> 1165[label="",style="dashed", color="magenta", weight=3]; 1159[label="Zero",fontsize=16,color="green",shape="box"];1172[label="Succ vx6900",fontsize=16,color="green",shape="box"];1173 -> 1143[label="",style="dashed", color="red", weight=0]; 1173[label="primMulNat vx7000 (Succ vx6900)",fontsize=16,color="magenta"];1173 -> 1174[label="",style="dashed", color="magenta", weight=3]; 1173 -> 1175[label="",style="dashed", color="magenta", weight=3]; 1164[label="Succ (Succ (Succ (Succ (Succ vx44000000))))",fontsize=16,color="green",shape="box"];1165 -> 1143[label="",style="dashed", color="red", weight=0]; 1165[label="primMulNat vx44000000 (Succ (Succ (Succ (Succ (Succ vx44000000)))))",fontsize=16,color="magenta"];1165 -> 1170[label="",style="dashed", color="magenta", weight=3]; 1165 -> 1171[label="",style="dashed", color="magenta", weight=3]; 1174[label="Succ vx6900",fontsize=16,color="green",shape="box"];1175[label="vx7000",fontsize=16,color="green",shape="box"];1170[label="Succ (Succ (Succ (Succ (Succ vx44000000))))",fontsize=16,color="green",shape="box"];1171[label="vx44000000",fontsize=16,color="green",shape="box"];} ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Main.Succ(Main.Succ(vx7100))) -> new_primDivNatS(vx7100) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (8) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *new_primDivNatS(Main.Succ(Main.Succ(vx7100))) -> new_primDivNatS(vx7100) The graph contains the following edges 1 > 1 ---------------------------------------- (9) YES ---------------------------------------- (10) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F33(Main.Succ(vx4000), Main.Succ(vx5000), vx3) -> new_pr2F33(vx4000, vx5000, vx3) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (11) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *new_pr2F33(Main.Succ(vx4000), Main.Succ(vx5000), vx3) -> new_pr2F33(vx4000, vx5000, vx3) The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 ---------------------------------------- (12) YES ---------------------------------------- (13) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, new_fromIntMyInt, vx74) new_pr2F0G1(vx65, vx44, Main.Succ(Main.Zero)) -> new_pr2F(vx44, Main.Zero, new_fromIntMyInt, vx65) new_pr2F0G1(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) new_pr2F3(Main.Succ(vx710), Main.Zero, vx70, vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) new_pr2F0(vx75, vx76, Main.Neg(Main.Zero), vx74) -> new_pr2F31(Main.Succ(vx76), vx75, Main.Succ(vx76), vx74) new_pr2F0G1(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), new_primDivNatS0) new_pr2F3(Main.Succ(vx710), Main.Succ(vx82000), vx70, vx69) -> new_pr2F3(vx710, vx82000, vx70, vx69) new_pr2F30(Main.Succ(vx850), vx70, vx84, vx69) -> new_pr2F0G0(new_srMyInt0(vx70, vx69), vx70, vx84) new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) new_pr2F32(vx620, vx50, Main.Zero, vx64) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) new_pr2F0G0(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G0(vx65, vx44, Main.Succ(Main.Zero)) -> new_pr2F(vx44, Main.Zero, new_fromIntMyInt, vx65) new_pr2F(vx70, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Zero, vx70, Main.Zero, vx69) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) new_pr2F0(vx75, vx76, Main.Neg(Main.Succ(vx8300)), vx74) -> new_pr2F3(vx8300, vx76, vx75, vx74) new_pr2F3(Main.Zero, Main.Zero, vx70, vx69) -> new_pr2F30(Main.Zero, vx70, Main.Zero, vx69) new_pr2F(vx70, Main.Zero, Main.Pos(Main.Succ(Main.Succ(vx82000))), vx69) -> new_pr2F31(Main.Succ(vx82000), vx70, Main.Succ(vx82000), vx69) new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, new_fromIntMyInt, vx69) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F0G0(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), new_primDivNatS0) new_pr2F3(Main.Zero, Main.Succ(vx82000), vx70, vx69) -> new_pr2F31(Main.Succ(vx82000), vx70, Main.Succ(vx82000), vx69) new_pr2F(vx70, vx71, Main.Pos(Main.Zero), vx69) -> new_pr2F30(Main.Succ(vx71), vx70, Main.Succ(vx71), vx69) new_pr2F0G12(vx64, vx50, Main.Zero) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Succ(vx82000))), vx69) -> new_pr2F3(vx710, vx82000, vx70, vx69) new_pr2F(vx70, vx71, Main.Neg(vx820), vx69) -> new_pr2F30(new_primPlusNat0(Main.Succ(vx71), vx820), vx70, new_primPlusNat0(Main.Succ(vx71), vx820), vx69) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primDivNatS1(Main.Zero) -> Main.Zero new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primDivNatS0 -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat2(Main.Zero) -> Main.Zero The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_fromIntMyInt new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (14) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 12 less nodes. ---------------------------------------- (15) Complex Obligation (AND) ---------------------------------------- (16) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) new_pr2F0G1(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), new_primDivNatS0) new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, new_fromIntMyInt, vx69) new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) new_pr2F30(Main.Succ(vx850), vx70, vx84, vx69) -> new_pr2F0G0(new_srMyInt0(vx70, vx69), vx70, vx84) new_pr2F0G0(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G0(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), new_primDivNatS0) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primDivNatS1(Main.Zero) -> Main.Zero new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primDivNatS0 -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat2(Main.Zero) -> Main.Zero The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_fromIntMyInt new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (17) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G1(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), new_primDivNatS0) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G1(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), Main.Zero),new_pr2F0G1(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), Main.Zero)) ---------------------------------------- (18) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, new_fromIntMyInt, vx69) new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) new_pr2F30(Main.Succ(vx850), vx70, vx84, vx69) -> new_pr2F0G0(new_srMyInt0(vx70, vx69), vx70, vx84) new_pr2F0G0(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G0(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), new_primDivNatS0) new_pr2F0G1(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), Main.Zero) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primDivNatS1(Main.Zero) -> Main.Zero new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primDivNatS0 -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat2(Main.Zero) -> Main.Zero The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_fromIntMyInt new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (19) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (20) Complex Obligation (AND) ---------------------------------------- (21) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), Main.Zero) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primDivNatS1(Main.Zero) -> Main.Zero new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primDivNatS0 -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat2(Main.Zero) -> Main.Zero The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_fromIntMyInt new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (22) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (23) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), Main.Zero) The TRS R consists of the following rules: new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_fromIntMyInt new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (24) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primDivNatS1(Main.Zero) new_fromIntMyInt new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primDivNatS1(Main.Succ(Main.Zero)) ---------------------------------------- (25) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), Main.Zero) The TRS R consists of the following rules: new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) The set Q consists of the following terms: new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_primMulNat5(Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (26) NonTerminationLoopProof (COMPLETE) We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. Found a loop by semiunifying a rule from P directly. s = new_pr2F0G1(vx65, vx44, Main.Zero) evaluates to t =new_pr2F0G1(vx65, new_srMyInt(vx44), Main.Zero) Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [vx44 / new_srMyInt(vx44)] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence The DP semiunifies directly so there is only one rewrite step from new_pr2F0G1(vx65, vx44, Main.Zero) to new_pr2F0G1(vx65, new_srMyInt(vx44), Main.Zero). ---------------------------------------- (27) NO ---------------------------------------- (28) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) new_pr2F0G1(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, new_fromIntMyInt, vx69) new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) new_pr2F30(Main.Succ(vx850), vx70, vx84, vx69) -> new_pr2F0G0(new_srMyInt0(vx70, vx69), vx70, vx84) new_pr2F0G0(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G0(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), new_primDivNatS0) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primDivNatS1(Main.Zero) -> Main.Zero new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primDivNatS0 -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat2(Main.Zero) -> Main.Zero The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_fromIntMyInt new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (29) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, new_fromIntMyInt, vx69) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, Main.Pos(Main.Succ(Main.Zero)), vx69),new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, Main.Pos(Main.Succ(Main.Zero)), vx69)) ---------------------------------------- (30) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) new_pr2F0G1(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) new_pr2F30(Main.Succ(vx850), vx70, vx84, vx69) -> new_pr2F0G0(new_srMyInt0(vx70, vx69), vx70, vx84) new_pr2F0G0(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G0(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), new_primDivNatS0) new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, Main.Pos(Main.Succ(Main.Zero)), vx69) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primDivNatS1(Main.Zero) -> Main.Zero new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primDivNatS0 -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat2(Main.Zero) -> Main.Zero The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_fromIntMyInt new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (31) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (32) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) new_pr2F0G1(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) new_pr2F30(Main.Succ(vx850), vx70, vx84, vx69) -> new_pr2F0G0(new_srMyInt0(vx70, vx69), vx70, vx84) new_pr2F0G0(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G0(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), new_primDivNatS0) new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, Main.Pos(Main.Succ(Main.Zero)), vx69) The TRS R consists of the following rules: new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primDivNatS0 -> Main.Zero new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_fromIntMyInt new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (33) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_fromIntMyInt ---------------------------------------- (34) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) new_pr2F0G1(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) new_pr2F30(Main.Succ(vx850), vx70, vx84, vx69) -> new_pr2F0G0(new_srMyInt0(vx70, vx69), vx70, vx84) new_pr2F0G0(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G0(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), new_primDivNatS0) new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, Main.Pos(Main.Succ(Main.Zero)), vx69) The TRS R consists of the following rules: new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primDivNatS0 -> Main.Zero new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (35) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G0(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), new_primDivNatS0) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G0(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), Main.Zero),new_pr2F0G0(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), Main.Zero)) ---------------------------------------- (36) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) new_pr2F0G1(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) new_pr2F30(Main.Succ(vx850), vx70, vx84, vx69) -> new_pr2F0G0(new_srMyInt0(vx70, vx69), vx70, vx84) new_pr2F0G0(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, Main.Pos(Main.Succ(Main.Zero)), vx69) new_pr2F0G0(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), Main.Zero) The TRS R consists of the following rules: new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primDivNatS0 -> Main.Zero new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (37) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (38) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) new_pr2F0G1(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, Main.Pos(Main.Succ(Main.Zero)), vx69) new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) new_pr2F30(Main.Succ(vx850), vx70, vx84, vx69) -> new_pr2F0G0(new_srMyInt0(vx70, vx69), vx70, vx84) new_pr2F0G0(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) The TRS R consists of the following rules: new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primDivNatS0 -> Main.Zero new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (39) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_pr2F30(Main.Succ(vx850), vx70, vx84, vx69) -> new_pr2F0G0(new_srMyInt0(vx70, vx69), vx70, vx84) we obtained the following new rules [LPAR04]: (new_pr2F30(Main.Succ(z1), z0, Main.Succ(z1), z2) -> new_pr2F0G0(new_srMyInt0(z0, z2), z0, Main.Succ(z1)),new_pr2F30(Main.Succ(z1), z0, Main.Succ(z1), z2) -> new_pr2F0G0(new_srMyInt0(z0, z2), z0, Main.Succ(z1))) ---------------------------------------- (40) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) new_pr2F0G1(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, Main.Pos(Main.Succ(Main.Zero)), vx69) new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) new_pr2F0G0(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) new_pr2F30(Main.Succ(z1), z0, Main.Succ(z1), z2) -> new_pr2F0G0(new_srMyInt0(z0, z2), z0, Main.Succ(z1)) The TRS R consists of the following rules: new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primDivNatS0 -> Main.Zero new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (41) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(Main.Pos(x_1)) = 1 POL(Main.Succ(x_1)) = 1 + x_1 POL(Main.Zero) = 1 POL(new_primDivNatS0) = 1 POL(new_primDivNatS1(x_1)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_pr2F0G1(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 3 > 4 *new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) (allowed arguments on rhs = {1, 3}) The graph contains the following edges 1 >= 1, 3 >= 3 *new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) (allowed arguments on rhs = {1, 2, 3}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3 *new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4 *new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, Main.Pos(Main.Succ(Main.Zero)), vx69) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 2 >= 1, 3 >= 2, 1 >= 4 *new_pr2F0G0(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 3 > 4 *new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 2 >= 1, 1 >= 2, 2 >= 3, 4 >= 4 *new_pr2F30(Main.Succ(z1), z0, Main.Succ(z1), z2) -> new_pr2F0G0(new_srMyInt0(z0, z2), z0, Main.Succ(z1)) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3, 3 >= 3 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero ---------------------------------------- (42) YES ---------------------------------------- (43) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, new_fromIntMyInt, vx74) new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) new_pr2F0G12(vx64, vx50, Main.Zero) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) new_pr2F32(vx620, vx50, Main.Zero, vx64) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primDivNatS1(Main.Zero) -> Main.Zero new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primDivNatS0 -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat2(Main.Zero) -> Main.Zero The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_fromIntMyInt new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (44) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, new_fromIntMyInt, vx74) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74),new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74)) ---------------------------------------- (45) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) new_pr2F0G12(vx64, vx50, Main.Zero) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) new_pr2F32(vx620, vx50, Main.Zero, vx64) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primDivNatS1(Main.Zero) -> Main.Zero new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primDivNatS0 -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat2(Main.Zero) -> Main.Zero The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_fromIntMyInt new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (46) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64),new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64)) ---------------------------------------- (47) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F0G12(vx64, vx50, Main.Zero) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) new_pr2F32(vx620, vx50, Main.Zero, vx64) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primDivNatS1(Main.Zero) -> Main.Zero new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primDivNatS0 -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat2(Main.Zero) -> Main.Zero The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_fromIntMyInt new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (48) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G12(vx64, vx50, Main.Zero) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G12(vx64, vx50, Main.Zero) -> new_pr2F0G12(vx64, new_srMyInt(vx50), Main.Zero),new_pr2F0G12(vx64, vx50, Main.Zero) -> new_pr2F0G12(vx64, new_srMyInt(vx50), Main.Zero)) ---------------------------------------- (49) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F32(vx620, vx50, Main.Zero, vx64) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0G12(vx64, vx50, Main.Zero) -> new_pr2F0G12(vx64, new_srMyInt(vx50), Main.Zero) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primDivNatS1(Main.Zero) -> Main.Zero new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primDivNatS0 -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat2(Main.Zero) -> Main.Zero The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_fromIntMyInt new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (50) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (51) Complex Obligation (AND) ---------------------------------------- (52) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx64, vx50, Main.Zero) -> new_pr2F0G12(vx64, new_srMyInt(vx50), Main.Zero) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primDivNatS1(Main.Zero) -> Main.Zero new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primDivNatS0 -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat2(Main.Zero) -> Main.Zero The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_fromIntMyInt new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (53) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (54) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx64, vx50, Main.Zero) -> new_pr2F0G12(vx64, new_srMyInt(vx50), Main.Zero) The TRS R consists of the following rules: new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_fromIntMyInt new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (55) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primDivNatS1(Main.Zero) new_fromIntMyInt new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primDivNatS1(Main.Succ(Main.Zero)) ---------------------------------------- (56) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx64, vx50, Main.Zero) -> new_pr2F0G12(vx64, new_srMyInt(vx50), Main.Zero) The TRS R consists of the following rules: new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) The set Q consists of the following terms: new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_primMulNat5(Main.Zero) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (57) NonTerminationLoopProof (COMPLETE) We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. Found a loop by semiunifying a rule from P directly. s = new_pr2F0G12(vx64, vx50, Main.Zero) evaluates to t =new_pr2F0G12(vx64, new_srMyInt(vx50), Main.Zero) Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [vx50 / new_srMyInt(vx50)] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence The DP semiunifies directly so there is only one rewrite step from new_pr2F0G12(vx64, vx50, Main.Zero) to new_pr2F0G12(vx64, new_srMyInt(vx50), Main.Zero). ---------------------------------------- (58) NO ---------------------------------------- (59) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F32(vx620, vx50, Main.Zero, vx64) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primDivNatS1(Main.Zero) -> Main.Zero new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primDivNatS0 -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat2(Main.Zero) -> Main.Zero The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_fromIntMyInt new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (60) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F32(vx620, vx50, Main.Zero, vx64) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F32(vx620, vx50, Main.Zero, vx64) -> new_pr2F0G12(vx64, new_srMyInt(vx50), Main.Zero),new_pr2F32(vx620, vx50, Main.Zero, vx64) -> new_pr2F0G12(vx64, new_srMyInt(vx50), Main.Zero)) ---------------------------------------- (61) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) new_pr2F32(vx620, vx50, Main.Zero, vx64) -> new_pr2F0G12(vx64, new_srMyInt(vx50), Main.Zero) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primDivNatS1(Main.Zero) -> Main.Zero new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primDivNatS0 -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat2(Main.Zero) -> Main.Zero The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_fromIntMyInt new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (62) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (63) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primDivNatS1(Main.Zero) -> Main.Zero new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primDivNatS0 -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat2(Main.Zero) -> Main.Zero The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_fromIntMyInt new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (64) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64),new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64)) ---------------------------------------- (65) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primDivNatS1(Main.Zero) -> Main.Zero new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primDivNatS0 -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat2(Main.Zero) -> Main.Zero The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_fromIntMyInt new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (66) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (67) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_fromIntMyInt new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (68) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_fromIntMyInt ---------------------------------------- (69) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (70) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) we obtained the following new rules [LPAR04]: (new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z0),new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z0)) (new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0),new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0)) ---------------------------------------- (71) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z0) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (72) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z0) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z0),new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z0)) ---------------------------------------- (73) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z0) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (74) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0),new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0)) ---------------------------------------- (75) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z0) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (76) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, new_primPlusNat0(Main.Succ(z2), Main.Succ(Main.Zero)), z0) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0),new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0)) ---------------------------------------- (77) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (78) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0),new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0)) ---------------------------------------- (79) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (80) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, new_primPlusNat0(Main.Succ(Main.Zero), Main.Succ(Main.Zero)), z0) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), z0),new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), z0)) ---------------------------------------- (81) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), z0) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (82) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), z0) at position [2,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0),new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0)) ---------------------------------------- (83) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (84) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) we obtained the following new rules [LPAR04]: (new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)),new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2))) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)),new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1))) ---------------------------------------- (85) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (86) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (87) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (88) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (89) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (90) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) the following chains were created: *We consider the chain new_pr2F0G11(x3, x4, x5, Main.Zero) -> new_pr2F0G2(x3, new_srMyInt(x4), x5), new_pr2F0G2(x6, x7, x8) -> new_pr2F0G12(x6, x7, new_primDivNatS1(x8)) which results in the following constraint: (1) (new_pr2F0G2(x3, new_srMyInt(x4), x5)=new_pr2F0G2(x6, x7, x8) ==> new_pr2F0G11(x3, x4, x5, Main.Zero)_>=_new_pr2F0G2(x3, new_srMyInt(x4), x5)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x3, x4, x5, Main.Zero)_>=_new_pr2F0G2(x3, new_srMyInt(x4), x5)) For Pair new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) the following chains were created: *We consider the chain new_pr2F0G2(x42, x43, x44) -> new_pr2F0G12(x42, x43, new_primDivNatS1(x44)), new_pr2F0G12(x45, x46, Main.Succ(Main.Succ(x47))) -> new_pr2F0G11(x45, x46, Main.Succ(x47), x47) which results in the following constraint: (1) (new_pr2F0G12(x42, x43, new_primDivNatS1(x44))=new_pr2F0G12(x45, x46, Main.Succ(Main.Succ(x47))) ==> new_pr2F0G2(x42, x43, x44)_>=_new_pr2F0G12(x42, x43, new_primDivNatS1(x44))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primDivNatS1(x44)=Main.Succ(Main.Succ(x47)) ==> new_pr2F0G2(x42, x43, x44)_>=_new_pr2F0G12(x42, x43, new_primDivNatS1(x44))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x44)=Main.Succ(Main.Succ(x47)) which results in the following new constraints: (3) (Main.Succ(new_primDivNatS0)=Main.Succ(Main.Succ(x47)) ==> new_pr2F0G2(x42, x43, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x42, x43, new_primDivNatS1(Main.Succ(Main.Zero)))) (4) (Main.Succ(new_primDivNatS1(x431))=Main.Succ(Main.Succ(x47)) & (\/x432,x433,x434:new_primDivNatS1(x431)=Main.Succ(Main.Succ(x432)) ==> new_pr2F0G2(x433, x434, x431)_>=_new_pr2F0G12(x433, x434, new_primDivNatS1(x431))) ==> new_pr2F0G2(x42, x43, Main.Succ(Main.Succ(x431)))_>=_new_pr2F0G12(x42, x43, new_primDivNatS1(Main.Succ(Main.Succ(x431))))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (5) (new_primDivNatS0=Main.Succ(x47) ==> new_pr2F0G2(x42, x43, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x42, x43, new_primDivNatS1(Main.Succ(Main.Zero)))) We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: (6) (new_primDivNatS1(x431)=Main.Succ(x47) ==> new_pr2F0G2(x42, x43, Main.Succ(Main.Succ(x431)))_>=_new_pr2F0G12(x42, x43, new_primDivNatS1(Main.Succ(Main.Succ(x431))))) We solved constraint (5) using rule (V) (with possible (I) afterwards).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x431)=Main.Succ(x47) which results in the following new constraints: (7) (Main.Succ(new_primDivNatS0)=Main.Succ(x47) ==> new_pr2F0G2(x42, x43, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G12(x42, x43, new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) (8) (Main.Succ(new_primDivNatS1(x435))=Main.Succ(x47) & (\/x436,x437,x438:new_primDivNatS1(x435)=Main.Succ(x436) ==> new_pr2F0G2(x437, x438, Main.Succ(Main.Succ(x435)))_>=_new_pr2F0G12(x437, x438, new_primDivNatS1(Main.Succ(Main.Succ(x435))))) ==> new_pr2F0G2(x42, x43, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x435)))))_>=_new_pr2F0G12(x42, x43, new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x435))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (9) (new_pr2F0G2(x42, x43, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G12(x42, x43, new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (10) (new_pr2F0G2(x42, x43, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x435)))))_>=_new_pr2F0G12(x42, x43, new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x435))))))) *We consider the chain new_pr2F0G2(x69, x70, x71) -> new_pr2F0G12(x69, x70, new_primDivNatS1(x71)), new_pr2F0G12(x72, x73, Main.Succ(Main.Zero)) -> new_pr2F0(x73, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x72) which results in the following constraint: (1) (new_pr2F0G12(x69, x70, new_primDivNatS1(x71))=new_pr2F0G12(x72, x73, Main.Succ(Main.Zero)) ==> new_pr2F0G2(x69, x70, x71)_>=_new_pr2F0G12(x69, x70, new_primDivNatS1(x71))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primDivNatS1(x71)=Main.Succ(Main.Zero) ==> new_pr2F0G2(x69, x70, x71)_>=_new_pr2F0G12(x69, x70, new_primDivNatS1(x71))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x71)=Main.Succ(Main.Zero) which results in the following new constraints: (3) (Main.Succ(new_primDivNatS0)=Main.Succ(Main.Zero) ==> new_pr2F0G2(x69, x70, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x69, x70, new_primDivNatS1(Main.Succ(Main.Zero)))) (4) (Main.Succ(new_primDivNatS1(x439))=Main.Succ(Main.Zero) & (\/x440,x441:new_primDivNatS1(x439)=Main.Succ(Main.Zero) ==> new_pr2F0G2(x440, x441, x439)_>=_new_pr2F0G12(x440, x441, new_primDivNatS1(x439))) ==> new_pr2F0G2(x69, x70, Main.Succ(Main.Succ(x439)))_>=_new_pr2F0G12(x69, x70, new_primDivNatS1(Main.Succ(Main.Succ(x439))))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (5) (new_primDivNatS0=Main.Zero ==> new_pr2F0G2(x69, x70, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x69, x70, new_primDivNatS1(Main.Succ(Main.Zero)))) We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: (6) (new_primDivNatS1(x439)=Main.Zero ==> new_pr2F0G2(x69, x70, Main.Succ(Main.Succ(x439)))_>=_new_pr2F0G12(x69, x70, new_primDivNatS1(Main.Succ(Main.Succ(x439))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS0=Main.Zero which results in the following new constraint: (7) (Main.Zero=Main.Zero ==> new_pr2F0G2(x69, x70, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x69, x70, new_primDivNatS1(Main.Succ(Main.Zero)))) We simplified constraint (7) using rules (I), (II) which results in the following new constraint: (8) (new_pr2F0G2(x69, x70, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x69, x70, new_primDivNatS1(Main.Succ(Main.Zero)))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x439)=Main.Zero which results in the following new constraint: (9) (Main.Zero=Main.Zero ==> new_pr2F0G2(x69, x70, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G12(x69, x70, new_primDivNatS1(Main.Succ(Main.Succ(Main.Zero))))) We simplified constraint (9) using rules (I), (II) which results in the following new constraint: (10) (new_pr2F0G2(x69, x70, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G12(x69, x70, new_primDivNatS1(Main.Succ(Main.Succ(Main.Zero))))) For Pair new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) the following chains were created: *We consider the chain new_pr2F0G12(x74, x75, Main.Succ(Main.Succ(x76))) -> new_pr2F0G11(x74, x75, Main.Succ(x76), x76), new_pr2F0G11(x77, x78, x79, Main.Zero) -> new_pr2F0G2(x77, new_srMyInt(x78), x79) which results in the following constraint: (1) (new_pr2F0G11(x74, x75, Main.Succ(x76), x76)=new_pr2F0G11(x77, x78, x79, Main.Zero) ==> new_pr2F0G12(x74, x75, Main.Succ(Main.Succ(x76)))_>=_new_pr2F0G11(x74, x75, Main.Succ(x76), x76)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x74, x75, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x74, x75, Main.Succ(Main.Zero), Main.Zero)) *We consider the chain new_pr2F0G12(x86, x87, Main.Succ(Main.Succ(x88))) -> new_pr2F0G11(x86, x87, Main.Succ(x88), x88), new_pr2F0G11(x89, x90, x91, Main.Succ(Main.Succ(x92))) -> new_pr2F0G11(x89, x90, x91, x92) which results in the following constraint: (1) (new_pr2F0G11(x86, x87, Main.Succ(x88), x88)=new_pr2F0G11(x89, x90, x91, Main.Succ(Main.Succ(x92))) ==> new_pr2F0G12(x86, x87, Main.Succ(Main.Succ(x88)))_>=_new_pr2F0G11(x86, x87, Main.Succ(x88), x88)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x86, x87, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x92)))))_>=_new_pr2F0G11(x86, x87, Main.Succ(Main.Succ(Main.Succ(x92))), Main.Succ(Main.Succ(x92)))) *We consider the chain new_pr2F0G12(x93, x94, Main.Succ(Main.Succ(x95))) -> new_pr2F0G11(x93, x94, Main.Succ(x95), x95), new_pr2F0G11(x96, x97, x98, Main.Succ(Main.Zero)) -> new_pr2F0(x97, x98, Main.Pos(Main.Succ(Main.Zero)), x96) which results in the following constraint: (1) (new_pr2F0G11(x93, x94, Main.Succ(x95), x95)=new_pr2F0G11(x96, x97, x98, Main.Succ(Main.Zero)) ==> new_pr2F0G12(x93, x94, Main.Succ(Main.Succ(x95)))_>=_new_pr2F0G11(x93, x94, Main.Succ(x95), x95)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x93, x94, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G11(x93, x94, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) For Pair new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) the following chains were created: *We consider the chain new_pr2F0G11(x117, x118, x119, Main.Succ(Main.Succ(x120))) -> new_pr2F0G11(x117, x118, x119, x120), new_pr2F0G11(x121, x122, x123, Main.Zero) -> new_pr2F0G2(x121, new_srMyInt(x122), x123) which results in the following constraint: (1) (new_pr2F0G11(x117, x118, x119, x120)=new_pr2F0G11(x121, x122, x123, Main.Zero) ==> new_pr2F0G11(x117, x118, x119, Main.Succ(Main.Succ(x120)))_>=_new_pr2F0G11(x117, x118, x119, x120)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x117, x118, x119, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x117, x118, x119, Main.Zero)) *We consider the chain new_pr2F0G11(x132, x133, x134, Main.Succ(Main.Succ(x135))) -> new_pr2F0G11(x132, x133, x134, x135), new_pr2F0G11(x136, x137, x138, Main.Succ(Main.Succ(x139))) -> new_pr2F0G11(x136, x137, x138, x139) which results in the following constraint: (1) (new_pr2F0G11(x132, x133, x134, x135)=new_pr2F0G11(x136, x137, x138, Main.Succ(Main.Succ(x139))) ==> new_pr2F0G11(x132, x133, x134, Main.Succ(Main.Succ(x135)))_>=_new_pr2F0G11(x132, x133, x134, x135)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x132, x133, x134, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x139)))))_>=_new_pr2F0G11(x132, x133, x134, Main.Succ(Main.Succ(x139)))) *We consider the chain new_pr2F0G11(x140, x141, x142, Main.Succ(Main.Succ(x143))) -> new_pr2F0G11(x140, x141, x142, x143), new_pr2F0G11(x144, x145, x146, Main.Succ(Main.Zero)) -> new_pr2F0(x145, x146, Main.Pos(Main.Succ(Main.Zero)), x144) which results in the following constraint: (1) (new_pr2F0G11(x140, x141, x142, x143)=new_pr2F0G11(x144, x145, x146, Main.Succ(Main.Zero)) ==> new_pr2F0G11(x140, x141, x142, Main.Succ(Main.Succ(x143)))_>=_new_pr2F0G11(x140, x141, x142, x143)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x140, x141, x142, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G11(x140, x141, x142, Main.Succ(Main.Zero))) For Pair new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) the following chains were created: *We consider the chain new_pr2F0G11(x186, x187, x188, Main.Succ(Main.Zero)) -> new_pr2F0(x187, x188, Main.Pos(Main.Succ(Main.Zero)), x186), new_pr2F0(x189, x190, Main.Pos(Main.Succ(Main.Zero)), x191) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x190, Main.Zero))), x189, Main.Succ(Main.Succ(new_primPlusNat0(x190, Main.Zero))), x191) which results in the following constraint: (1) (new_pr2F0(x187, x188, Main.Pos(Main.Succ(Main.Zero)), x186)=new_pr2F0(x189, x190, Main.Pos(Main.Succ(Main.Zero)), x191) ==> new_pr2F0G11(x186, x187, x188, Main.Succ(Main.Zero))_>=_new_pr2F0(x187, x188, Main.Pos(Main.Succ(Main.Zero)), x186)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x186, x187, x188, Main.Succ(Main.Zero))_>=_new_pr2F0(x187, x188, Main.Pos(Main.Succ(Main.Zero)), x186)) *We consider the chain new_pr2F0G11(x201, x202, x203, Main.Succ(Main.Zero)) -> new_pr2F0(x202, x203, Main.Pos(Main.Succ(Main.Zero)), x201), new_pr2F0(x204, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x205) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x204, Main.Succ(Main.Succ(Main.Zero)), x205) which results in the following constraint: (1) (new_pr2F0(x202, x203, Main.Pos(Main.Succ(Main.Zero)), x201)=new_pr2F0(x204, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x205) ==> new_pr2F0G11(x201, x202, x203, Main.Succ(Main.Zero))_>=_new_pr2F0(x202, x203, Main.Pos(Main.Succ(Main.Zero)), x201)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x201, x202, Main.Zero, Main.Succ(Main.Zero))_>=_new_pr2F0(x202, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x201)) For Pair new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) the following chains were created: *We consider the chain new_pr2F0(x227, x228, Main.Pos(Main.Succ(Main.Zero)), x229) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x228, Main.Zero))), x227, Main.Succ(Main.Succ(new_primPlusNat0(x228, Main.Zero))), x229), new_pr2F31(Main.Succ(Main.Succ(x230)), x231, Main.Succ(Main.Succ(x232)), x233) -> new_pr2F32(Main.Succ(x230), x231, Main.Succ(Main.Succ(x232)), new_srMyInt0(x231, x233)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x228, Main.Zero))), x227, Main.Succ(Main.Succ(new_primPlusNat0(x228, Main.Zero))), x229)=new_pr2F31(Main.Succ(Main.Succ(x230)), x231, Main.Succ(Main.Succ(x232)), x233) ==> new_pr2F0(x227, x228, Main.Pos(Main.Succ(Main.Zero)), x229)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x228, Main.Zero))), x227, Main.Succ(Main.Succ(new_primPlusNat0(x228, Main.Zero))), x229)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x227, x228, Main.Pos(Main.Succ(Main.Zero)), x229)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x228, Main.Zero))), x227, Main.Succ(Main.Succ(new_primPlusNat0(x228, Main.Zero))), x229)) *We consider the chain new_pr2F0(x237, x238, Main.Pos(Main.Succ(Main.Zero)), x239) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x238, Main.Zero))), x237, Main.Succ(Main.Succ(new_primPlusNat0(x238, Main.Zero))), x239), new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x240, Main.Succ(Main.Succ(Main.Zero)), x241) -> new_pr2F32(Main.Succ(Main.Zero), x240, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x240, x241)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x238, Main.Zero))), x237, Main.Succ(Main.Succ(new_primPlusNat0(x238, Main.Zero))), x239)=new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x240, Main.Succ(Main.Succ(Main.Zero)), x241) ==> new_pr2F0(x237, x238, Main.Pos(Main.Succ(Main.Zero)), x239)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x238, Main.Zero))), x237, Main.Succ(Main.Succ(new_primPlusNat0(x238, Main.Zero))), x239)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Zero=x443 & new_primPlusNat0(x238, x443)=Main.Zero ==> new_pr2F0(x237, x238, Main.Pos(Main.Succ(Main.Zero)), x239)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x238, Main.Zero))), x237, Main.Succ(Main.Succ(new_primPlusNat0(x238, Main.Zero))), x239)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x238, x443)=Main.Zero which results in the following new constraint: (3) (Main.Zero=Main.Zero ==> new_pr2F0(x237, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x239)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x237, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x239)) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (4) (new_pr2F0(x237, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x239)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x237, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x239)) For Pair new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) the following chains were created: *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x276)), x277, Main.Succ(Main.Succ(x278)), x279) -> new_pr2F32(Main.Succ(x276), x277, Main.Succ(Main.Succ(x278)), new_srMyInt0(x277, x279)), new_pr2F32(x280, x281, Main.Succ(Main.Succ(x282)), x283) -> new_pr2F0G11(x283, x281, Main.Succ(x282), x282) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x276), x277, Main.Succ(Main.Succ(x278)), new_srMyInt0(x277, x279))=new_pr2F32(x280, x281, Main.Succ(Main.Succ(x282)), x283) ==> new_pr2F31(Main.Succ(Main.Succ(x276)), x277, Main.Succ(Main.Succ(x278)), x279)_>=_new_pr2F32(Main.Succ(x276), x277, Main.Succ(Main.Succ(x278)), new_srMyInt0(x277, x279))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x276)), x277, Main.Succ(Main.Succ(x278)), x279)_>=_new_pr2F32(Main.Succ(x276), x277, Main.Succ(Main.Succ(x278)), new_srMyInt0(x277, x279))) For Pair new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) the following chains were created: *We consider the chain new_pr2F32(x296, x297, Main.Succ(Main.Succ(x298)), x299) -> new_pr2F0G11(x299, x297, Main.Succ(x298), x298), new_pr2F0G11(x300, x301, x302, Main.Zero) -> new_pr2F0G2(x300, new_srMyInt(x301), x302) which results in the following constraint: (1) (new_pr2F0G11(x299, x297, Main.Succ(x298), x298)=new_pr2F0G11(x300, x301, x302, Main.Zero) ==> new_pr2F32(x296, x297, Main.Succ(Main.Succ(x298)), x299)_>=_new_pr2F0G11(x299, x297, Main.Succ(x298), x298)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F32(x296, x297, Main.Succ(Main.Succ(Main.Zero)), x299)_>=_new_pr2F0G11(x299, x297, Main.Succ(Main.Zero), Main.Zero)) *We consider the chain new_pr2F32(x311, x312, Main.Succ(Main.Succ(x313)), x314) -> new_pr2F0G11(x314, x312, Main.Succ(x313), x313), new_pr2F0G11(x315, x316, x317, Main.Succ(Main.Succ(x318))) -> new_pr2F0G11(x315, x316, x317, x318) which results in the following constraint: (1) (new_pr2F0G11(x314, x312, Main.Succ(x313), x313)=new_pr2F0G11(x315, x316, x317, Main.Succ(Main.Succ(x318))) ==> new_pr2F32(x311, x312, Main.Succ(Main.Succ(x313)), x314)_>=_new_pr2F0G11(x314, x312, Main.Succ(x313), x313)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F32(x311, x312, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x318)))), x314)_>=_new_pr2F0G11(x314, x312, Main.Succ(Main.Succ(Main.Succ(x318))), Main.Succ(Main.Succ(x318)))) *We consider the chain new_pr2F32(x319, x320, Main.Succ(Main.Succ(x321)), x322) -> new_pr2F0G11(x322, x320, Main.Succ(x321), x321), new_pr2F0G11(x323, x324, x325, Main.Succ(Main.Zero)) -> new_pr2F0(x324, x325, Main.Pos(Main.Succ(Main.Zero)), x323) which results in the following constraint: (1) (new_pr2F0G11(x322, x320, Main.Succ(x321), x321)=new_pr2F0G11(x323, x324, x325, Main.Succ(Main.Zero)) ==> new_pr2F32(x319, x320, Main.Succ(Main.Succ(x321)), x322)_>=_new_pr2F0G11(x322, x320, Main.Succ(x321), x321)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F32(x319, x320, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), x322)_>=_new_pr2F0G11(x322, x320, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) For Pair new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) the following chains were created: *We consider the chain new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x364, Main.Succ(Main.Succ(Main.Zero)), x365) -> new_pr2F32(Main.Succ(Main.Zero), x364, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x364, x365)), new_pr2F32(x366, x367, Main.Succ(Main.Succ(x368)), x369) -> new_pr2F0G11(x369, x367, Main.Succ(x368), x368) which results in the following constraint: (1) (new_pr2F32(Main.Succ(Main.Zero), x364, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x364, x365))=new_pr2F32(x366, x367, Main.Succ(Main.Succ(x368)), x369) ==> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x364, Main.Succ(Main.Succ(Main.Zero)), x365)_>=_new_pr2F32(Main.Succ(Main.Zero), x364, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x364, x365))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x364, Main.Succ(Main.Succ(Main.Zero)), x365)_>=_new_pr2F32(Main.Succ(Main.Zero), x364, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x364, x365))) For Pair new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) the following chains were created: *We consider the chain new_pr2F0(x388, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x389) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x388, Main.Succ(Main.Succ(Main.Zero)), x389), new_pr2F31(Main.Succ(Main.Succ(x390)), x391, Main.Succ(Main.Succ(x392)), x393) -> new_pr2F32(Main.Succ(x390), x391, Main.Succ(Main.Succ(x392)), new_srMyInt0(x391, x393)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x388, Main.Succ(Main.Succ(Main.Zero)), x389)=new_pr2F31(Main.Succ(Main.Succ(x390)), x391, Main.Succ(Main.Succ(x392)), x393) ==> new_pr2F0(x388, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x389)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x388, Main.Succ(Main.Succ(Main.Zero)), x389)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x388, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x389)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x388, Main.Succ(Main.Succ(Main.Zero)), x389)) *We consider the chain new_pr2F0(x396, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x397) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x396, Main.Succ(Main.Succ(Main.Zero)), x397), new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x398, Main.Succ(Main.Succ(Main.Zero)), x399) -> new_pr2F32(Main.Succ(Main.Zero), x398, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x398, x399)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x396, Main.Succ(Main.Succ(Main.Zero)), x397)=new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x398, Main.Succ(Main.Succ(Main.Zero)), x399) ==> new_pr2F0(x396, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x397)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x396, Main.Succ(Main.Succ(Main.Zero)), x397)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x396, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x397)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x396, Main.Succ(Main.Succ(Main.Zero)), x397)) For Pair new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) the following chains were created: *We consider the chain new_pr2F0G12(x414, x415, Main.Succ(Main.Zero)) -> new_pr2F0(x415, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x414), new_pr2F0(x416, x417, Main.Pos(Main.Succ(Main.Zero)), x418) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x417, Main.Zero))), x416, Main.Succ(Main.Succ(new_primPlusNat0(x417, Main.Zero))), x418) which results in the following constraint: (1) (new_pr2F0(x415, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x414)=new_pr2F0(x416, x417, Main.Pos(Main.Succ(Main.Zero)), x418) ==> new_pr2F0G12(x414, x415, Main.Succ(Main.Zero))_>=_new_pr2F0(x415, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x414)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x414, x415, Main.Succ(Main.Zero))_>=_new_pr2F0(x415, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x414)) *We consider the chain new_pr2F0G12(x425, x426, Main.Succ(Main.Zero)) -> new_pr2F0(x426, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x425), new_pr2F0(x427, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x428) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x427, Main.Succ(Main.Succ(Main.Zero)), x428) which results in the following constraint: (1) (new_pr2F0(x426, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x425)=new_pr2F0(x427, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x428) ==> new_pr2F0G12(x425, x426, Main.Succ(Main.Zero))_>=_new_pr2F0(x426, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x425)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x425, x426, Main.Succ(Main.Zero))_>=_new_pr2F0(x426, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x425)) To summarize, we get the following constraints P__>=_ for the following pairs. *new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) *(new_pr2F0G11(x3, x4, x5, Main.Zero)_>=_new_pr2F0G2(x3, new_srMyInt(x4), x5)) *new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) *(new_pr2F0G2(x42, x43, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G12(x42, x43, new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) *(new_pr2F0G2(x42, x43, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x435)))))_>=_new_pr2F0G12(x42, x43, new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x435))))))) *(new_pr2F0G2(x69, x70, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x69, x70, new_primDivNatS1(Main.Succ(Main.Zero)))) *(new_pr2F0G2(x69, x70, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G12(x69, x70, new_primDivNatS1(Main.Succ(Main.Succ(Main.Zero))))) *new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) *(new_pr2F0G12(x74, x75, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x74, x75, Main.Succ(Main.Zero), Main.Zero)) *(new_pr2F0G12(x86, x87, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x92)))))_>=_new_pr2F0G11(x86, x87, Main.Succ(Main.Succ(Main.Succ(x92))), Main.Succ(Main.Succ(x92)))) *(new_pr2F0G12(x93, x94, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G11(x93, x94, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) *new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) *(new_pr2F0G11(x117, x118, x119, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x117, x118, x119, Main.Zero)) *(new_pr2F0G11(x132, x133, x134, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x139)))))_>=_new_pr2F0G11(x132, x133, x134, Main.Succ(Main.Succ(x139)))) *(new_pr2F0G11(x140, x141, x142, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G11(x140, x141, x142, Main.Succ(Main.Zero))) *new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) *(new_pr2F0G11(x186, x187, x188, Main.Succ(Main.Zero))_>=_new_pr2F0(x187, x188, Main.Pos(Main.Succ(Main.Zero)), x186)) *(new_pr2F0G11(x201, x202, Main.Zero, Main.Succ(Main.Zero))_>=_new_pr2F0(x202, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x201)) *new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) *(new_pr2F0(x227, x228, Main.Pos(Main.Succ(Main.Zero)), x229)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x228, Main.Zero))), x227, Main.Succ(Main.Succ(new_primPlusNat0(x228, Main.Zero))), x229)) *(new_pr2F0(x237, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x239)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x237, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x239)) *new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) *(new_pr2F31(Main.Succ(Main.Succ(x276)), x277, Main.Succ(Main.Succ(x278)), x279)_>=_new_pr2F32(Main.Succ(x276), x277, Main.Succ(Main.Succ(x278)), new_srMyInt0(x277, x279))) *new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) *(new_pr2F32(x296, x297, Main.Succ(Main.Succ(Main.Zero)), x299)_>=_new_pr2F0G11(x299, x297, Main.Succ(Main.Zero), Main.Zero)) *(new_pr2F32(x311, x312, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x318)))), x314)_>=_new_pr2F0G11(x314, x312, Main.Succ(Main.Succ(Main.Succ(x318))), Main.Succ(Main.Succ(x318)))) *(new_pr2F32(x319, x320, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), x322)_>=_new_pr2F0G11(x322, x320, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) *new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) *(new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x364, Main.Succ(Main.Succ(Main.Zero)), x365)_>=_new_pr2F32(Main.Succ(Main.Zero), x364, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x364, x365))) *new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) *(new_pr2F0(x388, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x389)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x388, Main.Succ(Main.Succ(Main.Zero)), x389)) *(new_pr2F0(x396, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x397)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x396, Main.Succ(Main.Succ(Main.Zero)), x397)) *new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) *(new_pr2F0G12(x414, x415, Main.Succ(Main.Zero))_>=_new_pr2F0(x415, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x414)) *(new_pr2F0G12(x425, x426, Main.Succ(Main.Zero))_>=_new_pr2F0(x426, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x425)) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (91) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (92) QDPPairToRuleProof (EQUIVALENT) The dependency pair new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) was transformed to the following new rules: anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) the following new pairs maintain the fan-in: new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) the following new pairs maintain the fan-out: H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) ---------------------------------------- (93) Complex Obligation (AND) ---------------------------------------- (94) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (95) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (96) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (97) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) the following chains were created: *We consider the chain new_pr2F0G11(x3, x4, x5, Main.Zero) -> new_pr2F0G2(x3, new_srMyInt(x4), x5), new_pr2F0G2(x6, x7, x8) -> new_pr2F0G12(x6, x7, new_primDivNatS1(x8)) which results in the following constraint: (1) (new_pr2F0G2(x3, new_srMyInt(x4), x5)=new_pr2F0G2(x6, x7, x8) ==> new_pr2F0G11(x3, x4, x5, Main.Zero)_>=_new_pr2F0G2(x3, new_srMyInt(x4), x5)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x3, x4, x5, Main.Zero)_>=_new_pr2F0G2(x3, new_srMyInt(x4), x5)) For Pair new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) the following chains were created: *We consider the chain new_pr2F0G2(x51, x52, x53) -> new_pr2F0G12(x51, x52, new_primDivNatS1(x53)), new_pr2F0G12(x54, x55, Main.Succ(Main.Succ(x56))) -> new_pr2F0G11(x54, x55, Main.Succ(x56), x56) which results in the following constraint: (1) (new_pr2F0G12(x51, x52, new_primDivNatS1(x53))=new_pr2F0G12(x54, x55, Main.Succ(Main.Succ(x56))) ==> new_pr2F0G2(x51, x52, x53)_>=_new_pr2F0G12(x51, x52, new_primDivNatS1(x53))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primDivNatS1(x53)=Main.Succ(Main.Succ(x56)) ==> new_pr2F0G2(x51, x52, x53)_>=_new_pr2F0G12(x51, x52, new_primDivNatS1(x53))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x53)=Main.Succ(Main.Succ(x56)) which results in the following new constraints: (3) (Main.Succ(new_primDivNatS0)=Main.Succ(Main.Succ(x56)) ==> new_pr2F0G2(x51, x52, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x51, x52, new_primDivNatS1(Main.Succ(Main.Zero)))) (4) (Main.Succ(new_primDivNatS1(x667))=Main.Succ(Main.Succ(x56)) & (\/x668,x669,x670:new_primDivNatS1(x667)=Main.Succ(Main.Succ(x668)) ==> new_pr2F0G2(x669, x670, x667)_>=_new_pr2F0G12(x669, x670, new_primDivNatS1(x667))) ==> new_pr2F0G2(x51, x52, Main.Succ(Main.Succ(x667)))_>=_new_pr2F0G12(x51, x52, new_primDivNatS1(Main.Succ(Main.Succ(x667))))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (5) (new_primDivNatS0=Main.Succ(x56) ==> new_pr2F0G2(x51, x52, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x51, x52, new_primDivNatS1(Main.Succ(Main.Zero)))) We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: (6) (new_primDivNatS1(x667)=Main.Succ(x56) ==> new_pr2F0G2(x51, x52, Main.Succ(Main.Succ(x667)))_>=_new_pr2F0G12(x51, x52, new_primDivNatS1(Main.Succ(Main.Succ(x667))))) We solved constraint (5) using rule (V) (with possible (I) afterwards).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x667)=Main.Succ(x56) which results in the following new constraints: (7) (Main.Succ(new_primDivNatS0)=Main.Succ(x56) ==> new_pr2F0G2(x51, x52, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G12(x51, x52, new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) (8) (Main.Succ(new_primDivNatS1(x671))=Main.Succ(x56) & (\/x672,x673,x674:new_primDivNatS1(x671)=Main.Succ(x672) ==> new_pr2F0G2(x673, x674, Main.Succ(Main.Succ(x671)))_>=_new_pr2F0G12(x673, x674, new_primDivNatS1(Main.Succ(Main.Succ(x671))))) ==> new_pr2F0G2(x51, x52, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x671)))))_>=_new_pr2F0G12(x51, x52, new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x671))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (9) (new_pr2F0G2(x51, x52, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G12(x51, x52, new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (10) (new_pr2F0G2(x51, x52, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x671)))))_>=_new_pr2F0G12(x51, x52, new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x671))))))) *We consider the chain new_pr2F0G2(x75, x76, x77) -> new_pr2F0G12(x75, x76, new_primDivNatS1(x77)), new_pr2F0G12(x78, x79, Main.Succ(Main.Zero)) -> new_pr2F0(x79, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x78) which results in the following constraint: (1) (new_pr2F0G12(x75, x76, new_primDivNatS1(x77))=new_pr2F0G12(x78, x79, Main.Succ(Main.Zero)) ==> new_pr2F0G2(x75, x76, x77)_>=_new_pr2F0G12(x75, x76, new_primDivNatS1(x77))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primDivNatS1(x77)=Main.Succ(Main.Zero) ==> new_pr2F0G2(x75, x76, x77)_>=_new_pr2F0G12(x75, x76, new_primDivNatS1(x77))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x77)=Main.Succ(Main.Zero) which results in the following new constraints: (3) (Main.Succ(new_primDivNatS0)=Main.Succ(Main.Zero) ==> new_pr2F0G2(x75, x76, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x75, x76, new_primDivNatS1(Main.Succ(Main.Zero)))) (4) (Main.Succ(new_primDivNatS1(x675))=Main.Succ(Main.Zero) & (\/x676,x677:new_primDivNatS1(x675)=Main.Succ(Main.Zero) ==> new_pr2F0G2(x676, x677, x675)_>=_new_pr2F0G12(x676, x677, new_primDivNatS1(x675))) ==> new_pr2F0G2(x75, x76, Main.Succ(Main.Succ(x675)))_>=_new_pr2F0G12(x75, x76, new_primDivNatS1(Main.Succ(Main.Succ(x675))))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (5) (new_primDivNatS0=Main.Zero ==> new_pr2F0G2(x75, x76, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x75, x76, new_primDivNatS1(Main.Succ(Main.Zero)))) We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: (6) (new_primDivNatS1(x675)=Main.Zero ==> new_pr2F0G2(x75, x76, Main.Succ(Main.Succ(x675)))_>=_new_pr2F0G12(x75, x76, new_primDivNatS1(Main.Succ(Main.Succ(x675))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS0=Main.Zero which results in the following new constraint: (7) (Main.Zero=Main.Zero ==> new_pr2F0G2(x75, x76, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x75, x76, new_primDivNatS1(Main.Succ(Main.Zero)))) We simplified constraint (7) using rules (I), (II) which results in the following new constraint: (8) (new_pr2F0G2(x75, x76, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x75, x76, new_primDivNatS1(Main.Succ(Main.Zero)))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x675)=Main.Zero which results in the following new constraint: (9) (Main.Zero=Main.Zero ==> new_pr2F0G2(x75, x76, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G12(x75, x76, new_primDivNatS1(Main.Succ(Main.Succ(Main.Zero))))) We simplified constraint (9) using rules (I), (II) which results in the following new constraint: (10) (new_pr2F0G2(x75, x76, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G12(x75, x76, new_primDivNatS1(Main.Succ(Main.Succ(Main.Zero))))) *We consider the chain new_pr2F0G2(x80, x81, x82) -> new_pr2F0G12(x80, x81, new_primDivNatS1(x82)), new_pr2F0G12(x83, x84, Main.Succ(Main.Succ(x85))) -> H(x83, x84, Main.Succ(x85), anew_new_pr2F0G11(x85)) which results in the following constraint: (1) (new_pr2F0G12(x80, x81, new_primDivNatS1(x82))=new_pr2F0G12(x83, x84, Main.Succ(Main.Succ(x85))) ==> new_pr2F0G2(x80, x81, x82)_>=_new_pr2F0G12(x80, x81, new_primDivNatS1(x82))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primDivNatS1(x82)=Main.Succ(Main.Succ(x85)) ==> new_pr2F0G2(x80, x81, x82)_>=_new_pr2F0G12(x80, x81, new_primDivNatS1(x82))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x82)=Main.Succ(Main.Succ(x85)) which results in the following new constraints: (3) (Main.Succ(new_primDivNatS0)=Main.Succ(Main.Succ(x85)) ==> new_pr2F0G2(x80, x81, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x80, x81, new_primDivNatS1(Main.Succ(Main.Zero)))) (4) (Main.Succ(new_primDivNatS1(x679))=Main.Succ(Main.Succ(x85)) & (\/x680,x681,x682:new_primDivNatS1(x679)=Main.Succ(Main.Succ(x680)) ==> new_pr2F0G2(x681, x682, x679)_>=_new_pr2F0G12(x681, x682, new_primDivNatS1(x679))) ==> new_pr2F0G2(x80, x81, Main.Succ(Main.Succ(x679)))_>=_new_pr2F0G12(x80, x81, new_primDivNatS1(Main.Succ(Main.Succ(x679))))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (5) (new_primDivNatS0=Main.Succ(x85) ==> new_pr2F0G2(x80, x81, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x80, x81, new_primDivNatS1(Main.Succ(Main.Zero)))) We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: (6) (new_primDivNatS1(x679)=Main.Succ(x85) ==> new_pr2F0G2(x80, x81, Main.Succ(Main.Succ(x679)))_>=_new_pr2F0G12(x80, x81, new_primDivNatS1(Main.Succ(Main.Succ(x679))))) We solved constraint (5) using rule (V) (with possible (I) afterwards).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x679)=Main.Succ(x85) which results in the following new constraints: (7) (Main.Succ(new_primDivNatS0)=Main.Succ(x85) ==> new_pr2F0G2(x80, x81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G12(x80, x81, new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) (8) (Main.Succ(new_primDivNatS1(x683))=Main.Succ(x85) & (\/x684,x685,x686:new_primDivNatS1(x683)=Main.Succ(x684) ==> new_pr2F0G2(x685, x686, Main.Succ(Main.Succ(x683)))_>=_new_pr2F0G12(x685, x686, new_primDivNatS1(Main.Succ(Main.Succ(x683))))) ==> new_pr2F0G2(x80, x81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x683)))))_>=_new_pr2F0G12(x80, x81, new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x683))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (9) (new_pr2F0G2(x80, x81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G12(x80, x81, new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (10) (new_pr2F0G2(x80, x81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x683)))))_>=_new_pr2F0G12(x80, x81, new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x683))))))) For Pair new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) the following chains were created: *We consider the chain new_pr2F0G12(x95, x96, Main.Succ(Main.Succ(x97))) -> new_pr2F0G11(x95, x96, Main.Succ(x97), x97), new_pr2F0G11(x98, x99, x100, Main.Zero) -> new_pr2F0G2(x98, new_srMyInt(x99), x100) which results in the following constraint: (1) (new_pr2F0G11(x95, x96, Main.Succ(x97), x97)=new_pr2F0G11(x98, x99, x100, Main.Zero) ==> new_pr2F0G12(x95, x96, Main.Succ(Main.Succ(x97)))_>=_new_pr2F0G11(x95, x96, Main.Succ(x97), x97)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x95, x96, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x95, x96, Main.Succ(Main.Zero), Main.Zero)) *We consider the chain new_pr2F0G12(x107, x108, Main.Succ(Main.Succ(x109))) -> new_pr2F0G11(x107, x108, Main.Succ(x109), x109), new_pr2F0G11(x110, x111, x112, Main.Succ(Main.Zero)) -> new_pr2F0(x111, x112, Main.Pos(Main.Succ(Main.Zero)), x110) which results in the following constraint: (1) (new_pr2F0G11(x107, x108, Main.Succ(x109), x109)=new_pr2F0G11(x110, x111, x112, Main.Succ(Main.Zero)) ==> new_pr2F0G12(x107, x108, Main.Succ(Main.Succ(x109)))_>=_new_pr2F0G11(x107, x108, Main.Succ(x109), x109)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x107, x108, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G11(x107, x108, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) For Pair new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) the following chains were created: *We consider the chain new_pr2F0G11(x155, x156, x157, Main.Succ(Main.Zero)) -> new_pr2F0(x156, x157, Main.Pos(Main.Succ(Main.Zero)), x155), new_pr2F0(x158, x159, Main.Pos(Main.Succ(Main.Zero)), x160) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x159, Main.Zero))), x158, Main.Succ(Main.Succ(new_primPlusNat0(x159, Main.Zero))), x160) which results in the following constraint: (1) (new_pr2F0(x156, x157, Main.Pos(Main.Succ(Main.Zero)), x155)=new_pr2F0(x158, x159, Main.Pos(Main.Succ(Main.Zero)), x160) ==> new_pr2F0G11(x155, x156, x157, Main.Succ(Main.Zero))_>=_new_pr2F0(x156, x157, Main.Pos(Main.Succ(Main.Zero)), x155)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x155, x156, x157, Main.Succ(Main.Zero))_>=_new_pr2F0(x156, x157, Main.Pos(Main.Succ(Main.Zero)), x155)) *We consider the chain new_pr2F0G11(x170, x171, x172, Main.Succ(Main.Zero)) -> new_pr2F0(x171, x172, Main.Pos(Main.Succ(Main.Zero)), x170), new_pr2F0(x173, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x174) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x173, Main.Succ(Main.Succ(Main.Zero)), x174) which results in the following constraint: (1) (new_pr2F0(x171, x172, Main.Pos(Main.Succ(Main.Zero)), x170)=new_pr2F0(x173, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x174) ==> new_pr2F0G11(x170, x171, x172, Main.Succ(Main.Zero))_>=_new_pr2F0(x171, x172, Main.Pos(Main.Succ(Main.Zero)), x170)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x170, x171, Main.Zero, Main.Succ(Main.Zero))_>=_new_pr2F0(x171, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x170)) For Pair new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) the following chains were created: *We consider the chain new_pr2F0(x205, x206, Main.Pos(Main.Succ(Main.Zero)), x207) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x206, Main.Zero))), x205, Main.Succ(Main.Succ(new_primPlusNat0(x206, Main.Zero))), x207), new_pr2F31(Main.Succ(Main.Succ(x208)), x209, Main.Succ(Main.Succ(x210)), x211) -> new_pr2F32(Main.Succ(x208), x209, Main.Succ(Main.Succ(x210)), new_srMyInt0(x209, x211)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x206, Main.Zero))), x205, Main.Succ(Main.Succ(new_primPlusNat0(x206, Main.Zero))), x207)=new_pr2F31(Main.Succ(Main.Succ(x208)), x209, Main.Succ(Main.Succ(x210)), x211) ==> new_pr2F0(x205, x206, Main.Pos(Main.Succ(Main.Zero)), x207)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x206, Main.Zero))), x205, Main.Succ(Main.Succ(new_primPlusNat0(x206, Main.Zero))), x207)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x205, x206, Main.Pos(Main.Succ(Main.Zero)), x207)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x206, Main.Zero))), x205, Main.Succ(Main.Succ(new_primPlusNat0(x206, Main.Zero))), x207)) *We consider the chain new_pr2F0(x215, x216, Main.Pos(Main.Succ(Main.Zero)), x217) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x216, Main.Zero))), x215, Main.Succ(Main.Succ(new_primPlusNat0(x216, Main.Zero))), x217), new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x218, Main.Succ(Main.Succ(Main.Zero)), x219) -> new_pr2F32(Main.Succ(Main.Zero), x218, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x218, x219)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x216, Main.Zero))), x215, Main.Succ(Main.Succ(new_primPlusNat0(x216, Main.Zero))), x217)=new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x218, Main.Succ(Main.Succ(Main.Zero)), x219) ==> new_pr2F0(x215, x216, Main.Pos(Main.Succ(Main.Zero)), x217)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x216, Main.Zero))), x215, Main.Succ(Main.Succ(new_primPlusNat0(x216, Main.Zero))), x217)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Zero=x687 & new_primPlusNat0(x216, x687)=Main.Zero ==> new_pr2F0(x215, x216, Main.Pos(Main.Succ(Main.Zero)), x217)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x216, Main.Zero))), x215, Main.Succ(Main.Succ(new_primPlusNat0(x216, Main.Zero))), x217)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x216, x687)=Main.Zero which results in the following new constraint: (3) (Main.Zero=Main.Zero ==> new_pr2F0(x215, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x217)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x215, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x217)) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (4) (new_pr2F0(x215, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x217)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x215, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x217)) For Pair new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) the following chains were created: *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x262)), x263, Main.Succ(Main.Succ(x264)), x265) -> new_pr2F32(Main.Succ(x262), x263, Main.Succ(Main.Succ(x264)), new_srMyInt0(x263, x265)), new_pr2F32(x266, x267, Main.Succ(Main.Succ(x268)), x269) -> new_pr2F0G11(x269, x267, Main.Succ(x268), x268) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x262), x263, Main.Succ(Main.Succ(x264)), new_srMyInt0(x263, x265))=new_pr2F32(x266, x267, Main.Succ(Main.Succ(x268)), x269) ==> new_pr2F31(Main.Succ(Main.Succ(x262)), x263, Main.Succ(Main.Succ(x264)), x265)_>=_new_pr2F32(Main.Succ(x262), x263, Main.Succ(Main.Succ(x264)), new_srMyInt0(x263, x265))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x262)), x263, Main.Succ(Main.Succ(x264)), x265)_>=_new_pr2F32(Main.Succ(x262), x263, Main.Succ(Main.Succ(x264)), new_srMyInt0(x263, x265))) *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x286)), x287, Main.Succ(Main.Succ(x288)), x289) -> new_pr2F32(Main.Succ(x286), x287, Main.Succ(Main.Succ(x288)), new_srMyInt0(x287, x289)), new_pr2F32(x290, x291, Main.Succ(Main.Succ(x292)), x293) -> H(x293, x291, Main.Succ(x292), anew_new_pr2F0G11(x292)) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x286), x287, Main.Succ(Main.Succ(x288)), new_srMyInt0(x287, x289))=new_pr2F32(x290, x291, Main.Succ(Main.Succ(x292)), x293) ==> new_pr2F31(Main.Succ(Main.Succ(x286)), x287, Main.Succ(Main.Succ(x288)), x289)_>=_new_pr2F32(Main.Succ(x286), x287, Main.Succ(Main.Succ(x288)), new_srMyInt0(x287, x289))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x286)), x287, Main.Succ(Main.Succ(x288)), x289)_>=_new_pr2F32(Main.Succ(x286), x287, Main.Succ(Main.Succ(x288)), new_srMyInt0(x287, x289))) For Pair new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) the following chains were created: *We consider the chain new_pr2F32(x302, x303, Main.Succ(Main.Succ(x304)), x305) -> new_pr2F0G11(x305, x303, Main.Succ(x304), x304), new_pr2F0G11(x306, x307, x308, Main.Zero) -> new_pr2F0G2(x306, new_srMyInt(x307), x308) which results in the following constraint: (1) (new_pr2F0G11(x305, x303, Main.Succ(x304), x304)=new_pr2F0G11(x306, x307, x308, Main.Zero) ==> new_pr2F32(x302, x303, Main.Succ(Main.Succ(x304)), x305)_>=_new_pr2F0G11(x305, x303, Main.Succ(x304), x304)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F32(x302, x303, Main.Succ(Main.Succ(Main.Zero)), x305)_>=_new_pr2F0G11(x305, x303, Main.Succ(Main.Zero), Main.Zero)) *We consider the chain new_pr2F32(x317, x318, Main.Succ(Main.Succ(x319)), x320) -> new_pr2F0G11(x320, x318, Main.Succ(x319), x319), new_pr2F0G11(x321, x322, x323, Main.Succ(Main.Zero)) -> new_pr2F0(x322, x323, Main.Pos(Main.Succ(Main.Zero)), x321) which results in the following constraint: (1) (new_pr2F0G11(x320, x318, Main.Succ(x319), x319)=new_pr2F0G11(x321, x322, x323, Main.Succ(Main.Zero)) ==> new_pr2F32(x317, x318, Main.Succ(Main.Succ(x319)), x320)_>=_new_pr2F0G11(x320, x318, Main.Succ(x319), x319)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F32(x317, x318, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), x320)_>=_new_pr2F0G11(x320, x318, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) For Pair new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) the following chains were created: *We consider the chain new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x376, Main.Succ(Main.Succ(Main.Zero)), x377) -> new_pr2F32(Main.Succ(Main.Zero), x376, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x376, x377)), new_pr2F32(x378, x379, Main.Succ(Main.Succ(x380)), x381) -> new_pr2F0G11(x381, x379, Main.Succ(x380), x380) which results in the following constraint: (1) (new_pr2F32(Main.Succ(Main.Zero), x376, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x376, x377))=new_pr2F32(x378, x379, Main.Succ(Main.Succ(x380)), x381) ==> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x376, Main.Succ(Main.Succ(Main.Zero)), x377)_>=_new_pr2F32(Main.Succ(Main.Zero), x376, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x376, x377))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x376, Main.Succ(Main.Succ(Main.Zero)), x377)_>=_new_pr2F32(Main.Succ(Main.Zero), x376, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x376, x377))) *We consider the chain new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x390, Main.Succ(Main.Succ(Main.Zero)), x391) -> new_pr2F32(Main.Succ(Main.Zero), x390, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x390, x391)), new_pr2F32(x392, x393, Main.Succ(Main.Succ(x394)), x395) -> H(x395, x393, Main.Succ(x394), anew_new_pr2F0G11(x394)) which results in the following constraint: (1) (new_pr2F32(Main.Succ(Main.Zero), x390, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x390, x391))=new_pr2F32(x392, x393, Main.Succ(Main.Succ(x394)), x395) ==> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x390, Main.Succ(Main.Succ(Main.Zero)), x391)_>=_new_pr2F32(Main.Succ(Main.Zero), x390, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x390, x391))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x390, Main.Succ(Main.Succ(Main.Zero)), x391)_>=_new_pr2F32(Main.Succ(Main.Zero), x390, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x390, x391))) For Pair new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) the following chains were created: *We consider the chain new_pr2F0(x410, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x411) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x410, Main.Succ(Main.Succ(Main.Zero)), x411), new_pr2F31(Main.Succ(Main.Succ(x412)), x413, Main.Succ(Main.Succ(x414)), x415) -> new_pr2F32(Main.Succ(x412), x413, Main.Succ(Main.Succ(x414)), new_srMyInt0(x413, x415)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x410, Main.Succ(Main.Succ(Main.Zero)), x411)=new_pr2F31(Main.Succ(Main.Succ(x412)), x413, Main.Succ(Main.Succ(x414)), x415) ==> new_pr2F0(x410, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x411)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x410, Main.Succ(Main.Succ(Main.Zero)), x411)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x410, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x411)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x410, Main.Succ(Main.Succ(Main.Zero)), x411)) *We consider the chain new_pr2F0(x418, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x419) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x418, Main.Succ(Main.Succ(Main.Zero)), x419), new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x420, Main.Succ(Main.Succ(Main.Zero)), x421) -> new_pr2F32(Main.Succ(Main.Zero), x420, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x420, x421)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x418, Main.Succ(Main.Succ(Main.Zero)), x419)=new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x420, Main.Succ(Main.Succ(Main.Zero)), x421) ==> new_pr2F0(x418, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x419)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x418, Main.Succ(Main.Succ(Main.Zero)), x419)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x418, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x419)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x418, Main.Succ(Main.Succ(Main.Zero)), x419)) For Pair new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) the following chains were created: *We consider the chain new_pr2F0G12(x442, x443, Main.Succ(Main.Zero)) -> new_pr2F0(x443, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x442), new_pr2F0(x444, x445, Main.Pos(Main.Succ(Main.Zero)), x446) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x445, Main.Zero))), x444, Main.Succ(Main.Succ(new_primPlusNat0(x445, Main.Zero))), x446) which results in the following constraint: (1) (new_pr2F0(x443, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x442)=new_pr2F0(x444, x445, Main.Pos(Main.Succ(Main.Zero)), x446) ==> new_pr2F0G12(x442, x443, Main.Succ(Main.Zero))_>=_new_pr2F0(x443, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x442)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x442, x443, Main.Succ(Main.Zero))_>=_new_pr2F0(x443, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x442)) *We consider the chain new_pr2F0G12(x453, x454, Main.Succ(Main.Zero)) -> new_pr2F0(x454, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x453), new_pr2F0(x455, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x456) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x455, Main.Succ(Main.Succ(Main.Zero)), x456) which results in the following constraint: (1) (new_pr2F0(x454, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x453)=new_pr2F0(x455, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x456) ==> new_pr2F0G12(x453, x454, Main.Succ(Main.Zero))_>=_new_pr2F0(x454, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x453)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x453, x454, Main.Succ(Main.Zero))_>=_new_pr2F0(x454, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x453)) For Pair new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) the following chains were created: *We consider the chain new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(x505))) -> H(x503, x504, Main.Succ(x505), anew_new_pr2F0G11(x505)), H(x506, x507, x508, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x506, x507, x508, Main.Zero) which results in the following constraint: (1) (H(x503, x504, Main.Succ(x505), anew_new_pr2F0G11(x505))=H(x506, x507, x508, cons_new_pr2F0G11(Main.Zero)) ==> new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(x505)))_>=_H(x503, x504, Main.Succ(x505), anew_new_pr2F0G11(x505))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (anew_new_pr2F0G11(x505)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(x505)))_>=_H(x503, x504, Main.Succ(x505), anew_new_pr2F0G11(x505))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_pr2F0G11(x505)=cons_new_pr2F0G11(Main.Zero) which results in the following new constraint: (3) (new_new_pr2F0G11(x692)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x692)))))_>=_H(x503, x504, Main.Succ(Main.Succ(Main.Succ(x692))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x692))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G11(x692)=cons_new_pr2F0G11(Main.Zero) which results in the following new constraints: (4) (new_new_pr2F0G11(x693)=cons_new_pr2F0G11(Main.Zero) & (\/x694,x695:new_new_pr2F0G11(x693)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x694, x695, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x693)))))_>=_H(x694, x695, Main.Succ(Main.Succ(Main.Succ(x693))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x693))))) ==> new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x693)))))))_>=_H(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x693))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x693))))))) (5) (cons_new_pr2F0G11(Main.Zero)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))_>=_H(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Zero))))) (6) (cons_new_pr2F0G11(Main.Succ(Main.Zero))=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_H(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x694,x695:new_new_pr2F0G11(x693)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x694, x695, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x693)))))_>=_H(x694, x695, Main.Succ(Main.Succ(Main.Succ(x693))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x693))))) with sigma = [x694 / x503, x695 / x504] which results in the following new constraint: (7) (new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x693)))))_>=_H(x503, x504, Main.Succ(Main.Succ(Main.Succ(x693))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x693)))) ==> new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x693)))))))_>=_H(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x693))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x693))))))) We simplified constraint (5) using rules (I), (II) which results in the following new constraint: (8) (new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))_>=_H(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Zero))))) We solved constraint (6) using rules (I), (II). *We consider the chain new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(x511))) -> H(x509, x510, Main.Succ(x511), anew_new_pr2F0G11(x511)), H(x512, x513, x514, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x512, x513, x514, Main.Succ(Main.Zero)) which results in the following constraint: (1) (H(x509, x510, Main.Succ(x511), anew_new_pr2F0G11(x511))=H(x512, x513, x514, cons_new_pr2F0G11(Main.Succ(Main.Zero))) ==> new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(x511)))_>=_H(x509, x510, Main.Succ(x511), anew_new_pr2F0G11(x511))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (anew_new_pr2F0G11(x511)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(x511)))_>=_H(x509, x510, Main.Succ(x511), anew_new_pr2F0G11(x511))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_pr2F0G11(x511)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) which results in the following new constraint: (3) (new_new_pr2F0G11(x696)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x696)))))_>=_H(x509, x510, Main.Succ(Main.Succ(Main.Succ(x696))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x696))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G11(x696)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) which results in the following new constraints: (4) (new_new_pr2F0G11(x697)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) & (\/x698,x699:new_new_pr2F0G11(x697)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x698, x699, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x697)))))_>=_H(x698, x699, Main.Succ(Main.Succ(Main.Succ(x697))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x697))))) ==> new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x697)))))))_>=_H(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x697))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x697))))))) (5) (cons_new_pr2F0G11(Main.Zero)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))_>=_H(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Zero))))) (6) (cons_new_pr2F0G11(Main.Succ(Main.Zero))=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_H(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x698,x699:new_new_pr2F0G11(x697)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x698, x699, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x697)))))_>=_H(x698, x699, Main.Succ(Main.Succ(Main.Succ(x697))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x697))))) with sigma = [x698 / x509, x699 / x510] which results in the following new constraint: (7) (new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x697)))))_>=_H(x509, x510, Main.Succ(Main.Succ(Main.Succ(x697))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x697)))) ==> new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x697)))))))_>=_H(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x697))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x697))))))) We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II) which results in the following new constraint: (8) (new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_H(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) For Pair new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) the following chains were created: *We consider the chain new_pr2F32(x563, x564, Main.Succ(Main.Succ(x565)), x566) -> H(x566, x564, Main.Succ(x565), anew_new_pr2F0G11(x565)), H(x567, x568, x569, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x567, x568, x569, Main.Zero) which results in the following constraint: (1) (H(x566, x564, Main.Succ(x565), anew_new_pr2F0G11(x565))=H(x567, x568, x569, cons_new_pr2F0G11(Main.Zero)) ==> new_pr2F32(x563, x564, Main.Succ(Main.Succ(x565)), x566)_>=_H(x566, x564, Main.Succ(x565), anew_new_pr2F0G11(x565))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (anew_new_pr2F0G11(x565)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x563, x564, Main.Succ(Main.Succ(x565)), x566)_>=_H(x566, x564, Main.Succ(x565), anew_new_pr2F0G11(x565))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_pr2F0G11(x565)=cons_new_pr2F0G11(Main.Zero) which results in the following new constraint: (3) (new_new_pr2F0G11(x700)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x563, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x700)))), x566)_>=_H(x566, x564, Main.Succ(Main.Succ(Main.Succ(x700))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x700))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G11(x700)=cons_new_pr2F0G11(Main.Zero) which results in the following new constraints: (4) (new_new_pr2F0G11(x701)=cons_new_pr2F0G11(Main.Zero) & (\/x702,x703,x704:new_new_pr2F0G11(x701)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x702, x703, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x701)))), x704)_>=_H(x704, x703, Main.Succ(Main.Succ(Main.Succ(x701))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x701))))) ==> new_pr2F32(x563, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x701)))))), x566)_>=_H(x566, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x701))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x701))))))) (5) (cons_new_pr2F0G11(Main.Zero)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x563, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x566)_>=_H(x566, x564, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Zero))))) (6) (cons_new_pr2F0G11(Main.Succ(Main.Zero))=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x563, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x566)_>=_H(x566, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x702,x703,x704:new_new_pr2F0G11(x701)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x702, x703, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x701)))), x704)_>=_H(x704, x703, Main.Succ(Main.Succ(Main.Succ(x701))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x701))))) with sigma = [x702 / x563, x703 / x564, x704 / x566] which results in the following new constraint: (7) (new_pr2F32(x563, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x701)))), x566)_>=_H(x566, x564, Main.Succ(Main.Succ(Main.Succ(x701))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x701)))) ==> new_pr2F32(x563, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x701)))))), x566)_>=_H(x566, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x701))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x701))))))) We simplified constraint (5) using rules (I), (II) which results in the following new constraint: (8) (new_pr2F32(x563, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x566)_>=_H(x566, x564, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Zero))))) We solved constraint (6) using rules (I), (II). *We consider the chain new_pr2F32(x570, x571, Main.Succ(Main.Succ(x572)), x573) -> H(x573, x571, Main.Succ(x572), anew_new_pr2F0G11(x572)), H(x574, x575, x576, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x574, x575, x576, Main.Succ(Main.Zero)) which results in the following constraint: (1) (H(x573, x571, Main.Succ(x572), anew_new_pr2F0G11(x572))=H(x574, x575, x576, cons_new_pr2F0G11(Main.Succ(Main.Zero))) ==> new_pr2F32(x570, x571, Main.Succ(Main.Succ(x572)), x573)_>=_H(x573, x571, Main.Succ(x572), anew_new_pr2F0G11(x572))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (anew_new_pr2F0G11(x572)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x570, x571, Main.Succ(Main.Succ(x572)), x573)_>=_H(x573, x571, Main.Succ(x572), anew_new_pr2F0G11(x572))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_pr2F0G11(x572)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) which results in the following new constraint: (3) (new_new_pr2F0G11(x705)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x570, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x705)))), x573)_>=_H(x573, x571, Main.Succ(Main.Succ(Main.Succ(x705))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x705))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G11(x705)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) which results in the following new constraints: (4) (new_new_pr2F0G11(x706)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) & (\/x707,x708,x709:new_new_pr2F0G11(x706)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x707, x708, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x706)))), x709)_>=_H(x709, x708, Main.Succ(Main.Succ(Main.Succ(x706))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x706))))) ==> new_pr2F32(x570, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x706)))))), x573)_>=_H(x573, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x706))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x706))))))) (5) (cons_new_pr2F0G11(Main.Zero)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x570, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x573)_>=_H(x573, x571, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Zero))))) (6) (cons_new_pr2F0G11(Main.Succ(Main.Zero))=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x570, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x573)_>=_H(x573, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x707,x708,x709:new_new_pr2F0G11(x706)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x707, x708, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x706)))), x709)_>=_H(x709, x708, Main.Succ(Main.Succ(Main.Succ(x706))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x706))))) with sigma = [x707 / x570, x708 / x571, x709 / x573] which results in the following new constraint: (7) (new_pr2F32(x570, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x706)))), x573)_>=_H(x573, x571, Main.Succ(Main.Succ(Main.Succ(x706))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x706)))) ==> new_pr2F32(x570, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x706)))))), x573)_>=_H(x573, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x706))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x706))))))) We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II) which results in the following new constraint: (8) (new_pr2F32(x570, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x573)_>=_H(x573, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) For Pair H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) the following chains were created: *We consider the chain H(x577, x578, x579, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x577, x578, x579, Main.Zero), new_pr2F0G11(x580, x581, x582, Main.Zero) -> new_pr2F0G2(x580, new_srMyInt(x581), x582) which results in the following constraint: (1) (new_pr2F0G11(x577, x578, x579, Main.Zero)=new_pr2F0G11(x580, x581, x582, Main.Zero) ==> H(x577, x578, x579, cons_new_pr2F0G11(Main.Zero))_>=_new_pr2F0G11(x577, x578, x579, Main.Zero)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x577, x578, x579, cons_new_pr2F0G11(Main.Zero))_>=_new_pr2F0G11(x577, x578, x579, Main.Zero)) For Pair H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) the following chains were created: *We consider the chain H(x631, x632, x633, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x631, x632, x633, Main.Succ(Main.Zero)), new_pr2F0G11(x634, x635, x636, Main.Succ(Main.Zero)) -> new_pr2F0(x635, x636, Main.Pos(Main.Succ(Main.Zero)), x634) which results in the following constraint: (1) (new_pr2F0G11(x631, x632, x633, Main.Succ(Main.Zero))=new_pr2F0G11(x634, x635, x636, Main.Succ(Main.Zero)) ==> H(x631, x632, x633, cons_new_pr2F0G11(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x631, x632, x633, Main.Succ(Main.Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x631, x632, x633, cons_new_pr2F0G11(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x631, x632, x633, Main.Succ(Main.Zero))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) *(new_pr2F0G11(x3, x4, x5, Main.Zero)_>=_new_pr2F0G2(x3, new_srMyInt(x4), x5)) *new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) *(new_pr2F0G2(x51, x52, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G12(x51, x52, new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) *(new_pr2F0G2(x51, x52, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x671)))))_>=_new_pr2F0G12(x51, x52, new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x671))))))) *(new_pr2F0G2(x75, x76, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x75, x76, new_primDivNatS1(Main.Succ(Main.Zero)))) *(new_pr2F0G2(x75, x76, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G12(x75, x76, new_primDivNatS1(Main.Succ(Main.Succ(Main.Zero))))) *(new_pr2F0G2(x80, x81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G12(x80, x81, new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) *(new_pr2F0G2(x80, x81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x683)))))_>=_new_pr2F0G12(x80, x81, new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x683))))))) *new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) *(new_pr2F0G12(x95, x96, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x95, x96, Main.Succ(Main.Zero), Main.Zero)) *(new_pr2F0G12(x107, x108, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G11(x107, x108, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) *new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) *(new_pr2F0G11(x155, x156, x157, Main.Succ(Main.Zero))_>=_new_pr2F0(x156, x157, Main.Pos(Main.Succ(Main.Zero)), x155)) *(new_pr2F0G11(x170, x171, Main.Zero, Main.Succ(Main.Zero))_>=_new_pr2F0(x171, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x170)) *new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) *(new_pr2F0(x205, x206, Main.Pos(Main.Succ(Main.Zero)), x207)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x206, Main.Zero))), x205, Main.Succ(Main.Succ(new_primPlusNat0(x206, Main.Zero))), x207)) *(new_pr2F0(x215, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x217)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x215, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x217)) *new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) *(new_pr2F31(Main.Succ(Main.Succ(x262)), x263, Main.Succ(Main.Succ(x264)), x265)_>=_new_pr2F32(Main.Succ(x262), x263, Main.Succ(Main.Succ(x264)), new_srMyInt0(x263, x265))) *(new_pr2F31(Main.Succ(Main.Succ(x286)), x287, Main.Succ(Main.Succ(x288)), x289)_>=_new_pr2F32(Main.Succ(x286), x287, Main.Succ(Main.Succ(x288)), new_srMyInt0(x287, x289))) *new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) *(new_pr2F32(x302, x303, Main.Succ(Main.Succ(Main.Zero)), x305)_>=_new_pr2F0G11(x305, x303, Main.Succ(Main.Zero), Main.Zero)) *(new_pr2F32(x317, x318, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), x320)_>=_new_pr2F0G11(x320, x318, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) *new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) *(new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x376, Main.Succ(Main.Succ(Main.Zero)), x377)_>=_new_pr2F32(Main.Succ(Main.Zero), x376, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x376, x377))) *(new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x390, Main.Succ(Main.Succ(Main.Zero)), x391)_>=_new_pr2F32(Main.Succ(Main.Zero), x390, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x390, x391))) *new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) *(new_pr2F0(x410, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x411)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x410, Main.Succ(Main.Succ(Main.Zero)), x411)) *(new_pr2F0(x418, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x419)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x418, Main.Succ(Main.Succ(Main.Zero)), x419)) *new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) *(new_pr2F0G12(x442, x443, Main.Succ(Main.Zero))_>=_new_pr2F0(x443, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x442)) *(new_pr2F0G12(x453, x454, Main.Succ(Main.Zero))_>=_new_pr2F0(x454, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x453)) *new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) *(new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x693)))))_>=_H(x503, x504, Main.Succ(Main.Succ(Main.Succ(x693))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x693)))) ==> new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x693)))))))_>=_H(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x693))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x693))))))) *(new_pr2F0G12(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))_>=_H(x503, x504, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Zero))))) *(new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x697)))))_>=_H(x509, x510, Main.Succ(Main.Succ(Main.Succ(x697))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x697)))) ==> new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x697)))))))_>=_H(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x697))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x697))))))) *(new_pr2F0G12(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_H(x509, x510, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) *new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) *(new_pr2F32(x563, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x701)))), x566)_>=_H(x566, x564, Main.Succ(Main.Succ(Main.Succ(x701))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x701)))) ==> new_pr2F32(x563, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x701)))))), x566)_>=_H(x566, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x701))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x701))))))) *(new_pr2F32(x563, x564, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x566)_>=_H(x566, x564, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Zero))))) *(new_pr2F32(x570, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x706)))), x573)_>=_H(x573, x571, Main.Succ(Main.Succ(Main.Succ(x706))), anew_new_pr2F0G11(Main.Succ(Main.Succ(x706)))) ==> new_pr2F32(x570, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x706)))))), x573)_>=_H(x573, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x706))))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x706))))))) *(new_pr2F32(x570, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x573)_>=_H(x573, x571, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), anew_new_pr2F0G11(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) *H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) *(H(x577, x578, x579, cons_new_pr2F0G11(Main.Zero))_>=_new_pr2F0G11(x577, x578, x579, Main.Zero)) *H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) *(H(x631, x632, x633, cons_new_pr2F0G11(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x631, x632, x633, Main.Succ(Main.Zero))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (98) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (99) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G2(y0, y1, Main.Zero) -> new_pr2F0G12(y0, y1, Main.Zero),new_pr2F0G2(y0, y1, Main.Zero) -> new_pr2F0G12(y0, y1, Main.Zero)) (new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS0)),new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS0))) (new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x0))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS1(x0))),new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x0))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS1(x0)))) ---------------------------------------- (100) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Zero) -> new_pr2F0G12(y0, y1, Main.Zero) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS0)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x0))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS1(x0))) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (101) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (102) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS0)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x0))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS1(x0))) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (103) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS0)) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)),new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero))) ---------------------------------------- (104) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x0))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS1(x0))) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (105) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x0))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS1(x0))) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)),new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero))) (new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS0))),new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS0)))) (new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))),new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0))))) ---------------------------------------- (106) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS0))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (107) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS0))) at position [2,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))),new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero)))) ---------------------------------------- (108) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (109) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)),new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0))) ---------------------------------------- (110) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (111) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)),new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0))) ---------------------------------------- (112) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (113) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (114) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (115) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) ---------------------------------------- (116) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (117) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)),new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0))) (new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)),new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero))) (new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))),new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) ---------------------------------------- (118) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (119) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(x0))), new_new_pr2F0G11(x0)) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)),new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0))) (new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)),new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero))) (new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))),new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) ---------------------------------------- (120) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (121) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), new_new_pr2F0G11(x0)),new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), new_new_pr2F0G11(x0))) (new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)),new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero))) (new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))),new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) ---------------------------------------- (122) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (123) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), new_new_pr2F0G11(x0)) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), new_new_pr2F0G11(x0)),new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), new_new_pr2F0G11(x0))) (new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)),new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero))) (new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))),new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) ---------------------------------------- (124) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (125) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), new_new_pr2F0G11(x0)) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)),new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0))) (new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)),new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero))) (new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))),new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) ---------------------------------------- (126) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (127) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))), new_new_pr2F0G11(x0)) at position [3] we obtained the following new rules [LPAR04]: (new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)),new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0))) (new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)),new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero))) (new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))),new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) ---------------------------------------- (128) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (129) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (130) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (131) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) the following chains were created: *We consider the chain new_pr2F0G12(x2, x3, Main.Succ(Main.Zero)) -> new_pr2F0(x3, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x2), new_pr2F0(x4, x5, Main.Pos(Main.Succ(Main.Zero)), x6) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x5, Main.Zero))), x4, Main.Succ(Main.Succ(new_primPlusNat0(x5, Main.Zero))), x6) which results in the following constraint: (1) (new_pr2F0(x3, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x2)=new_pr2F0(x4, x5, Main.Pos(Main.Succ(Main.Zero)), x6) ==> new_pr2F0G12(x2, x3, Main.Succ(Main.Zero))_>=_new_pr2F0(x3, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x2)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x2, x3, Main.Succ(Main.Zero))_>=_new_pr2F0(x3, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x2)) *We consider the chain new_pr2F0G12(x17, x18, Main.Succ(Main.Zero)) -> new_pr2F0(x18, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x17), new_pr2F0(x19, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x20) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x19, Main.Succ(Main.Succ(Main.Zero)), x20) which results in the following constraint: (1) (new_pr2F0(x18, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x17)=new_pr2F0(x19, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x20) ==> new_pr2F0G12(x17, x18, Main.Succ(Main.Zero))_>=_new_pr2F0(x18, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x17)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x17, x18, Main.Succ(Main.Zero))_>=_new_pr2F0(x18, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x17)) For Pair new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) the following chains were created: *We consider the chain new_pr2F0(x69, x70, Main.Pos(Main.Succ(Main.Zero)), x71) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x70, Main.Zero))), x69, Main.Succ(Main.Succ(new_primPlusNat0(x70, Main.Zero))), x71), new_pr2F31(Main.Succ(Main.Succ(x72)), x73, Main.Succ(Main.Succ(x74)), x75) -> new_pr2F32(Main.Succ(x72), x73, Main.Succ(Main.Succ(x74)), new_srMyInt0(x73, x75)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x70, Main.Zero))), x69, Main.Succ(Main.Succ(new_primPlusNat0(x70, Main.Zero))), x71)=new_pr2F31(Main.Succ(Main.Succ(x72)), x73, Main.Succ(Main.Succ(x74)), x75) ==> new_pr2F0(x69, x70, Main.Pos(Main.Succ(Main.Zero)), x71)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x70, Main.Zero))), x69, Main.Succ(Main.Succ(new_primPlusNat0(x70, Main.Zero))), x71)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x69, x70, Main.Pos(Main.Succ(Main.Zero)), x71)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x70, Main.Zero))), x69, Main.Succ(Main.Succ(new_primPlusNat0(x70, Main.Zero))), x71)) *We consider the chain new_pr2F0(x91, x92, Main.Pos(Main.Succ(Main.Zero)), x93) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x92, Main.Zero))), x91, Main.Succ(Main.Succ(new_primPlusNat0(x92, Main.Zero))), x93), new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x94, Main.Succ(Main.Succ(Main.Zero)), x95) -> new_pr2F32(Main.Succ(Main.Zero), x94, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x94, x95)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x92, Main.Zero))), x91, Main.Succ(Main.Succ(new_primPlusNat0(x92, Main.Zero))), x93)=new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x94, Main.Succ(Main.Succ(Main.Zero)), x95) ==> new_pr2F0(x91, x92, Main.Pos(Main.Succ(Main.Zero)), x93)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x92, Main.Zero))), x91, Main.Succ(Main.Succ(new_primPlusNat0(x92, Main.Zero))), x93)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Zero=x2414 & new_primPlusNat0(x92, x2414)=Main.Zero ==> new_pr2F0(x91, x92, Main.Pos(Main.Succ(Main.Zero)), x93)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x92, Main.Zero))), x91, Main.Succ(Main.Succ(new_primPlusNat0(x92, Main.Zero))), x93)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x92, x2414)=Main.Zero which results in the following new constraint: (3) (Main.Zero=Main.Zero ==> new_pr2F0(x91, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x93)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x91, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x93)) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (4) (new_pr2F0(x91, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x93)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x91, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x93)) For Pair new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) the following chains were created: *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x168)), x169, Main.Succ(Main.Succ(x170)), x171) -> new_pr2F32(Main.Succ(x168), x169, Main.Succ(Main.Succ(x170)), new_srMyInt0(x169, x171)), new_pr2F32(x172, x173, Main.Succ(Main.Succ(x174)), x175) -> new_pr2F0G11(x175, x173, Main.Succ(x174), x174) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x168), x169, Main.Succ(Main.Succ(x170)), new_srMyInt0(x169, x171))=new_pr2F32(x172, x173, Main.Succ(Main.Succ(x174)), x175) ==> new_pr2F31(Main.Succ(Main.Succ(x168)), x169, Main.Succ(Main.Succ(x170)), x171)_>=_new_pr2F32(Main.Succ(x168), x169, Main.Succ(Main.Succ(x170)), new_srMyInt0(x169, x171))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x168)), x169, Main.Succ(Main.Succ(x170)), x171)_>=_new_pr2F32(Main.Succ(x168), x169, Main.Succ(Main.Succ(x170)), new_srMyInt0(x169, x171))) *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x220)), x221, Main.Succ(Main.Succ(x222)), x223) -> new_pr2F32(Main.Succ(x220), x221, Main.Succ(Main.Succ(x222)), new_srMyInt0(x221, x223)), new_pr2F32(x224, x225, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x226) -> H(x226, x225, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x220), x221, Main.Succ(Main.Succ(x222)), new_srMyInt0(x221, x223))=new_pr2F32(x224, x225, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x226) ==> new_pr2F31(Main.Succ(Main.Succ(x220)), x221, Main.Succ(Main.Succ(x222)), x223)_>=_new_pr2F32(Main.Succ(x220), x221, Main.Succ(Main.Succ(x222)), new_srMyInt0(x221, x223))) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x220)), x221, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x223)_>=_new_pr2F32(Main.Succ(x220), x221, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), new_srMyInt0(x221, x223))) *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x227)), x228, Main.Succ(Main.Succ(x229)), x230) -> new_pr2F32(Main.Succ(x227), x228, Main.Succ(Main.Succ(x229)), new_srMyInt0(x228, x230)), new_pr2F32(x231, x232, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x233) -> H(x233, x232, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x227), x228, Main.Succ(Main.Succ(x229)), new_srMyInt0(x228, x230))=new_pr2F32(x231, x232, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x233) ==> new_pr2F31(Main.Succ(Main.Succ(x227)), x228, Main.Succ(Main.Succ(x229)), x230)_>=_new_pr2F32(Main.Succ(x227), x228, Main.Succ(Main.Succ(x229)), new_srMyInt0(x228, x230))) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x227)), x228, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x230)_>=_new_pr2F32(Main.Succ(x227), x228, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), new_srMyInt0(x228, x230))) *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x242)), x243, Main.Succ(Main.Succ(x244)), x245) -> new_pr2F32(Main.Succ(x242), x243, Main.Succ(Main.Succ(x244)), new_srMyInt0(x243, x245)), new_pr2F32(x246, x247, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), x248) -> H(x248, x247, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x242), x243, Main.Succ(Main.Succ(x244)), new_srMyInt0(x243, x245))=new_pr2F32(x246, x247, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), x248) ==> new_pr2F31(Main.Succ(Main.Succ(x242)), x243, Main.Succ(Main.Succ(x244)), x245)_>=_new_pr2F32(Main.Succ(x242), x243, Main.Succ(Main.Succ(x244)), new_srMyInt0(x243, x245))) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x242)), x243, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), x245)_>=_new_pr2F32(Main.Succ(x242), x243, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), new_srMyInt0(x243, x245))) *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x249)), x250, Main.Succ(Main.Succ(x251)), x252) -> new_pr2F32(Main.Succ(x249), x250, Main.Succ(Main.Succ(x251)), new_srMyInt0(x250, x252)), new_pr2F32(x253, x254, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), x255) -> H(x255, x254, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x249), x250, Main.Succ(Main.Succ(x251)), new_srMyInt0(x250, x252))=new_pr2F32(x253, x254, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), x255) ==> new_pr2F31(Main.Succ(Main.Succ(x249)), x250, Main.Succ(Main.Succ(x251)), x252)_>=_new_pr2F32(Main.Succ(x249), x250, Main.Succ(Main.Succ(x251)), new_srMyInt0(x250, x252))) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x249)), x250, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), x252)_>=_new_pr2F32(Main.Succ(x249), x250, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), new_srMyInt0(x250, x252))) *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x264)), x265, Main.Succ(Main.Succ(x266)), x267) -> new_pr2F32(Main.Succ(x264), x265, Main.Succ(Main.Succ(x266)), new_srMyInt0(x265, x267)), new_pr2F32(x268, x269, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x270)))))))))), x271) -> H(x271, x269, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x270))))))))), new_new_pr2F0G11(x270)) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x264), x265, Main.Succ(Main.Succ(x266)), new_srMyInt0(x265, x267))=new_pr2F32(x268, x269, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x270)))))))))), x271) ==> new_pr2F31(Main.Succ(Main.Succ(x264)), x265, Main.Succ(Main.Succ(x266)), x267)_>=_new_pr2F32(Main.Succ(x264), x265, Main.Succ(Main.Succ(x266)), new_srMyInt0(x265, x267))) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x264)), x265, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x270)))))))))), x267)_>=_new_pr2F32(Main.Succ(x264), x265, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x270)))))))))), new_srMyInt0(x265, x267))) *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x272)), x273, Main.Succ(Main.Succ(x274)), x275) -> new_pr2F32(Main.Succ(x272), x273, Main.Succ(Main.Succ(x274)), new_srMyInt0(x273, x275)), new_pr2F32(x276, x277, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x278) -> H(x278, x277, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x272), x273, Main.Succ(Main.Succ(x274)), new_srMyInt0(x273, x275))=new_pr2F32(x276, x277, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x278) ==> new_pr2F31(Main.Succ(Main.Succ(x272)), x273, Main.Succ(Main.Succ(x274)), x275)_>=_new_pr2F32(Main.Succ(x272), x273, Main.Succ(Main.Succ(x274)), new_srMyInt0(x273, x275))) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x272)), x273, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x275)_>=_new_pr2F32(Main.Succ(x272), x273, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_srMyInt0(x273, x275))) *We consider the chain new_pr2F31(Main.Succ(Main.Succ(x279)), x280, Main.Succ(Main.Succ(x281)), x282) -> new_pr2F32(Main.Succ(x279), x280, Main.Succ(Main.Succ(x281)), new_srMyInt0(x280, x282)), new_pr2F32(x283, x284, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), x285) -> H(x285, x284, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) which results in the following constraint: (1) (new_pr2F32(Main.Succ(x279), x280, Main.Succ(Main.Succ(x281)), new_srMyInt0(x280, x282))=new_pr2F32(x283, x284, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), x285) ==> new_pr2F31(Main.Succ(Main.Succ(x279)), x280, Main.Succ(Main.Succ(x281)), x282)_>=_new_pr2F32(Main.Succ(x279), x280, Main.Succ(Main.Succ(x281)), new_srMyInt0(x280, x282))) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(x279)), x280, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), x282)_>=_new_pr2F32(Main.Succ(x279), x280, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_srMyInt0(x280, x282))) For Pair new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) the following chains were created: *We consider the chain new_pr2F32(x314, x315, Main.Succ(Main.Succ(x316)), x317) -> new_pr2F0G11(x317, x315, Main.Succ(x316), x316), new_pr2F0G11(x318, x319, x320, Main.Zero) -> new_pr2F0G2(x318, new_srMyInt(x319), x320) which results in the following constraint: (1) (new_pr2F0G11(x317, x315, Main.Succ(x316), x316)=new_pr2F0G11(x318, x319, x320, Main.Zero) ==> new_pr2F32(x314, x315, Main.Succ(Main.Succ(x316)), x317)_>=_new_pr2F0G11(x317, x315, Main.Succ(x316), x316)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F32(x314, x315, Main.Succ(Main.Succ(Main.Zero)), x317)_>=_new_pr2F0G11(x317, x315, Main.Succ(Main.Zero), Main.Zero)) *We consider the chain new_pr2F32(x325, x326, Main.Succ(Main.Succ(x327)), x328) -> new_pr2F0G11(x328, x326, Main.Succ(x327), x327), new_pr2F0G11(x329, x330, x331, Main.Succ(Main.Zero)) -> new_pr2F0(x330, x331, Main.Pos(Main.Succ(Main.Zero)), x329) which results in the following constraint: (1) (new_pr2F0G11(x328, x326, Main.Succ(x327), x327)=new_pr2F0G11(x329, x330, x331, Main.Succ(Main.Zero)) ==> new_pr2F32(x325, x326, Main.Succ(Main.Succ(x327)), x328)_>=_new_pr2F0G11(x328, x326, Main.Succ(x327), x327)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F32(x325, x326, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), x328)_>=_new_pr2F0G11(x328, x326, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) For Pair new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) the following chains were created: *We consider the chain new_pr2F0G11(x453, x454, x455, Main.Zero) -> new_pr2F0G2(x453, new_srMyInt(x454), x455), new_pr2F0G2(x456, x457, Main.Succ(Main.Zero)) -> new_pr2F0G12(x456, x457, Main.Succ(Main.Zero)) which results in the following constraint: (1) (new_pr2F0G2(x453, new_srMyInt(x454), x455)=new_pr2F0G2(x456, x457, Main.Succ(Main.Zero)) ==> new_pr2F0G11(x453, x454, x455, Main.Zero)_>=_new_pr2F0G2(x453, new_srMyInt(x454), x455)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x453, x454, Main.Succ(Main.Zero), Main.Zero)_>=_new_pr2F0G2(x453, new_srMyInt(x454), Main.Succ(Main.Zero))) *We consider the chain new_pr2F0G11(x458, x459, x460, Main.Zero) -> new_pr2F0G2(x458, new_srMyInt(x459), x460), new_pr2F0G2(x461, x462, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(x461, x462, Main.Succ(Main.Zero)) which results in the following constraint: (1) (new_pr2F0G2(x458, new_srMyInt(x459), x460)=new_pr2F0G2(x461, x462, Main.Succ(Main.Succ(Main.Zero))) ==> new_pr2F0G11(x458, x459, x460, Main.Zero)_>=_new_pr2F0G2(x458, new_srMyInt(x459), x460)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x458, x459, Main.Succ(Main.Succ(Main.Zero)), Main.Zero)_>=_new_pr2F0G2(x458, new_srMyInt(x459), Main.Succ(Main.Succ(Main.Zero)))) *We consider the chain new_pr2F0G11(x463, x464, x465, Main.Zero) -> new_pr2F0G2(x463, new_srMyInt(x464), x465), new_pr2F0G2(x466, x467, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x468))))) -> new_pr2F0G12(x466, x467, Main.Succ(Main.Succ(new_primDivNatS1(x468)))) which results in the following constraint: (1) (new_pr2F0G2(x463, new_srMyInt(x464), x465)=new_pr2F0G2(x466, x467, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x468))))) ==> new_pr2F0G11(x463, x464, x465, Main.Zero)_>=_new_pr2F0G2(x463, new_srMyInt(x464), x465)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x463, x464, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x468)))), Main.Zero)_>=_new_pr2F0G2(x463, new_srMyInt(x464), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x468)))))) *We consider the chain new_pr2F0G11(x469, x470, x471, Main.Zero) -> new_pr2F0G2(x469, new_srMyInt(x470), x471), new_pr2F0G2(x472, x473, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(x472, x473, Main.Succ(Main.Succ(Main.Zero))) which results in the following constraint: (1) (new_pr2F0G2(x469, new_srMyInt(x470), x471)=new_pr2F0G2(x472, x473, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) ==> new_pr2F0G11(x469, x470, x471, Main.Zero)_>=_new_pr2F0G2(x469, new_srMyInt(x470), x471)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x469, x470, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Zero)_>=_new_pr2F0G2(x469, new_srMyInt(x470), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) For Pair new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) the following chains were created: *We consider the chain new_pr2F0G12(x528, x529, Main.Succ(Main.Succ(x530))) -> new_pr2F0G11(x528, x529, Main.Succ(x530), x530), new_pr2F0G11(x531, x532, x533, Main.Zero) -> new_pr2F0G2(x531, new_srMyInt(x532), x533) which results in the following constraint: (1) (new_pr2F0G11(x528, x529, Main.Succ(x530), x530)=new_pr2F0G11(x531, x532, x533, Main.Zero) ==> new_pr2F0G12(x528, x529, Main.Succ(Main.Succ(x530)))_>=_new_pr2F0G11(x528, x529, Main.Succ(x530), x530)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x528, x529, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x528, x529, Main.Succ(Main.Zero), Main.Zero)) *We consider the chain new_pr2F0G12(x537, x538, Main.Succ(Main.Succ(x539))) -> new_pr2F0G11(x537, x538, Main.Succ(x539), x539), new_pr2F0G11(x540, x541, x542, Main.Succ(Main.Zero)) -> new_pr2F0(x541, x542, Main.Pos(Main.Succ(Main.Zero)), x540) which results in the following constraint: (1) (new_pr2F0G11(x537, x538, Main.Succ(x539), x539)=new_pr2F0G11(x540, x541, x542, Main.Succ(Main.Zero)) ==> new_pr2F0G12(x537, x538, Main.Succ(Main.Succ(x539)))_>=_new_pr2F0G11(x537, x538, Main.Succ(x539), x539)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x537, x538, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G11(x537, x538, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) For Pair new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) the following chains were created: *We consider the chain new_pr2F0G11(x612, x613, x614, Main.Succ(Main.Zero)) -> new_pr2F0(x613, x614, Main.Pos(Main.Succ(Main.Zero)), x612), new_pr2F0(x615, x616, Main.Pos(Main.Succ(Main.Zero)), x617) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x616, Main.Zero))), x615, Main.Succ(Main.Succ(new_primPlusNat0(x616, Main.Zero))), x617) which results in the following constraint: (1) (new_pr2F0(x613, x614, Main.Pos(Main.Succ(Main.Zero)), x612)=new_pr2F0(x615, x616, Main.Pos(Main.Succ(Main.Zero)), x617) ==> new_pr2F0G11(x612, x613, x614, Main.Succ(Main.Zero))_>=_new_pr2F0(x613, x614, Main.Pos(Main.Succ(Main.Zero)), x612)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x612, x613, x614, Main.Succ(Main.Zero))_>=_new_pr2F0(x613, x614, Main.Pos(Main.Succ(Main.Zero)), x612)) *We consider the chain new_pr2F0G11(x633, x634, x635, Main.Succ(Main.Zero)) -> new_pr2F0(x634, x635, Main.Pos(Main.Succ(Main.Zero)), x633), new_pr2F0(x636, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x637) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x636, Main.Succ(Main.Succ(Main.Zero)), x637) which results in the following constraint: (1) (new_pr2F0(x634, x635, Main.Pos(Main.Succ(Main.Zero)), x633)=new_pr2F0(x636, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x637) ==> new_pr2F0G11(x633, x634, x635, Main.Succ(Main.Zero))_>=_new_pr2F0(x634, x635, Main.Pos(Main.Succ(Main.Zero)), x633)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x633, x634, Main.Zero, Main.Succ(Main.Zero))_>=_new_pr2F0(x634, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x633)) For Pair new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) the following chains were created: *We consider the chain new_pr2F0(x705, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x706) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x705, Main.Succ(Main.Succ(Main.Zero)), x706), new_pr2F31(Main.Succ(Main.Succ(x707)), x708, Main.Succ(Main.Succ(x709)), x710) -> new_pr2F32(Main.Succ(x707), x708, Main.Succ(Main.Succ(x709)), new_srMyInt0(x708, x710)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x705, Main.Succ(Main.Succ(Main.Zero)), x706)=new_pr2F31(Main.Succ(Main.Succ(x707)), x708, Main.Succ(Main.Succ(x709)), x710) ==> new_pr2F0(x705, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x706)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x705, Main.Succ(Main.Succ(Main.Zero)), x706)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x705, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x706)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x705, Main.Succ(Main.Succ(Main.Zero)), x706)) *We consider the chain new_pr2F0(x721, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x722) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x721, Main.Succ(Main.Succ(Main.Zero)), x722), new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x723, Main.Succ(Main.Succ(Main.Zero)), x724) -> new_pr2F32(Main.Succ(Main.Zero), x723, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x723, x724)) which results in the following constraint: (1) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x721, Main.Succ(Main.Succ(Main.Zero)), x722)=new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x723, Main.Succ(Main.Succ(Main.Zero)), x724) ==> new_pr2F0(x721, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x722)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x721, Main.Succ(Main.Succ(Main.Zero)), x722)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x721, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x722)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x721, Main.Succ(Main.Succ(Main.Zero)), x722)) For Pair new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) the following chains were created: *We consider the chain new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x771, Main.Succ(Main.Succ(Main.Zero)), x772) -> new_pr2F32(Main.Succ(Main.Zero), x771, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x771, x772)), new_pr2F32(x773, x774, Main.Succ(Main.Succ(x775)), x776) -> new_pr2F0G11(x776, x774, Main.Succ(x775), x775) which results in the following constraint: (1) (new_pr2F32(Main.Succ(Main.Zero), x771, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x771, x772))=new_pr2F32(x773, x774, Main.Succ(Main.Succ(x775)), x776) ==> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x771, Main.Succ(Main.Succ(Main.Zero)), x772)_>=_new_pr2F32(Main.Succ(Main.Zero), x771, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x771, x772))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x771, Main.Succ(Main.Succ(Main.Zero)), x772)_>=_new_pr2F32(Main.Succ(Main.Zero), x771, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x771, x772))) For Pair H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) the following chains were created: *We consider the chain H(x839, x840, x841, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x839, x840, x841, Main.Zero), new_pr2F0G11(x842, x843, x844, Main.Zero) -> new_pr2F0G2(x842, new_srMyInt(x843), x844) which results in the following constraint: (1) (new_pr2F0G11(x839, x840, x841, Main.Zero)=new_pr2F0G11(x842, x843, x844, Main.Zero) ==> H(x839, x840, x841, cons_new_pr2F0G11(Main.Zero))_>=_new_pr2F0G11(x839, x840, x841, Main.Zero)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x839, x840, x841, cons_new_pr2F0G11(Main.Zero))_>=_new_pr2F0G11(x839, x840, x841, Main.Zero)) For Pair H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) the following chains were created: *We consider the chain H(x935, x936, x937, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x935, x936, x937, Main.Succ(Main.Zero)), new_pr2F0G11(x938, x939, x940, Main.Succ(Main.Zero)) -> new_pr2F0(x939, x940, Main.Pos(Main.Succ(Main.Zero)), x938) which results in the following constraint: (1) (new_pr2F0G11(x935, x936, x937, Main.Succ(Main.Zero))=new_pr2F0G11(x938, x939, x940, Main.Succ(Main.Zero)) ==> H(x935, x936, x937, cons_new_pr2F0G11(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x935, x936, x937, Main.Succ(Main.Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x935, x936, x937, cons_new_pr2F0G11(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x935, x936, x937, Main.Succ(Main.Zero))) For Pair new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) the following chains were created: *We consider the chain new_pr2F0G2(x1007, x1008, Main.Succ(Main.Zero)) -> new_pr2F0G12(x1007, x1008, Main.Succ(Main.Zero)), new_pr2F0G12(x1009, x1010, Main.Succ(Main.Zero)) -> new_pr2F0(x1010, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x1009) which results in the following constraint: (1) (new_pr2F0G12(x1007, x1008, Main.Succ(Main.Zero))=new_pr2F0G12(x1009, x1010, Main.Succ(Main.Zero)) ==> new_pr2F0G2(x1007, x1008, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x1007, x1008, Main.Succ(Main.Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G2(x1007, x1008, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x1007, x1008, Main.Succ(Main.Zero))) For Pair new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) the following chains were created: *We consider the chain new_pr2F0G2(x1067, x1068, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(x1067, x1068, Main.Succ(Main.Zero)), new_pr2F0G12(x1069, x1070, Main.Succ(Main.Zero)) -> new_pr2F0(x1070, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x1069) which results in the following constraint: (1) (new_pr2F0G12(x1067, x1068, Main.Succ(Main.Zero))=new_pr2F0G12(x1069, x1070, Main.Succ(Main.Zero)) ==> new_pr2F0G2(x1067, x1068, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G12(x1067, x1068, Main.Succ(Main.Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G2(x1067, x1068, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G12(x1067, x1068, Main.Succ(Main.Zero))) For Pair new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) the following chains were created: *We consider the chain new_pr2F0G2(x1142, x1143, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1144))))) -> new_pr2F0G12(x1142, x1143, Main.Succ(Main.Succ(new_primDivNatS1(x1144)))), new_pr2F0G12(x1145, x1146, Main.Succ(Main.Succ(x1147))) -> new_pr2F0G11(x1145, x1146, Main.Succ(x1147), x1147) which results in the following constraint: (1) (new_pr2F0G12(x1142, x1143, Main.Succ(Main.Succ(new_primDivNatS1(x1144))))=new_pr2F0G12(x1145, x1146, Main.Succ(Main.Succ(x1147))) ==> new_pr2F0G2(x1142, x1143, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1144)))))_>=_new_pr2F0G12(x1142, x1143, Main.Succ(Main.Succ(new_primDivNatS1(x1144))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G2(x1142, x1143, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1144)))))_>=_new_pr2F0G12(x1142, x1143, Main.Succ(Main.Succ(new_primDivNatS1(x1144))))) *We consider the chain new_pr2F0G2(x1181, x1182, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1183))))) -> new_pr2F0G12(x1181, x1182, Main.Succ(Main.Succ(new_primDivNatS1(x1183)))), new_pr2F0G12(x1184, x1185, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(x1184, x1185, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) which results in the following constraint: (1) (new_pr2F0G12(x1181, x1182, Main.Succ(Main.Succ(new_primDivNatS1(x1183))))=new_pr2F0G12(x1184, x1185, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) ==> new_pr2F0G2(x1181, x1182, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1183)))))_>=_new_pr2F0G12(x1181, x1182, Main.Succ(Main.Succ(new_primDivNatS1(x1183))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primDivNatS1(x1183)=Main.Succ(Main.Succ(Main.Zero)) ==> new_pr2F0G2(x1181, x1182, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1183)))))_>=_new_pr2F0G12(x1181, x1182, Main.Succ(Main.Succ(new_primDivNatS1(x1183))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x1183)=Main.Succ(Main.Succ(Main.Zero)) which results in the following new constraints: (3) (Main.Succ(new_primDivNatS0)=Main.Succ(Main.Succ(Main.Zero)) ==> new_pr2F0G2(x1181, x1182, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1181, x1182, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Zero)))))) (4) (Main.Succ(new_primDivNatS1(x2419))=Main.Succ(Main.Succ(Main.Zero)) & (\/x2420,x2421:new_primDivNatS1(x2419)=Main.Succ(Main.Succ(Main.Zero)) ==> new_pr2F0G2(x2420, x2421, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2419)))))_>=_new_pr2F0G12(x2420, x2421, Main.Succ(Main.Succ(new_primDivNatS1(x2419))))) ==> new_pr2F0G2(x1181, x1182, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2419)))))))_>=_new_pr2F0G12(x1181, x1182, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(x2419))))))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (5) (new_primDivNatS0=Main.Succ(Main.Zero) ==> new_pr2F0G2(x1181, x1182, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1181, x1182, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Zero)))))) We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: (6) (new_primDivNatS1(x2419)=Main.Succ(Main.Zero) ==> new_pr2F0G2(x1181, x1182, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2419)))))))_>=_new_pr2F0G12(x1181, x1182, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(x2419))))))) We solved constraint (5) using rule (V) (with possible (I) afterwards).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x2419)=Main.Succ(Main.Zero) which results in the following new constraints: (7) (Main.Succ(new_primDivNatS0)=Main.Succ(Main.Zero) ==> new_pr2F0G2(x1181, x1182, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_pr2F0G12(x1181, x1182, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) (8) (Main.Succ(new_primDivNatS1(x2422))=Main.Succ(Main.Zero) & (\/x2423,x2424:new_primDivNatS1(x2422)=Main.Succ(Main.Zero) ==> new_pr2F0G2(x2423, x2424, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2422)))))))_>=_new_pr2F0G12(x2423, x2424, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(x2422))))))) ==> new_pr2F0G2(x1181, x1182, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2422)))))))))_>=_new_pr2F0G12(x1181, x1182, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2422))))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (9) (new_pr2F0G2(x1181, x1182, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_pr2F0G12(x1181, x1182, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (10) (new_pr2F0G2(x1181, x1182, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2422)))))))))_>=_new_pr2F0G12(x1181, x1182, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2422))))))))) *We consider the chain new_pr2F0G2(x1186, x1187, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1188))))) -> new_pr2F0G12(x1186, x1187, Main.Succ(Main.Succ(new_primDivNatS1(x1188)))), new_pr2F0G12(x1189, x1190, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(x1189, x1190, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) which results in the following constraint: (1) (new_pr2F0G12(x1186, x1187, Main.Succ(Main.Succ(new_primDivNatS1(x1188))))=new_pr2F0G12(x1189, x1190, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) ==> new_pr2F0G2(x1186, x1187, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1188)))))_>=_new_pr2F0G12(x1186, x1187, Main.Succ(Main.Succ(new_primDivNatS1(x1188))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primDivNatS1(x1188)=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) ==> new_pr2F0G2(x1186, x1187, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1188)))))_>=_new_pr2F0G12(x1186, x1187, Main.Succ(Main.Succ(new_primDivNatS1(x1188))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x1188)=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) which results in the following new constraints: (3) (Main.Succ(new_primDivNatS0)=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) ==> new_pr2F0G2(x1186, x1187, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1186, x1187, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Zero)))))) (4) (Main.Succ(new_primDivNatS1(x2425))=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) & (\/x2426,x2427:new_primDivNatS1(x2425)=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) ==> new_pr2F0G2(x2426, x2427, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2425)))))_>=_new_pr2F0G12(x2426, x2427, Main.Succ(Main.Succ(new_primDivNatS1(x2425))))) ==> new_pr2F0G2(x1186, x1187, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2425)))))))_>=_new_pr2F0G12(x1186, x1187, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(x2425))))))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (5) (new_primDivNatS0=Main.Succ(Main.Succ(Main.Zero)) ==> new_pr2F0G2(x1186, x1187, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1186, x1187, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Zero)))))) We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: (6) (new_primDivNatS1(x2425)=Main.Succ(Main.Succ(Main.Zero)) ==> new_pr2F0G2(x1186, x1187, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2425)))))))_>=_new_pr2F0G12(x1186, x1187, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(x2425))))))) We solved constraint (5) using rule (V) (with possible (I) afterwards).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x2425)=Main.Succ(Main.Succ(Main.Zero)) which results in the following new constraints: (7) (Main.Succ(new_primDivNatS0)=Main.Succ(Main.Succ(Main.Zero)) ==> new_pr2F0G2(x1186, x1187, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_pr2F0G12(x1186, x1187, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) (8) (Main.Succ(new_primDivNatS1(x2428))=Main.Succ(Main.Succ(Main.Zero)) & (\/x2429,x2430:new_primDivNatS1(x2428)=Main.Succ(Main.Succ(Main.Zero)) ==> new_pr2F0G2(x2429, x2430, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2428)))))))_>=_new_pr2F0G12(x2429, x2430, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(x2428))))))) ==> new_pr2F0G2(x1186, x1187, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2428)))))))))_>=_new_pr2F0G12(x1186, x1187, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2428))))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (9) (new_pr2F0G2(x1186, x1187, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_pr2F0G12(x1186, x1187, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (10) (new_pr2F0G2(x1186, x1187, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2428)))))))))_>=_new_pr2F0G12(x1186, x1187, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2428))))))))) *We consider the chain new_pr2F0G2(x1197, x1198, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1199))))) -> new_pr2F0G12(x1197, x1198, Main.Succ(Main.Succ(new_primDivNatS1(x1199)))), new_pr2F0G12(x1200, x1201, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(x1200, x1201, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) which results in the following constraint: (1) (new_pr2F0G12(x1197, x1198, Main.Succ(Main.Succ(new_primDivNatS1(x1199))))=new_pr2F0G12(x1200, x1201, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ==> new_pr2F0G2(x1197, x1198, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1199)))))_>=_new_pr2F0G12(x1197, x1198, Main.Succ(Main.Succ(new_primDivNatS1(x1199))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primDivNatS1(x1199)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) ==> new_pr2F0G2(x1197, x1198, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1199)))))_>=_new_pr2F0G12(x1197, x1198, Main.Succ(Main.Succ(new_primDivNatS1(x1199))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x1199)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) which results in the following new constraints: (3) (Main.Succ(new_primDivNatS0)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) ==> new_pr2F0G2(x1197, x1198, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1197, x1198, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Zero)))))) (4) (Main.Succ(new_primDivNatS1(x2431))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) & (\/x2432,x2433:new_primDivNatS1(x2431)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) ==> new_pr2F0G2(x2432, x2433, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2431)))))_>=_new_pr2F0G12(x2432, x2433, Main.Succ(Main.Succ(new_primDivNatS1(x2431))))) ==> new_pr2F0G2(x1197, x1198, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2431)))))))_>=_new_pr2F0G12(x1197, x1198, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(x2431))))))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (5) (new_primDivNatS0=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) ==> new_pr2F0G2(x1197, x1198, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1197, x1198, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Zero)))))) We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: (6) (new_primDivNatS1(x2431)=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) ==> new_pr2F0G2(x1197, x1198, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2431)))))))_>=_new_pr2F0G12(x1197, x1198, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(x2431))))))) We solved constraint (5) using rule (V) (with possible (I) afterwards).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x2431)=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) which results in the following new constraints: (7) (Main.Succ(new_primDivNatS0)=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) ==> new_pr2F0G2(x1197, x1198, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_pr2F0G12(x1197, x1198, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) (8) (Main.Succ(new_primDivNatS1(x2434))=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) & (\/x2435,x2436:new_primDivNatS1(x2434)=Main.Succ(Main.Succ(Main.Succ(Main.Zero))) ==> new_pr2F0G2(x2435, x2436, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2434)))))))_>=_new_pr2F0G12(x2435, x2436, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(x2434))))))) ==> new_pr2F0G2(x1197, x1198, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2434)))))))))_>=_new_pr2F0G12(x1197, x1198, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2434))))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (9) (new_pr2F0G2(x1197, x1198, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_pr2F0G12(x1197, x1198, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (10) (new_pr2F0G2(x1197, x1198, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2434)))))))))_>=_new_pr2F0G12(x1197, x1198, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2434))))))))) *We consider the chain new_pr2F0G2(x1202, x1203, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1204))))) -> new_pr2F0G12(x1202, x1203, Main.Succ(Main.Succ(new_primDivNatS1(x1204)))), new_pr2F0G12(x1205, x1206, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(x1205, x1206, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) which results in the following constraint: (1) (new_pr2F0G12(x1202, x1203, Main.Succ(Main.Succ(new_primDivNatS1(x1204))))=new_pr2F0G12(x1205, x1206, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) ==> new_pr2F0G2(x1202, x1203, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1204)))))_>=_new_pr2F0G12(x1202, x1203, Main.Succ(Main.Succ(new_primDivNatS1(x1204))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primDivNatS1(x1204)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) ==> new_pr2F0G2(x1202, x1203, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1204)))))_>=_new_pr2F0G12(x1202, x1203, Main.Succ(Main.Succ(new_primDivNatS1(x1204))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x1204)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) which results in the following new constraints: (3) (Main.Succ(new_primDivNatS0)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) ==> new_pr2F0G2(x1202, x1203, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1202, x1203, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Zero)))))) (4) (Main.Succ(new_primDivNatS1(x2437))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) & (\/x2438,x2439:new_primDivNatS1(x2437)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) ==> new_pr2F0G2(x2438, x2439, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2437)))))_>=_new_pr2F0G12(x2438, x2439, Main.Succ(Main.Succ(new_primDivNatS1(x2437))))) ==> new_pr2F0G2(x1202, x1203, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2437)))))))_>=_new_pr2F0G12(x1202, x1203, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(x2437))))))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (5) (new_primDivNatS0=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) ==> new_pr2F0G2(x1202, x1203, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1202, x1203, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Zero)))))) We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: (6) (new_primDivNatS1(x2437)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) ==> new_pr2F0G2(x1202, x1203, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2437)))))))_>=_new_pr2F0G12(x1202, x1203, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(x2437))))))) We solved constraint (5) using rule (V) (with possible (I) afterwards).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x2437)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) which results in the following new constraints: (7) (Main.Succ(new_primDivNatS0)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) ==> new_pr2F0G2(x1202, x1203, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_pr2F0G12(x1202, x1203, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) (8) (Main.Succ(new_primDivNatS1(x2440))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) & (\/x2441,x2442:new_primDivNatS1(x2440)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) ==> new_pr2F0G2(x2441, x2442, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2440)))))))_>=_new_pr2F0G12(x2441, x2442, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(x2440))))))) ==> new_pr2F0G2(x1202, x1203, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2440)))))))))_>=_new_pr2F0G12(x1202, x1203, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2440))))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (9) (new_pr2F0G2(x1202, x1203, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_pr2F0G12(x1202, x1203, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (10) (new_pr2F0G2(x1202, x1203, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2440)))))))))_>=_new_pr2F0G12(x1202, x1203, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2440))))))))) *We consider the chain new_pr2F0G2(x1216, x1217, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1218))))) -> new_pr2F0G12(x1216, x1217, Main.Succ(Main.Succ(new_primDivNatS1(x1218)))), new_pr2F0G12(x1219, x1220, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1221))))))))))) -> H(x1219, x1220, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1221))))))))), new_new_pr2F0G11(x1221)) which results in the following constraint: (1) (new_pr2F0G12(x1216, x1217, Main.Succ(Main.Succ(new_primDivNatS1(x1218))))=new_pr2F0G12(x1219, x1220, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1221))))))))))) ==> new_pr2F0G2(x1216, x1217, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1218)))))_>=_new_pr2F0G12(x1216, x1217, Main.Succ(Main.Succ(new_primDivNatS1(x1218))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primDivNatS1(x1218)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1221)))))))) ==> new_pr2F0G2(x1216, x1217, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1218)))))_>=_new_pr2F0G12(x1216, x1217, Main.Succ(Main.Succ(new_primDivNatS1(x1218))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x1218)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1221)))))))) which results in the following new constraints: (3) (Main.Succ(new_primDivNatS0)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1221)))))))) ==> new_pr2F0G2(x1216, x1217, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1216, x1217, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Zero)))))) (4) (Main.Succ(new_primDivNatS1(x2443))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1221)))))))) & (\/x2444,x2445,x2446:new_primDivNatS1(x2443)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2444)))))))) ==> new_pr2F0G2(x2445, x2446, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2443)))))_>=_new_pr2F0G12(x2445, x2446, Main.Succ(Main.Succ(new_primDivNatS1(x2443))))) ==> new_pr2F0G2(x1216, x1217, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2443)))))))_>=_new_pr2F0G12(x1216, x1217, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(x2443))))))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (5) (new_primDivNatS0=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1221))))))) ==> new_pr2F0G2(x1216, x1217, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1216, x1217, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Zero)))))) We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: (6) (new_primDivNatS1(x2443)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1221))))))) ==> new_pr2F0G2(x1216, x1217, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2443)))))))_>=_new_pr2F0G12(x1216, x1217, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(x2443))))))) We solved constraint (5) using rule (V) (with possible (I) afterwards).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x2443)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1221))))))) which results in the following new constraints: (7) (Main.Succ(new_primDivNatS0)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1221))))))) ==> new_pr2F0G2(x1216, x1217, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_pr2F0G12(x1216, x1217, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) (8) (Main.Succ(new_primDivNatS1(x2447))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1221))))))) & (\/x2448,x2449,x2450:new_primDivNatS1(x2447)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2448))))))) ==> new_pr2F0G2(x2449, x2450, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2447)))))))_>=_new_pr2F0G12(x2449, x2450, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(x2447))))))) ==> new_pr2F0G2(x1216, x1217, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2447)))))))))_>=_new_pr2F0G12(x1216, x1217, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2447))))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (9) (new_pr2F0G2(x1216, x1217, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_pr2F0G12(x1216, x1217, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (10) (new_pr2F0G2(x1216, x1217, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2447)))))))))_>=_new_pr2F0G12(x1216, x1217, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2447))))))))) *We consider the chain new_pr2F0G2(x1222, x1223, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1224))))) -> new_pr2F0G12(x1222, x1223, Main.Succ(Main.Succ(new_primDivNatS1(x1224)))), new_pr2F0G12(x1225, x1226, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> H(x1225, x1226, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) which results in the following constraint: (1) (new_pr2F0G12(x1222, x1223, Main.Succ(Main.Succ(new_primDivNatS1(x1224))))=new_pr2F0G12(x1225, x1226, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) ==> new_pr2F0G2(x1222, x1223, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1224)))))_>=_new_pr2F0G12(x1222, x1223, Main.Succ(Main.Succ(new_primDivNatS1(x1224))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primDivNatS1(x1224)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) ==> new_pr2F0G2(x1222, x1223, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1224)))))_>=_new_pr2F0G12(x1222, x1223, Main.Succ(Main.Succ(new_primDivNatS1(x1224))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x1224)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) which results in the following new constraints: (3) (Main.Succ(new_primDivNatS0)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) ==> new_pr2F0G2(x1222, x1223, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1222, x1223, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Zero)))))) (4) (Main.Succ(new_primDivNatS1(x2451))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) & (\/x2452,x2453:new_primDivNatS1(x2451)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) ==> new_pr2F0G2(x2452, x2453, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2451)))))_>=_new_pr2F0G12(x2452, x2453, Main.Succ(Main.Succ(new_primDivNatS1(x2451))))) ==> new_pr2F0G2(x1222, x1223, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2451)))))))_>=_new_pr2F0G12(x1222, x1223, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(x2451))))))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (5) (new_primDivNatS0=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) ==> new_pr2F0G2(x1222, x1223, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1222, x1223, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Zero)))))) We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: (6) (new_primDivNatS1(x2451)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) ==> new_pr2F0G2(x1222, x1223, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2451)))))))_>=_new_pr2F0G12(x1222, x1223, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(x2451))))))) We solved constraint (5) using rule (V) (with possible (I) afterwards).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x2451)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) which results in the following new constraints: (7) (Main.Succ(new_primDivNatS0)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) ==> new_pr2F0G2(x1222, x1223, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_pr2F0G12(x1222, x1223, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) (8) (Main.Succ(new_primDivNatS1(x2454))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) & (\/x2455,x2456:new_primDivNatS1(x2454)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) ==> new_pr2F0G2(x2455, x2456, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2454)))))))_>=_new_pr2F0G12(x2455, x2456, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(x2454))))))) ==> new_pr2F0G2(x1222, x1223, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2454)))))))))_>=_new_pr2F0G12(x1222, x1223, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2454))))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (9) (new_pr2F0G2(x1222, x1223, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_pr2F0G12(x1222, x1223, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (10) (new_pr2F0G2(x1222, x1223, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2454)))))))))_>=_new_pr2F0G12(x1222, x1223, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2454))))))))) *We consider the chain new_pr2F0G2(x1227, x1228, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1229))))) -> new_pr2F0G12(x1227, x1228, Main.Succ(Main.Succ(new_primDivNatS1(x1229)))), new_pr2F0G12(x1230, x1231, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(x1230, x1231, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) which results in the following constraint: (1) (new_pr2F0G12(x1227, x1228, Main.Succ(Main.Succ(new_primDivNatS1(x1229))))=new_pr2F0G12(x1230, x1231, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) ==> new_pr2F0G2(x1227, x1228, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1229)))))_>=_new_pr2F0G12(x1227, x1228, Main.Succ(Main.Succ(new_primDivNatS1(x1229))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primDivNatS1(x1229)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ==> new_pr2F0G2(x1227, x1228, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1229)))))_>=_new_pr2F0G12(x1227, x1228, Main.Succ(Main.Succ(new_primDivNatS1(x1229))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x1229)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) which results in the following new constraints: (3) (Main.Succ(new_primDivNatS0)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ==> new_pr2F0G2(x1227, x1228, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1227, x1228, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Zero)))))) (4) (Main.Succ(new_primDivNatS1(x2457))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) & (\/x2458,x2459:new_primDivNatS1(x2457)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ==> new_pr2F0G2(x2458, x2459, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2457)))))_>=_new_pr2F0G12(x2458, x2459, Main.Succ(Main.Succ(new_primDivNatS1(x2457))))) ==> new_pr2F0G2(x1227, x1228, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2457)))))))_>=_new_pr2F0G12(x1227, x1228, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(x2457))))))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (5) (new_primDivNatS0=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) ==> new_pr2F0G2(x1227, x1228, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_new_pr2F0G12(x1227, x1228, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Zero)))))) We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: (6) (new_primDivNatS1(x2457)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) ==> new_pr2F0G2(x1227, x1228, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2457)))))))_>=_new_pr2F0G12(x1227, x1228, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(x2457))))))) We solved constraint (5) using rule (V) (with possible (I) afterwards).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x2457)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) which results in the following new constraints: (7) (Main.Succ(new_primDivNatS0)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) ==> new_pr2F0G2(x1227, x1228, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_pr2F0G12(x1227, x1228, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) (8) (Main.Succ(new_primDivNatS1(x2460))=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) & (\/x2461,x2462:new_primDivNatS1(x2460)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) ==> new_pr2F0G2(x2461, x2462, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2460)))))))_>=_new_pr2F0G12(x2461, x2462, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(x2460))))))) ==> new_pr2F0G2(x1227, x1228, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2460)))))))))_>=_new_pr2F0G12(x1227, x1228, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2460))))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (9) (new_pr2F0G2(x1227, x1228, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_pr2F0G12(x1227, x1228, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (10) (new_pr2F0G2(x1227, x1228, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2460)))))))))_>=_new_pr2F0G12(x1227, x1228, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2460))))))))) For Pair new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) the following chains were created: *We consider the chain new_pr2F0G2(x1242, x1243, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(x1242, x1243, Main.Succ(Main.Succ(Main.Zero))), new_pr2F0G12(x1244, x1245, Main.Succ(Main.Succ(x1246))) -> new_pr2F0G11(x1244, x1245, Main.Succ(x1246), x1246) which results in the following constraint: (1) (new_pr2F0G12(x1242, x1243, Main.Succ(Main.Succ(Main.Zero)))=new_pr2F0G12(x1244, x1245, Main.Succ(Main.Succ(x1246))) ==> new_pr2F0G2(x1242, x1243, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G12(x1242, x1243, Main.Succ(Main.Succ(Main.Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G2(x1242, x1243, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G12(x1242, x1243, Main.Succ(Main.Succ(Main.Zero)))) For Pair new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) the following chains were created: *We consider the chain new_pr2F32(x1320, x1321, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x1322) -> H(x1322, x1321, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)), H(x1323, x1324, x1325, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x1323, x1324, x1325, Main.Zero) which results in the following constraint: (1) (H(x1322, x1321, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero))=H(x1323, x1324, x1325, cons_new_pr2F0G11(Main.Zero)) ==> new_pr2F32(x1320, x1321, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x1322)_>=_H(x1322, x1321, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F32(x1320, x1321, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x1322)_>=_H(x1322, x1321, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero))) For Pair new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) the following chains were created: *We consider the chain new_pr2F32(x1413, x1414, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x1415) -> H(x1415, x1414, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))), H(x1416, x1417, x1418, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x1416, x1417, x1418, Main.Succ(Main.Zero)) which results in the following constraint: (1) (H(x1415, x1414, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))=H(x1416, x1417, x1418, cons_new_pr2F0G11(Main.Succ(Main.Zero))) ==> new_pr2F32(x1413, x1414, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x1415)_>=_H(x1415, x1414, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F32(x1413, x1414, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x1415)_>=_H(x1415, x1414, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) For Pair new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) the following chains were created: *We consider the chain new_pr2F0G12(x1491, x1492, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(x1491, x1492, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)), H(x1493, x1494, x1495, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x1493, x1494, x1495, Main.Zero) which results in the following constraint: (1) (H(x1491, x1492, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero))=H(x1493, x1494, x1495, cons_new_pr2F0G11(Main.Zero)) ==> new_pr2F0G12(x1491, x1492, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))_>=_H(x1491, x1492, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x1491, x1492, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))_>=_H(x1491, x1492, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero))) For Pair new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) the following chains were created: *We consider the chain new_pr2F0G12(x1554, x1555, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(x1554, x1555, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))), H(x1556, x1557, x1558, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x1556, x1557, x1558, Main.Succ(Main.Zero)) which results in the following constraint: (1) (H(x1554, x1555, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))=H(x1556, x1557, x1558, cons_new_pr2F0G11(Main.Succ(Main.Zero))) ==> new_pr2F0G12(x1554, x1555, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_H(x1554, x1555, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x1554, x1555, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_H(x1554, x1555, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) For Pair new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) the following chains were created: *We consider the chain new_pr2F32(x1622, x1623, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), x1624) -> H(x1624, x1623, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)), H(x1625, x1626, x1627, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x1625, x1626, x1627, Main.Zero) which results in the following constraint: (1) (H(x1624, x1623, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero))=H(x1625, x1626, x1627, cons_new_pr2F0G11(Main.Zero)) ==> new_pr2F32(x1622, x1623, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), x1624)_>=_H(x1624, x1623, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F32(x1622, x1623, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), x1624)_>=_H(x1624, x1623, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero))) For Pair new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) the following chains were created: *We consider the chain new_pr2F32(x1715, x1716, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), x1717) -> H(x1717, x1716, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))), H(x1718, x1719, x1720, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x1718, x1719, x1720, Main.Succ(Main.Zero)) which results in the following constraint: (1) (H(x1717, x1716, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))=H(x1718, x1719, x1720, cons_new_pr2F0G11(Main.Succ(Main.Zero))) ==> new_pr2F32(x1715, x1716, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), x1717)_>=_H(x1717, x1716, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F32(x1715, x1716, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), x1717)_>=_H(x1717, x1716, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) For Pair new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) the following chains were created: *We consider the chain new_pr2F0G12(x1793, x1794, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(x1793, x1794, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)), H(x1795, x1796, x1797, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x1795, x1796, x1797, Main.Zero) which results in the following constraint: (1) (H(x1793, x1794, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero))=H(x1795, x1796, x1797, cons_new_pr2F0G11(Main.Zero)) ==> new_pr2F0G12(x1793, x1794, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_H(x1793, x1794, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x1793, x1794, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_H(x1793, x1794, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero))) For Pair new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) the following chains were created: *We consider the chain new_pr2F0G12(x1856, x1857, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(x1856, x1857, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))), H(x1858, x1859, x1860, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x1858, x1859, x1860, Main.Succ(Main.Zero)) which results in the following constraint: (1) (H(x1856, x1857, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))=H(x1858, x1859, x1860, cons_new_pr2F0G11(Main.Succ(Main.Zero))) ==> new_pr2F0G12(x1856, x1857, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_H(x1856, x1857, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x1856, x1857, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_H(x1856, x1857, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) For Pair new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) the following chains were created: *We consider the chain new_pr2F32(x1933, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1935)))))))))), x1936) -> H(x1936, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1935))))))))), new_new_pr2F0G11(x1935)), H(x1937, x1938, x1939, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x1937, x1938, x1939, Main.Zero) which results in the following constraint: (1) (H(x1936, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1935))))))))), new_new_pr2F0G11(x1935))=H(x1937, x1938, x1939, cons_new_pr2F0G11(Main.Zero)) ==> new_pr2F32(x1933, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1935)))))))))), x1936)_>=_H(x1936, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1935))))))))), new_new_pr2F0G11(x1935))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_pr2F0G11(x1935)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x1933, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1935)))))))))), x1936)_>=_H(x1936, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1935))))))))), new_new_pr2F0G11(x1935))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G11(x1935)=cons_new_pr2F0G11(Main.Zero) which results in the following new constraints: (3) (new_new_pr2F0G11(x2463)=cons_new_pr2F0G11(Main.Zero) & (\/x2464,x2465,x2466:new_new_pr2F0G11(x2463)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x2464, x2465, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2463)))))))))), x2466)_>=_H(x2466, x2465, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2463))))))))), new_new_pr2F0G11(x2463))) ==> new_pr2F32(x1933, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2463)))))))))))), x1936)_>=_H(x1936, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2463))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2463))))) (4) (cons_new_pr2F0G11(Main.Zero)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x1933, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), x1936)_>=_H(x1936, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_new_pr2F0G11(Main.Zero))) (5) (cons_new_pr2F0G11(Main.Succ(Main.Zero))=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x1933, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), x1936)_>=_H(x1936, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_new_pr2F0G11(Main.Succ(Main.Zero)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x2464,x2465,x2466:new_new_pr2F0G11(x2463)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F32(x2464, x2465, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2463)))))))))), x2466)_>=_H(x2466, x2465, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2463))))))))), new_new_pr2F0G11(x2463))) with sigma = [x2464 / x1933, x2465 / x1934, x2466 / x1936] which results in the following new constraint: (6) (new_pr2F32(x1933, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2463)))))))))), x1936)_>=_H(x1936, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2463))))))))), new_new_pr2F0G11(x2463)) ==> new_pr2F32(x1933, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2463)))))))))))), x1936)_>=_H(x1936, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2463))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2463))))) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (7) (new_pr2F32(x1933, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), x1936)_>=_H(x1936, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_new_pr2F0G11(Main.Zero))) We solved constraint (5) using rules (I), (II). *We consider the chain new_pr2F32(x1940, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1942)))))))))), x1943) -> H(x1943, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1942))))))))), new_new_pr2F0G11(x1942)), H(x1944, x1945, x1946, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x1944, x1945, x1946, Main.Succ(Main.Zero)) which results in the following constraint: (1) (H(x1943, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1942))))))))), new_new_pr2F0G11(x1942))=H(x1944, x1945, x1946, cons_new_pr2F0G11(Main.Succ(Main.Zero))) ==> new_pr2F32(x1940, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1942)))))))))), x1943)_>=_H(x1943, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1942))))))))), new_new_pr2F0G11(x1942))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_pr2F0G11(x1942)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x1940, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1942)))))))))), x1943)_>=_H(x1943, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1942))))))))), new_new_pr2F0G11(x1942))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G11(x1942)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) which results in the following new constraints: (3) (new_new_pr2F0G11(x2467)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) & (\/x2468,x2469,x2470:new_new_pr2F0G11(x2467)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x2468, x2469, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2467)))))))))), x2470)_>=_H(x2470, x2469, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2467))))))))), new_new_pr2F0G11(x2467))) ==> new_pr2F32(x1940, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2467)))))))))))), x1943)_>=_H(x1943, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2467))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2467))))) (4) (cons_new_pr2F0G11(Main.Zero)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x1940, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), x1943)_>=_H(x1943, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_new_pr2F0G11(Main.Zero))) (5) (cons_new_pr2F0G11(Main.Succ(Main.Zero))=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x1940, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), x1943)_>=_H(x1943, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_new_pr2F0G11(Main.Succ(Main.Zero)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x2468,x2469,x2470:new_new_pr2F0G11(x2467)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F32(x2468, x2469, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2467)))))))))), x2470)_>=_H(x2470, x2469, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2467))))))))), new_new_pr2F0G11(x2467))) with sigma = [x2468 / x1940, x2469 / x1941, x2470 / x1943] which results in the following new constraint: (6) (new_pr2F32(x1940, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2467)))))))))), x1943)_>=_H(x1943, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2467))))))))), new_new_pr2F0G11(x2467)) ==> new_pr2F32(x1940, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2467)))))))))))), x1943)_>=_H(x1943, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2467))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2467))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II) which results in the following new constraint: (7) (new_pr2F32(x1940, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), x1943)_>=_H(x1943, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_new_pr2F0G11(Main.Succ(Main.Zero)))) For Pair new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) the following chains were created: *We consider the chain new_pr2F32(x2046, x2047, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2048) -> H(x2048, x2047, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)), H(x2049, x2050, x2051, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x2049, x2050, x2051, Main.Zero) which results in the following constraint: (1) (H(x2048, x2047, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero))=H(x2049, x2050, x2051, cons_new_pr2F0G11(Main.Zero)) ==> new_pr2F32(x2046, x2047, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2048)_>=_H(x2048, x2047, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F32(x2046, x2047, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2048)_>=_H(x2048, x2047, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero))) For Pair new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) the following chains were created: *We consider the chain new_pr2F32(x2139, x2140, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), x2141) -> H(x2141, x2140, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))), H(x2142, x2143, x2144, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x2142, x2143, x2144, Main.Succ(Main.Zero)) which results in the following constraint: (1) (H(x2141, x2140, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))=H(x2142, x2143, x2144, cons_new_pr2F0G11(Main.Succ(Main.Zero))) ==> new_pr2F32(x2139, x2140, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), x2141)_>=_H(x2141, x2140, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F32(x2139, x2140, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), x2141)_>=_H(x2141, x2140, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) For Pair new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) the following chains were created: *We consider the chain new_pr2F0G12(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2228))))))))))) -> H(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2228))))))))), new_new_pr2F0G11(x2228)), H(x2229, x2230, x2231, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x2229, x2230, x2231, Main.Zero) which results in the following constraint: (1) (H(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2228))))))))), new_new_pr2F0G11(x2228))=H(x2229, x2230, x2231, cons_new_pr2F0G11(Main.Zero)) ==> new_pr2F0G12(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2228)))))))))))_>=_H(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2228))))))))), new_new_pr2F0G11(x2228))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_pr2F0G11(x2228)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2228)))))))))))_>=_H(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2228))))))))), new_new_pr2F0G11(x2228))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G11(x2228)=cons_new_pr2F0G11(Main.Zero) which results in the following new constraints: (3) (new_new_pr2F0G11(x2471)=cons_new_pr2F0G11(Main.Zero) & (\/x2472,x2473:new_new_pr2F0G11(x2471)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x2472, x2473, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2471)))))))))))_>=_H(x2472, x2473, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2471))))))))), new_new_pr2F0G11(x2471))) ==> new_pr2F0G12(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2471)))))))))))))_>=_H(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2471))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2471))))) (4) (cons_new_pr2F0G11(Main.Zero)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))_>=_H(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_new_pr2F0G11(Main.Zero))) (5) (cons_new_pr2F0G11(Main.Succ(Main.Zero))=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))_>=_H(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_new_pr2F0G11(Main.Succ(Main.Zero)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x2472,x2473:new_new_pr2F0G11(x2471)=cons_new_pr2F0G11(Main.Zero) ==> new_pr2F0G12(x2472, x2473, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2471)))))))))))_>=_H(x2472, x2473, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2471))))))))), new_new_pr2F0G11(x2471))) with sigma = [x2472 / x2226, x2473 / x2227] which results in the following new constraint: (6) (new_pr2F0G12(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2471)))))))))))_>=_H(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2471))))))))), new_new_pr2F0G11(x2471)) ==> new_pr2F0G12(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2471)))))))))))))_>=_H(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2471))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2471))))) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (7) (new_pr2F0G12(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))_>=_H(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_new_pr2F0G11(Main.Zero))) We solved constraint (5) using rules (I), (II). *We consider the chain new_pr2F0G12(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2234))))))))))) -> H(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2234))))))))), new_new_pr2F0G11(x2234)), H(x2235, x2236, x2237, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x2235, x2236, x2237, Main.Succ(Main.Zero)) which results in the following constraint: (1) (H(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2234))))))))), new_new_pr2F0G11(x2234))=H(x2235, x2236, x2237, cons_new_pr2F0G11(Main.Succ(Main.Zero))) ==> new_pr2F0G12(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2234)))))))))))_>=_H(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2234))))))))), new_new_pr2F0G11(x2234))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_pr2F0G11(x2234)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2234)))))))))))_>=_H(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2234))))))))), new_new_pr2F0G11(x2234))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G11(x2234)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) which results in the following new constraints: (3) (new_new_pr2F0G11(x2474)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) & (\/x2475,x2476:new_new_pr2F0G11(x2474)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x2475, x2476, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2474)))))))))))_>=_H(x2475, x2476, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2474))))))))), new_new_pr2F0G11(x2474))) ==> new_pr2F0G12(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2474)))))))))))))_>=_H(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2474))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2474))))) (4) (cons_new_pr2F0G11(Main.Zero)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))_>=_H(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_new_pr2F0G11(Main.Zero))) (5) (cons_new_pr2F0G11(Main.Succ(Main.Zero))=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))_>=_H(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_new_pr2F0G11(Main.Succ(Main.Zero)))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x2475,x2476:new_new_pr2F0G11(x2474)=cons_new_pr2F0G11(Main.Succ(Main.Zero)) ==> new_pr2F0G12(x2475, x2476, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2474)))))))))))_>=_H(x2475, x2476, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2474))))))))), new_new_pr2F0G11(x2474))) with sigma = [x2475 / x2232, x2476 / x2233] which results in the following new constraint: (6) (new_pr2F0G12(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2474)))))))))))_>=_H(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2474))))))))), new_new_pr2F0G11(x2474)) ==> new_pr2F0G12(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2474)))))))))))))_>=_H(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2474))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2474))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II) which results in the following new constraint: (7) (new_pr2F0G12(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))_>=_H(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_new_pr2F0G11(Main.Succ(Main.Zero)))) For Pair new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) the following chains were created: *We consider the chain new_pr2F0G12(x2310, x2311, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> H(x2310, x2311, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)), H(x2312, x2313, x2314, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(x2312, x2313, x2314, Main.Zero) which results in the following constraint: (1) (H(x2310, x2311, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero))=H(x2312, x2313, x2314, cons_new_pr2F0G11(Main.Zero)) ==> new_pr2F0G12(x2310, x2311, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_H(x2310, x2311, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x2310, x2311, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_H(x2310, x2311, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero))) For Pair new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) the following chains were created: *We consider the chain new_pr2F0G12(x2373, x2374, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(x2373, x2374, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))), H(x2375, x2376, x2377, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(x2375, x2376, x2377, Main.Succ(Main.Zero)) which results in the following constraint: (1) (H(x2373, x2374, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))=H(x2375, x2376, x2377, cons_new_pr2F0G11(Main.Succ(Main.Zero))) ==> new_pr2F0G12(x2373, x2374, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x2373, x2374, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G12(x2373, x2374, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x2373, x2374, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) *(new_pr2F0G12(x2, x3, Main.Succ(Main.Zero))_>=_new_pr2F0(x3, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x2)) *(new_pr2F0G12(x17, x18, Main.Succ(Main.Zero))_>=_new_pr2F0(x18, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x17)) *new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) *(new_pr2F0(x69, x70, Main.Pos(Main.Succ(Main.Zero)), x71)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(x70, Main.Zero))), x69, Main.Succ(Main.Succ(new_primPlusNat0(x70, Main.Zero))), x71)) *(new_pr2F0(x91, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x93)_>=_new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x91, Main.Succ(Main.Succ(new_primPlusNat0(Main.Zero, Main.Zero))), x93)) *new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) *(new_pr2F31(Main.Succ(Main.Succ(x168)), x169, Main.Succ(Main.Succ(x170)), x171)_>=_new_pr2F32(Main.Succ(x168), x169, Main.Succ(Main.Succ(x170)), new_srMyInt0(x169, x171))) *(new_pr2F31(Main.Succ(Main.Succ(x220)), x221, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x223)_>=_new_pr2F32(Main.Succ(x220), x221, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), new_srMyInt0(x221, x223))) *(new_pr2F31(Main.Succ(Main.Succ(x227)), x228, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x230)_>=_new_pr2F32(Main.Succ(x227), x228, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), new_srMyInt0(x228, x230))) *(new_pr2F31(Main.Succ(Main.Succ(x242)), x243, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), x245)_>=_new_pr2F32(Main.Succ(x242), x243, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), new_srMyInt0(x243, x245))) *(new_pr2F31(Main.Succ(Main.Succ(x249)), x250, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), x252)_>=_new_pr2F32(Main.Succ(x249), x250, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), new_srMyInt0(x250, x252))) *(new_pr2F31(Main.Succ(Main.Succ(x264)), x265, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x270)))))))))), x267)_>=_new_pr2F32(Main.Succ(x264), x265, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x270)))))))))), new_srMyInt0(x265, x267))) *(new_pr2F31(Main.Succ(Main.Succ(x272)), x273, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x275)_>=_new_pr2F32(Main.Succ(x272), x273, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_srMyInt0(x273, x275))) *(new_pr2F31(Main.Succ(Main.Succ(x279)), x280, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), x282)_>=_new_pr2F32(Main.Succ(x279), x280, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_srMyInt0(x280, x282))) *new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) *(new_pr2F32(x314, x315, Main.Succ(Main.Succ(Main.Zero)), x317)_>=_new_pr2F0G11(x317, x315, Main.Succ(Main.Zero), Main.Zero)) *(new_pr2F32(x325, x326, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), x328)_>=_new_pr2F0G11(x328, x326, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) *new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) *(new_pr2F0G11(x453, x454, Main.Succ(Main.Zero), Main.Zero)_>=_new_pr2F0G2(x453, new_srMyInt(x454), Main.Succ(Main.Zero))) *(new_pr2F0G11(x458, x459, Main.Succ(Main.Succ(Main.Zero)), Main.Zero)_>=_new_pr2F0G2(x458, new_srMyInt(x459), Main.Succ(Main.Succ(Main.Zero)))) *(new_pr2F0G11(x463, x464, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x468)))), Main.Zero)_>=_new_pr2F0G2(x463, new_srMyInt(x464), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x468)))))) *(new_pr2F0G11(x469, x470, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Zero)_>=_new_pr2F0G2(x469, new_srMyInt(x470), Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) *new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) *(new_pr2F0G12(x528, x529, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x528, x529, Main.Succ(Main.Zero), Main.Zero)) *(new_pr2F0G12(x537, x538, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G11(x537, x538, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Zero))) *new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) *(new_pr2F0G11(x612, x613, x614, Main.Succ(Main.Zero))_>=_new_pr2F0(x613, x614, Main.Pos(Main.Succ(Main.Zero)), x612)) *(new_pr2F0G11(x633, x634, Main.Zero, Main.Succ(Main.Zero))_>=_new_pr2F0(x634, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x633)) *new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) *(new_pr2F0(x705, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x706)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x705, Main.Succ(Main.Succ(Main.Zero)), x706)) *(new_pr2F0(x721, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x722)_>=_new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x721, Main.Succ(Main.Succ(Main.Zero)), x722)) *new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) *(new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), x771, Main.Succ(Main.Succ(Main.Zero)), x772)_>=_new_pr2F32(Main.Succ(Main.Zero), x771, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(x771, x772))) *H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) *(H(x839, x840, x841, cons_new_pr2F0G11(Main.Zero))_>=_new_pr2F0G11(x839, x840, x841, Main.Zero)) *H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) *(H(x935, x936, x937, cons_new_pr2F0G11(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x935, x936, x937, Main.Succ(Main.Zero))) *new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) *(new_pr2F0G2(x1007, x1008, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x1007, x1008, Main.Succ(Main.Zero))) *new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) *(new_pr2F0G2(x1067, x1068, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G12(x1067, x1068, Main.Succ(Main.Zero))) *new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) *(new_pr2F0G2(x1142, x1143, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1144)))))_>=_new_pr2F0G12(x1142, x1143, Main.Succ(Main.Succ(new_primDivNatS1(x1144))))) *(new_pr2F0G2(x1181, x1182, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_pr2F0G12(x1181, x1182, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) *(new_pr2F0G2(x1181, x1182, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2422)))))))))_>=_new_pr2F0G12(x1181, x1182, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2422))))))))) *(new_pr2F0G2(x1186, x1187, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_pr2F0G12(x1186, x1187, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) *(new_pr2F0G2(x1186, x1187, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2428)))))))))_>=_new_pr2F0G12(x1186, x1187, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2428))))))))) *(new_pr2F0G2(x1197, x1198, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_pr2F0G12(x1197, x1198, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) *(new_pr2F0G2(x1197, x1198, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2434)))))))))_>=_new_pr2F0G12(x1197, x1198, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2434))))))))) *(new_pr2F0G2(x1202, x1203, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_pr2F0G12(x1202, x1203, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) *(new_pr2F0G2(x1202, x1203, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2440)))))))))_>=_new_pr2F0G12(x1202, x1203, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2440))))))))) *(new_pr2F0G2(x1216, x1217, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_pr2F0G12(x1216, x1217, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) *(new_pr2F0G2(x1216, x1217, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2447)))))))))_>=_new_pr2F0G12(x1216, x1217, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2447))))))))) *(new_pr2F0G2(x1222, x1223, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_pr2F0G12(x1222, x1223, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) *(new_pr2F0G2(x1222, x1223, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2454)))))))))_>=_new_pr2F0G12(x1222, x1223, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2454))))))))) *(new_pr2F0G2(x1227, x1228, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_pr2F0G12(x1227, x1228, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) *(new_pr2F0G2(x1227, x1228, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2460)))))))))_>=_new_pr2F0G12(x1227, x1228, Main.Succ(Main.Succ(new_primDivNatS1(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2460))))))))) *new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) *(new_pr2F0G2(x1242, x1243, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G12(x1242, x1243, Main.Succ(Main.Succ(Main.Zero)))) *new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) *(new_pr2F32(x1320, x1321, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), x1322)_>=_H(x1322, x1321, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero))) *new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) *(new_pr2F32(x1413, x1414, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), x1415)_>=_H(x1415, x1414, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) *new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) *(new_pr2F0G12(x1491, x1492, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))_>=_H(x1491, x1492, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero))) *new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) *(new_pr2F0G12(x1554, x1555, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))_>=_H(x1554, x1555, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) *new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) *(new_pr2F32(x1622, x1623, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), x1624)_>=_H(x1624, x1623, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero))) *new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) *(new_pr2F32(x1715, x1716, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), x1717)_>=_H(x1717, x1716, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) *new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) *(new_pr2F0G12(x1793, x1794, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_H(x1793, x1794, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero))) *new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) *(new_pr2F0G12(x1856, x1857, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_H(x1856, x1857, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) *new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) *(new_pr2F32(x1933, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2463)))))))))), x1936)_>=_H(x1936, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2463))))))))), new_new_pr2F0G11(x2463)) ==> new_pr2F32(x1933, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2463)))))))))))), x1936)_>=_H(x1936, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2463))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2463))))) *(new_pr2F32(x1933, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), x1936)_>=_H(x1936, x1934, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_new_pr2F0G11(Main.Zero))) *(new_pr2F32(x1940, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2467)))))))))), x1943)_>=_H(x1943, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2467))))))))), new_new_pr2F0G11(x2467)) ==> new_pr2F32(x1940, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2467)))))))))))), x1943)_>=_H(x1943, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2467))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2467))))) *(new_pr2F32(x1940, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), x1943)_>=_H(x1943, x1941, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_new_pr2F0G11(Main.Succ(Main.Zero)))) *new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) *(new_pr2F32(x2046, x2047, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2048)_>=_H(x2048, x2047, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero))) *new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) *(new_pr2F32(x2139, x2140, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), x2141)_>=_H(x2141, x2140, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) *new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) *(new_pr2F0G12(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2471)))))))))))_>=_H(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2471))))))))), new_new_pr2F0G11(x2471)) ==> new_pr2F0G12(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2471)))))))))))))_>=_H(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2471))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2471))))) *(new_pr2F0G12(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))_>=_H(x2226, x2227, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_new_pr2F0G11(Main.Zero))) *(new_pr2F0G12(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2474)))))))))))_>=_H(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2474))))))))), new_new_pr2F0G11(x2474)) ==> new_pr2F0G12(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2474)))))))))))))_>=_H(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2474))))))))))), new_new_pr2F0G11(Main.Succ(Main.Succ(x2474))))) *(new_pr2F0G12(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))_>=_H(x2232, x2233, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_new_pr2F0G11(Main.Succ(Main.Zero)))) *new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) *(new_pr2F0G12(x2310, x2311, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_H(x2310, x2311, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero))) *new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) *(new_pr2F0G12(x2373, x2374, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x2373, x2374, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero)))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (132) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) new_pr2F0(z1, z2, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z1, Main.Succ(Main.Succ(new_primPlusNat0(z2, Main.Zero))), z0) new_pr2F31(Main.Succ(Main.Succ(y_0)), z0, Main.Succ(Main.Succ(y_1)), z2) -> new_pr2F32(Main.Succ(y_0), z0, Main.Succ(Main.Succ(y_1)), new_srMyInt0(z0, z2)) new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) new_pr2F0(z1, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), z0) -> new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z1, Main.Succ(Main.Succ(Main.Zero)), z0) new_pr2F31(Main.Succ(Main.Succ(Main.Zero)), z0, Main.Succ(Main.Succ(Main.Zero)), z1) -> new_pr2F32(Main.Succ(Main.Zero), z0, Main.Succ(Main.Succ(Main.Zero)), new_srMyInt0(z0, z1)) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F32(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), y3) -> H(y3, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))))), new_new_pr2F0G11(x0)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), cons_new_pr2F0G11(Main.Zero)) new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_pr2F0G11(Main.Succ(Main.Zero))) The TRS R consists of the following rules: new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) new_primDivNatS1(Main.Zero) -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_primDivNatS0 -> Main.Zero new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat2(Main.Zero) -> Main.Zero new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) new_new_pr2F0G11(Main.Zero) new_new_pr2F0G11(Main.Succ(Main.Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (133) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (134) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4 ---------------------------------------- (135) YES ---------------------------------------- (136) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F3(Main.Succ(vx710), Main.Succ(vx82000), vx70, vx69) -> new_pr2F3(vx710, vx82000, vx70, vx69) The TRS R consists of the following rules: new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) new_primDivNatS1(Main.Zero) -> Main.Zero new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero new_primMulNat5(Main.Zero) -> Main.Zero new_primMulNat5(Main.Succ(vx44000000)) -> new_primPlusNat0(new_primMulNat0(vx44000000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx44000000)))))) new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) new_primMulNat3(Main.Zero) -> Main.Zero new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) new_primDivNatS0 -> Main.Zero new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) new_primMulNat1(Main.Zero) -> Main.Zero new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) new_primMulNat4(Main.Zero) -> Main.Zero new_primMulNat2(Main.Zero) -> Main.Zero The set Q consists of the following terms: new_primDivNatS1(Main.Zero) new_primMulNat0(Main.Zero, Main.Succ(x0)) new_primMulNat1(Main.Zero) new_fromIntMyInt new_primMulNat0(Main.Succ(x0), Main.Zero) new_primPlusNat0(Main.Zero, Main.Succ(x0)) new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) new_primDivNatS0 new_primDivNatS1(Main.Succ(Main.Succ(x0))) new_primMulNat1(Main.Succ(x0)) new_primMulNat5(Main.Succ(x0)) new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) new_primMulNat5(Main.Zero) new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) new_primPlusNat0(Main.Zero, Main.Zero) new_srMyInt(Main.Neg(x0)) new_primDivNatS1(Main.Succ(Main.Zero)) new_primMulNat4(Main.Succ(x0)) new_primMulNat3(Main.Succ(x0)) new_primMulNat4(Main.Zero) new_srMyInt(Main.Pos(x0)) new_primMulNat2(Main.Zero) new_primMulNat2(Main.Succ(x0)) new_primMulNat3(Main.Zero) new_primPlusNat0(Main.Succ(x0), Main.Zero) new_primMulNat0(Main.Zero, Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (137) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *new_pr2F3(Main.Succ(vx710), Main.Succ(vx82000), vx70, vx69) -> new_pr2F3(vx710, vx82000, vx70, vx69) The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3, 4 >= 4 ---------------------------------------- (138) YES ---------------------------------------- (139) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMulNat(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primMulNat(vx7000, Main.Succ(vx6900)) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (140) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *new_primMulNat(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primMulNat(vx7000, Main.Succ(vx6900)) The graph contains the following edges 1 > 1, 2 >= 2 ---------------------------------------- (141) YES ---------------------------------------- (142) Obligation: Q DP problem: The TRS P consists of the following rules: new_primPlusNat(Main.Succ(vx4000), Main.Succ(vx5000)) -> new_primPlusNat(vx4000, vx5000) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (143) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *new_primPlusNat(Main.Succ(vx4000), Main.Succ(vx5000)) -> new_primPlusNat(vx4000, vx5000) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (144) YES ---------------------------------------- (145) Narrow (COMPLETE) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="pr",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="pr vx3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="pr vx3 vx4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="pr4 vx3 vx4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6[label="pr3 (esEsMyInt vx4 (fromIntMyInt (Pos Zero))) vx3 vx4",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 7[label="pr3 (primEqInt vx4 (fromIntMyInt (Pos Zero))) vx3 vx4",fontsize=16,color="burlywood",shape="box"];1176[label="vx4/Pos vx40",fontsize=10,color="white",style="solid",shape="box"];7 -> 1176[label="",style="solid", color="burlywood", weight=9]; 1176 -> 8[label="",style="solid", color="burlywood", weight=3]; 1177[label="vx4/Neg vx40",fontsize=10,color="white",style="solid",shape="box"];7 -> 1177[label="",style="solid", color="burlywood", weight=9]; 1177 -> 9[label="",style="solid", color="burlywood", weight=3]; 8[label="pr3 (primEqInt (Pos vx40) (fromIntMyInt (Pos Zero))) vx3 (Pos vx40)",fontsize=16,color="burlywood",shape="box"];1178[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];8 -> 1178[label="",style="solid", color="burlywood", weight=9]; 1178 -> 10[label="",style="solid", color="burlywood", weight=3]; 1179[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];8 -> 1179[label="",style="solid", color="burlywood", weight=9]; 1179 -> 11[label="",style="solid", color="burlywood", weight=3]; 9[label="pr3 (primEqInt (Neg vx40) (fromIntMyInt (Pos Zero))) vx3 (Neg vx40)",fontsize=16,color="burlywood",shape="box"];1180[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];9 -> 1180[label="",style="solid", color="burlywood", weight=9]; 1180 -> 12[label="",style="solid", color="burlywood", weight=3]; 1181[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];9 -> 1181[label="",style="solid", color="burlywood", weight=9]; 1181 -> 13[label="",style="solid", color="burlywood", weight=3]; 10[label="pr3 (primEqInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero))) vx3 (Pos (Succ vx400))",fontsize=16,color="black",shape="box"];10 -> 14[label="",style="solid", color="black", weight=3]; 11[label="pr3 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx3 (Pos Zero)",fontsize=16,color="black",shape="box"];11 -> 15[label="",style="solid", color="black", weight=3]; 12[label="pr3 (primEqInt (Neg (Succ vx400)) (fromIntMyInt (Pos Zero))) vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];12 -> 16[label="",style="solid", color="black", weight=3]; 13[label="pr3 (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero))) vx3 (Neg Zero)",fontsize=16,color="black",shape="box"];13 -> 17[label="",style="solid", color="black", weight=3]; 14[label="pr3 (primEqInt (Pos (Succ vx400)) (Pos Zero)) vx3 (Pos (Succ vx400))",fontsize=16,color="black",shape="box"];14 -> 18[label="",style="solid", color="black", weight=3]; 15[label="pr3 (primEqInt (Pos Zero) (Pos Zero)) vx3 (Pos Zero)",fontsize=16,color="black",shape="box"];15 -> 19[label="",style="solid", color="black", weight=3]; 16[label="pr3 (primEqInt (Neg (Succ vx400)) (Pos Zero)) vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];16 -> 20[label="",style="solid", color="black", weight=3]; 17[label="pr3 (primEqInt (Neg Zero) (Pos Zero)) vx3 (Neg Zero)",fontsize=16,color="black",shape="box"];17 -> 21[label="",style="solid", color="black", weight=3]; 18[label="pr3 MyFalse vx3 (Pos (Succ vx400))",fontsize=16,color="black",shape="box"];18 -> 22[label="",style="solid", color="black", weight=3]; 19[label="pr3 MyTrue vx3 (Pos Zero)",fontsize=16,color="black",shape="box"];19 -> 23[label="",style="solid", color="black", weight=3]; 20[label="pr3 MyFalse vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];20 -> 24[label="",style="solid", color="black", weight=3]; 21[label="pr3 MyTrue vx3 (Neg Zero)",fontsize=16,color="black",shape="box"];21 -> 25[label="",style="solid", color="black", weight=3]; 22[label="pr2 vx3 (Pos (Succ vx400))",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 23[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];23 -> 27[label="",style="solid", color="black", weight=3]; 24[label="pr2 vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 25 -> 23[label="",style="dashed", color="red", weight=0]; 25[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];26[label="pr2Pr1 vx3 (Pos (Succ vx400)) (gtMyInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];26 -> 29[label="",style="solid", color="black", weight=3]; 27[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];28[label="pr2Pr1 vx3 (Neg (Succ vx400)) (gtMyInt (Neg (Succ vx400)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];28 -> 30[label="",style="solid", color="black", weight=3]; 29[label="pr2Pr1 vx3 (Pos (Succ vx400)) (esEsOrdering (compareMyInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero))) GT)",fontsize=16,color="black",shape="box"];29 -> 31[label="",style="solid", color="black", weight=3]; 30[label="pr2Pr1 vx3 (Neg (Succ vx400)) (esEsOrdering (compareMyInt (Neg (Succ vx400)) (fromIntMyInt (Pos Zero))) GT)",fontsize=16,color="black",shape="box"];30 -> 32[label="",style="solid", color="black", weight=3]; 31[label="pr2Pr1 vx3 (Pos (Succ vx400)) (esEsOrdering (primCmpInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero))) GT)",fontsize=16,color="black",shape="box"];31 -> 33[label="",style="solid", color="black", weight=3]; 32[label="pr2Pr1 vx3 (Neg (Succ vx400)) (esEsOrdering (primCmpInt (Neg (Succ vx400)) (fromIntMyInt (Pos Zero))) GT)",fontsize=16,color="black",shape="box"];32 -> 34[label="",style="solid", color="black", weight=3]; 33[label="pr2Pr1 vx3 (Pos (Succ vx400)) (esEsOrdering (primCmpInt (Pos (Succ vx400)) (Pos Zero)) GT)",fontsize=16,color="black",shape="box"];33 -> 35[label="",style="solid", color="black", weight=3]; 34[label="pr2Pr1 vx3 (Neg (Succ vx400)) (esEsOrdering (primCmpInt (Neg (Succ vx400)) (Pos Zero)) GT)",fontsize=16,color="black",shape="box"];34 -> 36[label="",style="solid", color="black", weight=3]; 35[label="pr2Pr1 vx3 (Pos (Succ vx400)) (esEsOrdering (primCmpNat (Succ vx400) Zero) GT)",fontsize=16,color="black",shape="box"];35 -> 37[label="",style="solid", color="black", weight=3]; 36[label="pr2Pr1 vx3 (Neg (Succ vx400)) (esEsOrdering LT GT)",fontsize=16,color="black",shape="box"];36 -> 38[label="",style="solid", color="black", weight=3]; 37[label="pr2Pr1 vx3 (Pos (Succ vx400)) (esEsOrdering GT GT)",fontsize=16,color="black",shape="box"];37 -> 39[label="",style="solid", color="black", weight=3]; 38[label="pr2Pr1 vx3 (Neg (Succ vx400)) MyFalse",fontsize=16,color="black",shape="box"];38 -> 40[label="",style="solid", color="black", weight=3]; 39[label="pr2Pr1 vx3 (Pos (Succ vx400)) MyTrue",fontsize=16,color="black",shape="box"];39 -> 41[label="",style="solid", color="black", weight=3]; 40[label="pr0 vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];40 -> 42[label="",style="solid", color="black", weight=3]; 41 -> 43[label="",style="dashed", color="red", weight=0]; 41[label="pr2F vx3 (msMyInt (Pos (Succ vx400)) (fromIntMyInt (Pos (Succ Zero)))) vx3",fontsize=16,color="magenta"];41 -> 44[label="",style="dashed", color="magenta", weight=3]; 42[label="error",fontsize=16,color="black",shape="box"];42 -> 45[label="",style="solid", color="black", weight=3]; 44 -> 23[label="",style="dashed", color="red", weight=0]; 44[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];43[label="pr2F vx3 (msMyInt (Pos (Succ vx400)) vx5) vx3",fontsize=16,color="black",shape="triangle"];43 -> 46[label="",style="solid", color="black", weight=3]; 45[label="stop MyTrue",fontsize=16,color="black",shape="box"];45 -> 47[label="",style="solid", color="black", weight=3]; 46[label="pr2F4 vx3 (msMyInt (Pos (Succ vx400)) vx5) vx3",fontsize=16,color="black",shape="box"];46 -> 48[label="",style="solid", color="black", weight=3]; 47[label="error []",fontsize=16,color="red",shape="box"];48[label="pr2F3 (esEsMyInt (msMyInt (Pos (Succ vx400)) vx5) (fromIntMyInt (Pos Zero))) vx3 (msMyInt (Pos (Succ vx400)) vx5) vx3",fontsize=16,color="black",shape="box"];48 -> 49[label="",style="solid", color="black", weight=3]; 49[label="pr2F3 (primEqInt (msMyInt (Pos (Succ vx400)) vx5) (fromIntMyInt (Pos Zero))) vx3 (msMyInt (Pos (Succ vx400)) vx5) vx3",fontsize=16,color="black",shape="box"];49 -> 50[label="",style="solid", color="black", weight=3]; 50[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx400)) vx5) (fromIntMyInt (Pos Zero))) vx3 (primMinusInt (Pos (Succ vx400)) vx5) vx3",fontsize=16,color="burlywood",shape="box"];1182[label="vx5/Pos vx50",fontsize=10,color="white",style="solid",shape="box"];50 -> 1182[label="",style="solid", color="burlywood", weight=9]; 1182 -> 51[label="",style="solid", color="burlywood", weight=3]; 1183[label="vx5/Neg vx50",fontsize=10,color="white",style="solid",shape="box"];50 -> 1183[label="",style="solid", color="burlywood", weight=9]; 1183 -> 52[label="",style="solid", color="burlywood", weight=3]; 51[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx400)) (Pos vx50)) (fromIntMyInt (Pos Zero))) vx3 (primMinusInt (Pos (Succ vx400)) (Pos vx50)) vx3",fontsize=16,color="black",shape="box"];51 -> 53[label="",style="solid", color="black", weight=3]; 52[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx400)) (Neg vx50)) (fromIntMyInt (Pos Zero))) vx3 (primMinusInt (Pos (Succ vx400)) (Neg vx50)) vx3",fontsize=16,color="black",shape="box"];52 -> 54[label="",style="solid", color="black", weight=3]; 53[label="pr2F3 (primEqInt (primMinusNat (Succ vx400) vx50) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx400) vx50) vx3",fontsize=16,color="burlywood",shape="box"];1184[label="vx50/Succ vx500",fontsize=10,color="white",style="solid",shape="box"];53 -> 1184[label="",style="solid", color="burlywood", weight=9]; 1184 -> 55[label="",style="solid", color="burlywood", weight=3]; 1185[label="vx50/Zero",fontsize=10,color="white",style="solid",shape="box"];53 -> 1185[label="",style="solid", color="burlywood", weight=9]; 1185 -> 56[label="",style="solid", color="burlywood", weight=3]; 54[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vx400) vx50)) (fromIntMyInt (Pos Zero))) vx3 (Pos (primPlusNat (Succ vx400) vx50)) vx3",fontsize=16,color="burlywood",shape="box"];1186[label="vx50/Succ vx500",fontsize=10,color="white",style="solid",shape="box"];54 -> 1186[label="",style="solid", color="burlywood", weight=9]; 1186 -> 57[label="",style="solid", color="burlywood", weight=3]; 1187[label="vx50/Zero",fontsize=10,color="white",style="solid",shape="box"];54 -> 1187[label="",style="solid", color="burlywood", weight=9]; 1187 -> 58[label="",style="solid", color="burlywood", weight=3]; 55[label="pr2F3 (primEqInt (primMinusNat (Succ vx400) (Succ vx500)) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx400) (Succ vx500)) vx3",fontsize=16,color="black",shape="box"];55 -> 59[label="",style="solid", color="black", weight=3]; 56[label="pr2F3 (primEqInt (primMinusNat (Succ vx400) Zero) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx400) Zero) vx3",fontsize=16,color="black",shape="box"];56 -> 60[label="",style="solid", color="black", weight=3]; 57[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vx400) (Succ vx500))) (fromIntMyInt (Pos Zero))) vx3 (Pos (primPlusNat (Succ vx400) (Succ vx500))) vx3",fontsize=16,color="black",shape="box"];57 -> 61[label="",style="solid", color="black", weight=3]; 58[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vx400) Zero)) (fromIntMyInt (Pos Zero))) vx3 (Pos (primPlusNat (Succ vx400) Zero)) vx3",fontsize=16,color="black",shape="box"];58 -> 62[label="",style="solid", color="black", weight=3]; 59[label="pr2F3 (primEqInt (primMinusNat vx400 vx500) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat vx400 vx500) vx3",fontsize=16,color="burlywood",shape="triangle"];1188[label="vx400/Succ vx4000",fontsize=10,color="white",style="solid",shape="box"];59 -> 1188[label="",style="solid", color="burlywood", weight=9]; 1188 -> 63[label="",style="solid", color="burlywood", weight=3]; 1189[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];59 -> 1189[label="",style="solid", color="burlywood", weight=9]; 1189 -> 64[label="",style="solid", color="burlywood", weight=3]; 60 -> 414[label="",style="dashed", color="red", weight=0]; 60[label="pr2F3 (primEqInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero))) vx3 (Pos (Succ vx400)) vx3",fontsize=16,color="magenta"];60 -> 415[label="",style="dashed", color="magenta", weight=3]; 60 -> 416[label="",style="dashed", color="magenta", weight=3]; 60 -> 417[label="",style="dashed", color="magenta", weight=3]; 61 -> 414[label="",style="dashed", color="red", weight=0]; 61[label="pr2F3 (primEqInt (Pos (Succ (Succ (primPlusNat vx400 vx500)))) (fromIntMyInt (Pos Zero))) vx3 (Pos (Succ (Succ (primPlusNat vx400 vx500)))) vx3",fontsize=16,color="magenta"];61 -> 418[label="",style="dashed", color="magenta", weight=3]; 61 -> 419[label="",style="dashed", color="magenta", weight=3]; 61 -> 420[label="",style="dashed", color="magenta", weight=3]; 62 -> 414[label="",style="dashed", color="red", weight=0]; 62[label="pr2F3 (primEqInt (Pos (Succ vx400)) (fromIntMyInt (Pos Zero))) vx3 (Pos (Succ vx400)) vx3",fontsize=16,color="magenta"];62 -> 421[label="",style="dashed", color="magenta", weight=3]; 62 -> 422[label="",style="dashed", color="magenta", weight=3]; 62 -> 423[label="",style="dashed", color="magenta", weight=3]; 63[label="pr2F3 (primEqInt (primMinusNat (Succ vx4000) vx500) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx4000) vx500) vx3",fontsize=16,color="burlywood",shape="box"];1190[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];63 -> 1190[label="",style="solid", color="burlywood", weight=9]; 1190 -> 67[label="",style="solid", color="burlywood", weight=3]; 1191[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];63 -> 1191[label="",style="solid", color="burlywood", weight=9]; 1191 -> 68[label="",style="solid", color="burlywood", weight=3]; 64[label="pr2F3 (primEqInt (primMinusNat Zero vx500) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat Zero vx500) vx3",fontsize=16,color="burlywood",shape="box"];1192[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];64 -> 1192[label="",style="solid", color="burlywood", weight=9]; 1192 -> 69[label="",style="solid", color="burlywood", weight=3]; 1193[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];64 -> 1193[label="",style="solid", color="burlywood", weight=9]; 1193 -> 70[label="",style="solid", color="burlywood", weight=3]; 415[label="vx3",fontsize=16,color="green",shape="box"];416[label="vx3",fontsize=16,color="green",shape="box"];417[label="vx400",fontsize=16,color="green",shape="box"];414[label="pr2F3 (primEqInt (Pos (Succ vx23000)) (fromIntMyInt (Pos Zero))) vx12 (Pos (Succ vx23000)) vx33",fontsize=16,color="black",shape="triangle"];414 -> 428[label="",style="solid", color="black", weight=3]; 418[label="vx3",fontsize=16,color="green",shape="box"];419[label="vx3",fontsize=16,color="green",shape="box"];420[label="Succ (primPlusNat vx400 vx500)",fontsize=16,color="green",shape="box"];420 -> 429[label="",style="dashed", color="green", weight=3]; 421[label="vx3",fontsize=16,color="green",shape="box"];422[label="vx3",fontsize=16,color="green",shape="box"];423[label="vx400",fontsize=16,color="green",shape="box"];67[label="pr2F3 (primEqInt (primMinusNat (Succ vx4000) (Succ vx5000)) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx4000) (Succ vx5000)) vx3",fontsize=16,color="black",shape="box"];67 -> 73[label="",style="solid", color="black", weight=3]; 68[label="pr2F3 (primEqInt (primMinusNat (Succ vx4000) Zero) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat (Succ vx4000) Zero) vx3",fontsize=16,color="black",shape="box"];68 -> 74[label="",style="solid", color="black", weight=3]; 69[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vx5000)) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat Zero (Succ vx5000)) vx3",fontsize=16,color="black",shape="box"];69 -> 75[label="",style="solid", color="black", weight=3]; 70[label="pr2F3 (primEqInt (primMinusNat Zero Zero) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat Zero Zero) vx3",fontsize=16,color="black",shape="box"];70 -> 76[label="",style="solid", color="black", weight=3]; 428[label="pr2F3 (primEqInt (Pos (Succ vx23000)) (Pos Zero)) vx12 (Pos (Succ vx23000)) vx33",fontsize=16,color="black",shape="box"];428 -> 436[label="",style="solid", color="black", weight=3]; 429 -> 72[label="",style="dashed", color="red", weight=0]; 429[label="primPlusNat vx400 vx500",fontsize=16,color="magenta"];73 -> 59[label="",style="dashed", color="red", weight=0]; 73[label="pr2F3 (primEqInt (primMinusNat vx4000 vx5000) (fromIntMyInt (Pos Zero))) vx3 (primMinusNat vx4000 vx5000) vx3",fontsize=16,color="magenta"];73 -> 80[label="",style="dashed", color="magenta", weight=3]; 73 -> 81[label="",style="dashed", color="magenta", weight=3]; 74 -> 414[label="",style="dashed", color="red", weight=0]; 74[label="pr2F3 (primEqInt (Pos (Succ vx4000)) (fromIntMyInt (Pos Zero))) vx3 (Pos (Succ vx4000)) vx3",fontsize=16,color="magenta"];74 -> 424[label="",style="dashed", color="magenta", weight=3]; 74 -> 425[label="",style="dashed", color="magenta", weight=3]; 74 -> 426[label="",style="dashed", color="magenta", weight=3]; 75[label="pr2F3 (primEqInt (Neg (Succ vx5000)) (fromIntMyInt (Pos Zero))) vx3 (Neg (Succ vx5000)) vx3",fontsize=16,color="black",shape="box"];75 -> 83[label="",style="solid", color="black", weight=3]; 76 -> 432[label="",style="dashed", color="red", weight=0]; 76[label="pr2F3 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx3 (Pos Zero) vx3",fontsize=16,color="magenta"];76 -> 433[label="",style="dashed", color="magenta", weight=3]; 76 -> 434[label="",style="dashed", color="magenta", weight=3]; 436[label="pr2F3 MyFalse vx12 (Pos (Succ vx23000)) vx33",fontsize=16,color="black",shape="box"];436 -> 440[label="",style="solid", color="black", weight=3]; 72[label="primPlusNat vx400 vx500",fontsize=16,color="burlywood",shape="triangle"];1194[label="vx400/Succ vx4000",fontsize=10,color="white",style="solid",shape="box"];72 -> 1194[label="",style="solid", color="burlywood", weight=9]; 1194 -> 78[label="",style="solid", color="burlywood", weight=3]; 1195[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];72 -> 1195[label="",style="solid", color="burlywood", weight=9]; 1195 -> 79[label="",style="solid", color="burlywood", weight=3]; 80[label="vx4000",fontsize=16,color="green",shape="box"];81[label="vx5000",fontsize=16,color="green",shape="box"];424[label="vx3",fontsize=16,color="green",shape="box"];425[label="vx3",fontsize=16,color="green",shape="box"];426[label="vx4000",fontsize=16,color="green",shape="box"];83 -> 764[label="",style="dashed", color="red", weight=0]; 83[label="pr2F3 (primEqInt (Neg (Succ vx5000)) (Pos Zero)) vx3 (Neg (Succ vx5000)) vx3",fontsize=16,color="magenta"];83 -> 765[label="",style="dashed", color="magenta", weight=3]; 83 -> 766[label="",style="dashed", color="magenta", weight=3]; 83 -> 767[label="",style="dashed", color="magenta", weight=3]; 83 -> 768[label="",style="dashed", color="magenta", weight=3]; 433[label="vx3",fontsize=16,color="green",shape="box"];434[label="vx3",fontsize=16,color="green",shape="box"];432[label="pr2F3 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx12 (Pos Zero) vx34",fontsize=16,color="black",shape="triangle"];432 -> 437[label="",style="solid", color="black", weight=3]; 440[label="pr2F0 vx12 (Pos (Succ vx23000)) vx33",fontsize=16,color="black",shape="box"];440 -> 444[label="",style="solid", color="black", weight=3]; 78[label="primPlusNat (Succ vx4000) vx500",fontsize=16,color="burlywood",shape="box"];1196[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];78 -> 1196[label="",style="solid", color="burlywood", weight=9]; 1196 -> 86[label="",style="solid", color="burlywood", weight=3]; 1197[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];78 -> 1197[label="",style="solid", color="burlywood", weight=9]; 1197 -> 87[label="",style="solid", color="burlywood", weight=3]; 79[label="primPlusNat Zero vx500",fontsize=16,color="burlywood",shape="box"];1198[label="vx500/Succ vx5000",fontsize=10,color="white",style="solid",shape="box"];79 -> 1198[label="",style="solid", color="burlywood", weight=9]; 1198 -> 88[label="",style="solid", color="burlywood", weight=3]; 1199[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];79 -> 1199[label="",style="solid", color="burlywood", weight=9]; 1199 -> 89[label="",style="solid", color="burlywood", weight=3]; 765[label="vx3",fontsize=16,color="green",shape="box"];766[label="vx3",fontsize=16,color="green",shape="box"];767[label="Succ vx5000",fontsize=16,color="green",shape="box"];768[label="vx5000",fontsize=16,color="green",shape="box"];764[label="pr2F3 (primEqInt (Neg (Succ vx620)) (Pos Zero)) vx50 (Neg vx61) vx64",fontsize=16,color="black",shape="triangle"];764 -> 770[label="",style="solid", color="black", weight=3]; 437[label="pr2F3 (primEqInt (Pos Zero) (Pos Zero)) vx12 (Pos Zero) vx34",fontsize=16,color="black",shape="box"];437 -> 441[label="",style="solid", color="black", weight=3]; 444 -> 771[label="",style="dashed", color="red", weight=0]; 444[label="pr2F0G vx33 vx12 (Pos (Succ vx23000))",fontsize=16,color="magenta"];444 -> 772[label="",style="dashed", color="magenta", weight=3]; 444 -> 773[label="",style="dashed", color="magenta", weight=3]; 444 -> 774[label="",style="dashed", color="magenta", weight=3]; 86[label="primPlusNat (Succ vx4000) (Succ vx5000)",fontsize=16,color="black",shape="box"];86 -> 93[label="",style="solid", color="black", weight=3]; 87[label="primPlusNat (Succ vx4000) Zero",fontsize=16,color="black",shape="box"];87 -> 94[label="",style="solid", color="black", weight=3]; 88[label="primPlusNat Zero (Succ vx5000)",fontsize=16,color="black",shape="box"];88 -> 95[label="",style="solid", color="black", weight=3]; 89[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];89 -> 96[label="",style="solid", color="black", weight=3]; 770[label="pr2F3 MyFalse vx50 (Neg vx61) vx64",fontsize=16,color="black",shape="box"];770 -> 776[label="",style="solid", color="black", weight=3]; 441[label="pr2F3 MyTrue vx12 (Pos Zero) vx34",fontsize=16,color="black",shape="box"];441 -> 445[label="",style="solid", color="black", weight=3]; 772[label="vx33",fontsize=16,color="green",shape="box"];773[label="vx12",fontsize=16,color="green",shape="box"];774[label="Succ vx23000",fontsize=16,color="green",shape="box"];771[label="pr2F0G vx65 vx44 (Pos vx59)",fontsize=16,color="black",shape="triangle"];771 -> 777[label="",style="solid", color="black", weight=3]; 93[label="Succ (Succ (primPlusNat vx4000 vx5000))",fontsize=16,color="green",shape="box"];93 -> 100[label="",style="dashed", color="green", weight=3]; 94[label="Succ vx4000",fontsize=16,color="green",shape="box"];95[label="Succ vx5000",fontsize=16,color="green",shape="box"];96[label="Zero",fontsize=16,color="green",shape="box"];776[label="pr2F0 vx50 (Neg vx61) vx64",fontsize=16,color="black",shape="box"];776 -> 778[label="",style="solid", color="black", weight=3]; 445[label="vx34",fontsize=16,color="green",shape="box"];777[label="pr2F0G2 vx65 vx44 (Pos vx59)",fontsize=16,color="black",shape="box"];777 -> 779[label="",style="solid", color="black", weight=3]; 100 -> 72[label="",style="dashed", color="red", weight=0]; 100[label="primPlusNat vx4000 vx5000",fontsize=16,color="magenta"];100 -> 103[label="",style="dashed", color="magenta", weight=3]; 100 -> 104[label="",style="dashed", color="magenta", weight=3]; 778[label="pr2F0G vx64 vx50 (Neg vx61)",fontsize=16,color="black",shape="box"];778 -> 780[label="",style="solid", color="black", weight=3]; 779[label="pr2F0G1 vx65 vx44 (Pos vx59) (evenMyInt (Pos vx59))",fontsize=16,color="black",shape="box"];779 -> 781[label="",style="solid", color="black", weight=3]; 103[label="vx5000",fontsize=16,color="green",shape="box"];104[label="vx4000",fontsize=16,color="green",shape="box"];780[label="pr2F0G2 vx64 vx50 (Neg vx61)",fontsize=16,color="black",shape="box"];780 -> 782[label="",style="solid", color="black", weight=3]; 781[label="pr2F0G1 vx65 vx44 (Pos vx59) (primEvenInt (Pos vx59))",fontsize=16,color="black",shape="triangle"];781 -> 783[label="",style="solid", color="black", weight=3]; 782[label="pr2F0G1 vx64 vx50 (Neg vx61) (evenMyInt (Neg vx61))",fontsize=16,color="black",shape="box"];782 -> 784[label="",style="solid", color="black", weight=3]; 783[label="pr2F0G1 vx65 vx44 (Pos vx59) (primEvenNat vx59)",fontsize=16,color="burlywood",shape="box"];1200[label="vx59/Succ vx590",fontsize=10,color="white",style="solid",shape="box"];783 -> 1200[label="",style="solid", color="burlywood", weight=9]; 1200 -> 785[label="",style="solid", color="burlywood", weight=3]; 1201[label="vx59/Zero",fontsize=10,color="white",style="solid",shape="box"];783 -> 1201[label="",style="solid", color="burlywood", weight=9]; 1201 -> 786[label="",style="solid", color="burlywood", weight=3]; 784[label="pr2F0G1 vx64 vx50 (Neg vx61) (primEvenInt (Neg vx61))",fontsize=16,color="black",shape="triangle"];784 -> 787[label="",style="solid", color="black", weight=3]; 785[label="pr2F0G1 vx65 vx44 (Pos (Succ vx590)) (primEvenNat (Succ vx590))",fontsize=16,color="burlywood",shape="box"];1202[label="vx590/Succ vx5900",fontsize=10,color="white",style="solid",shape="box"];785 -> 1202[label="",style="solid", color="burlywood", weight=9]; 1202 -> 788[label="",style="solid", color="burlywood", weight=3]; 1203[label="vx590/Zero",fontsize=10,color="white",style="solid",shape="box"];785 -> 1203[label="",style="solid", color="burlywood", weight=9]; 1203 -> 789[label="",style="solid", color="burlywood", weight=3]; 786[label="pr2F0G1 vx65 vx44 (Pos Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];786 -> 790[label="",style="solid", color="black", weight=3]; 787[label="pr2F0G1 vx64 vx50 (Neg vx61) (primEvenNat vx61)",fontsize=16,color="burlywood",shape="box"];1204[label="vx61/Succ vx610",fontsize=10,color="white",style="solid",shape="box"];787 -> 1204[label="",style="solid", color="burlywood", weight=9]; 1204 -> 791[label="",style="solid", color="burlywood", weight=3]; 1205[label="vx61/Zero",fontsize=10,color="white",style="solid",shape="box"];787 -> 1205[label="",style="solid", color="burlywood", weight=9]; 1205 -> 792[label="",style="solid", color="burlywood", weight=3]; 788[label="pr2F0G1 vx65 vx44 (Pos (Succ (Succ vx5900))) (primEvenNat (Succ (Succ vx5900)))",fontsize=16,color="black",shape="box"];788 -> 793[label="",style="solid", color="black", weight=3]; 789[label="pr2F0G1 vx65 vx44 (Pos (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];789 -> 794[label="",style="solid", color="black", weight=3]; 790[label="pr2F0G1 vx65 vx44 (Pos Zero) MyTrue",fontsize=16,color="black",shape="box"];790 -> 795[label="",style="solid", color="black", weight=3]; 791[label="pr2F0G1 vx64 vx50 (Neg (Succ vx610)) (primEvenNat (Succ vx610))",fontsize=16,color="burlywood",shape="box"];1206[label="vx610/Succ vx6100",fontsize=10,color="white",style="solid",shape="box"];791 -> 1206[label="",style="solid", color="burlywood", weight=9]; 1206 -> 796[label="",style="solid", color="burlywood", weight=3]; 1207[label="vx610/Zero",fontsize=10,color="white",style="solid",shape="box"];791 -> 1207[label="",style="solid", color="burlywood", weight=9]; 1207 -> 797[label="",style="solid", color="burlywood", weight=3]; 792[label="pr2F0G1 vx64 vx50 (Neg Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];792 -> 798[label="",style="solid", color="black", weight=3]; 793 -> 865[label="",style="dashed", color="red", weight=0]; 793[label="pr2F0G1 vx65 vx44 (Pos (Succ (Succ vx5900))) (primEvenNat vx5900)",fontsize=16,color="magenta"];793 -> 866[label="",style="dashed", color="magenta", weight=3]; 793 -> 867[label="",style="dashed", color="magenta", weight=3]; 793 -> 868[label="",style="dashed", color="magenta", weight=3]; 793 -> 869[label="",style="dashed", color="magenta", weight=3]; 794[label="pr2F0G1 vx65 vx44 (Pos (Succ Zero)) MyFalse",fontsize=16,color="black",shape="box"];794 -> 801[label="",style="solid", color="black", weight=3]; 795[label="pr2F0G vx65 (srMyInt vx44 vx44) (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];795 -> 802[label="",style="solid", color="black", weight=3]; 796[label="pr2F0G1 vx64 vx50 (Neg (Succ (Succ vx6100))) (primEvenNat (Succ (Succ vx6100)))",fontsize=16,color="black",shape="box"];796 -> 803[label="",style="solid", color="black", weight=3]; 797[label="pr2F0G1 vx64 vx50 (Neg (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];797 -> 804[label="",style="solid", color="black", weight=3]; 798[label="pr2F0G1 vx64 vx50 (Neg Zero) MyTrue",fontsize=16,color="black",shape="box"];798 -> 805[label="",style="solid", color="black", weight=3]; 866[label="vx5900",fontsize=16,color="green",shape="box"];867[label="vx65",fontsize=16,color="green",shape="box"];868[label="Succ vx5900",fontsize=16,color="green",shape="box"];869[label="vx44",fontsize=16,color="green",shape="box"];865[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) (primEvenNat vx72)",fontsize=16,color="burlywood",shape="triangle"];1208[label="vx72/Succ vx720",fontsize=10,color="white",style="solid",shape="box"];865 -> 1208[label="",style="solid", color="burlywood", weight=9]; 1208 -> 878[label="",style="solid", color="burlywood", weight=3]; 1209[label="vx72/Zero",fontsize=10,color="white",style="solid",shape="box"];865 -> 1209[label="",style="solid", color="burlywood", weight=9]; 1209 -> 879[label="",style="solid", color="burlywood", weight=3]; 801[label="pr2F0G0 vx65 vx44 (Pos (Succ Zero)) otherwise",fontsize=16,color="black",shape="box"];801 -> 809[label="",style="solid", color="black", weight=3]; 802[label="pr2F0G2 vx65 (srMyInt vx44 vx44) (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];802 -> 810[label="",style="solid", color="black", weight=3]; 803 -> 896[label="",style="dashed", color="red", weight=0]; 803[label="pr2F0G1 vx64 vx50 (Neg (Succ (Succ vx6100))) (primEvenNat vx6100)",fontsize=16,color="magenta"];803 -> 897[label="",style="dashed", color="magenta", weight=3]; 803 -> 898[label="",style="dashed", color="magenta", weight=3]; 803 -> 899[label="",style="dashed", color="magenta", weight=3]; 803 -> 900[label="",style="dashed", color="magenta", weight=3]; 804[label="pr2F0G1 vx64 vx50 (Neg (Succ Zero)) MyFalse",fontsize=16,color="black",shape="box"];804 -> 813[label="",style="solid", color="black", weight=3]; 805[label="pr2F0G vx64 (srMyInt vx50 vx50) (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];805 -> 814[label="",style="solid", color="black", weight=3]; 878[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) (primEvenNat (Succ vx720))",fontsize=16,color="burlywood",shape="box"];1210[label="vx720/Succ vx7200",fontsize=10,color="white",style="solid",shape="box"];878 -> 1210[label="",style="solid", color="burlywood", weight=9]; 1210 -> 890[label="",style="solid", color="burlywood", weight=3]; 1211[label="vx720/Zero",fontsize=10,color="white",style="solid",shape="box"];878 -> 1211[label="",style="solid", color="burlywood", weight=9]; 1211 -> 891[label="",style="solid", color="burlywood", weight=3]; 879[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];879 -> 892[label="",style="solid", color="black", weight=3]; 809[label="pr2F0G0 vx65 vx44 (Pos (Succ Zero)) MyTrue",fontsize=16,color="black",shape="box"];809 -> 818[label="",style="solid", color="black", weight=3]; 810[label="pr2F0G1 vx65 (srMyInt vx44 vx44) (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (evenMyInt (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];810 -> 819[label="",style="solid", color="black", weight=3]; 897[label="vx64",fontsize=16,color="green",shape="box"];898[label="Succ vx6100",fontsize=16,color="green",shape="box"];899[label="vx6100",fontsize=16,color="green",shape="box"];900[label="vx50",fontsize=16,color="green",shape="box"];896[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) (primEvenNat vx77)",fontsize=16,color="burlywood",shape="triangle"];1212[label="vx77/Succ vx770",fontsize=10,color="white",style="solid",shape="box"];896 -> 1212[label="",style="solid", color="burlywood", weight=9]; 1212 -> 909[label="",style="solid", color="burlywood", weight=3]; 1213[label="vx77/Zero",fontsize=10,color="white",style="solid",shape="box"];896 -> 1213[label="",style="solid", color="burlywood", weight=9]; 1213 -> 910[label="",style="solid", color="burlywood", weight=3]; 813[label="pr2F0G0 vx64 vx50 (Neg (Succ Zero)) otherwise",fontsize=16,color="black",shape="box"];813 -> 823[label="",style="solid", color="black", weight=3]; 814[label="pr2F0G2 vx64 (srMyInt vx50 vx50) (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];814 -> 824[label="",style="solid", color="black", weight=3]; 890[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) (primEvenNat (Succ (Succ vx7200)))",fontsize=16,color="black",shape="box"];890 -> 911[label="",style="solid", color="black", weight=3]; 891[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];891 -> 912[label="",style="solid", color="black", weight=3]; 892[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) MyTrue",fontsize=16,color="black",shape="box"];892 -> 913[label="",style="solid", color="black", weight=3]; 818 -> 958[label="",style="dashed", color="red", weight=0]; 818[label="pr2F vx44 (msMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (srMyInt vx44 vx65)",fontsize=16,color="magenta"];818 -> 959[label="",style="dashed", color="magenta", weight=3]; 818 -> 960[label="",style="dashed", color="magenta", weight=3]; 818 -> 961[label="",style="dashed", color="magenta", weight=3]; 818 -> 962[label="",style="dashed", color="magenta", weight=3]; 819[label="pr2F0G1 vx65 (srMyInt vx44 vx44) (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (quotMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];819 -> 831[label="",style="solid", color="black", weight=3]; 909[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) (primEvenNat (Succ vx770))",fontsize=16,color="burlywood",shape="box"];1214[label="vx770/Succ vx7700",fontsize=10,color="white",style="solid",shape="box"];909 -> 1214[label="",style="solid", color="burlywood", weight=9]; 1214 -> 921[label="",style="solid", color="burlywood", weight=3]; 1215[label="vx770/Zero",fontsize=10,color="white",style="solid",shape="box"];909 -> 1215[label="",style="solid", color="burlywood", weight=9]; 1215 -> 922[label="",style="solid", color="burlywood", weight=3]; 910[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];910 -> 923[label="",style="solid", color="black", weight=3]; 823[label="pr2F0G0 vx64 vx50 (Neg (Succ Zero)) MyTrue",fontsize=16,color="black",shape="box"];823 -> 835[label="",style="solid", color="black", weight=3]; 824[label="pr2F0G1 vx64 (srMyInt vx50 vx50) (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (evenMyInt (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];824 -> 836[label="",style="solid", color="black", weight=3]; 911 -> 865[label="",style="dashed", color="red", weight=0]; 911[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) (primEvenNat vx7200)",fontsize=16,color="magenta"];911 -> 924[label="",style="dashed", color="magenta", weight=3]; 912[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) MyFalse",fontsize=16,color="black",shape="box"];912 -> 925[label="",style="solid", color="black", weight=3]; 913 -> 926[label="",style="dashed", color="red", weight=0]; 913[label="pr2F0G vx69 (srMyInt vx70 vx70) (quotMyInt (Pos (Succ vx71)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="magenta"];913 -> 927[label="",style="dashed", color="magenta", weight=3]; 959 -> 23[label="",style="dashed", color="red", weight=0]; 959[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];960[label="vx65",fontsize=16,color="green",shape="box"];961[label="Zero",fontsize=16,color="green",shape="box"];962[label="vx44",fontsize=16,color="green",shape="box"];958[label="pr2F vx70 (msMyInt (Pos (Succ vx71)) vx82) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="triangle"];958 -> 968[label="",style="solid", color="black", weight=3]; 831[label="pr2F0G1 vx65 (srMyInt vx44 vx44) (primQuotInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (primQuotInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];831 -> 843[label="",style="solid", color="black", weight=3]; 921[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) (primEvenNat (Succ (Succ vx7700)))",fontsize=16,color="black",shape="box"];921 -> 928[label="",style="solid", color="black", weight=3]; 922[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];922 -> 929[label="",style="solid", color="black", weight=3]; 923[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) MyTrue",fontsize=16,color="black",shape="box"];923 -> 930[label="",style="solid", color="black", weight=3]; 835 -> 979[label="",style="dashed", color="red", weight=0]; 835[label="pr2F vx50 (msMyInt (Neg (Succ Zero)) (fromIntMyInt (Pos (Succ Zero)))) (srMyInt vx50 vx64)",fontsize=16,color="magenta"];835 -> 980[label="",style="dashed", color="magenta", weight=3]; 835 -> 981[label="",style="dashed", color="magenta", weight=3]; 835 -> 982[label="",style="dashed", color="magenta", weight=3]; 835 -> 983[label="",style="dashed", color="magenta", weight=3]; 836[label="pr2F0G1 vx64 (srMyInt vx50 vx50) (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (quotMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];836 -> 850[label="",style="solid", color="black", weight=3]; 924[label="vx7200",fontsize=16,color="green",shape="box"];925[label="pr2F0G0 vx69 vx70 (Pos (Succ vx71)) otherwise",fontsize=16,color="black",shape="box"];925 -> 931[label="",style="solid", color="black", weight=3]; 927 -> 881[label="",style="dashed", color="red", weight=0]; 927[label="srMyInt vx70 vx70",fontsize=16,color="magenta"];927 -> 932[label="",style="dashed", color="magenta", weight=3]; 926[label="pr2F0G vx69 vx78 (quotMyInt (Pos (Succ vx71)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="triangle"];926 -> 933[label="",style="solid", color="black", weight=3]; 968[label="pr2F4 vx70 (msMyInt (Pos (Succ vx71)) vx82) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];968 -> 977[label="",style="solid", color="black", weight=3]; 843[label="pr2F0G1 vx65 (srMyInt vx44 vx44) (primQuotInt (Pos Zero) (Pos (Succ (Succ Zero)))) (primEvenInt (primQuotInt (Pos Zero) (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];843 -> 857[label="",style="solid", color="black", weight=3]; 928 -> 896[label="",style="dashed", color="red", weight=0]; 928[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) (primEvenNat vx7700)",fontsize=16,color="magenta"];928 -> 940[label="",style="dashed", color="magenta", weight=3]; 929[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) MyFalse",fontsize=16,color="black",shape="box"];929 -> 941[label="",style="solid", color="black", weight=3]; 930 -> 942[label="",style="dashed", color="red", weight=0]; 930[label="pr2F0G vx74 (srMyInt vx75 vx75) (quotMyInt (Neg (Succ vx76)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="magenta"];930 -> 943[label="",style="dashed", color="magenta", weight=3]; 980[label="vx64",fontsize=16,color="green",shape="box"];981 -> 23[label="",style="dashed", color="red", weight=0]; 981[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];982[label="Zero",fontsize=16,color="green",shape="box"];983[label="vx50",fontsize=16,color="green",shape="box"];979[label="pr2F vx75 (msMyInt (Neg (Succ vx76)) vx83) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="triangle"];979 -> 989[label="",style="solid", color="black", weight=3]; 850[label="pr2F0G1 vx64 (srMyInt vx50 vx50) (primQuotInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (primQuotInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];850 -> 864[label="",style="solid", color="black", weight=3]; 931[label="pr2F0G0 vx69 vx70 (Pos (Succ vx71)) MyTrue",fontsize=16,color="black",shape="box"];931 -> 944[label="",style="solid", color="black", weight=3]; 932[label="vx70",fontsize=16,color="green",shape="box"];881[label="srMyInt vx44 vx44",fontsize=16,color="black",shape="triangle"];881 -> 894[label="",style="solid", color="black", weight=3]; 933[label="pr2F0G2 vx69 vx78 (quotMyInt (Pos (Succ vx71)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];933 -> 945[label="",style="solid", color="black", weight=3]; 977[label="pr2F3 (esEsMyInt (msMyInt (Pos (Succ vx71)) vx82) (fromIntMyInt (Pos Zero))) vx70 (msMyInt (Pos (Succ vx71)) vx82) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];977 -> 990[label="",style="solid", color="black", weight=3]; 857 -> 781[label="",style="dashed", color="red", weight=0]; 857[label="pr2F0G1 vx65 (srMyInt vx44 vx44) (Pos (primDivNatS Zero (Succ (Succ Zero)))) (primEvenInt (Pos (primDivNatS Zero (Succ (Succ Zero)))))",fontsize=16,color="magenta"];857 -> 881[label="",style="dashed", color="magenta", weight=3]; 857 -> 882[label="",style="dashed", color="magenta", weight=3]; 940[label="vx7700",fontsize=16,color="green",shape="box"];941[label="pr2F0G0 vx74 vx75 (Neg (Succ vx76)) otherwise",fontsize=16,color="black",shape="box"];941 -> 946[label="",style="solid", color="black", weight=3]; 943 -> 881[label="",style="dashed", color="red", weight=0]; 943[label="srMyInt vx75 vx75",fontsize=16,color="magenta"];943 -> 947[label="",style="dashed", color="magenta", weight=3]; 942[label="pr2F0G vx74 vx79 (quotMyInt (Neg (Succ vx76)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="triangle"];942 -> 948[label="",style="solid", color="black", weight=3]; 989[label="pr2F4 vx75 (msMyInt (Neg (Succ vx76)) vx83) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="box"];989 -> 995[label="",style="solid", color="black", weight=3]; 864[label="pr2F0G1 vx64 (srMyInt vx50 vx50) (primQuotInt (Neg Zero) (Pos (Succ (Succ Zero)))) (primEvenInt (primQuotInt (Neg Zero) (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];864 -> 889[label="",style="solid", color="black", weight=3]; 944 -> 958[label="",style="dashed", color="red", weight=0]; 944[label="pr2F vx70 (msMyInt (Pos (Succ vx71)) (fromIntMyInt (Pos (Succ Zero)))) (srMyInt vx70 vx69)",fontsize=16,color="magenta"];944 -> 967[label="",style="dashed", color="magenta", weight=3]; 894[label="primMulInt vx44 vx44",fontsize=16,color="burlywood",shape="box"];1216[label="vx44/Pos vx440",fontsize=10,color="white",style="solid",shape="box"];894 -> 1216[label="",style="solid", color="burlywood", weight=9]; 1216 -> 919[label="",style="solid", color="burlywood", weight=3]; 1217[label="vx44/Neg vx440",fontsize=10,color="white",style="solid",shape="box"];894 -> 1217[label="",style="solid", color="burlywood", weight=9]; 1217 -> 920[label="",style="solid", color="burlywood", weight=3]; 945[label="pr2F0G1 vx69 vx78 (quotMyInt (Pos (Succ vx71)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (evenMyInt (quotMyInt (Pos (Succ vx71)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];945 -> 969[label="",style="solid", color="black", weight=3]; 990[label="pr2F3 (primEqInt (msMyInt (Pos (Succ vx71)) vx82) (fromIntMyInt (Pos Zero))) vx70 (msMyInt (Pos (Succ vx71)) vx82) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];990 -> 996[label="",style="solid", color="black", weight=3]; 882[label="primDivNatS Zero (Succ (Succ Zero))",fontsize=16,color="black",shape="triangle"];882 -> 895[label="",style="solid", color="black", weight=3]; 946[label="pr2F0G0 vx74 vx75 (Neg (Succ vx76)) MyTrue",fontsize=16,color="black",shape="box"];946 -> 970[label="",style="solid", color="black", weight=3]; 947[label="vx75",fontsize=16,color="green",shape="box"];948[label="pr2F0G2 vx74 vx79 (quotMyInt (Neg (Succ vx76)) (fromIntMyInt (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];948 -> 971[label="",style="solid", color="black", weight=3]; 995[label="pr2F3 (esEsMyInt (msMyInt (Neg (Succ vx76)) vx83) (fromIntMyInt (Pos Zero))) vx75 (msMyInt (Neg (Succ vx76)) vx83) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="box"];995 -> 1001[label="",style="solid", color="black", weight=3]; 889 -> 784[label="",style="dashed", color="red", weight=0]; 889[label="pr2F0G1 vx64 (srMyInt vx50 vx50) (Neg (primDivNatS Zero (Succ (Succ Zero)))) (primEvenInt (Neg (primDivNatS Zero (Succ (Succ Zero)))))",fontsize=16,color="magenta"];889 -> 915[label="",style="dashed", color="magenta", weight=3]; 889 -> 916[label="",style="dashed", color="magenta", weight=3]; 967 -> 23[label="",style="dashed", color="red", weight=0]; 967[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];919[label="primMulInt (Pos vx440) (Pos vx440)",fontsize=16,color="black",shape="box"];919 -> 938[label="",style="solid", color="black", weight=3]; 920[label="primMulInt (Neg vx440) (Neg vx440)",fontsize=16,color="black",shape="box"];920 -> 939[label="",style="solid", color="black", weight=3]; 969[label="pr2F0G1 vx69 vx78 (quotMyInt (Pos (Succ vx71)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (quotMyInt (Pos (Succ vx71)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];969 -> 978[label="",style="solid", color="black", weight=3]; 996[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx71)) vx82) (fromIntMyInt (Pos Zero))) vx70 (primMinusInt (Pos (Succ vx71)) vx82) (srMyInt vx70 vx69)",fontsize=16,color="burlywood",shape="box"];1218[label="vx82/Pos vx820",fontsize=10,color="white",style="solid",shape="box"];996 -> 1218[label="",style="solid", color="burlywood", weight=9]; 1218 -> 1002[label="",style="solid", color="burlywood", weight=3]; 1219[label="vx82/Neg vx820",fontsize=10,color="white",style="solid",shape="box"];996 -> 1219[label="",style="solid", color="burlywood", weight=9]; 1219 -> 1003[label="",style="solid", color="burlywood", weight=3]; 895[label="Zero",fontsize=16,color="green",shape="box"];970 -> 979[label="",style="dashed", color="red", weight=0]; 970[label="pr2F vx75 (msMyInt (Neg (Succ vx76)) (fromIntMyInt (Pos (Succ Zero)))) (srMyInt vx75 vx74)",fontsize=16,color="magenta"];970 -> 988[label="",style="dashed", color="magenta", weight=3]; 971[label="pr2F0G1 vx74 vx79 (quotMyInt (Neg (Succ vx76)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (evenMyInt (quotMyInt (Neg (Succ vx76)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];971 -> 991[label="",style="solid", color="black", weight=3]; 1001[label="pr2F3 (primEqInt (msMyInt (Neg (Succ vx76)) vx83) (fromIntMyInt (Pos Zero))) vx75 (msMyInt (Neg (Succ vx76)) vx83) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="box"];1001 -> 1010[label="",style="solid", color="black", weight=3]; 915 -> 881[label="",style="dashed", color="red", weight=0]; 915[label="srMyInt vx50 vx50",fontsize=16,color="magenta"];915 -> 935[label="",style="dashed", color="magenta", weight=3]; 916 -> 882[label="",style="dashed", color="red", weight=0]; 916[label="primDivNatS Zero (Succ (Succ Zero))",fontsize=16,color="magenta"];938[label="Pos (primMulNat vx440 vx440)",fontsize=16,color="green",shape="box"];938 -> 949[label="",style="dashed", color="green", weight=3]; 939[label="Pos (primMulNat vx440 vx440)",fontsize=16,color="green",shape="box"];939 -> 950[label="",style="dashed", color="green", weight=3]; 978[label="pr2F0G1 vx69 vx78 (primQuotInt (Pos (Succ vx71)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (primQuotInt (Pos (Succ vx71)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];978 -> 992[label="",style="solid", color="black", weight=3]; 1002[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx71)) (Pos vx820)) (fromIntMyInt (Pos Zero))) vx70 (primMinusInt (Pos (Succ vx71)) (Pos vx820)) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1002 -> 1011[label="",style="solid", color="black", weight=3]; 1003[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vx71)) (Neg vx820)) (fromIntMyInt (Pos Zero))) vx70 (primMinusInt (Pos (Succ vx71)) (Neg vx820)) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1003 -> 1012[label="",style="solid", color="black", weight=3]; 988 -> 23[label="",style="dashed", color="red", weight=0]; 988[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="magenta"];991[label="pr2F0G1 vx74 vx79 (quotMyInt (Neg (Succ vx76)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (quotMyInt (Neg (Succ vx76)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];991 -> 997[label="",style="solid", color="black", weight=3]; 1010[label="pr2F3 (primEqInt (primMinusInt (Neg (Succ vx76)) vx83) (fromIntMyInt (Pos Zero))) vx75 (primMinusInt (Neg (Succ vx76)) vx83) (srMyInt vx75 vx74)",fontsize=16,color="burlywood",shape="box"];1220[label="vx83/Pos vx830",fontsize=10,color="white",style="solid",shape="box"];1010 -> 1220[label="",style="solid", color="burlywood", weight=9]; 1220 -> 1017[label="",style="solid", color="burlywood", weight=3]; 1221[label="vx83/Neg vx830",fontsize=10,color="white",style="solid",shape="box"];1010 -> 1221[label="",style="solid", color="burlywood", weight=9]; 1221 -> 1018[label="",style="solid", color="burlywood", weight=3]; 935[label="vx50",fontsize=16,color="green",shape="box"];949[label="primMulNat vx440 vx440",fontsize=16,color="burlywood",shape="triangle"];1222[label="vx440/Succ vx4400",fontsize=10,color="white",style="solid",shape="box"];949 -> 1222[label="",style="solid", color="burlywood", weight=9]; 1222 -> 972[label="",style="solid", color="burlywood", weight=3]; 1223[label="vx440/Zero",fontsize=10,color="white",style="solid",shape="box"];949 -> 1223[label="",style="solid", color="burlywood", weight=9]; 1223 -> 973[label="",style="solid", color="burlywood", weight=3]; 950 -> 949[label="",style="dashed", color="red", weight=0]; 950[label="primMulNat vx440 vx440",fontsize=16,color="magenta"];950 -> 974[label="",style="dashed", color="magenta", weight=3]; 992[label="pr2F0G1 vx69 vx78 (primQuotInt (Pos (Succ vx71)) (Pos (Succ (Succ Zero)))) (primEvenInt (primQuotInt (Pos (Succ vx71)) (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];992 -> 998[label="",style="solid", color="black", weight=3]; 1011[label="pr2F3 (primEqInt (primMinusNat (Succ vx71) vx820) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat (Succ vx71) vx820) (srMyInt vx70 vx69)",fontsize=16,color="burlywood",shape="box"];1224[label="vx820/Succ vx8200",fontsize=10,color="white",style="solid",shape="box"];1011 -> 1224[label="",style="solid", color="burlywood", weight=9]; 1224 -> 1019[label="",style="solid", color="burlywood", weight=3]; 1225[label="vx820/Zero",fontsize=10,color="white",style="solid",shape="box"];1011 -> 1225[label="",style="solid", color="burlywood", weight=9]; 1225 -> 1020[label="",style="solid", color="burlywood", weight=3]; 1012 -> 1021[label="",style="dashed", color="red", weight=0]; 1012[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vx71) vx820)) (fromIntMyInt (Pos Zero))) vx70 (Pos (primPlusNat (Succ vx71) vx820)) (srMyInt vx70 vx69)",fontsize=16,color="magenta"];1012 -> 1022[label="",style="dashed", color="magenta", weight=3]; 1012 -> 1023[label="",style="dashed", color="magenta", weight=3]; 997[label="pr2F0G1 vx74 vx79 (primQuotInt (Neg (Succ vx76)) (fromIntMyInt (Pos (Succ (Succ Zero))))) (primEvenInt (primQuotInt (Neg (Succ vx76)) (fromIntMyInt (Pos (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];997 -> 1004[label="",style="solid", color="black", weight=3]; 1017[label="pr2F3 (primEqInt (primMinusInt (Neg (Succ vx76)) (Pos vx830)) (fromIntMyInt (Pos Zero))) vx75 (primMinusInt (Neg (Succ vx76)) (Pos vx830)) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="box"];1017 -> 1024[label="",style="solid", color="black", weight=3]; 1018[label="pr2F3 (primEqInt (primMinusInt (Neg (Succ vx76)) (Neg vx830)) (fromIntMyInt (Pos Zero))) vx75 (primMinusInt (Neg (Succ vx76)) (Neg vx830)) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="box"];1018 -> 1025[label="",style="solid", color="black", weight=3]; 972[label="primMulNat (Succ vx4400) (Succ vx4400)",fontsize=16,color="black",shape="box"];972 -> 993[label="",style="solid", color="black", weight=3]; 973[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];973 -> 994[label="",style="solid", color="black", weight=3]; 974[label="vx440",fontsize=16,color="green",shape="box"];998 -> 781[label="",style="dashed", color="red", weight=0]; 998[label="pr2F0G1 vx69 vx78 (Pos (primDivNatS (Succ vx71) (Succ (Succ Zero)))) (primEvenInt (Pos (primDivNatS (Succ vx71) (Succ (Succ Zero)))))",fontsize=16,color="magenta"];998 -> 1005[label="",style="dashed", color="magenta", weight=3]; 998 -> 1006[label="",style="dashed", color="magenta", weight=3]; 998 -> 1007[label="",style="dashed", color="magenta", weight=3]; 1019[label="pr2F3 (primEqInt (primMinusNat (Succ vx71) (Succ vx8200)) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat (Succ vx71) (Succ vx8200)) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1019 -> 1026[label="",style="solid", color="black", weight=3]; 1020[label="pr2F3 (primEqInt (primMinusNat (Succ vx71) Zero) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat (Succ vx71) Zero) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1020 -> 1027[label="",style="solid", color="black", weight=3]; 1022 -> 72[label="",style="dashed", color="red", weight=0]; 1022[label="primPlusNat (Succ vx71) vx820",fontsize=16,color="magenta"];1022 -> 1028[label="",style="dashed", color="magenta", weight=3]; 1022 -> 1029[label="",style="dashed", color="magenta", weight=3]; 1023 -> 72[label="",style="dashed", color="red", weight=0]; 1023[label="primPlusNat (Succ vx71) vx820",fontsize=16,color="magenta"];1023 -> 1030[label="",style="dashed", color="magenta", weight=3]; 1023 -> 1031[label="",style="dashed", color="magenta", weight=3]; 1021[label="pr2F3 (primEqInt (Pos vx85) (fromIntMyInt (Pos Zero))) vx70 (Pos vx84) (srMyInt vx70 vx69)",fontsize=16,color="burlywood",shape="triangle"];1226[label="vx85/Succ vx850",fontsize=10,color="white",style="solid",shape="box"];1021 -> 1226[label="",style="solid", color="burlywood", weight=9]; 1226 -> 1032[label="",style="solid", color="burlywood", weight=3]; 1227[label="vx85/Zero",fontsize=10,color="white",style="solid",shape="box"];1021 -> 1227[label="",style="solid", color="burlywood", weight=9]; 1227 -> 1033[label="",style="solid", color="burlywood", weight=3]; 1004[label="pr2F0G1 vx74 vx79 (primQuotInt (Neg (Succ vx76)) (Pos (Succ (Succ Zero)))) (primEvenInt (primQuotInt (Neg (Succ vx76)) (Pos (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];1004 -> 1013[label="",style="solid", color="black", weight=3]; 1024 -> 1041[label="",style="dashed", color="red", weight=0]; 1024[label="pr2F3 (primEqInt (Neg (primPlusNat (Succ vx76) vx830)) (fromIntMyInt (Pos Zero))) vx75 (Neg (primPlusNat (Succ vx76) vx830)) (srMyInt vx75 vx74)",fontsize=16,color="magenta"];1024 -> 1042[label="",style="dashed", color="magenta", weight=3]; 1024 -> 1043[label="",style="dashed", color="magenta", weight=3]; 1025[label="pr2F3 (primEqInt (primMinusNat vx830 (Succ vx76)) (fromIntMyInt (Pos Zero))) vx75 (primMinusNat vx830 (Succ vx76)) (srMyInt vx75 vx74)",fontsize=16,color="burlywood",shape="box"];1228[label="vx830/Succ vx8300",fontsize=10,color="white",style="solid",shape="box"];1025 -> 1228[label="",style="solid", color="burlywood", weight=9]; 1228 -> 1044[label="",style="solid", color="burlywood", weight=3]; 1229[label="vx830/Zero",fontsize=10,color="white",style="solid",shape="box"];1025 -> 1229[label="",style="solid", color="burlywood", weight=9]; 1229 -> 1045[label="",style="solid", color="burlywood", weight=3]; 993 -> 72[label="",style="dashed", color="red", weight=0]; 993[label="primPlusNat (primMulNat vx4400 (Succ vx4400)) (Succ vx4400)",fontsize=16,color="magenta"];993 -> 999[label="",style="dashed", color="magenta", weight=3]; 993 -> 1000[label="",style="dashed", color="magenta", weight=3]; 994[label="Zero",fontsize=16,color="green",shape="box"];1005[label="vx69",fontsize=16,color="green",shape="box"];1006[label="vx78",fontsize=16,color="green",shape="box"];1007[label="primDivNatS (Succ vx71) (Succ (Succ Zero))",fontsize=16,color="black",shape="triangle"];1007 -> 1014[label="",style="solid", color="black", weight=3]; 1026[label="pr2F3 (primEqInt (primMinusNat vx71 vx8200) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat vx71 vx8200) (srMyInt vx70 vx69)",fontsize=16,color="burlywood",shape="triangle"];1230[label="vx71/Succ vx710",fontsize=10,color="white",style="solid",shape="box"];1026 -> 1230[label="",style="solid", color="burlywood", weight=9]; 1230 -> 1046[label="",style="solid", color="burlywood", weight=3]; 1231[label="vx71/Zero",fontsize=10,color="white",style="solid",shape="box"];1026 -> 1231[label="",style="solid", color="burlywood", weight=9]; 1231 -> 1047[label="",style="solid", color="burlywood", weight=3]; 1027 -> 1021[label="",style="dashed", color="red", weight=0]; 1027[label="pr2F3 (primEqInt (Pos (Succ vx71)) (fromIntMyInt (Pos Zero))) vx70 (Pos (Succ vx71)) (srMyInt vx70 vx69)",fontsize=16,color="magenta"];1027 -> 1048[label="",style="dashed", color="magenta", weight=3]; 1027 -> 1049[label="",style="dashed", color="magenta", weight=3]; 1028[label="vx820",fontsize=16,color="green",shape="box"];1029[label="Succ vx71",fontsize=16,color="green",shape="box"];1030[label="vx820",fontsize=16,color="green",shape="box"];1031[label="Succ vx71",fontsize=16,color="green",shape="box"];1032[label="pr2F3 (primEqInt (Pos (Succ vx850)) (fromIntMyInt (Pos Zero))) vx70 (Pos vx84) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1032 -> 1050[label="",style="solid", color="black", weight=3]; 1033[label="pr2F3 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx70 (Pos vx84) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1033 -> 1051[label="",style="solid", color="black", weight=3]; 1013 -> 784[label="",style="dashed", color="red", weight=0]; 1013[label="pr2F0G1 vx74 vx79 (Neg (primDivNatS (Succ vx76) (Succ (Succ Zero)))) (primEvenInt (Neg (primDivNatS (Succ vx76) (Succ (Succ Zero)))))",fontsize=16,color="magenta"];1013 -> 1034[label="",style="dashed", color="magenta", weight=3]; 1013 -> 1035[label="",style="dashed", color="magenta", weight=3]; 1013 -> 1036[label="",style="dashed", color="magenta", weight=3]; 1042 -> 72[label="",style="dashed", color="red", weight=0]; 1042[label="primPlusNat (Succ vx76) vx830",fontsize=16,color="magenta"];1042 -> 1052[label="",style="dashed", color="magenta", weight=3]; 1042 -> 1053[label="",style="dashed", color="magenta", weight=3]; 1043 -> 72[label="",style="dashed", color="red", weight=0]; 1043[label="primPlusNat (Succ vx76) vx830",fontsize=16,color="magenta"];1043 -> 1054[label="",style="dashed", color="magenta", weight=3]; 1043 -> 1055[label="",style="dashed", color="magenta", weight=3]; 1041[label="pr2F3 (primEqInt (Neg vx87) (fromIntMyInt (Pos Zero))) vx75 (Neg vx86) (srMyInt vx75 vx74)",fontsize=16,color="burlywood",shape="triangle"];1232[label="vx87/Succ vx870",fontsize=10,color="white",style="solid",shape="box"];1041 -> 1232[label="",style="solid", color="burlywood", weight=9]; 1232 -> 1056[label="",style="solid", color="burlywood", weight=3]; 1233[label="vx87/Zero",fontsize=10,color="white",style="solid",shape="box"];1041 -> 1233[label="",style="solid", color="burlywood", weight=9]; 1233 -> 1057[label="",style="solid", color="burlywood", weight=3]; 1044[label="pr2F3 (primEqInt (primMinusNat (Succ vx8300) (Succ vx76)) (fromIntMyInt (Pos Zero))) vx75 (primMinusNat (Succ vx8300) (Succ vx76)) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="box"];1044 -> 1063[label="",style="solid", color="black", weight=3]; 1045[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vx76)) (fromIntMyInt (Pos Zero))) vx75 (primMinusNat Zero (Succ vx76)) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="box"];1045 -> 1064[label="",style="solid", color="black", weight=3]; 999[label="Succ vx4400",fontsize=16,color="green",shape="box"];1000[label="primMulNat vx4400 (Succ vx4400)",fontsize=16,color="burlywood",shape="box"];1234[label="vx4400/Succ vx44000",fontsize=10,color="white",style="solid",shape="box"];1000 -> 1234[label="",style="solid", color="burlywood", weight=9]; 1234 -> 1008[label="",style="solid", color="burlywood", weight=3]; 1235[label="vx4400/Zero",fontsize=10,color="white",style="solid",shape="box"];1000 -> 1235[label="",style="solid", color="burlywood", weight=9]; 1235 -> 1009[label="",style="solid", color="burlywood", weight=3]; 1014[label="primDivNatS0 vx71 (Succ Zero) (primGEqNatS vx71 (Succ Zero))",fontsize=16,color="burlywood",shape="box"];1236[label="vx71/Succ vx710",fontsize=10,color="white",style="solid",shape="box"];1014 -> 1236[label="",style="solid", color="burlywood", weight=9]; 1236 -> 1037[label="",style="solid", color="burlywood", weight=3]; 1237[label="vx71/Zero",fontsize=10,color="white",style="solid",shape="box"];1014 -> 1237[label="",style="solid", color="burlywood", weight=9]; 1237 -> 1038[label="",style="solid", color="burlywood", weight=3]; 1046[label="pr2F3 (primEqInt (primMinusNat (Succ vx710) vx8200) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat (Succ vx710) vx8200) (srMyInt vx70 vx69)",fontsize=16,color="burlywood",shape="box"];1238[label="vx8200/Succ vx82000",fontsize=10,color="white",style="solid",shape="box"];1046 -> 1238[label="",style="solid", color="burlywood", weight=9]; 1238 -> 1065[label="",style="solid", color="burlywood", weight=3]; 1239[label="vx8200/Zero",fontsize=10,color="white",style="solid",shape="box"];1046 -> 1239[label="",style="solid", color="burlywood", weight=9]; 1239 -> 1066[label="",style="solid", color="burlywood", weight=3]; 1047[label="pr2F3 (primEqInt (primMinusNat Zero vx8200) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat Zero vx8200) (srMyInt vx70 vx69)",fontsize=16,color="burlywood",shape="box"];1240[label="vx8200/Succ vx82000",fontsize=10,color="white",style="solid",shape="box"];1047 -> 1240[label="",style="solid", color="burlywood", weight=9]; 1240 -> 1067[label="",style="solid", color="burlywood", weight=3]; 1241[label="vx8200/Zero",fontsize=10,color="white",style="solid",shape="box"];1047 -> 1241[label="",style="solid", color="burlywood", weight=9]; 1241 -> 1068[label="",style="solid", color="burlywood", weight=3]; 1048[label="Succ vx71",fontsize=16,color="green",shape="box"];1049[label="Succ vx71",fontsize=16,color="green",shape="box"];1050[label="pr2F3 (primEqInt (Pos (Succ vx850)) (Pos Zero)) vx70 (Pos vx84) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1050 -> 1069[label="",style="solid", color="black", weight=3]; 1051[label="pr2F3 (primEqInt (Pos Zero) (Pos Zero)) vx70 (Pos vx84) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1051 -> 1070[label="",style="solid", color="black", weight=3]; 1034[label="vx74",fontsize=16,color="green",shape="box"];1035[label="vx79",fontsize=16,color="green",shape="box"];1036 -> 1007[label="",style="dashed", color="red", weight=0]; 1036[label="primDivNatS (Succ vx76) (Succ (Succ Zero))",fontsize=16,color="magenta"];1036 -> 1058[label="",style="dashed", color="magenta", weight=3]; 1052[label="vx830",fontsize=16,color="green",shape="box"];1053[label="Succ vx76",fontsize=16,color="green",shape="box"];1054[label="vx830",fontsize=16,color="green",shape="box"];1055[label="Succ vx76",fontsize=16,color="green",shape="box"];1056[label="pr2F3 (primEqInt (Neg (Succ vx870)) (fromIntMyInt (Pos Zero))) vx75 (Neg vx86) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="box"];1056 -> 1071[label="",style="solid", color="black", weight=3]; 1057[label="pr2F3 (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero))) vx75 (Neg vx86) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="box"];1057 -> 1072[label="",style="solid", color="black", weight=3]; 1063 -> 1026[label="",style="dashed", color="red", weight=0]; 1063[label="pr2F3 (primEqInt (primMinusNat vx8300 vx76) (fromIntMyInt (Pos Zero))) vx75 (primMinusNat vx8300 vx76) (srMyInt vx75 vx74)",fontsize=16,color="magenta"];1063 -> 1078[label="",style="dashed", color="magenta", weight=3]; 1063 -> 1079[label="",style="dashed", color="magenta", weight=3]; 1063 -> 1080[label="",style="dashed", color="magenta", weight=3]; 1063 -> 1081[label="",style="dashed", color="magenta", weight=3]; 1064 -> 1041[label="",style="dashed", color="red", weight=0]; 1064[label="pr2F3 (primEqInt (Neg (Succ vx76)) (fromIntMyInt (Pos Zero))) vx75 (Neg (Succ vx76)) (srMyInt vx75 vx74)",fontsize=16,color="magenta"];1064 -> 1082[label="",style="dashed", color="magenta", weight=3]; 1064 -> 1083[label="",style="dashed", color="magenta", weight=3]; 1008[label="primMulNat (Succ vx44000) (Succ (Succ vx44000))",fontsize=16,color="black",shape="box"];1008 -> 1015[label="",style="solid", color="black", weight=3]; 1009[label="primMulNat Zero (Succ Zero)",fontsize=16,color="black",shape="box"];1009 -> 1016[label="",style="solid", color="black", weight=3]; 1037[label="primDivNatS0 (Succ vx710) (Succ Zero) (primGEqNatS (Succ vx710) (Succ Zero))",fontsize=16,color="black",shape="box"];1037 -> 1059[label="",style="solid", color="black", weight=3]; 1038[label="primDivNatS0 Zero (Succ Zero) (primGEqNatS Zero (Succ Zero))",fontsize=16,color="black",shape="box"];1038 -> 1060[label="",style="solid", color="black", weight=3]; 1065[label="pr2F3 (primEqInt (primMinusNat (Succ vx710) (Succ vx82000)) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat (Succ vx710) (Succ vx82000)) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1065 -> 1084[label="",style="solid", color="black", weight=3]; 1066[label="pr2F3 (primEqInt (primMinusNat (Succ vx710) Zero) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat (Succ vx710) Zero) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1066 -> 1085[label="",style="solid", color="black", weight=3]; 1067[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vx82000)) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat Zero (Succ vx82000)) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1067 -> 1086[label="",style="solid", color="black", weight=3]; 1068[label="pr2F3 (primEqInt (primMinusNat Zero Zero) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat Zero Zero) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1068 -> 1087[label="",style="solid", color="black", weight=3]; 1069[label="pr2F3 MyFalse vx70 (Pos vx84) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1069 -> 1088[label="",style="solid", color="black", weight=3]; 1070[label="pr2F3 MyTrue vx70 (Pos vx84) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1070 -> 1089[label="",style="solid", color="black", weight=3]; 1058[label="vx76",fontsize=16,color="green",shape="box"];1071 -> 764[label="",style="dashed", color="red", weight=0]; 1071[label="pr2F3 (primEqInt (Neg (Succ vx870)) (Pos Zero)) vx75 (Neg vx86) (srMyInt vx75 vx74)",fontsize=16,color="magenta"];1071 -> 1090[label="",style="dashed", color="magenta", weight=3]; 1071 -> 1091[label="",style="dashed", color="magenta", weight=3]; 1071 -> 1092[label="",style="dashed", color="magenta", weight=3]; 1071 -> 1093[label="",style="dashed", color="magenta", weight=3]; 1072[label="pr2F3 (primEqInt (Neg Zero) (Pos Zero)) vx75 (Neg vx86) (srMyInt vx75 vx74)",fontsize=16,color="black",shape="box"];1072 -> 1094[label="",style="solid", color="black", weight=3]; 1078[label="vx76",fontsize=16,color="green",shape="box"];1079[label="vx74",fontsize=16,color="green",shape="box"];1080[label="vx8300",fontsize=16,color="green",shape="box"];1081[label="vx75",fontsize=16,color="green",shape="box"];1082[label="Succ vx76",fontsize=16,color="green",shape="box"];1083[label="Succ vx76",fontsize=16,color="green",shape="box"];1015 -> 72[label="",style="dashed", color="red", weight=0]; 1015[label="primPlusNat (primMulNat vx44000 (Succ (Succ vx44000))) (Succ (Succ vx44000))",fontsize=16,color="magenta"];1015 -> 1039[label="",style="dashed", color="magenta", weight=3]; 1015 -> 1040[label="",style="dashed", color="magenta", weight=3]; 1016[label="Zero",fontsize=16,color="green",shape="box"];1059[label="primDivNatS0 (Succ vx710) (Succ Zero) (primGEqNatS vx710 Zero)",fontsize=16,color="burlywood",shape="box"];1242[label="vx710/Succ vx7100",fontsize=10,color="white",style="solid",shape="box"];1059 -> 1242[label="",style="solid", color="burlywood", weight=9]; 1242 -> 1073[label="",style="solid", color="burlywood", weight=3]; 1243[label="vx710/Zero",fontsize=10,color="white",style="solid",shape="box"];1059 -> 1243[label="",style="solid", color="burlywood", weight=9]; 1243 -> 1074[label="",style="solid", color="burlywood", weight=3]; 1060[label="primDivNatS0 Zero (Succ Zero) MyFalse",fontsize=16,color="black",shape="box"];1060 -> 1075[label="",style="solid", color="black", weight=3]; 1084 -> 1026[label="",style="dashed", color="red", weight=0]; 1084[label="pr2F3 (primEqInt (primMinusNat vx710 vx82000) (fromIntMyInt (Pos Zero))) vx70 (primMinusNat vx710 vx82000) (srMyInt vx70 vx69)",fontsize=16,color="magenta"];1084 -> 1099[label="",style="dashed", color="magenta", weight=3]; 1084 -> 1100[label="",style="dashed", color="magenta", weight=3]; 1085 -> 1021[label="",style="dashed", color="red", weight=0]; 1085[label="pr2F3 (primEqInt (Pos (Succ vx710)) (fromIntMyInt (Pos Zero))) vx70 (Pos (Succ vx710)) (srMyInt vx70 vx69)",fontsize=16,color="magenta"];1085 -> 1101[label="",style="dashed", color="magenta", weight=3]; 1085 -> 1102[label="",style="dashed", color="magenta", weight=3]; 1086 -> 1041[label="",style="dashed", color="red", weight=0]; 1086[label="pr2F3 (primEqInt (Neg (Succ vx82000)) (fromIntMyInt (Pos Zero))) vx70 (Neg (Succ vx82000)) (srMyInt vx70 vx69)",fontsize=16,color="magenta"];1086 -> 1103[label="",style="dashed", color="magenta", weight=3]; 1086 -> 1104[label="",style="dashed", color="magenta", weight=3]; 1086 -> 1105[label="",style="dashed", color="magenta", weight=3]; 1086 -> 1106[label="",style="dashed", color="magenta", weight=3]; 1087 -> 1021[label="",style="dashed", color="red", weight=0]; 1087[label="pr2F3 (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero))) vx70 (Pos Zero) (srMyInt vx70 vx69)",fontsize=16,color="magenta"];1087 -> 1107[label="",style="dashed", color="magenta", weight=3]; 1087 -> 1108[label="",style="dashed", color="magenta", weight=3]; 1088[label="pr2F0 vx70 (Pos vx84) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1088 -> 1109[label="",style="solid", color="black", weight=3]; 1089[label="srMyInt vx70 vx69",fontsize=16,color="black",shape="triangle"];1089 -> 1110[label="",style="solid", color="black", weight=3]; 1090 -> 1089[label="",style="dashed", color="red", weight=0]; 1090[label="srMyInt vx75 vx74",fontsize=16,color="magenta"];1090 -> 1111[label="",style="dashed", color="magenta", weight=3]; 1090 -> 1112[label="",style="dashed", color="magenta", weight=3]; 1091[label="vx75",fontsize=16,color="green",shape="box"];1092[label="vx86",fontsize=16,color="green",shape="box"];1093[label="vx870",fontsize=16,color="green",shape="box"];1094 -> 1113[label="",style="dashed", color="red", weight=0]; 1094[label="pr2F3 MyTrue vx75 (Neg vx86) (srMyInt vx75 vx74)",fontsize=16,color="magenta"];1094 -> 1114[label="",style="dashed", color="magenta", weight=3]; 1039[label="Succ (Succ vx44000)",fontsize=16,color="green",shape="box"];1040[label="primMulNat vx44000 (Succ (Succ vx44000))",fontsize=16,color="burlywood",shape="box"];1244[label="vx44000/Succ vx440000",fontsize=10,color="white",style="solid",shape="box"];1040 -> 1244[label="",style="solid", color="burlywood", weight=9]; 1244 -> 1061[label="",style="solid", color="burlywood", weight=3]; 1245[label="vx44000/Zero",fontsize=10,color="white",style="solid",shape="box"];1040 -> 1245[label="",style="solid", color="burlywood", weight=9]; 1245 -> 1062[label="",style="solid", color="burlywood", weight=3]; 1073[label="primDivNatS0 (Succ (Succ vx7100)) (Succ Zero) (primGEqNatS (Succ vx7100) Zero)",fontsize=16,color="black",shape="box"];1073 -> 1095[label="",style="solid", color="black", weight=3]; 1074[label="primDivNatS0 (Succ Zero) (Succ Zero) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1074 -> 1096[label="",style="solid", color="black", weight=3]; 1075[label="Zero",fontsize=16,color="green",shape="box"];1099[label="vx82000",fontsize=16,color="green",shape="box"];1100[label="vx710",fontsize=16,color="green",shape="box"];1101[label="Succ vx710",fontsize=16,color="green",shape="box"];1102[label="Succ vx710",fontsize=16,color="green",shape="box"];1103[label="vx69",fontsize=16,color="green",shape="box"];1104[label="Succ vx82000",fontsize=16,color="green",shape="box"];1105[label="Succ vx82000",fontsize=16,color="green",shape="box"];1106[label="vx70",fontsize=16,color="green",shape="box"];1107[label="Zero",fontsize=16,color="green",shape="box"];1108[label="Zero",fontsize=16,color="green",shape="box"];1109 -> 771[label="",style="dashed", color="red", weight=0]; 1109[label="pr2F0G (srMyInt vx70 vx69) vx70 (Pos vx84)",fontsize=16,color="magenta"];1109 -> 1115[label="",style="dashed", color="magenta", weight=3]; 1109 -> 1116[label="",style="dashed", color="magenta", weight=3]; 1109 -> 1117[label="",style="dashed", color="magenta", weight=3]; 1110[label="primMulInt vx70 vx69",fontsize=16,color="burlywood",shape="box"];1246[label="vx70/Pos vx700",fontsize=10,color="white",style="solid",shape="box"];1110 -> 1246[label="",style="solid", color="burlywood", weight=9]; 1246 -> 1118[label="",style="solid", color="burlywood", weight=3]; 1247[label="vx70/Neg vx700",fontsize=10,color="white",style="solid",shape="box"];1110 -> 1247[label="",style="solid", color="burlywood", weight=9]; 1247 -> 1119[label="",style="solid", color="burlywood", weight=3]; 1111[label="vx74",fontsize=16,color="green",shape="box"];1112[label="vx75",fontsize=16,color="green",shape="box"];1114 -> 1089[label="",style="dashed", color="red", weight=0]; 1114[label="srMyInt vx75 vx74",fontsize=16,color="magenta"];1114 -> 1120[label="",style="dashed", color="magenta", weight=3]; 1114 -> 1121[label="",style="dashed", color="magenta", weight=3]; 1113[label="pr2F3 MyTrue vx75 (Neg vx86) vx88",fontsize=16,color="black",shape="triangle"];1113 -> 1122[label="",style="solid", color="black", weight=3]; 1061[label="primMulNat (Succ vx440000) (Succ (Succ (Succ vx440000)))",fontsize=16,color="black",shape="box"];1061 -> 1076[label="",style="solid", color="black", weight=3]; 1062[label="primMulNat Zero (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];1062 -> 1077[label="",style="solid", color="black", weight=3]; 1095[label="primDivNatS0 (Succ (Succ vx7100)) (Succ Zero) MyTrue",fontsize=16,color="black",shape="box"];1095 -> 1123[label="",style="solid", color="black", weight=3]; 1096[label="primDivNatS0 (Succ Zero) (Succ Zero) MyTrue",fontsize=16,color="black",shape="box"];1096 -> 1124[label="",style="solid", color="black", weight=3]; 1115 -> 1089[label="",style="dashed", color="red", weight=0]; 1115[label="srMyInt vx70 vx69",fontsize=16,color="magenta"];1116[label="vx70",fontsize=16,color="green",shape="box"];1117[label="vx84",fontsize=16,color="green",shape="box"];1118[label="primMulInt (Pos vx700) vx69",fontsize=16,color="burlywood",shape="box"];1248[label="vx69/Pos vx690",fontsize=10,color="white",style="solid",shape="box"];1118 -> 1248[label="",style="solid", color="burlywood", weight=9]; 1248 -> 1127[label="",style="solid", color="burlywood", weight=3]; 1249[label="vx69/Neg vx690",fontsize=10,color="white",style="solid",shape="box"];1118 -> 1249[label="",style="solid", color="burlywood", weight=9]; 1249 -> 1128[label="",style="solid", color="burlywood", weight=3]; 1119[label="primMulInt (Neg vx700) vx69",fontsize=16,color="burlywood",shape="box"];1250[label="vx69/Pos vx690",fontsize=10,color="white",style="solid",shape="box"];1119 -> 1250[label="",style="solid", color="burlywood", weight=9]; 1250 -> 1129[label="",style="solid", color="burlywood", weight=3]; 1251[label="vx69/Neg vx690",fontsize=10,color="white",style="solid",shape="box"];1119 -> 1251[label="",style="solid", color="burlywood", weight=9]; 1251 -> 1130[label="",style="solid", color="burlywood", weight=3]; 1120[label="vx74",fontsize=16,color="green",shape="box"];1121[label="vx75",fontsize=16,color="green",shape="box"];1122[label="vx88",fontsize=16,color="green",shape="box"];1076 -> 72[label="",style="dashed", color="red", weight=0]; 1076[label="primPlusNat (primMulNat vx440000 (Succ (Succ (Succ vx440000)))) (Succ (Succ (Succ vx440000)))",fontsize=16,color="magenta"];1076 -> 1097[label="",style="dashed", color="magenta", weight=3]; 1076 -> 1098[label="",style="dashed", color="magenta", weight=3]; 1077[label="Zero",fontsize=16,color="green",shape="box"];1123[label="Succ (primDivNatS (primMinusNatS (Succ (Succ vx7100)) (Succ Zero)) (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];1123 -> 1131[label="",style="dashed", color="green", weight=3]; 1124[label="Succ (primDivNatS (primMinusNatS (Succ Zero) (Succ Zero)) (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];1124 -> 1132[label="",style="dashed", color="green", weight=3]; 1127[label="primMulInt (Pos vx700) (Pos vx690)",fontsize=16,color="black",shape="box"];1127 -> 1135[label="",style="solid", color="black", weight=3]; 1128[label="primMulInt (Pos vx700) (Neg vx690)",fontsize=16,color="black",shape="box"];1128 -> 1136[label="",style="solid", color="black", weight=3]; 1129[label="primMulInt (Neg vx700) (Pos vx690)",fontsize=16,color="black",shape="box"];1129 -> 1137[label="",style="solid", color="black", weight=3]; 1130[label="primMulInt (Neg vx700) (Neg vx690)",fontsize=16,color="black",shape="box"];1130 -> 1138[label="",style="solid", color="black", weight=3]; 1097[label="Succ (Succ (Succ vx440000))",fontsize=16,color="green",shape="box"];1098[label="primMulNat vx440000 (Succ (Succ (Succ vx440000)))",fontsize=16,color="burlywood",shape="box"];1252[label="vx440000/Succ vx4400000",fontsize=10,color="white",style="solid",shape="box"];1098 -> 1252[label="",style="solid", color="burlywood", weight=9]; 1252 -> 1125[label="",style="solid", color="burlywood", weight=3]; 1253[label="vx440000/Zero",fontsize=10,color="white",style="solid",shape="box"];1098 -> 1253[label="",style="solid", color="burlywood", weight=9]; 1253 -> 1126[label="",style="solid", color="burlywood", weight=3]; 1131[label="primDivNatS (primMinusNatS (Succ (Succ vx7100)) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];1131 -> 1139[label="",style="solid", color="black", weight=3]; 1132[label="primDivNatS (primMinusNatS (Succ Zero) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];1132 -> 1140[label="",style="solid", color="black", weight=3]; 1135[label="Pos (primMulNat vx700 vx690)",fontsize=16,color="green",shape="box"];1135 -> 1143[label="",style="dashed", color="green", weight=3]; 1136[label="Neg (primMulNat vx700 vx690)",fontsize=16,color="green",shape="box"];1136 -> 1144[label="",style="dashed", color="green", weight=3]; 1137[label="Neg (primMulNat vx700 vx690)",fontsize=16,color="green",shape="box"];1137 -> 1145[label="",style="dashed", color="green", weight=3]; 1138[label="Pos (primMulNat vx700 vx690)",fontsize=16,color="green",shape="box"];1138 -> 1146[label="",style="dashed", color="green", weight=3]; 1125[label="primMulNat (Succ vx4400000) (Succ (Succ (Succ (Succ vx4400000))))",fontsize=16,color="black",shape="box"];1125 -> 1133[label="",style="solid", color="black", weight=3]; 1126[label="primMulNat Zero (Succ (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];1126 -> 1134[label="",style="solid", color="black", weight=3]; 1139[label="primDivNatS (primMinusNatS (Succ vx7100) Zero) (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];1139 -> 1147[label="",style="solid", color="black", weight=3]; 1140[label="primDivNatS (primMinusNatS Zero Zero) (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];1140 -> 1148[label="",style="solid", color="black", weight=3]; 1143[label="primMulNat vx700 vx690",fontsize=16,color="burlywood",shape="triangle"];1254[label="vx700/Succ vx7000",fontsize=10,color="white",style="solid",shape="box"];1143 -> 1254[label="",style="solid", color="burlywood", weight=9]; 1254 -> 1151[label="",style="solid", color="burlywood", weight=3]; 1255[label="vx700/Zero",fontsize=10,color="white",style="solid",shape="box"];1143 -> 1255[label="",style="solid", color="burlywood", weight=9]; 1255 -> 1152[label="",style="solid", color="burlywood", weight=3]; 1144 -> 1143[label="",style="dashed", color="red", weight=0]; 1144[label="primMulNat vx700 vx690",fontsize=16,color="magenta"];1144 -> 1153[label="",style="dashed", color="magenta", weight=3]; 1145 -> 1143[label="",style="dashed", color="red", weight=0]; 1145[label="primMulNat vx700 vx690",fontsize=16,color="magenta"];1145 -> 1154[label="",style="dashed", color="magenta", weight=3]; 1146 -> 1143[label="",style="dashed", color="red", weight=0]; 1146[label="primMulNat vx700 vx690",fontsize=16,color="magenta"];1146 -> 1155[label="",style="dashed", color="magenta", weight=3]; 1146 -> 1156[label="",style="dashed", color="magenta", weight=3]; 1133 -> 72[label="",style="dashed", color="red", weight=0]; 1133[label="primPlusNat (primMulNat vx4400000 (Succ (Succ (Succ (Succ vx4400000))))) (Succ (Succ (Succ (Succ vx4400000))))",fontsize=16,color="magenta"];1133 -> 1141[label="",style="dashed", color="magenta", weight=3]; 1133 -> 1142[label="",style="dashed", color="magenta", weight=3]; 1134[label="Zero",fontsize=16,color="green",shape="box"];1147 -> 1007[label="",style="dashed", color="red", weight=0]; 1147[label="primDivNatS (Succ vx7100) (Succ (Succ Zero))",fontsize=16,color="magenta"];1147 -> 1157[label="",style="dashed", color="magenta", weight=3]; 1148 -> 882[label="",style="dashed", color="red", weight=0]; 1148[label="primDivNatS Zero (Succ (Succ Zero))",fontsize=16,color="magenta"];1151[label="primMulNat (Succ vx7000) vx690",fontsize=16,color="burlywood",shape="box"];1256[label="vx690/Succ vx6900",fontsize=10,color="white",style="solid",shape="box"];1151 -> 1256[label="",style="solid", color="burlywood", weight=9]; 1256 -> 1160[label="",style="solid", color="burlywood", weight=3]; 1257[label="vx690/Zero",fontsize=10,color="white",style="solid",shape="box"];1151 -> 1257[label="",style="solid", color="burlywood", weight=9]; 1257 -> 1161[label="",style="solid", color="burlywood", weight=3]; 1152[label="primMulNat Zero vx690",fontsize=16,color="burlywood",shape="box"];1258[label="vx690/Succ vx6900",fontsize=10,color="white",style="solid",shape="box"];1152 -> 1258[label="",style="solid", color="burlywood", weight=9]; 1258 -> 1162[label="",style="solid", color="burlywood", weight=3]; 1259[label="vx690/Zero",fontsize=10,color="white",style="solid",shape="box"];1152 -> 1259[label="",style="solid", color="burlywood", weight=9]; 1259 -> 1163[label="",style="solid", color="burlywood", weight=3]; 1153[label="vx690",fontsize=16,color="green",shape="box"];1154[label="vx700",fontsize=16,color="green",shape="box"];1155[label="vx690",fontsize=16,color="green",shape="box"];1156[label="vx700",fontsize=16,color="green",shape="box"];1141[label="Succ (Succ (Succ (Succ vx4400000)))",fontsize=16,color="green",shape="box"];1142[label="primMulNat vx4400000 (Succ (Succ (Succ (Succ vx4400000))))",fontsize=16,color="burlywood",shape="box"];1260[label="vx4400000/Succ vx44000000",fontsize=10,color="white",style="solid",shape="box"];1142 -> 1260[label="",style="solid", color="burlywood", weight=9]; 1260 -> 1149[label="",style="solid", color="burlywood", weight=3]; 1261[label="vx4400000/Zero",fontsize=10,color="white",style="solid",shape="box"];1142 -> 1261[label="",style="solid", color="burlywood", weight=9]; 1261 -> 1150[label="",style="solid", color="burlywood", weight=3]; 1157[label="vx7100",fontsize=16,color="green",shape="box"];1160[label="primMulNat (Succ vx7000) (Succ vx6900)",fontsize=16,color="black",shape="box"];1160 -> 1166[label="",style="solid", color="black", weight=3]; 1161[label="primMulNat (Succ vx7000) Zero",fontsize=16,color="black",shape="box"];1161 -> 1167[label="",style="solid", color="black", weight=3]; 1162[label="primMulNat Zero (Succ vx6900)",fontsize=16,color="black",shape="box"];1162 -> 1168[label="",style="solid", color="black", weight=3]; 1163[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];1163 -> 1169[label="",style="solid", color="black", weight=3]; 1149[label="primMulNat (Succ vx44000000) (Succ (Succ (Succ (Succ (Succ vx44000000)))))",fontsize=16,color="black",shape="box"];1149 -> 1158[label="",style="solid", color="black", weight=3]; 1150[label="primMulNat Zero (Succ (Succ (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];1150 -> 1159[label="",style="solid", color="black", weight=3]; 1166 -> 72[label="",style="dashed", color="red", weight=0]; 1166[label="primPlusNat (primMulNat vx7000 (Succ vx6900)) (Succ vx6900)",fontsize=16,color="magenta"];1166 -> 1172[label="",style="dashed", color="magenta", weight=3]; 1166 -> 1173[label="",style="dashed", color="magenta", weight=3]; 1167[label="Zero",fontsize=16,color="green",shape="box"];1168[label="Zero",fontsize=16,color="green",shape="box"];1169[label="Zero",fontsize=16,color="green",shape="box"];1158 -> 72[label="",style="dashed", color="red", weight=0]; 1158[label="primPlusNat (primMulNat vx44000000 (Succ (Succ (Succ (Succ (Succ vx44000000)))))) (Succ (Succ (Succ (Succ (Succ vx44000000)))))",fontsize=16,color="magenta"];1158 -> 1164[label="",style="dashed", color="magenta", weight=3]; 1158 -> 1165[label="",style="dashed", color="magenta", weight=3]; 1159[label="Zero",fontsize=16,color="green",shape="box"];1172[label="Succ vx6900",fontsize=16,color="green",shape="box"];1173 -> 1143[label="",style="dashed", color="red", weight=0]; 1173[label="primMulNat vx7000 (Succ vx6900)",fontsize=16,color="magenta"];1173 -> 1174[label="",style="dashed", color="magenta", weight=3]; 1173 -> 1175[label="",style="dashed", color="magenta", weight=3]; 1164[label="Succ (Succ (Succ (Succ (Succ vx44000000))))",fontsize=16,color="green",shape="box"];1165 -> 1143[label="",style="dashed", color="red", weight=0]; 1165[label="primMulNat vx44000000 (Succ (Succ (Succ (Succ (Succ vx44000000)))))",fontsize=16,color="magenta"];1165 -> 1170[label="",style="dashed", color="magenta", weight=3]; 1165 -> 1171[label="",style="dashed", color="magenta", weight=3]; 1174[label="Succ vx6900",fontsize=16,color="green",shape="box"];1175[label="vx7000",fontsize=16,color="green",shape="box"];1170[label="Succ (Succ (Succ (Succ (Succ vx44000000))))",fontsize=16,color="green",shape="box"];1171[label="vx44000000",fontsize=16,color="green",shape="box"];} ---------------------------------------- (146) TRUE