50.56/31.71 MAYBE 52.86/32.32 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 52.86/32.32 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 52.86/32.32 52.86/32.32 52.86/32.32 H-Termination with start terms of the given HASKELL could not be shown: 52.86/32.32 52.86/32.32 (0) HASKELL 52.86/32.32 (1) BR [EQUIVALENT, 0 ms] 52.86/32.32 (2) HASKELL 52.86/32.32 (3) COR [EQUIVALENT, 0 ms] 52.86/32.32 (4) HASKELL 52.86/32.32 (5) Narrow [SOUND, 0 ms] 52.86/32.32 (6) AND 52.86/32.32 (7) QDP 52.86/32.32 (8) QDPSizeChangeProof [EQUIVALENT, 0 ms] 52.86/32.32 (9) YES 52.86/32.32 (10) QDP 52.86/32.32 (11) QDPSizeChangeProof [EQUIVALENT, 0 ms] 52.86/32.32 (12) YES 52.86/32.32 (13) QDP 52.86/32.32 (14) DependencyGraphProof [EQUIVALENT, 0 ms] 52.86/32.32 (15) AND 52.86/32.32 (16) QDP 52.86/32.32 (17) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (18) QDP 52.86/32.32 (19) DependencyGraphProof [EQUIVALENT, 0 ms] 52.86/32.32 (20) AND 52.86/32.32 (21) QDP 52.86/32.32 (22) UsableRulesProof [EQUIVALENT, 0 ms] 52.86/32.32 (23) QDP 52.86/32.32 (24) QReductionProof [EQUIVALENT, 3 ms] 52.86/32.32 (25) QDP 52.86/32.32 (26) NonTerminationLoopProof [COMPLETE, 0 ms] 52.86/32.32 (27) NO 52.86/32.32 (28) QDP 52.86/32.32 (29) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (30) QDP 52.86/32.32 (31) UsableRulesProof [EQUIVALENT, 0 ms] 52.86/32.32 (32) QDP 52.86/32.32 (33) QReductionProof [EQUIVALENT, 0 ms] 52.86/32.32 (34) QDP 52.86/32.32 (35) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (36) QDP 52.86/32.32 (37) DependencyGraphProof [EQUIVALENT, 0 ms] 52.86/32.32 (38) QDP 52.86/32.32 (39) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (40) QDP 52.86/32.32 (41) QDPSizeChangeProof [EQUIVALENT, 0 ms] 52.86/32.32 (42) YES 52.86/32.32 (43) QDP 52.86/32.32 (44) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (45) QDP 52.86/32.32 (46) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (47) QDP 52.86/32.32 (48) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (49) QDP 52.86/32.32 (50) DependencyGraphProof [EQUIVALENT, 0 ms] 52.86/32.32 (51) AND 52.86/32.32 (52) QDP 52.86/32.32 (53) UsableRulesProof [EQUIVALENT, 0 ms] 52.86/32.32 (54) QDP 52.86/32.32 (55) QReductionProof [EQUIVALENT, 0 ms] 52.86/32.32 (56) QDP 52.86/32.32 (57) NonTerminationLoopProof [COMPLETE, 0 ms] 52.86/32.32 (58) NO 52.86/32.32 (59) QDP 52.86/32.32 (60) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (61) QDP 52.86/32.32 (62) DependencyGraphProof [EQUIVALENT, 0 ms] 52.86/32.32 (63) QDP 52.86/32.32 (64) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (65) QDP 52.86/32.32 (66) UsableRulesProof [EQUIVALENT, 0 ms] 52.86/32.32 (67) QDP 52.86/32.32 (68) QReductionProof [EQUIVALENT, 0 ms] 52.86/32.32 (69) QDP 52.86/32.32 (70) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (71) QDP 52.86/32.32 (72) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (73) QDP 52.86/32.32 (74) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (75) QDP 52.86/32.32 (76) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (77) QDP 52.86/32.32 (78) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (79) QDP 52.86/32.32 (80) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (81) QDP 52.86/32.32 (82) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (83) QDP 52.86/32.32 (84) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (85) QDP 52.86/32.32 (86) DependencyGraphProof [EQUIVALENT, 0 ms] 52.86/32.32 (87) QDP 52.86/32.32 (88) MNOCProof [EQUIVALENT, 0 ms] 52.86/32.32 (89) QDP 52.86/32.32 (90) InductionCalculusProof [EQUIVALENT, 11 ms] 52.86/32.32 (91) QDP 52.86/32.32 (92) QDPPairToRuleProof [EQUIVALENT, 0 ms] 52.86/32.32 (93) AND 52.86/32.32 (94) QDP 52.86/32.32 (95) MNOCProof [EQUIVALENT, 0 ms] 52.86/32.32 (96) QDP 52.86/32.32 (97) InductionCalculusProof [EQUIVALENT, 0 ms] 52.86/32.32 (98) QDP 52.86/32.32 (99) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (100) QDP 52.86/32.32 (101) DependencyGraphProof [EQUIVALENT, 0 ms] 52.86/32.32 (102) QDP 52.86/32.32 (103) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (104) QDP 52.86/32.32 (105) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (106) QDP 52.86/32.32 (107) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (108) QDP 52.86/32.32 (109) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (110) QDP 52.86/32.32 (111) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (112) QDP 52.86/32.32 (113) UsableRulesProof [EQUIVALENT, 0 ms] 52.86/32.32 (114) QDP 52.86/32.32 (115) QReductionProof [EQUIVALENT, 0 ms] 52.86/32.32 (116) QDP 52.86/32.32 (117) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (118) QDP 52.86/32.32 (119) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (120) QDP 52.86/32.32 (121) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (122) QDP 52.86/32.32 (123) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (124) QDP 52.86/32.32 (125) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (126) QDP 52.86/32.32 (127) TransformationProof [EQUIVALENT, 0 ms] 52.86/32.32 (128) QDP 52.86/32.32 (129) MNOCProof [EQUIVALENT, 0 ms] 52.86/32.32 (130) QDP 52.86/32.32 (131) InductionCalculusProof [EQUIVALENT, 26 ms] 52.86/32.32 (132) QDP 52.86/32.32 (133) QDP 52.86/32.32 (134) QDPSizeChangeProof [EQUIVALENT, 0 ms] 52.86/32.32 (135) YES 52.86/32.32 (136) QDP 52.86/32.32 (137) QDPSizeChangeProof [EQUIVALENT, 0 ms] 52.86/32.32 (138) YES 52.86/32.32 (139) QDP 52.86/32.32 (140) QDPSizeChangeProof [EQUIVALENT, 0 ms] 52.86/32.32 (141) YES 52.86/32.32 (142) QDP 52.86/32.32 (143) QDPSizeChangeProof [EQUIVALENT, 0 ms] 52.86/32.32 (144) YES 52.86/32.32 (145) Narrow [COMPLETE, 0 ms] 52.86/32.32 (146) TRUE 52.86/32.32 52.86/32.32 52.86/32.32 ---------------------------------------- 52.86/32.32 52.86/32.32 (0) 52.86/32.32 Obligation: 52.86/32.32 mainModule Main 52.86/32.32 module Main where { 52.86/32.32 import qualified Prelude; 52.86/32.32 data MyBool = MyTrue | MyFalse ; 52.86/32.32 52.86/32.32 data MyInt = Pos Main.Nat | Neg Main.Nat ; 52.86/32.32 52.86/32.32 data Main.Nat = Succ Main.Nat | Zero ; 52.86/32.32 52.86/32.32 data Ordering = LT | EQ | GT ; 52.86/32.32 52.86/32.32 compareMyInt :: MyInt -> MyInt -> Ordering; 52.86/32.32 compareMyInt = primCmpInt; 52.86/32.32 52.86/32.32 error :: a; 52.86/32.32 error = stop MyTrue; 52.86/32.32 52.86/32.32 esEsMyInt :: MyInt -> MyInt -> MyBool; 52.86/32.32 esEsMyInt = primEqInt; 52.86/32.32 52.86/32.32 esEsOrdering :: Ordering -> Ordering -> MyBool; 52.86/32.32 esEsOrdering LT LT = MyTrue; 52.86/32.32 esEsOrdering LT EQ = MyFalse; 52.86/32.32 esEsOrdering LT GT = MyFalse; 52.86/32.32 esEsOrdering EQ LT = MyFalse; 52.86/32.32 esEsOrdering EQ EQ = MyTrue; 52.86/32.32 esEsOrdering EQ GT = MyFalse; 52.86/32.32 esEsOrdering GT LT = MyFalse; 52.86/32.32 esEsOrdering GT EQ = MyFalse; 52.86/32.32 esEsOrdering GT GT = MyTrue; 52.86/32.32 52.86/32.32 evenMyInt :: MyInt -> MyBool; 52.86/32.32 evenMyInt = primEvenInt; 52.86/32.32 52.86/32.32 fromIntMyInt :: MyInt -> MyInt; 52.86/32.32 fromIntMyInt x = x; 52.86/32.32 52.86/32.32 gtMyInt :: MyInt -> MyInt -> MyBool; 52.86/32.32 gtMyInt x y = esEsOrdering (compareMyInt x y) GT; 52.86/32.32 52.86/32.32 msMyInt :: MyInt -> MyInt -> MyInt; 52.86/32.32 msMyInt = primMinusInt; 52.86/32.32 52.86/32.32 otherwise :: MyBool; 52.92/32.33 otherwise = MyTrue; 52.92/32.33 52.92/32.33 pr x vww = pr4 x vww; 52.92/32.33 pr x n = pr2 x n; 52.92/32.33 pr wy wz = pr0 wy wz; 52.92/32.33 52.92/32.33 pr0 wy wz = Main.error; 52.92/32.33 52.92/32.33 pr2 x n = pr2Pr1 x n (gtMyInt n (fromIntMyInt (Main.Pos Main.Zero))); 52.92/32.33 pr2 vwu vwv = pr0 vwu vwv; 52.92/32.33 52.92/32.33 pr2F wx vuy y = pr2F4 wx vuy y; 52.92/32.33 pr2F x n y = pr2F0 x n y; 52.92/32.33 52.92/32.33 pr2F0 x n y = pr2F0G y x n; 52.92/32.33 52.92/32.33 pr2F0G vxy x n = pr2F0G2 vxy x n; 52.92/32.33 52.92/32.33 pr2F0G0 vxy x n MyTrue = pr2F x (msMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero)))) (srMyInt x vxy); 52.92/32.33 52.92/32.33 pr2F0G1 vxy x n MyTrue = pr2F0G vxy (srMyInt x x) (quotMyInt n (fromIntMyInt (Main.Pos (Main.Succ (Main.Succ Main.Zero))))); 52.92/32.33 pr2F0G1 vxy x n MyFalse = pr2F0G0 vxy x n otherwise; 52.92/32.33 52.92/32.33 pr2F0G2 vxy x n = pr2F0G1 vxy x n (evenMyInt n); 52.92/32.33 52.92/32.33 pr2F3 MyTrue wx vuy y = y; 52.92/32.33 pr2F3 vuz vvu vvv vvw = pr2F0 vvu vvv vvw; 52.92/32.33 52.92/32.33 pr2F4 wx vuy y = pr2F3 (esEsMyInt vuy (fromIntMyInt (Main.Pos Main.Zero))) wx vuy y; 52.92/32.33 pr2F4 vvx vvy vvz = pr2F0 vvx vvy vvz; 52.92/32.33 52.92/32.33 pr2Pr1 x n MyTrue = pr2F x (msMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero)))) x; 52.92/32.33 pr2Pr1 x n MyFalse = pr0 x n; 52.92/32.33 52.92/32.33 pr3 MyTrue x vww = fromIntMyInt (Main.Pos (Main.Succ Main.Zero)); 52.92/32.33 pr3 vwx vwy vwz = pr2 vwy vwz; 52.92/32.33 52.92/32.33 pr4 x vww = pr3 (esEsMyInt vww (fromIntMyInt (Main.Pos Main.Zero))) x vww; 52.92/32.33 pr4 vxu vxv = pr2 vxu vxv; 52.92/32.33 52.92/32.33 primCmpInt :: MyInt -> MyInt -> Ordering; 52.92/32.33 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 52.92/32.33 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 52.92/32.33 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 52.92/32.33 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 52.92/32.33 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 52.92/32.33 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 52.92/32.33 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 52.92/32.33 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 52.92/32.33 52.92/32.33 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 52.92/32.33 primCmpNat Main.Zero Main.Zero = EQ; 52.92/32.33 primCmpNat Main.Zero (Main.Succ y) = LT; 52.92/32.33 primCmpNat (Main.Succ x) Main.Zero = GT; 52.92/32.33 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 52.92/32.33 52.92/32.33 primDivNatS :: Main.Nat -> Main.Nat -> Main.Nat; 52.92/32.33 primDivNatS Main.Zero Main.Zero = Main.error; 52.92/32.33 primDivNatS (Main.Succ x) Main.Zero = Main.error; 52.92/32.33 primDivNatS (Main.Succ x) (Main.Succ y) = primDivNatS0 x y (primGEqNatS x y); 52.92/32.33 primDivNatS Main.Zero (Main.Succ x) = Main.Zero; 52.92/32.33 52.92/32.33 primDivNatS0 x y MyTrue = Main.Succ (primDivNatS (primMinusNatS x y) (Main.Succ y)); 52.92/32.33 primDivNatS0 x y MyFalse = Main.Zero; 52.92/32.33 52.92/32.33 primEqInt :: MyInt -> MyInt -> MyBool; 52.92/32.33 primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; 52.92/32.33 primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; 52.92/32.33 primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; 52.92/32.33 primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; 52.92/32.33 primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; 52.92/32.33 primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; 52.92/32.33 primEqInt xy xz = MyFalse; 52.92/32.33 52.92/32.33 primEqNat :: Main.Nat -> Main.Nat -> MyBool; 52.92/32.33 primEqNat Main.Zero Main.Zero = MyTrue; 52.92/32.33 primEqNat Main.Zero (Main.Succ y) = MyFalse; 52.92/32.33 primEqNat (Main.Succ x) Main.Zero = MyFalse; 52.92/32.33 primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; 52.92/32.33 52.92/32.33 primEvenInt :: MyInt -> MyBool; 52.92/32.33 primEvenInt (Main.Pos x) = primEvenNat x; 52.92/32.33 primEvenInt (Main.Neg x) = primEvenNat x; 52.92/32.33 52.92/32.33 primEvenNat :: Main.Nat -> MyBool; 52.92/32.33 primEvenNat Main.Zero = MyTrue; 52.92/32.33 primEvenNat (Main.Succ Main.Zero) = MyFalse; 52.92/32.33 primEvenNat (Main.Succ (Main.Succ x)) = primEvenNat x; 52.92/32.33 52.92/32.33 primGEqNatS :: Main.Nat -> Main.Nat -> MyBool; 52.92/32.33 primGEqNatS (Main.Succ x) Main.Zero = MyTrue; 52.92/32.33 primGEqNatS (Main.Succ x) (Main.Succ y) = primGEqNatS x y; 52.92/32.33 primGEqNatS Main.Zero (Main.Succ x) = MyFalse; 52.92/32.33 primGEqNatS Main.Zero Main.Zero = MyTrue; 52.92/32.33 52.92/32.33 primMinusInt :: MyInt -> MyInt -> MyInt; 52.92/32.33 primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); 52.92/32.33 primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); 52.92/32.33 primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; 52.92/32.33 primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; 52.92/32.33 52.92/32.33 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 52.92/32.33 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 52.92/32.33 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 52.92/32.33 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 52.92/32.33 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 52.92/32.33 52.92/32.33 primMinusNatS :: Main.Nat -> Main.Nat -> Main.Nat; 52.92/32.33 primMinusNatS (Main.Succ x) (Main.Succ y) = primMinusNatS x y; 52.92/32.33 primMinusNatS Main.Zero (Main.Succ y) = Main.Zero; 52.92/32.33 primMinusNatS x Main.Zero = x; 52.92/32.33 52.92/32.33 primMulInt :: MyInt -> MyInt -> MyInt; 52.92/32.33 primMulInt (Main.Pos x) (Main.Pos y) = Main.Pos (primMulNat x y); 52.92/32.33 primMulInt (Main.Pos x) (Main.Neg y) = Main.Neg (primMulNat x y); 52.92/32.33 primMulInt (Main.Neg x) (Main.Pos y) = Main.Neg (primMulNat x y); 52.92/32.33 primMulInt (Main.Neg x) (Main.Neg y) = Main.Pos (primMulNat x y); 52.92/32.33 52.92/32.33 primMulNat :: Main.Nat -> Main.Nat -> Main.Nat; 52.92/32.33 primMulNat Main.Zero Main.Zero = Main.Zero; 52.92/32.33 primMulNat Main.Zero (Main.Succ y) = Main.Zero; 52.92/32.33 primMulNat (Main.Succ x) Main.Zero = Main.Zero; 52.92/32.33 primMulNat (Main.Succ x) (Main.Succ y) = primPlusNat (primMulNat x (Main.Succ y)) (Main.Succ y); 52.92/32.33 52.92/32.33 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 52.92/32.33 primPlusNat Main.Zero Main.Zero = Main.Zero; 52.92/32.33 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 52.92/32.33 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 52.92/32.33 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 52.92/32.33 52.92/32.33 primQuotInt :: MyInt -> MyInt -> MyInt; 52.92/32.33 primQuotInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 52.92/32.33 primQuotInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 52.92/32.33 primQuotInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 52.92/32.33 primQuotInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 52.92/32.33 primQuotInt xw xx = Main.error; 52.92/32.33 52.92/32.33 quotMyInt :: MyInt -> MyInt -> MyInt; 52.92/32.33 quotMyInt = primQuotInt; 52.92/32.33 52.92/32.33 srMyInt :: MyInt -> MyInt -> MyInt; 52.92/32.33 srMyInt = primMulInt; 52.92/32.33 52.92/32.33 stop :: MyBool -> a; 52.92/32.33 stop MyFalse = stop MyFalse; 52.92/32.33 52.92/32.33 } 52.92/32.33 52.92/32.33 ---------------------------------------- 52.92/32.33 52.92/32.33 (1) BR (EQUIVALENT) 52.92/32.33 Replaced joker patterns by fresh variables and removed binding patterns. 52.92/32.33 ---------------------------------------- 52.92/32.33 52.92/32.33 (2) 52.92/32.33 Obligation: 52.92/32.33 mainModule Main 52.92/32.33 module Main where { 52.92/32.33 import qualified Prelude; 52.92/32.33 data MyBool = MyTrue | MyFalse ; 52.92/32.33 52.92/32.33 data MyInt = Pos Main.Nat | Neg Main.Nat ; 52.92/32.33 52.92/32.33 data Main.Nat = Succ Main.Nat | Zero ; 52.92/32.33 52.92/32.33 data Ordering = LT | EQ | GT ; 52.92/32.33 52.92/32.33 compareMyInt :: MyInt -> MyInt -> Ordering; 52.92/32.33 compareMyInt = primCmpInt; 52.92/32.33 52.92/32.33 error :: a; 52.92/32.33 error = stop MyTrue; 52.92/32.33 52.92/32.33 esEsMyInt :: MyInt -> MyInt -> MyBool; 52.92/32.33 esEsMyInt = primEqInt; 52.92/32.33 52.92/32.33 esEsOrdering :: Ordering -> Ordering -> MyBool; 52.92/32.33 esEsOrdering LT LT = MyTrue; 52.92/32.33 esEsOrdering LT EQ = MyFalse; 52.92/32.33 esEsOrdering LT GT = MyFalse; 52.92/32.33 esEsOrdering EQ LT = MyFalse; 52.92/32.33 esEsOrdering EQ EQ = MyTrue; 52.92/32.33 esEsOrdering EQ GT = MyFalse; 52.92/32.33 esEsOrdering GT LT = MyFalse; 52.92/32.33 esEsOrdering GT EQ = MyFalse; 52.92/32.33 esEsOrdering GT GT = MyTrue; 52.92/32.33 52.92/32.33 evenMyInt :: MyInt -> MyBool; 52.92/32.33 evenMyInt = primEvenInt; 52.92/32.33 52.92/32.33 fromIntMyInt :: MyInt -> MyInt; 52.92/32.33 fromIntMyInt x = x; 52.92/32.33 52.92/32.33 gtMyInt :: MyInt -> MyInt -> MyBool; 52.92/32.33 gtMyInt x y = esEsOrdering (compareMyInt x y) GT; 52.92/32.33 52.92/32.33 msMyInt :: MyInt -> MyInt -> MyInt; 52.92/32.33 msMyInt = primMinusInt; 52.92/32.33 52.92/32.33 otherwise :: MyBool; 52.92/32.33 otherwise = MyTrue; 52.92/32.33 52.92/32.33 pr x vww = pr4 x vww; 52.92/32.33 pr x n = pr2 x n; 52.92/32.33 pr wy wz = pr0 wy wz; 52.92/32.33 52.92/32.33 pr0 wy wz = Main.error; 52.92/32.33 52.92/32.33 pr2 x n = pr2Pr1 x n (gtMyInt n (fromIntMyInt (Main.Pos Main.Zero))); 52.92/32.33 pr2 vwu vwv = pr0 vwu vwv; 52.92/32.33 52.92/32.33 pr2F wx vuy y = pr2F4 wx vuy y; 52.92/32.33 pr2F x n y = pr2F0 x n y; 52.92/32.33 52.92/32.33 pr2F0 x n y = pr2F0G y x n; 52.92/32.33 52.92/32.33 pr2F0G vxy x n = pr2F0G2 vxy x n; 52.92/32.33 52.92/32.33 pr2F0G0 vxy x n MyTrue = pr2F x (msMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero)))) (srMyInt x vxy); 52.92/32.33 52.92/32.33 pr2F0G1 vxy x n MyTrue = pr2F0G vxy (srMyInt x x) (quotMyInt n (fromIntMyInt (Main.Pos (Main.Succ (Main.Succ Main.Zero))))); 52.92/32.33 pr2F0G1 vxy x n MyFalse = pr2F0G0 vxy x n otherwise; 52.92/32.33 52.92/32.33 pr2F0G2 vxy x n = pr2F0G1 vxy x n (evenMyInt n); 52.92/32.33 52.92/32.33 pr2F3 MyTrue wx vuy y = y; 52.92/32.33 pr2F3 vuz vvu vvv vvw = pr2F0 vvu vvv vvw; 52.92/32.33 52.92/32.33 pr2F4 wx vuy y = pr2F3 (esEsMyInt vuy (fromIntMyInt (Main.Pos Main.Zero))) wx vuy y; 52.92/32.33 pr2F4 vvx vvy vvz = pr2F0 vvx vvy vvz; 52.92/32.33 52.92/32.33 pr2Pr1 x n MyTrue = pr2F x (msMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero)))) x; 52.92/32.33 pr2Pr1 x n MyFalse = pr0 x n; 52.92/32.33 52.92/32.33 pr3 MyTrue x vww = fromIntMyInt (Main.Pos (Main.Succ Main.Zero)); 52.92/32.33 pr3 vwx vwy vwz = pr2 vwy vwz; 52.92/32.33 52.92/32.33 pr4 x vww = pr3 (esEsMyInt vww (fromIntMyInt (Main.Pos Main.Zero))) x vww; 52.92/32.33 pr4 vxu vxv = pr2 vxu vxv; 52.92/32.33 52.92/32.33 primCmpInt :: MyInt -> MyInt -> Ordering; 52.92/32.33 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 52.92/32.33 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 52.92/32.33 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 52.92/32.33 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 52.92/32.33 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 52.92/32.33 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 52.92/32.33 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 52.92/32.33 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 52.92/32.33 52.92/32.33 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 52.92/32.33 primCmpNat Main.Zero Main.Zero = EQ; 52.92/32.33 primCmpNat Main.Zero (Main.Succ y) = LT; 52.92/32.33 primCmpNat (Main.Succ x) Main.Zero = GT; 52.92/32.33 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 52.92/32.33 52.92/32.33 primDivNatS :: Main.Nat -> Main.Nat -> Main.Nat; 52.92/32.33 primDivNatS Main.Zero Main.Zero = Main.error; 52.92/32.33 primDivNatS (Main.Succ x) Main.Zero = Main.error; 52.92/32.33 primDivNatS (Main.Succ x) (Main.Succ y) = primDivNatS0 x y (primGEqNatS x y); 52.92/32.33 primDivNatS Main.Zero (Main.Succ x) = Main.Zero; 52.92/32.33 52.92/32.33 primDivNatS0 x y MyTrue = Main.Succ (primDivNatS (primMinusNatS x y) (Main.Succ y)); 52.92/32.33 primDivNatS0 x y MyFalse = Main.Zero; 52.92/32.33 52.92/32.33 primEqInt :: MyInt -> MyInt -> MyBool; 52.92/32.33 primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; 52.92/32.33 primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; 52.92/32.33 primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; 52.92/32.33 primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; 52.92/32.33 primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; 52.92/32.33 primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; 52.92/32.33 primEqInt xy xz = MyFalse; 52.92/32.33 52.92/32.33 primEqNat :: Main.Nat -> Main.Nat -> MyBool; 52.92/32.33 primEqNat Main.Zero Main.Zero = MyTrue; 52.92/32.33 primEqNat Main.Zero (Main.Succ y) = MyFalse; 52.92/32.33 primEqNat (Main.Succ x) Main.Zero = MyFalse; 52.92/32.33 primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; 52.92/32.33 52.92/32.33 primEvenInt :: MyInt -> MyBool; 52.92/32.33 primEvenInt (Main.Pos x) = primEvenNat x; 52.92/32.33 primEvenInt (Main.Neg x) = primEvenNat x; 52.92/32.33 52.92/32.33 primEvenNat :: Main.Nat -> MyBool; 52.92/32.33 primEvenNat Main.Zero = MyTrue; 52.92/32.33 primEvenNat (Main.Succ Main.Zero) = MyFalse; 52.92/32.33 primEvenNat (Main.Succ (Main.Succ x)) = primEvenNat x; 52.92/32.33 52.92/32.33 primGEqNatS :: Main.Nat -> Main.Nat -> MyBool; 52.92/32.33 primGEqNatS (Main.Succ x) Main.Zero = MyTrue; 52.92/32.33 primGEqNatS (Main.Succ x) (Main.Succ y) = primGEqNatS x y; 52.92/32.33 primGEqNatS Main.Zero (Main.Succ x) = MyFalse; 52.92/32.33 primGEqNatS Main.Zero Main.Zero = MyTrue; 52.92/32.33 52.92/32.33 primMinusInt :: MyInt -> MyInt -> MyInt; 52.92/32.33 primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); 52.92/32.33 primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); 52.92/32.33 primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; 52.92/32.33 primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; 52.92/32.33 52.92/32.33 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 52.92/32.33 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 52.92/32.33 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 52.92/32.33 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 52.92/32.33 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 52.92/32.33 52.92/32.33 primMinusNatS :: Main.Nat -> Main.Nat -> Main.Nat; 52.92/32.33 primMinusNatS (Main.Succ x) (Main.Succ y) = primMinusNatS x y; 52.92/32.33 primMinusNatS Main.Zero (Main.Succ y) = Main.Zero; 52.92/32.33 primMinusNatS x Main.Zero = x; 52.92/32.33 52.92/32.33 primMulInt :: MyInt -> MyInt -> MyInt; 52.92/32.33 primMulInt (Main.Pos x) (Main.Pos y) = Main.Pos (primMulNat x y); 52.92/32.33 primMulInt (Main.Pos x) (Main.Neg y) = Main.Neg (primMulNat x y); 52.92/32.33 primMulInt (Main.Neg x) (Main.Pos y) = Main.Neg (primMulNat x y); 52.92/32.33 primMulInt (Main.Neg x) (Main.Neg y) = Main.Pos (primMulNat x y); 52.92/32.33 52.92/32.33 primMulNat :: Main.Nat -> Main.Nat -> Main.Nat; 52.92/32.33 primMulNat Main.Zero Main.Zero = Main.Zero; 52.92/32.33 primMulNat Main.Zero (Main.Succ y) = Main.Zero; 52.92/32.33 primMulNat (Main.Succ x) Main.Zero = Main.Zero; 52.92/32.33 primMulNat (Main.Succ x) (Main.Succ y) = primPlusNat (primMulNat x (Main.Succ y)) (Main.Succ y); 52.92/32.33 52.92/32.33 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 52.92/32.33 primPlusNat Main.Zero Main.Zero = Main.Zero; 52.92/32.33 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 52.92/32.33 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 52.92/32.33 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 52.92/32.33 52.92/32.33 primQuotInt :: MyInt -> MyInt -> MyInt; 52.92/32.33 primQuotInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 52.92/32.33 primQuotInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 52.92/32.33 primQuotInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 52.92/32.33 primQuotInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 52.92/32.33 primQuotInt xw xx = Main.error; 52.92/32.33 52.92/32.33 quotMyInt :: MyInt -> MyInt -> MyInt; 52.92/32.33 quotMyInt = primQuotInt; 52.92/32.33 52.92/32.33 srMyInt :: MyInt -> MyInt -> MyInt; 52.92/32.33 srMyInt = primMulInt; 52.92/32.33 52.92/32.33 stop :: MyBool -> a; 52.92/32.33 stop MyFalse = stop MyFalse; 52.92/32.33 52.92/32.33 } 52.92/32.33 52.92/32.33 ---------------------------------------- 52.92/32.33 52.92/32.33 (3) COR (EQUIVALENT) 52.92/32.33 Cond Reductions: 52.92/32.33 The following Function with conditions 52.92/32.33 "undefined |Falseundefined; 52.92/32.33 " 52.92/32.33 is transformed to 52.92/32.33 "undefined = undefined1; 52.92/32.33 " 52.92/32.33 "undefined0 True = undefined; 52.92/32.33 " 52.92/32.33 "undefined1 = undefined0 False; 52.92/32.33 " 52.92/32.33 52.92/32.33 ---------------------------------------- 52.92/32.33 52.92/32.33 (4) 52.92/32.33 Obligation: 52.92/32.33 mainModule Main 52.92/32.33 module Main where { 52.92/32.33 import qualified Prelude; 52.92/32.33 data MyBool = MyTrue | MyFalse ; 52.92/32.33 52.92/32.33 data MyInt = Pos Main.Nat | Neg Main.Nat ; 52.92/32.33 52.92/32.33 data Main.Nat = Succ Main.Nat | Zero ; 52.92/32.33 52.92/32.33 data Ordering = LT | EQ | GT ; 52.92/32.33 52.92/32.33 compareMyInt :: MyInt -> MyInt -> Ordering; 52.92/32.33 compareMyInt = primCmpInt; 52.92/32.33 52.92/32.33 error :: a; 52.92/32.33 error = stop MyTrue; 52.92/32.33 52.92/32.33 esEsMyInt :: MyInt -> MyInt -> MyBool; 52.92/32.33 esEsMyInt = primEqInt; 52.92/32.33 52.92/32.33 esEsOrdering :: Ordering -> Ordering -> MyBool; 52.92/32.33 esEsOrdering LT LT = MyTrue; 52.92/32.33 esEsOrdering LT EQ = MyFalse; 52.92/32.33 esEsOrdering LT GT = MyFalse; 52.92/32.33 esEsOrdering EQ LT = MyFalse; 52.92/32.33 esEsOrdering EQ EQ = MyTrue; 52.92/32.33 esEsOrdering EQ GT = MyFalse; 52.92/32.33 esEsOrdering GT LT = MyFalse; 52.92/32.33 esEsOrdering GT EQ = MyFalse; 52.92/32.33 esEsOrdering GT GT = MyTrue; 52.92/32.33 52.92/32.33 evenMyInt :: MyInt -> MyBool; 52.92/32.33 evenMyInt = primEvenInt; 52.92/32.33 52.92/32.33 fromIntMyInt :: MyInt -> MyInt; 52.92/32.33 fromIntMyInt x = x; 52.92/32.33 52.92/32.33 gtMyInt :: MyInt -> MyInt -> MyBool; 52.92/32.33 gtMyInt x y = esEsOrdering (compareMyInt x y) GT; 52.92/32.33 52.92/32.33 msMyInt :: MyInt -> MyInt -> MyInt; 52.92/32.33 msMyInt = primMinusInt; 52.92/32.33 52.92/32.33 otherwise :: MyBool; 52.92/32.33 otherwise = MyTrue; 52.92/32.33 52.92/32.33 pr x vww = pr4 x vww; 52.92/32.33 pr x n = pr2 x n; 52.92/32.33 pr wy wz = pr0 wy wz; 52.92/32.33 52.92/32.33 pr0 wy wz = Main.error; 52.92/32.33 52.92/32.33 pr2 x n = pr2Pr1 x n (gtMyInt n (fromIntMyInt (Main.Pos Main.Zero))); 52.92/32.33 pr2 vwu vwv = pr0 vwu vwv; 52.92/32.33 52.92/32.33 pr2F wx vuy y = pr2F4 wx vuy y; 52.92/32.33 pr2F x n y = pr2F0 x n y; 52.92/32.33 52.92/32.33 pr2F0 x n y = pr2F0G y x n; 52.92/32.33 52.92/32.33 pr2F0G vxy x n = pr2F0G2 vxy x n; 52.92/32.33 52.92/32.33 pr2F0G0 vxy x n MyTrue = pr2F x (msMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero)))) (srMyInt x vxy); 52.92/32.33 52.92/32.33 pr2F0G1 vxy x n MyTrue = pr2F0G vxy (srMyInt x x) (quotMyInt n (fromIntMyInt (Main.Pos (Main.Succ (Main.Succ Main.Zero))))); 52.92/32.33 pr2F0G1 vxy x n MyFalse = pr2F0G0 vxy x n otherwise; 52.92/32.33 52.92/32.33 pr2F0G2 vxy x n = pr2F0G1 vxy x n (evenMyInt n); 52.92/32.33 52.92/32.33 pr2F3 MyTrue wx vuy y = y; 52.92/32.33 pr2F3 vuz vvu vvv vvw = pr2F0 vvu vvv vvw; 52.92/32.33 52.92/32.33 pr2F4 wx vuy y = pr2F3 (esEsMyInt vuy (fromIntMyInt (Main.Pos Main.Zero))) wx vuy y; 52.92/32.33 pr2F4 vvx vvy vvz = pr2F0 vvx vvy vvz; 52.92/32.33 52.92/32.33 pr2Pr1 x n MyTrue = pr2F x (msMyInt n (fromIntMyInt (Main.Pos (Main.Succ Main.Zero)))) x; 52.92/32.33 pr2Pr1 x n MyFalse = pr0 x n; 52.92/32.33 52.92/32.33 pr3 MyTrue x vww = fromIntMyInt (Main.Pos (Main.Succ Main.Zero)); 52.92/32.33 pr3 vwx vwy vwz = pr2 vwy vwz; 52.92/32.33 52.92/32.33 pr4 x vww = pr3 (esEsMyInt vww (fromIntMyInt (Main.Pos Main.Zero))) x vww; 52.92/32.34 pr4 vxu vxv = pr2 vxu vxv; 52.92/32.34 52.92/32.34 primCmpInt :: MyInt -> MyInt -> Ordering; 52.92/32.34 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 52.92/32.34 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 52.92/32.34 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 52.92/32.34 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 52.92/32.34 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 52.92/32.34 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 52.92/32.34 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 52.92/32.34 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 52.92/32.34 52.92/32.34 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 52.92/32.34 primCmpNat Main.Zero Main.Zero = EQ; 52.92/32.34 primCmpNat Main.Zero (Main.Succ y) = LT; 52.92/32.34 primCmpNat (Main.Succ x) Main.Zero = GT; 52.92/32.34 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 52.92/32.34 52.92/32.34 primDivNatS :: Main.Nat -> Main.Nat -> Main.Nat; 52.92/32.34 primDivNatS Main.Zero Main.Zero = Main.error; 52.92/32.34 primDivNatS (Main.Succ x) Main.Zero = Main.error; 52.92/32.34 primDivNatS (Main.Succ x) (Main.Succ y) = primDivNatS0 x y (primGEqNatS x y); 52.92/32.34 primDivNatS Main.Zero (Main.Succ x) = Main.Zero; 52.92/32.34 52.92/32.34 primDivNatS0 x y MyTrue = Main.Succ (primDivNatS (primMinusNatS x y) (Main.Succ y)); 52.92/32.34 primDivNatS0 x y MyFalse = Main.Zero; 52.92/32.34 52.92/32.34 primEqInt :: MyInt -> MyInt -> MyBool; 52.92/32.34 primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; 52.92/32.34 primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; 52.92/32.34 primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; 52.92/32.34 primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; 52.92/32.34 primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; 52.92/32.34 primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; 52.92/32.34 primEqInt xy xz = MyFalse; 52.92/32.34 52.92/32.34 primEqNat :: Main.Nat -> Main.Nat -> MyBool; 52.92/32.34 primEqNat Main.Zero Main.Zero = MyTrue; 52.92/32.34 primEqNat Main.Zero (Main.Succ y) = MyFalse; 52.92/32.34 primEqNat (Main.Succ x) Main.Zero = MyFalse; 52.92/32.34 primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; 52.92/32.34 52.92/32.34 primEvenInt :: MyInt -> MyBool; 52.92/32.34 primEvenInt (Main.Pos x) = primEvenNat x; 52.92/32.34 primEvenInt (Main.Neg x) = primEvenNat x; 52.92/32.34 52.92/32.34 primEvenNat :: Main.Nat -> MyBool; 52.92/32.34 primEvenNat Main.Zero = MyTrue; 52.92/32.34 primEvenNat (Main.Succ Main.Zero) = MyFalse; 52.92/32.34 primEvenNat (Main.Succ (Main.Succ x)) = primEvenNat x; 52.92/32.34 52.92/32.34 primGEqNatS :: Main.Nat -> Main.Nat -> MyBool; 52.92/32.34 primGEqNatS (Main.Succ x) Main.Zero = MyTrue; 52.92/32.34 primGEqNatS (Main.Succ x) (Main.Succ y) = primGEqNatS x y; 52.92/32.34 primGEqNatS Main.Zero (Main.Succ x) = MyFalse; 52.92/32.34 primGEqNatS Main.Zero Main.Zero = MyTrue; 52.92/32.34 52.92/32.34 primMinusInt :: MyInt -> MyInt -> MyInt; 52.92/32.34 primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); 52.92/32.34 primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); 52.92/32.34 primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; 52.92/32.34 primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; 52.92/32.34 52.92/32.34 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 52.92/32.34 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 52.92/32.34 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 52.92/32.34 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 52.92/32.34 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 52.92/32.34 52.92/32.34 primMinusNatS :: Main.Nat -> Main.Nat -> Main.Nat; 52.92/32.34 primMinusNatS (Main.Succ x) (Main.Succ y) = primMinusNatS x y; 52.92/32.34 primMinusNatS Main.Zero (Main.Succ y) = Main.Zero; 52.92/32.34 primMinusNatS x Main.Zero = x; 52.92/32.34 52.92/32.34 primMulInt :: MyInt -> MyInt -> MyInt; 52.92/32.34 primMulInt (Main.Pos x) (Main.Pos y) = Main.Pos (primMulNat x y); 52.92/32.34 primMulInt (Main.Pos x) (Main.Neg y) = Main.Neg (primMulNat x y); 52.92/32.34 primMulInt (Main.Neg x) (Main.Pos y) = Main.Neg (primMulNat x y); 52.92/32.34 primMulInt (Main.Neg x) (Main.Neg y) = Main.Pos (primMulNat x y); 52.92/32.34 52.92/32.34 primMulNat :: Main.Nat -> Main.Nat -> Main.Nat; 52.92/32.34 primMulNat Main.Zero Main.Zero = Main.Zero; 52.92/32.34 primMulNat Main.Zero (Main.Succ y) = Main.Zero; 52.92/32.34 primMulNat (Main.Succ x) Main.Zero = Main.Zero; 52.92/32.34 primMulNat (Main.Succ x) (Main.Succ y) = primPlusNat (primMulNat x (Main.Succ y)) (Main.Succ y); 52.92/32.34 52.92/32.34 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 52.92/32.34 primPlusNat Main.Zero Main.Zero = Main.Zero; 52.92/32.34 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 52.92/32.34 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 52.92/32.34 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 52.92/32.34 52.92/32.34 primQuotInt :: MyInt -> MyInt -> MyInt; 52.92/32.34 primQuotInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 52.92/32.34 primQuotInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 52.92/32.34 primQuotInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 52.92/32.34 primQuotInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 52.92/32.34 primQuotInt xw xx = Main.error; 52.92/32.34 52.92/32.34 quotMyInt :: MyInt -> MyInt -> MyInt; 52.92/32.34 quotMyInt = primQuotInt; 52.92/32.34 52.92/32.34 srMyInt :: MyInt -> MyInt -> MyInt; 52.92/32.34 srMyInt = primMulInt; 52.92/32.34 52.92/32.34 stop :: MyBool -> a; 52.92/32.34 stop MyFalse = stop MyFalse; 52.92/32.34 52.92/32.34 } 52.92/32.34 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (5) Narrow (SOUND) 52.92/32.34 Haskell To QDPs 52.92/32.34 52.92/32.34 digraph dp_graph { 52.92/32.34 node [outthreshold=100, inthreshold=100];1[label="pr",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 52.92/32.34 3[label="pr vx3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 52.92/32.34 4[label="pr vx3 vx4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 52.92/32.34 5[label="pr4 vx3 vx4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1176 -> 8[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1177[label="vx4/Neg vx40",fontsize=10,color="white",style="solid",shape="box"];7 -> 1177[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1177 -> 9[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 1178 -> 10[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1179[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];8 -> 1179[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1179 -> 11[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 1180 -> 12[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1181[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];9 -> 1181[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1181 -> 13[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 18[label="pr3 MyFalse vx3 (Pos (Succ vx400))",fontsize=16,color="black",shape="box"];18 -> 22[label="",style="solid", color="black", weight=3]; 52.92/32.34 19[label="pr3 MyTrue vx3 (Pos Zero)",fontsize=16,color="black",shape="box"];19 -> 23[label="",style="solid", color="black", weight=3]; 52.92/32.34 20[label="pr3 MyFalse vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];20 -> 24[label="",style="solid", color="black", weight=3]; 52.92/32.34 21[label="pr3 MyTrue vx3 (Neg Zero)",fontsize=16,color="black",shape="box"];21 -> 25[label="",style="solid", color="black", weight=3]; 52.92/32.34 22[label="pr2 vx3 (Pos (Succ vx400))",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 52.92/32.34 23[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];23 -> 27[label="",style="solid", color="black", weight=3]; 52.92/32.34 24[label="pr2 vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 52.92/32.34 25 -> 23[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 38[label="pr2Pr1 vx3 (Neg (Succ vx400)) MyFalse",fontsize=16,color="black",shape="box"];38 -> 40[label="",style="solid", color="black", weight=3]; 52.92/32.34 39[label="pr2Pr1 vx3 (Pos (Succ vx400)) MyTrue",fontsize=16,color="black",shape="box"];39 -> 41[label="",style="solid", color="black", weight=3]; 52.92/32.34 40[label="pr0 vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];40 -> 42[label="",style="solid", color="black", weight=3]; 52.92/32.34 41 -> 43[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 42[label="error",fontsize=16,color="black",shape="box"];42 -> 45[label="",style="solid", color="black", weight=3]; 52.92/32.34 44 -> 23[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 45[label="stop MyTrue",fontsize=16,color="black",shape="box"];45 -> 47[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1182 -> 51[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1183[label="vx5/Neg vx50",fontsize=10,color="white",style="solid",shape="box"];50 -> 1183[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1183 -> 52[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1184 -> 55[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1185[label="vx50/Zero",fontsize=10,color="white",style="solid",shape="box"];53 -> 1185[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1185 -> 56[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 1186 -> 57[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1187[label="vx50/Zero",fontsize=10,color="white",style="solid",shape="box"];54 -> 1187[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1187 -> 58[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1188 -> 63[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1189[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];59 -> 1189[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1189 -> 64[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 60 -> 414[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 60 -> 416[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 60 -> 417[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 61 -> 414[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 61 -> 419[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 61 -> 420[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 62 -> 414[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 62 -> 422[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 62 -> 423[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 1190 -> 67[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1191[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];63 -> 1191[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1191 -> 68[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 1192 -> 69[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1193[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];64 -> 1193[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1193 -> 70[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 429 -> 72[label="",style="dashed", color="red", weight=0]; 52.92/32.34 429[label="primPlusNat vx400 vx500",fontsize=16,color="magenta"];73 -> 59[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 73 -> 81[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 74 -> 414[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 74 -> 425[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 74 -> 426[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 76 -> 432[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 76 -> 434[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 436[label="pr2F3 MyFalse vx12 (Pos (Succ vx23000)) vx33",fontsize=16,color="black",shape="box"];436 -> 440[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 1194 -> 78[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1195[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];72 -> 1195[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1195 -> 79[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 83 -> 766[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 83 -> 767[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 83 -> 768[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 440[label="pr2F0 vx12 (Pos (Succ vx23000)) vx33",fontsize=16,color="black",shape="box"];440 -> 444[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 1196 -> 86[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1197[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];78 -> 1197[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1197 -> 87[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 1198 -> 88[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1199[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];79 -> 1199[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1199 -> 89[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 444 -> 771[label="",style="dashed", color="red", weight=0]; 52.92/32.34 444[label="pr2F0G vx33 vx12 (Pos (Succ vx23000))",fontsize=16,color="magenta"];444 -> 772[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 444 -> 773[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 444 -> 774[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 86[label="primPlusNat (Succ vx4000) (Succ vx5000)",fontsize=16,color="black",shape="box"];86 -> 93[label="",style="solid", color="black", weight=3]; 52.92/32.34 87[label="primPlusNat (Succ vx4000) Zero",fontsize=16,color="black",shape="box"];87 -> 94[label="",style="solid", color="black", weight=3]; 52.92/32.34 88[label="primPlusNat Zero (Succ vx5000)",fontsize=16,color="black",shape="box"];88 -> 95[label="",style="solid", color="black", weight=3]; 52.92/32.34 89[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];89 -> 96[label="",style="solid", color="black", weight=3]; 52.92/32.34 770[label="pr2F3 MyFalse vx50 (Neg vx61) vx64",fontsize=16,color="black",shape="box"];770 -> 776[label="",style="solid", color="black", weight=3]; 52.92/32.34 441[label="pr2F3 MyTrue vx12 (Pos Zero) vx34",fontsize=16,color="black",shape="box"];441 -> 445[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 93[label="Succ (Succ (primPlusNat vx4000 vx5000))",fontsize=16,color="green",shape="box"];93 -> 100[label="",style="dashed", color="green", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 100 -> 72[label="",style="dashed", color="red", weight=0]; 52.92/32.34 100[label="primPlusNat vx4000 vx5000",fontsize=16,color="magenta"];100 -> 103[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 100 -> 104[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 778[label="pr2F0G vx64 vx50 (Neg vx61)",fontsize=16,color="black",shape="box"];778 -> 780[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1200 -> 785[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1201[label="vx59/Zero",fontsize=10,color="white",style="solid",shape="box"];783 -> 1201[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1201 -> 786[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1202 -> 788[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1203[label="vx590/Zero",fontsize=10,color="white",style="solid",shape="box"];785 -> 1203[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1203 -> 789[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 786[label="pr2F0G1 vx65 vx44 (Pos Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];786 -> 790[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 1204 -> 791[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1205[label="vx61/Zero",fontsize=10,color="white",style="solid",shape="box"];787 -> 1205[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1205 -> 792[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 790[label="pr2F0G1 vx65 vx44 (Pos Zero) MyTrue",fontsize=16,color="black",shape="box"];790 -> 795[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 1206 -> 796[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1207[label="vx610/Zero",fontsize=10,color="white",style="solid",shape="box"];791 -> 1207[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1207 -> 797[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 792[label="pr2F0G1 vx64 vx50 (Neg Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];792 -> 798[label="",style="solid", color="black", weight=3]; 52.92/32.34 793 -> 865[label="",style="dashed", color="red", weight=0]; 52.92/32.34 793[label="pr2F0G1 vx65 vx44 (Pos (Succ (Succ vx5900))) (primEvenNat vx5900)",fontsize=16,color="magenta"];793 -> 866[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 793 -> 867[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 793 -> 868[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 793 -> 869[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 794[label="pr2F0G1 vx65 vx44 (Pos (Succ Zero)) MyFalse",fontsize=16,color="black",shape="box"];794 -> 801[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 798[label="pr2F0G1 vx64 vx50 (Neg Zero) MyTrue",fontsize=16,color="black",shape="box"];798 -> 805[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 1208 -> 878[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1209[label="vx72/Zero",fontsize=10,color="white",style="solid",shape="box"];865 -> 1209[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1209 -> 879[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 801[label="pr2F0G0 vx65 vx44 (Pos (Succ Zero)) otherwise",fontsize=16,color="black",shape="box"];801 -> 809[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 803 -> 896[label="",style="dashed", color="red", weight=0]; 52.92/32.34 803[label="pr2F0G1 vx64 vx50 (Neg (Succ (Succ vx6100))) (primEvenNat vx6100)",fontsize=16,color="magenta"];803 -> 897[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 803 -> 898[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 803 -> 899[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 803 -> 900[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 804[label="pr2F0G1 vx64 vx50 (Neg (Succ Zero)) MyFalse",fontsize=16,color="black",shape="box"];804 -> 813[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1210 -> 890[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1211[label="vx720/Zero",fontsize=10,color="white",style="solid",shape="box"];878 -> 1211[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1211 -> 891[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 809[label="pr2F0G0 vx65 vx44 (Pos (Succ Zero)) MyTrue",fontsize=16,color="black",shape="box"];809 -> 818[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1212 -> 909[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1213[label="vx77/Zero",fontsize=10,color="white",style="solid",shape="box"];896 -> 1213[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1213 -> 910[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 813[label="pr2F0G0 vx64 vx50 (Neg (Succ Zero)) otherwise",fontsize=16,color="black",shape="box"];813 -> 823[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 892[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) MyTrue",fontsize=16,color="black",shape="box"];892 -> 913[label="",style="solid", color="black", weight=3]; 52.92/32.34 818 -> 958[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 818 -> 960[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 818 -> 961[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 818 -> 962[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1214 -> 921[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1215[label="vx770/Zero",fontsize=10,color="white",style="solid",shape="box"];909 -> 1215[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1215 -> 922[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 823[label="pr2F0G0 vx64 vx50 (Neg (Succ Zero)) MyTrue",fontsize=16,color="black",shape="box"];823 -> 835[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 911 -> 865[label="",style="dashed", color="red", weight=0]; 52.92/32.34 911[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) (primEvenNat vx7200)",fontsize=16,color="magenta"];911 -> 924[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 912[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) MyFalse",fontsize=16,color="black",shape="box"];912 -> 925[label="",style="solid", color="black", weight=3]; 52.92/32.34 913 -> 926[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 959 -> 23[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 923[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) MyTrue",fontsize=16,color="black",shape="box"];923 -> 930[label="",style="solid", color="black", weight=3]; 52.92/32.34 835 -> 979[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 835 -> 981[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 835 -> 982[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 835 -> 983[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 927 -> 881[label="",style="dashed", color="red", weight=0]; 52.92/32.34 927[label="srMyInt vx70 vx70",fontsize=16,color="magenta"];927 -> 932[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 928 -> 896[label="",style="dashed", color="red", weight=0]; 52.92/32.34 928[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) (primEvenNat vx7700)",fontsize=16,color="magenta"];928 -> 940[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 929[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) MyFalse",fontsize=16,color="black",shape="box"];929 -> 941[label="",style="solid", color="black", weight=3]; 52.92/32.34 930 -> 942[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 980[label="vx64",fontsize=16,color="green",shape="box"];981 -> 23[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 931[label="pr2F0G0 vx69 vx70 (Pos (Succ vx71)) MyTrue",fontsize=16,color="black",shape="box"];931 -> 944[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 857 -> 781[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 857 -> 882[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 943 -> 881[label="",style="dashed", color="red", weight=0]; 52.92/32.34 943[label="srMyInt vx75 vx75",fontsize=16,color="magenta"];943 -> 947[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 944 -> 958[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1216 -> 919[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1217[label="vx44/Neg vx440",fontsize=10,color="white",style="solid",shape="box"];894 -> 1217[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1217 -> 920[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 882[label="primDivNatS Zero (Succ (Succ Zero))",fontsize=16,color="black",shape="triangle"];882 -> 895[label="",style="solid", color="black", weight=3]; 52.92/32.34 946[label="pr2F0G0 vx74 vx75 (Neg (Succ vx76)) MyTrue",fontsize=16,color="black",shape="box"];946 -> 970[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 889 -> 784[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 889 -> 916[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 967 -> 23[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 920[label="primMulInt (Neg vx440) (Neg vx440)",fontsize=16,color="black",shape="box"];920 -> 939[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1218 -> 1002[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1219[label="vx82/Neg vx820",fontsize=10,color="white",style="solid",shape="box"];996 -> 1219[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1219 -> 1003[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 895[label="Zero",fontsize=16,color="green",shape="box"];970 -> 979[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 915 -> 881[label="",style="dashed", color="red", weight=0]; 52.92/32.34 915[label="srMyInt vx50 vx50",fontsize=16,color="magenta"];915 -> 935[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 916 -> 882[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 939[label="Pos (primMulNat vx440 vx440)",fontsize=16,color="green",shape="box"];939 -> 950[label="",style="dashed", color="green", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 988 -> 23[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1220 -> 1017[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1221[label="vx83/Neg vx830",fontsize=10,color="white",style="solid",shape="box"];1010 -> 1221[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1221 -> 1018[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 1222 -> 972[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1223[label="vx440/Zero",fontsize=10,color="white",style="solid",shape="box"];949 -> 1223[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1223 -> 973[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 950 -> 949[label="",style="dashed", color="red", weight=0]; 52.92/32.34 950[label="primMulNat vx440 vx440",fontsize=16,color="magenta"];950 -> 974[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1224 -> 1019[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1225[label="vx820/Zero",fontsize=10,color="white",style="solid",shape="box"];1011 -> 1225[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1225 -> 1020[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1012 -> 1021[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 1012 -> 1023[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 972[label="primMulNat (Succ vx4400) (Succ vx4400)",fontsize=16,color="black",shape="box"];972 -> 993[label="",style="solid", color="black", weight=3]; 52.92/32.34 973[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];973 -> 994[label="",style="solid", color="black", weight=3]; 52.92/32.34 974[label="vx440",fontsize=16,color="green",shape="box"];998 -> 781[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 998 -> 1006[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 998 -> 1007[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1022 -> 72[label="",style="dashed", color="red", weight=0]; 52.92/32.34 1022[label="primPlusNat (Succ vx71) vx820",fontsize=16,color="magenta"];1022 -> 1028[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1022 -> 1029[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1023 -> 72[label="",style="dashed", color="red", weight=0]; 52.92/32.34 1023[label="primPlusNat (Succ vx71) vx820",fontsize=16,color="magenta"];1023 -> 1030[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1023 -> 1031[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 1226 -> 1032[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1227[label="vx85/Zero",fontsize=10,color="white",style="solid",shape="box"];1021 -> 1227[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1227 -> 1033[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 1024 -> 1041[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 1024 -> 1043[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 1228 -> 1044[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1229[label="vx830/Zero",fontsize=10,color="white",style="solid",shape="box"];1025 -> 1229[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1229 -> 1045[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 993 -> 72[label="",style="dashed", color="red", weight=0]; 52.92/32.34 993[label="primPlusNat (primMulNat vx4400 (Succ vx4400)) (Succ vx4400)",fontsize=16,color="magenta"];993 -> 999[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 993 -> 1000[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1230 -> 1046[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1231[label="vx71/Zero",fontsize=10,color="white",style="solid",shape="box"];1026 -> 1231[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1231 -> 1047[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1027 -> 1021[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 1027 -> 1049[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1013 -> 784[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 1013 -> 1035[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1013 -> 1036[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1042 -> 72[label="",style="dashed", color="red", weight=0]; 52.92/32.34 1042[label="primPlusNat (Succ vx76) vx830",fontsize=16,color="magenta"];1042 -> 1052[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1042 -> 1053[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1043 -> 72[label="",style="dashed", color="red", weight=0]; 52.92/32.34 1043[label="primPlusNat (Succ vx76) vx830",fontsize=16,color="magenta"];1043 -> 1054[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1043 -> 1055[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 1232 -> 1056[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1233[label="vx87/Zero",fontsize=10,color="white",style="solid",shape="box"];1041 -> 1233[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1233 -> 1057[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1234 -> 1008[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1235[label="vx4400/Zero",fontsize=10,color="white",style="solid",shape="box"];1000 -> 1235[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1235 -> 1009[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 1236 -> 1037[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1237[label="vx71/Zero",fontsize=10,color="white",style="solid",shape="box"];1014 -> 1237[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1237 -> 1038[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 1238 -> 1065[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1239[label="vx8200/Zero",fontsize=10,color="white",style="solid",shape="box"];1046 -> 1239[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1239 -> 1066[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 1240 -> 1067[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1241[label="vx8200/Zero",fontsize=10,color="white",style="solid",shape="box"];1047 -> 1241[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1241 -> 1068[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1036[label="primDivNatS (Succ vx76) (Succ (Succ Zero))",fontsize=16,color="magenta"];1036 -> 1058[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1063 -> 1026[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 1063 -> 1079[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1063 -> 1080[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1063 -> 1081[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1064 -> 1041[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 1064 -> 1083[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1008[label="primMulNat (Succ vx44000) (Succ (Succ vx44000))",fontsize=16,color="black",shape="box"];1008 -> 1015[label="",style="solid", color="black", weight=3]; 52.92/32.34 1009[label="primMulNat Zero (Succ Zero)",fontsize=16,color="black",shape="box"];1009 -> 1016[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1058[label="vx76",fontsize=16,color="green",shape="box"];1071 -> 764[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 1071 -> 1091[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1071 -> 1092[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1071 -> 1093[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1015[label="primPlusNat (primMulNat vx44000 (Succ (Succ vx44000))) (Succ (Succ vx44000))",fontsize=16,color="magenta"];1015 -> 1039[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1015 -> 1040[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 1242 -> 1073[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1243[label="vx710/Zero",fontsize=10,color="white",style="solid",shape="box"];1059 -> 1243[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1243 -> 1074[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1060[label="primDivNatS0 Zero (Succ Zero) MyFalse",fontsize=16,color="black",shape="box"];1060 -> 1075[label="",style="solid", color="black", weight=3]; 52.92/32.34 1084 -> 1026[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 1084 -> 1100[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1085 -> 1021[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 1085 -> 1102[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1086 -> 1041[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 1086 -> 1104[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1086 -> 1105[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1086 -> 1106[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1087 -> 1021[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 1087 -> 1108[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1088[label="pr2F0 vx70 (Pos vx84) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1088 -> 1109[label="",style="solid", color="black", weight=3]; 52.92/32.34 1089[label="srMyInt vx70 vx69",fontsize=16,color="black",shape="triangle"];1089 -> 1110[label="",style="solid", color="black", weight=3]; 52.92/32.34 1090 -> 1089[label="",style="dashed", color="red", weight=0]; 52.92/32.34 1090[label="srMyInt vx75 vx74",fontsize=16,color="magenta"];1090 -> 1111[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1090 -> 1112[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 1094[label="pr2F3 MyTrue vx75 (Neg vx86) (srMyInt vx75 vx74)",fontsize=16,color="magenta"];1094 -> 1114[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 1244 -> 1061[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1245[label="vx44000/Zero",fontsize=10,color="white",style="solid",shape="box"];1040 -> 1245[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1245 -> 1062[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1109[label="pr2F0G (srMyInt vx70 vx69) vx70 (Pos vx84)",fontsize=16,color="magenta"];1109 -> 1115[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1109 -> 1116[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1109 -> 1117[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 1246 -> 1118[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1247[label="vx70/Neg vx700",fontsize=10,color="white",style="solid",shape="box"];1110 -> 1247[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1247 -> 1119[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 1114[label="srMyInt vx75 vx74",fontsize=16,color="magenta"];1114 -> 1120[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1114 -> 1121[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1113[label="pr2F3 MyTrue vx75 (Neg vx86) vx88",fontsize=16,color="black",shape="triangle"];1113 -> 1122[label="",style="solid", color="black", weight=3]; 52.92/32.34 1061[label="primMulNat (Succ vx440000) (Succ (Succ (Succ vx440000)))",fontsize=16,color="black",shape="box"];1061 -> 1076[label="",style="solid", color="black", weight=3]; 52.92/32.34 1062[label="primMulNat Zero (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];1062 -> 1077[label="",style="solid", color="black", weight=3]; 52.92/32.34 1095[label="primDivNatS0 (Succ (Succ vx7100)) (Succ Zero) MyTrue",fontsize=16,color="black",shape="box"];1095 -> 1123[label="",style="solid", color="black", weight=3]; 52.92/32.34 1096[label="primDivNatS0 (Succ Zero) (Succ Zero) MyTrue",fontsize=16,color="black",shape="box"];1096 -> 1124[label="",style="solid", color="black", weight=3]; 52.92/32.34 1115 -> 1089[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 1248 -> 1127[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1249[label="vx69/Neg vx690",fontsize=10,color="white",style="solid",shape="box"];1118 -> 1249[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1249 -> 1128[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 1250 -> 1129[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1251[label="vx69/Neg vx690",fontsize=10,color="white",style="solid",shape="box"];1119 -> 1251[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1251 -> 1130[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1076 -> 1098[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1127[label="primMulInt (Pos vx700) (Pos vx690)",fontsize=16,color="black",shape="box"];1127 -> 1135[label="",style="solid", color="black", weight=3]; 52.92/32.34 1128[label="primMulInt (Pos vx700) (Neg vx690)",fontsize=16,color="black",shape="box"];1128 -> 1136[label="",style="solid", color="black", weight=3]; 52.92/32.34 1129[label="primMulInt (Neg vx700) (Pos vx690)",fontsize=16,color="black",shape="box"];1129 -> 1137[label="",style="solid", color="black", weight=3]; 52.92/32.34 1130[label="primMulInt (Neg vx700) (Neg vx690)",fontsize=16,color="black",shape="box"];1130 -> 1138[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 1252 -> 1125[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1253[label="vx440000/Zero",fontsize=10,color="white",style="solid",shape="box"];1098 -> 1253[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1253 -> 1126[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1135[label="Pos (primMulNat vx700 vx690)",fontsize=16,color="green",shape="box"];1135 -> 1143[label="",style="dashed", color="green", weight=3]; 52.92/32.34 1136[label="Neg (primMulNat vx700 vx690)",fontsize=16,color="green",shape="box"];1136 -> 1144[label="",style="dashed", color="green", weight=3]; 52.92/32.34 1137[label="Neg (primMulNat vx700 vx690)",fontsize=16,color="green",shape="box"];1137 -> 1145[label="",style="dashed", color="green", weight=3]; 52.92/32.34 1138[label="Pos (primMulNat vx700 vx690)",fontsize=16,color="green",shape="box"];1138 -> 1146[label="",style="dashed", color="green", weight=3]; 52.92/32.34 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]; 52.92/32.34 1126[label="primMulNat Zero (Succ (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];1126 -> 1134[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 1140[label="primDivNatS (primMinusNatS Zero Zero) (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];1140 -> 1148[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 1254 -> 1151[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1255[label="vx700/Zero",fontsize=10,color="white",style="solid",shape="box"];1143 -> 1255[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1255 -> 1152[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1144 -> 1143[label="",style="dashed", color="red", weight=0]; 52.92/32.34 1144[label="primMulNat vx700 vx690",fontsize=16,color="magenta"];1144 -> 1153[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1145 -> 1143[label="",style="dashed", color="red", weight=0]; 52.92/32.34 1145[label="primMulNat vx700 vx690",fontsize=16,color="magenta"];1145 -> 1154[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1146 -> 1143[label="",style="dashed", color="red", weight=0]; 52.92/32.34 1146[label="primMulNat vx700 vx690",fontsize=16,color="magenta"];1146 -> 1155[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1146 -> 1156[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1133 -> 72[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 1133 -> 1142[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1134[label="Zero",fontsize=16,color="green",shape="box"];1147 -> 1007[label="",style="dashed", color="red", weight=0]; 52.92/32.34 1147[label="primDivNatS (Succ vx7100) (Succ (Succ Zero))",fontsize=16,color="magenta"];1147 -> 1157[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1148 -> 882[label="",style="dashed", color="red", weight=0]; 52.92/32.34 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]; 52.92/32.34 1256 -> 1160[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1257[label="vx690/Zero",fontsize=10,color="white",style="solid",shape="box"];1151 -> 1257[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1257 -> 1161[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 1258 -> 1162[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1259[label="vx690/Zero",fontsize=10,color="white",style="solid",shape="box"];1152 -> 1259[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1259 -> 1163[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 1260 -> 1149[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 1261[label="vx4400000/Zero",fontsize=10,color="white",style="solid",shape="box"];1142 -> 1261[label="",style="solid", color="burlywood", weight=9]; 52.92/32.34 1261 -> 1150[label="",style="solid", color="burlywood", weight=3]; 52.92/32.34 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]; 52.92/32.34 1161[label="primMulNat (Succ vx7000) Zero",fontsize=16,color="black",shape="box"];1161 -> 1167[label="",style="solid", color="black", weight=3]; 52.92/32.34 1162[label="primMulNat Zero (Succ vx6900)",fontsize=16,color="black",shape="box"];1162 -> 1168[label="",style="solid", color="black", weight=3]; 52.92/32.34 1163[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];1163 -> 1169[label="",style="solid", color="black", weight=3]; 52.92/32.34 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]; 52.92/32.34 1150[label="primMulNat Zero (Succ (Succ (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];1150 -> 1159[label="",style="solid", color="black", weight=3]; 52.92/32.34 1166 -> 72[label="",style="dashed", color="red", weight=0]; 52.92/32.34 1166[label="primPlusNat (primMulNat vx7000 (Succ vx6900)) (Succ vx6900)",fontsize=16,color="magenta"];1166 -> 1172[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1166 -> 1173[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 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]; 52.92/32.34 1158 -> 1165[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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]; 52.92/32.34 1173[label="primMulNat vx7000 (Succ vx6900)",fontsize=16,color="magenta"];1173 -> 1174[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1173 -> 1175[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1164[label="Succ (Succ (Succ (Succ (Succ vx44000000))))",fontsize=16,color="green",shape="box"];1165 -> 1143[label="",style="dashed", color="red", weight=0]; 52.92/32.34 1165[label="primMulNat vx44000000 (Succ (Succ (Succ (Succ (Succ vx44000000)))))",fontsize=16,color="magenta"];1165 -> 1170[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 1165 -> 1171[label="",style="dashed", color="magenta", weight=3]; 52.92/32.34 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"];} 52.92/32.34 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (6) 52.92/32.34 Complex Obligation (AND) 52.92/32.34 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (7) 52.92/32.34 Obligation: 52.92/32.34 Q DP problem: 52.92/32.34 The TRS P consists of the following rules: 52.92/32.34 52.92/32.34 new_primDivNatS(Main.Succ(Main.Succ(vx7100))) -> new_primDivNatS(vx7100) 52.92/32.34 52.92/32.34 R is empty. 52.92/32.34 Q is empty. 52.92/32.34 We have to consider all minimal (P,Q,R)-chains. 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (8) QDPSizeChangeProof (EQUIVALENT) 52.92/32.34 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. 52.92/32.34 52.92/32.34 From the DPs we obtained the following set of size-change graphs: 52.92/32.34 *new_primDivNatS(Main.Succ(Main.Succ(vx7100))) -> new_primDivNatS(vx7100) 52.92/32.34 The graph contains the following edges 1 > 1 52.92/32.34 52.92/32.34 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (9) 52.92/32.34 YES 52.92/32.34 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (10) 52.92/32.34 Obligation: 52.92/32.34 Q DP problem: 52.92/32.34 The TRS P consists of the following rules: 52.92/32.34 52.92/32.34 new_pr2F33(Main.Succ(vx4000), Main.Succ(vx5000), vx3) -> new_pr2F33(vx4000, vx5000, vx3) 52.92/32.34 52.92/32.34 R is empty. 52.92/32.34 Q is empty. 52.92/32.34 We have to consider all minimal (P,Q,R)-chains. 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (11) QDPSizeChangeProof (EQUIVALENT) 52.92/32.34 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. 52.92/32.34 52.92/32.34 From the DPs we obtained the following set of size-change graphs: 52.92/32.34 *new_pr2F33(Main.Succ(vx4000), Main.Succ(vx5000), vx3) -> new_pr2F33(vx4000, vx5000, vx3) 52.92/32.34 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 52.92/32.34 52.92/32.34 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (12) 52.92/32.34 YES 52.92/32.34 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (13) 52.92/32.34 Obligation: 52.92/32.34 Q DP problem: 52.92/32.34 The TRS P consists of the following rules: 52.92/32.34 52.92/32.34 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.34 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, new_fromIntMyInt, vx74) 52.92/32.34 new_pr2F0G1(vx65, vx44, Main.Succ(Main.Zero)) -> new_pr2F(vx44, Main.Zero, new_fromIntMyInt, vx65) 52.92/32.34 new_pr2F0G1(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) 52.92/32.34 new_pr2F3(Main.Succ(vx710), Main.Zero, vx70, vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) 52.92/32.34 new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) 52.92/32.34 new_pr2F0(vx75, vx76, Main.Neg(Main.Zero), vx74) -> new_pr2F31(Main.Succ(vx76), vx75, Main.Succ(vx76), vx74) 52.92/32.34 new_pr2F0G1(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), new_primDivNatS0) 52.92/32.34 new_pr2F3(Main.Succ(vx710), Main.Succ(vx82000), vx70, vx69) -> new_pr2F3(vx710, vx82000, vx70, vx69) 52.92/32.34 new_pr2F30(Main.Succ(vx850), vx70, vx84, vx69) -> new_pr2F0G0(new_srMyInt0(vx70, vx69), vx70, vx84) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) 52.92/32.34 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.34 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) 52.92/32.34 new_pr2F32(vx620, vx50, Main.Zero, vx64) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) 52.92/32.34 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.34 new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) 52.92/32.34 new_pr2F0G0(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) 52.92/32.34 new_pr2F0G0(vx65, vx44, Main.Succ(Main.Zero)) -> new_pr2F(vx44, Main.Zero, new_fromIntMyInt, vx65) 52.92/32.34 new_pr2F(vx70, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Zero, vx70, Main.Zero, vx69) 52.92/32.34 new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) 52.92/32.34 new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) 52.92/32.34 new_pr2F0(vx75, vx76, Main.Neg(Main.Succ(vx8300)), vx74) -> new_pr2F3(vx8300, vx76, vx75, vx74) 52.92/32.34 new_pr2F3(Main.Zero, Main.Zero, vx70, vx69) -> new_pr2F30(Main.Zero, vx70, Main.Zero, vx69) 52.92/32.34 new_pr2F(vx70, Main.Zero, Main.Pos(Main.Succ(Main.Succ(vx82000))), vx69) -> new_pr2F31(Main.Succ(vx82000), vx70, Main.Succ(vx82000), vx69) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, new_fromIntMyInt, vx69) 52.92/32.34 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.34 new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) 52.92/32.34 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.34 new_pr2F0G0(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), new_primDivNatS0) 52.92/32.34 new_pr2F3(Main.Zero, Main.Succ(vx82000), vx70, vx69) -> new_pr2F31(Main.Succ(vx82000), vx70, Main.Succ(vx82000), vx69) 52.92/32.34 new_pr2F(vx70, vx71, Main.Pos(Main.Zero), vx69) -> new_pr2F30(Main.Succ(vx71), vx70, Main.Succ(vx71), vx69) 52.92/32.34 new_pr2F0G12(vx64, vx50, Main.Zero) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) 52.92/32.34 new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Succ(vx82000))), vx69) -> new_pr2F3(vx710, vx82000, vx70, vx69) 52.92/32.34 new_pr2F(vx70, vx71, Main.Neg(vx820), vx69) -> new_pr2F30(new_primPlusNat0(Main.Succ(vx71), vx820), vx70, new_primPlusNat0(Main.Succ(vx71), vx820), vx69) 52.92/32.34 52.92/32.34 The TRS R consists of the following rules: 52.92/32.34 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.34 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.34 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.34 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.34 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)))))) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.34 new_primDivNatS0 -> Main.Zero 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.34 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.34 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.34 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.34 52.92/32.34 The set Q consists of the following terms: 52.92/32.34 52.92/32.34 new_primDivNatS1(Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primMulNat1(Main.Zero) 52.92/32.34 new_fromIntMyInt 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.34 new_primDivNatS0 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.34 new_primMulNat1(Main.Succ(x0)) 52.92/32.34 new_primMulNat5(Main.Succ(x0)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.34 new_primMulNat5(Main.Zero) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.34 new_srMyInt(Main.Neg(x0)) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.34 new_primMulNat4(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Succ(x0)) 52.92/32.34 new_primMulNat4(Main.Zero) 52.92/32.34 new_srMyInt(Main.Pos(x0)) 52.92/32.34 new_primMulNat2(Main.Zero) 52.92/32.34 new_primMulNat2(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.34 52.92/32.34 We have to consider all minimal (P,Q,R)-chains. 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (14) DependencyGraphProof (EQUIVALENT) 52.92/32.34 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 12 less nodes. 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (15) 52.92/32.34 Complex Obligation (AND) 52.92/32.34 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (16) 52.92/32.34 Obligation: 52.92/32.34 Q DP problem: 52.92/32.34 The TRS P consists of the following rules: 52.92/32.34 52.92/32.34 new_pr2F0G1(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) 52.92/32.34 new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) 52.92/32.34 new_pr2F0G1(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), new_primDivNatS0) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, new_fromIntMyInt, vx69) 52.92/32.34 new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) 52.92/32.34 new_pr2F30(Main.Succ(vx850), vx70, vx84, vx69) -> new_pr2F0G0(new_srMyInt0(vx70, vx69), vx70, vx84) 52.92/32.34 new_pr2F0G0(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) 52.92/32.34 new_pr2F0G0(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), new_primDivNatS0) 52.92/32.34 52.92/32.34 The TRS R consists of the following rules: 52.92/32.34 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.34 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.34 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.34 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.34 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)))))) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.34 new_primDivNatS0 -> Main.Zero 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.34 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.34 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.34 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.34 52.92/32.34 The set Q consists of the following terms: 52.92/32.34 52.92/32.34 new_primDivNatS1(Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primMulNat1(Main.Zero) 52.92/32.34 new_fromIntMyInt 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.34 new_primDivNatS0 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.34 new_primMulNat1(Main.Succ(x0)) 52.92/32.34 new_primMulNat5(Main.Succ(x0)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.34 new_primMulNat5(Main.Zero) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.34 new_srMyInt(Main.Neg(x0)) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.34 new_primMulNat4(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Succ(x0)) 52.92/32.34 new_primMulNat4(Main.Zero) 52.92/32.34 new_srMyInt(Main.Pos(x0)) 52.92/32.34 new_primMulNat2(Main.Zero) 52.92/32.34 new_primMulNat2(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.34 52.92/32.34 We have to consider all minimal (P,Q,R)-chains. 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (17) TransformationProof (EQUIVALENT) 52.92/32.34 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]: 52.92/32.34 52.92/32.34 (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)) 52.92/32.34 52.92/32.34 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (18) 52.92/32.34 Obligation: 52.92/32.34 Q DP problem: 52.92/32.34 The TRS P consists of the following rules: 52.92/32.34 52.92/32.34 new_pr2F0G1(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) 52.92/32.34 new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, new_fromIntMyInt, vx69) 52.92/32.34 new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) 52.92/32.34 new_pr2F30(Main.Succ(vx850), vx70, vx84, vx69) -> new_pr2F0G0(new_srMyInt0(vx70, vx69), vx70, vx84) 52.92/32.34 new_pr2F0G0(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) 52.92/32.34 new_pr2F0G0(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), new_primDivNatS0) 52.92/32.34 new_pr2F0G1(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), Main.Zero) 52.92/32.34 52.92/32.34 The TRS R consists of the following rules: 52.92/32.34 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.34 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.34 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.34 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.34 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)))))) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.34 new_primDivNatS0 -> Main.Zero 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.34 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.34 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.34 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.34 52.92/32.34 The set Q consists of the following terms: 52.92/32.34 52.92/32.34 new_primDivNatS1(Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primMulNat1(Main.Zero) 52.92/32.34 new_fromIntMyInt 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.34 new_primDivNatS0 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.34 new_primMulNat1(Main.Succ(x0)) 52.92/32.34 new_primMulNat5(Main.Succ(x0)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.34 new_primMulNat5(Main.Zero) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.34 new_srMyInt(Main.Neg(x0)) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.34 new_primMulNat4(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Succ(x0)) 52.92/32.34 new_primMulNat4(Main.Zero) 52.92/32.34 new_srMyInt(Main.Pos(x0)) 52.92/32.34 new_primMulNat2(Main.Zero) 52.92/32.34 new_primMulNat2(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.34 52.92/32.34 We have to consider all minimal (P,Q,R)-chains. 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (19) DependencyGraphProof (EQUIVALENT) 52.92/32.34 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (20) 52.92/32.34 Complex Obligation (AND) 52.92/32.34 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (21) 52.92/32.34 Obligation: 52.92/32.34 Q DP problem: 52.92/32.34 The TRS P consists of the following rules: 52.92/32.34 52.92/32.34 new_pr2F0G1(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), Main.Zero) 52.92/32.34 52.92/32.34 The TRS R consists of the following rules: 52.92/32.34 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.34 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.34 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.34 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.34 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)))))) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.34 new_primDivNatS0 -> Main.Zero 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.34 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.34 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.34 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.34 52.92/32.34 The set Q consists of the following terms: 52.92/32.34 52.92/32.34 new_primDivNatS1(Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primMulNat1(Main.Zero) 52.92/32.34 new_fromIntMyInt 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.34 new_primDivNatS0 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.34 new_primMulNat1(Main.Succ(x0)) 52.92/32.34 new_primMulNat5(Main.Succ(x0)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.34 new_primMulNat5(Main.Zero) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.34 new_srMyInt(Main.Neg(x0)) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.34 new_primMulNat4(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Succ(x0)) 52.92/32.34 new_primMulNat4(Main.Zero) 52.92/32.34 new_srMyInt(Main.Pos(x0)) 52.92/32.34 new_primMulNat2(Main.Zero) 52.92/32.34 new_primMulNat2(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.34 52.92/32.34 We have to consider all minimal (P,Q,R)-chains. 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (22) UsableRulesProof (EQUIVALENT) 52.92/32.34 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. 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (23) 52.92/32.34 Obligation: 52.92/32.34 Q DP problem: 52.92/32.34 The TRS P consists of the following rules: 52.92/32.34 52.92/32.34 new_pr2F0G1(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), Main.Zero) 52.92/32.34 52.92/32.34 The TRS R consists of the following rules: 52.92/32.34 52.92/32.34 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.34 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.34 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.34 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.34 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.34 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.34 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)))))) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.34 52.92/32.34 The set Q consists of the following terms: 52.92/32.34 52.92/32.34 new_primDivNatS1(Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primMulNat1(Main.Zero) 52.92/32.34 new_fromIntMyInt 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.34 new_primDivNatS0 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.34 new_primMulNat1(Main.Succ(x0)) 52.92/32.34 new_primMulNat5(Main.Succ(x0)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.34 new_primMulNat5(Main.Zero) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.34 new_srMyInt(Main.Neg(x0)) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.34 new_primMulNat4(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Succ(x0)) 52.92/32.34 new_primMulNat4(Main.Zero) 52.92/32.34 new_srMyInt(Main.Pos(x0)) 52.92/32.34 new_primMulNat2(Main.Zero) 52.92/32.34 new_primMulNat2(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.34 52.92/32.34 We have to consider all minimal (P,Q,R)-chains. 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (24) QReductionProof (EQUIVALENT) 52.92/32.34 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 52.92/32.34 52.92/32.34 new_primDivNatS1(Main.Zero) 52.92/32.34 new_fromIntMyInt 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.34 new_primDivNatS0 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.34 52.92/32.34 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (25) 52.92/32.34 Obligation: 52.92/32.34 Q DP problem: 52.92/32.34 The TRS P consists of the following rules: 52.92/32.34 52.92/32.34 new_pr2F0G1(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), Main.Zero) 52.92/32.34 52.92/32.34 The TRS R consists of the following rules: 52.92/32.34 52.92/32.34 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.34 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.34 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.34 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.34 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.34 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.34 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)))))) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.34 52.92/32.34 The set Q consists of the following terms: 52.92/32.34 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primMulNat1(Main.Zero) 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_primMulNat1(Main.Succ(x0)) 52.92/32.34 new_primMulNat5(Main.Succ(x0)) 52.92/32.34 new_primMulNat5(Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.34 new_srMyInt(Main.Neg(x0)) 52.92/32.34 new_primMulNat4(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Succ(x0)) 52.92/32.34 new_primMulNat4(Main.Zero) 52.92/32.34 new_srMyInt(Main.Pos(x0)) 52.92/32.34 new_primMulNat2(Main.Zero) 52.92/32.34 new_primMulNat2(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.34 52.92/32.34 We have to consider all minimal (P,Q,R)-chains. 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (26) NonTerminationLoopProof (COMPLETE) 52.92/32.34 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 52.92/32.34 Found a loop by semiunifying a rule from P directly. 52.92/32.34 52.92/32.34 s = new_pr2F0G1(vx65, vx44, Main.Zero) evaluates to t =new_pr2F0G1(vx65, new_srMyInt(vx44), Main.Zero) 52.92/32.34 52.92/32.34 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 52.92/32.34 * Matcher: [vx44 / new_srMyInt(vx44)] 52.92/32.34 * Semiunifier: [ ] 52.92/32.34 52.92/32.34 -------------------------------------------------------------------------------- 52.92/32.34 Rewriting sequence 52.92/32.34 52.92/32.34 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). 52.92/32.34 52.92/32.34 52.92/32.34 52.92/32.34 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (27) 52.92/32.34 NO 52.92/32.34 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (28) 52.92/32.34 Obligation: 52.92/32.34 Q DP problem: 52.92/32.34 The TRS P consists of the following rules: 52.92/32.34 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) 52.92/32.34 new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) 52.92/32.34 new_pr2F0G1(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, new_fromIntMyInt, vx69) 52.92/32.34 new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) 52.92/32.34 new_pr2F30(Main.Succ(vx850), vx70, vx84, vx69) -> new_pr2F0G0(new_srMyInt0(vx70, vx69), vx70, vx84) 52.92/32.34 new_pr2F0G0(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) 52.92/32.34 new_pr2F0G0(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), new_primDivNatS0) 52.92/32.34 52.92/32.34 The TRS R consists of the following rules: 52.92/32.34 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.34 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.34 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.34 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.34 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)))))) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.34 new_primDivNatS0 -> Main.Zero 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.34 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.34 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.34 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.34 52.92/32.34 The set Q consists of the following terms: 52.92/32.34 52.92/32.34 new_primDivNatS1(Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primMulNat1(Main.Zero) 52.92/32.34 new_fromIntMyInt 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.34 new_primDivNatS0 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.34 new_primMulNat1(Main.Succ(x0)) 52.92/32.34 new_primMulNat5(Main.Succ(x0)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.34 new_primMulNat5(Main.Zero) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.34 new_srMyInt(Main.Neg(x0)) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.34 new_primMulNat4(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Succ(x0)) 52.92/32.34 new_primMulNat4(Main.Zero) 52.92/32.34 new_srMyInt(Main.Pos(x0)) 52.92/32.34 new_primMulNat2(Main.Zero) 52.92/32.34 new_primMulNat2(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.34 52.92/32.34 We have to consider all minimal (P,Q,R)-chains. 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (29) TransformationProof (EQUIVALENT) 52.92/32.34 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]: 52.92/32.34 52.92/32.34 (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)) 52.92/32.34 52.92/32.34 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (30) 52.92/32.34 Obligation: 52.92/32.34 Q DP problem: 52.92/32.34 The TRS P consists of the following rules: 52.92/32.34 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) 52.92/32.34 new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) 52.92/32.34 new_pr2F0G1(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) 52.92/32.34 new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) 52.92/32.34 new_pr2F30(Main.Succ(vx850), vx70, vx84, vx69) -> new_pr2F0G0(new_srMyInt0(vx70, vx69), vx70, vx84) 52.92/32.34 new_pr2F0G0(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) 52.92/32.34 new_pr2F0G0(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), new_primDivNatS0) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, Main.Pos(Main.Succ(Main.Zero)), vx69) 52.92/32.34 52.92/32.34 The TRS R consists of the following rules: 52.92/32.34 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.34 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.34 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.34 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.34 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)))))) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.34 new_primDivNatS0 -> Main.Zero 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.34 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.34 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.34 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.34 52.92/32.34 The set Q consists of the following terms: 52.92/32.34 52.92/32.34 new_primDivNatS1(Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primMulNat1(Main.Zero) 52.92/32.34 new_fromIntMyInt 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.34 new_primDivNatS0 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.34 new_primMulNat1(Main.Succ(x0)) 52.92/32.34 new_primMulNat5(Main.Succ(x0)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.34 new_primMulNat5(Main.Zero) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.34 new_srMyInt(Main.Neg(x0)) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.34 new_primMulNat4(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Succ(x0)) 52.92/32.34 new_primMulNat4(Main.Zero) 52.92/32.34 new_srMyInt(Main.Pos(x0)) 52.92/32.34 new_primMulNat2(Main.Zero) 52.92/32.34 new_primMulNat2(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.34 52.92/32.34 We have to consider all minimal (P,Q,R)-chains. 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (31) UsableRulesProof (EQUIVALENT) 52.92/32.34 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. 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (32) 52.92/32.34 Obligation: 52.92/32.34 Q DP problem: 52.92/32.34 The TRS P consists of the following rules: 52.92/32.34 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) 52.92/32.34 new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) 52.92/32.34 new_pr2F0G1(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) 52.92/32.34 new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) 52.92/32.34 new_pr2F30(Main.Succ(vx850), vx70, vx84, vx69) -> new_pr2F0G0(new_srMyInt0(vx70, vx69), vx70, vx84) 52.92/32.34 new_pr2F0G0(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) 52.92/32.34 new_pr2F0G0(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), new_primDivNatS0) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, Main.Pos(Main.Succ(Main.Zero)), vx69) 52.92/32.34 52.92/32.34 The TRS R consists of the following rules: 52.92/32.34 52.92/32.34 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_primDivNatS0 -> Main.Zero 52.92/32.34 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.34 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.34 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.34 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.34 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.34 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.34 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)))))) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.34 52.92/32.34 The set Q consists of the following terms: 52.92/32.34 52.92/32.34 new_primDivNatS1(Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primMulNat1(Main.Zero) 52.92/32.34 new_fromIntMyInt 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.34 new_primDivNatS0 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.34 new_primMulNat1(Main.Succ(x0)) 52.92/32.34 new_primMulNat5(Main.Succ(x0)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.34 new_primMulNat5(Main.Zero) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.34 new_srMyInt(Main.Neg(x0)) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.34 new_primMulNat4(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Succ(x0)) 52.92/32.34 new_primMulNat4(Main.Zero) 52.92/32.34 new_srMyInt(Main.Pos(x0)) 52.92/32.34 new_primMulNat2(Main.Zero) 52.92/32.34 new_primMulNat2(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.34 52.92/32.34 We have to consider all minimal (P,Q,R)-chains. 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (33) QReductionProof (EQUIVALENT) 52.92/32.34 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 52.92/32.34 52.92/32.34 new_fromIntMyInt 52.92/32.34 52.92/32.34 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (34) 52.92/32.34 Obligation: 52.92/32.34 Q DP problem: 52.92/32.34 The TRS P consists of the following rules: 52.92/32.34 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) 52.92/32.34 new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) 52.92/32.34 new_pr2F0G1(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) 52.92/32.34 new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) 52.92/32.34 new_pr2F30(Main.Succ(vx850), vx70, vx84, vx69) -> new_pr2F0G0(new_srMyInt0(vx70, vx69), vx70, vx84) 52.92/32.34 new_pr2F0G0(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) 52.92/32.34 new_pr2F0G0(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), new_primDivNatS0) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, Main.Pos(Main.Succ(Main.Zero)), vx69) 52.92/32.34 52.92/32.34 The TRS R consists of the following rules: 52.92/32.34 52.92/32.34 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_primDivNatS0 -> Main.Zero 52.92/32.34 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.34 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.34 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.34 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.34 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.34 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.34 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)))))) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.34 52.92/32.34 The set Q consists of the following terms: 52.92/32.34 52.92/32.34 new_primDivNatS1(Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primMulNat1(Main.Zero) 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.34 new_primDivNatS0 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.34 new_primMulNat1(Main.Succ(x0)) 52.92/32.34 new_primMulNat5(Main.Succ(x0)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.34 new_primMulNat5(Main.Zero) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.34 new_srMyInt(Main.Neg(x0)) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.34 new_primMulNat4(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Succ(x0)) 52.92/32.34 new_primMulNat4(Main.Zero) 52.92/32.34 new_srMyInt(Main.Pos(x0)) 52.92/32.34 new_primMulNat2(Main.Zero) 52.92/32.34 new_primMulNat2(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.34 52.92/32.34 We have to consider all minimal (P,Q,R)-chains. 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (35) TransformationProof (EQUIVALENT) 52.92/32.34 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]: 52.92/32.34 52.92/32.34 (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)) 52.92/32.34 52.92/32.34 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (36) 52.92/32.34 Obligation: 52.92/32.34 Q DP problem: 52.92/32.34 The TRS P consists of the following rules: 52.92/32.34 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) 52.92/32.34 new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) 52.92/32.34 new_pr2F0G1(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) 52.92/32.34 new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) 52.92/32.34 new_pr2F30(Main.Succ(vx850), vx70, vx84, vx69) -> new_pr2F0G0(new_srMyInt0(vx70, vx69), vx70, vx84) 52.92/32.34 new_pr2F0G0(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, Main.Pos(Main.Succ(Main.Zero)), vx69) 52.92/32.34 new_pr2F0G0(vx65, vx44, Main.Zero) -> new_pr2F0G1(vx65, new_srMyInt(vx44), Main.Zero) 52.92/32.34 52.92/32.34 The TRS R consists of the following rules: 52.92/32.34 52.92/32.34 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_primDivNatS0 -> Main.Zero 52.92/32.34 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.34 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.34 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.34 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.34 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.34 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.34 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)))))) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.34 52.92/32.34 The set Q consists of the following terms: 52.92/32.34 52.92/32.34 new_primDivNatS1(Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primMulNat1(Main.Zero) 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.34 new_primDivNatS0 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.34 new_primMulNat1(Main.Succ(x0)) 52.92/32.34 new_primMulNat5(Main.Succ(x0)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.34 new_primMulNat5(Main.Zero) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.34 new_srMyInt(Main.Neg(x0)) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.34 new_primMulNat4(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Succ(x0)) 52.92/32.34 new_primMulNat4(Main.Zero) 52.92/32.34 new_srMyInt(Main.Pos(x0)) 52.92/32.34 new_primMulNat2(Main.Zero) 52.92/32.34 new_primMulNat2(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.34 52.92/32.34 We have to consider all minimal (P,Q,R)-chains. 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (37) DependencyGraphProof (EQUIVALENT) 52.92/32.34 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (38) 52.92/32.34 Obligation: 52.92/32.34 Q DP problem: 52.92/32.34 The TRS P consists of the following rules: 52.92/32.34 52.92/32.34 new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) 52.92/32.34 new_pr2F0G1(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, Main.Pos(Main.Succ(Main.Zero)), vx69) 52.92/32.34 new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) 52.92/32.34 new_pr2F30(Main.Succ(vx850), vx70, vx84, vx69) -> new_pr2F0G0(new_srMyInt0(vx70, vx69), vx70, vx84) 52.92/32.34 new_pr2F0G0(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) 52.92/32.34 52.92/32.34 The TRS R consists of the following rules: 52.92/32.34 52.92/32.34 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_primDivNatS0 -> Main.Zero 52.92/32.34 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.34 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.34 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.34 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.34 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.34 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.34 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)))))) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.34 52.92/32.34 The set Q consists of the following terms: 52.92/32.34 52.92/32.34 new_primDivNatS1(Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primMulNat1(Main.Zero) 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.34 new_primDivNatS0 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.34 new_primMulNat1(Main.Succ(x0)) 52.92/32.34 new_primMulNat5(Main.Succ(x0)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.34 new_primMulNat5(Main.Zero) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.34 new_srMyInt(Main.Neg(x0)) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.34 new_primMulNat4(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Succ(x0)) 52.92/32.34 new_primMulNat4(Main.Zero) 52.92/32.34 new_srMyInt(Main.Pos(x0)) 52.92/32.34 new_primMulNat2(Main.Zero) 52.92/32.34 new_primMulNat2(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.34 52.92/32.34 We have to consider all minimal (P,Q,R)-chains. 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (39) TransformationProof (EQUIVALENT) 52.92/32.34 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]: 52.92/32.34 52.92/32.34 (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))) 52.92/32.34 52.92/32.34 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (40) 52.92/32.34 Obligation: 52.92/32.34 Q DP problem: 52.92/32.34 The TRS P consists of the following rules: 52.92/32.34 52.92/32.34 new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) 52.92/32.34 new_pr2F0G1(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) 52.92/32.34 new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Zero)) -> new_pr2F(vx70, vx71, Main.Pos(Main.Succ(Main.Zero)), vx69) 52.92/32.34 new_pr2F(vx70, Main.Succ(vx710), Main.Pos(Main.Succ(Main.Zero)), vx69) -> new_pr2F30(Main.Succ(vx710), vx70, Main.Succ(vx710), vx69) 52.92/32.34 new_pr2F0G0(vx65, vx44, Main.Succ(Main.Succ(vx5900))) -> new_pr2F0G10(vx65, vx44, Main.Succ(vx5900), vx5900) 52.92/32.34 new_pr2F30(Main.Succ(z1), z0, Main.Succ(z1), z2) -> new_pr2F0G0(new_srMyInt0(z0, z2), z0, Main.Succ(z1)) 52.92/32.34 52.92/32.34 The TRS R consists of the following rules: 52.92/32.34 52.92/32.34 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.34 new_primDivNatS0 -> Main.Zero 52.92/32.34 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.34 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.34 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.34 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.34 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.34 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.34 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)))))) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.34 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.34 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.34 52.92/32.34 The set Q consists of the following terms: 52.92/32.34 52.92/32.34 new_primDivNatS1(Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primMulNat1(Main.Zero) 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.34 new_primDivNatS0 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.34 new_primMulNat1(Main.Succ(x0)) 52.92/32.34 new_primMulNat5(Main.Succ(x0)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.34 new_primMulNat5(Main.Zero) 52.92/32.34 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.34 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.34 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.34 new_srMyInt(Main.Neg(x0)) 52.92/32.34 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.34 new_primMulNat4(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Succ(x0)) 52.92/32.34 new_primMulNat4(Main.Zero) 52.92/32.34 new_srMyInt(Main.Pos(x0)) 52.92/32.34 new_primMulNat2(Main.Zero) 52.92/32.34 new_primMulNat2(Main.Succ(x0)) 52.92/32.34 new_primMulNat3(Main.Zero) 52.92/32.34 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.34 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.34 52.92/32.34 We have to consider all minimal (P,Q,R)-chains. 52.92/32.34 ---------------------------------------- 52.92/32.34 52.92/32.34 (41) QDPSizeChangeProof (EQUIVALENT) 52.92/32.34 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 52.92/32.34 52.92/32.34 Order:Polynomial interpretation [POLO]: 52.92/32.34 52.92/32.34 POL(Main.Pos(x_1)) = 1 52.92/32.34 POL(Main.Succ(x_1)) = 1 + x_1 52.92/32.34 POL(Main.Zero) = 1 52.92/32.34 POL(new_primDivNatS0) = 1 52.92/32.34 POL(new_primDivNatS1(x_1)) = x_1 52.92/32.34 52.92/32.34 52.92/32.34 52.92/32.34 52.92/32.34 From the DPs we obtained the following set of size-change graphs: 52.92/32.34 *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}) 52.92/32.34 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 3 > 4 52.92/32.34 52.92/32.34 52.92/32.34 *new_pr2F0G10(vx69, vx70, vx71, Main.Zero) -> new_pr2F0G(vx69, new_srMyInt(vx70), vx71) (allowed arguments on rhs = {1, 3}) 52.92/32.34 The graph contains the following edges 1 >= 1, 3 >= 3 52.92/32.34 52.92/32.34 52.92/32.34 *new_pr2F0G(vx69, vx78, vx71) -> new_pr2F0G1(vx69, vx78, new_primDivNatS1(vx71)) (allowed arguments on rhs = {1, 2, 3}) 52.92/32.34 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3 52.92/32.34 52.92/32.34 52.92/32.34 *new_pr2F0G10(vx69, vx70, vx71, Main.Succ(Main.Succ(vx7200))) -> new_pr2F0G10(vx69, vx70, vx71, vx7200) (allowed arguments on rhs = {1, 2, 3, 4}) 52.92/32.35 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4 52.92/32.35 52.92/32.35 52.92/32.35 *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}) 52.92/32.35 The graph contains the following edges 2 >= 1, 3 >= 2, 1 >= 4 52.92/32.35 52.92/32.35 52.92/32.35 *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}) 52.92/32.35 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 3 > 4 52.92/32.35 52.92/32.35 52.92/32.35 *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}) 52.92/32.35 The graph contains the following edges 2 >= 1, 1 >= 2, 2 >= 3, 4 >= 4 52.92/32.35 52.92/32.35 52.92/32.35 *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}) 52.92/32.35 The graph contains the following edges 2 >= 2, 1 >= 3, 3 >= 3 52.92/32.35 52.92/32.35 52.92/32.35 52.92/32.35 We oriented the following set of usable rules [AAECC05,FROCOS05]. 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.35 new_primDivNatS0 -> Main.Zero 52.92/32.35 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (42) 52.92/32.35 YES 52.92/32.35 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (43) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, new_fromIntMyInt, vx74) 52.92/32.35 new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) 52.92/32.35 new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.35 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Zero) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Zero, vx64) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 new_primDivNatS0 -> Main.Zero 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_fromIntMyInt 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (44) TransformationProof (EQUIVALENT) 52.92/32.35 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]: 52.92/32.35 52.92/32.35 (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)) 52.92/32.35 52.92/32.35 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (45) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) 52.92/32.35 new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.35 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Zero) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Zero, vx64) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 new_primDivNatS0 -> Main.Zero 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_fromIntMyInt 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (46) TransformationProof (EQUIVALENT) 52.92/32.35 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]: 52.92/32.35 52.92/32.35 (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)) 52.92/32.35 52.92/32.35 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (47) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) 52.92/32.35 new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.35 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Zero) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Zero, vx64) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 new_primDivNatS0 -> Main.Zero 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_fromIntMyInt 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (48) TransformationProof (EQUIVALENT) 52.92/32.35 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]: 52.92/32.35 52.92/32.35 (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)) 52.92/32.35 52.92/32.35 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (49) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) 52.92/32.35 new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.35 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Zero, vx64) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Zero) -> new_pr2F0G12(vx64, new_srMyInt(vx50), Main.Zero) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 new_primDivNatS0 -> Main.Zero 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_fromIntMyInt 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (50) DependencyGraphProof (EQUIVALENT) 52.92/32.35 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (51) 52.92/32.35 Complex Obligation (AND) 52.92/32.35 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (52) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Zero) -> new_pr2F0G12(vx64, new_srMyInt(vx50), Main.Zero) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 new_primDivNatS0 -> Main.Zero 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_fromIntMyInt 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (53) UsableRulesProof (EQUIVALENT) 52.92/32.35 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. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (54) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Zero) -> new_pr2F0G12(vx64, new_srMyInt(vx50), Main.Zero) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_fromIntMyInt 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (55) QReductionProof (EQUIVALENT) 52.92/32.35 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_fromIntMyInt 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 52.92/32.35 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (56) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Zero) -> new_pr2F0G12(vx64, new_srMyInt(vx50), Main.Zero) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (57) NonTerminationLoopProof (COMPLETE) 52.92/32.35 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 52.92/32.35 Found a loop by semiunifying a rule from P directly. 52.92/32.35 52.92/32.35 s = new_pr2F0G12(vx64, vx50, Main.Zero) evaluates to t =new_pr2F0G12(vx64, new_srMyInt(vx50), Main.Zero) 52.92/32.35 52.92/32.35 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 52.92/32.35 * Matcher: [vx50 / new_srMyInt(vx50)] 52.92/32.35 * Semiunifier: [ ] 52.92/32.35 52.92/32.35 -------------------------------------------------------------------------------- 52.92/32.35 Rewriting sequence 52.92/32.35 52.92/32.35 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). 52.92/32.35 52.92/32.35 52.92/32.35 52.92/32.35 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (58) 52.92/32.35 NO 52.92/32.35 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (59) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.35 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.35 new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Zero, vx64) -> new_pr2F0G12(vx64, new_srMyInt(vx50), new_primDivNatS0) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 new_primDivNatS0 -> Main.Zero 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_fromIntMyInt 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (60) TransformationProof (EQUIVALENT) 52.92/32.35 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]: 52.92/32.35 52.92/32.35 (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)) 52.92/32.35 52.92/32.35 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (61) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.35 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.35 new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Zero, vx64) -> new_pr2F0G12(vx64, new_srMyInt(vx50), Main.Zero) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 new_primDivNatS0 -> Main.Zero 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_fromIntMyInt 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (62) DependencyGraphProof (EQUIVALENT) 52.92/32.35 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (63) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.35 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.35 new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) 52.92/32.35 new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, new_fromIntMyInt, vx64) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 new_primDivNatS0 -> Main.Zero 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_fromIntMyInt 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (64) TransformationProof (EQUIVALENT) 52.92/32.35 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]: 52.92/32.35 52.92/32.35 (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)) 52.92/32.35 52.92/32.35 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (65) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.35 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.35 new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) 52.92/32.35 new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 new_primDivNatS0 -> Main.Zero 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_fromIntMyInt 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (66) UsableRulesProof (EQUIVALENT) 52.92/32.35 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. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (67) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.35 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.35 new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) 52.92/32.35 new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.35 new_primDivNatS0 -> Main.Zero 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_fromIntMyInt 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (68) QReductionProof (EQUIVALENT) 52.92/32.35 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 52.92/32.35 52.92/32.35 new_fromIntMyInt 52.92/32.35 52.92/32.35 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (69) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.35 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.35 new_pr2F0(vx75, vx76, Main.Pos(vx830), vx74) -> new_pr2F31(new_primPlusNat0(Main.Succ(vx76), vx830), vx75, new_primPlusNat0(Main.Succ(vx76), vx830), vx74) 52.92/32.35 new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.35 new_primDivNatS0 -> Main.Zero 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (70) TransformationProof (EQUIVALENT) 52.92/32.35 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]: 52.92/32.35 52.92/32.35 (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)) 52.92/32.35 (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)) 52.92/32.35 52.92/32.35 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (71) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.35 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.35 new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 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) 52.92/32.35 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) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.35 new_primDivNatS0 -> Main.Zero 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (72) TransformationProof (EQUIVALENT) 52.92/32.35 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]: 52.92/32.35 52.92/32.35 (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)) 52.92/32.35 52.92/32.35 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (73) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.35 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.35 new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 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) 52.92/32.35 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) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.35 new_primDivNatS0 -> Main.Zero 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (74) TransformationProof (EQUIVALENT) 52.92/32.35 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]: 52.92/32.35 52.92/32.35 (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)) 52.92/32.35 52.92/32.35 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (75) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.35 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.35 new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 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) 52.92/32.35 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) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.35 new_primDivNatS0 -> Main.Zero 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (76) TransformationProof (EQUIVALENT) 52.92/32.35 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]: 52.92/32.35 52.92/32.35 (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)) 52.92/32.35 52.92/32.35 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (77) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.35 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.35 new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 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) 52.92/32.35 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) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.35 new_primDivNatS0 -> Main.Zero 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (78) TransformationProof (EQUIVALENT) 52.92/32.35 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]: 52.92/32.35 52.92/32.35 (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)) 52.92/32.35 52.92/32.35 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (79) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.35 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.35 new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 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) 52.92/32.35 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) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.35 new_primDivNatS0 -> Main.Zero 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (80) TransformationProof (EQUIVALENT) 52.92/32.35 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]: 52.92/32.35 52.92/32.35 (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)) 52.92/32.35 52.92/32.35 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (81) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.35 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.35 new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 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) 52.92/32.35 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) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.35 new_primDivNatS0 -> Main.Zero 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (82) TransformationProof (EQUIVALENT) 52.92/32.35 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]: 52.92/32.35 52.92/32.35 (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)) 52.92/32.35 52.92/32.35 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (83) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.35 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.35 new_pr2F31(Main.Succ(vx870), vx75, vx86, vx74) -> new_pr2F32(vx870, vx75, vx86, new_srMyInt0(vx75, vx74)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 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) 52.92/32.35 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) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.35 new_primDivNatS0 -> Main.Zero 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (84) TransformationProof (EQUIVALENT) 52.92/32.35 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]: 52.92/32.35 52.92/32.35 (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))) 52.92/32.35 (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))) 52.92/32.35 52.92/32.35 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (85) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.35 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Zero), vx64) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 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) 52.92/32.35 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) 52.92/32.35 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)) 52.92/32.35 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)) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.35 new_primDivNatS0 -> Main.Zero 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (86) DependencyGraphProof (EQUIVALENT) 52.92/32.35 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (87) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.35 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.35 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) 52.92/32.35 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)) 52.92/32.35 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 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)) 52.92/32.35 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) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.35 52.92/32.35 The TRS R consists of the following rules: 52.92/32.35 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.35 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.35 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.35 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.35 new_primDivNatS0 -> Main.Zero 52.92/32.35 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.35 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.35 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.35 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.35 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.35 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.35 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.35 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)))))) 52.92/32.35 52.92/32.35 The set Q consists of the following terms: 52.92/32.35 52.92/32.35 new_primDivNatS1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primMulNat1(Main.Zero) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.35 new_primDivNatS0 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.35 new_primMulNat1(Main.Succ(x0)) 52.92/32.35 new_primMulNat5(Main.Succ(x0)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.35 new_primMulNat5(Main.Zero) 52.92/32.35 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.35 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.35 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.35 new_srMyInt(Main.Neg(x0)) 52.92/32.35 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.35 new_primMulNat4(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Succ(x0)) 52.92/32.35 new_primMulNat4(Main.Zero) 52.92/32.35 new_srMyInt(Main.Pos(x0)) 52.92/32.35 new_primMulNat2(Main.Zero) 52.92/32.35 new_primMulNat2(Main.Succ(x0)) 52.92/32.35 new_primMulNat3(Main.Zero) 52.92/32.35 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.35 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.35 52.92/32.35 We have to consider all minimal (P,Q,R)-chains. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (88) MNOCProof (EQUIVALENT) 52.92/32.35 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 52.92/32.35 ---------------------------------------- 52.92/32.35 52.92/32.35 (89) 52.92/32.35 Obligation: 52.92/32.35 Q DP problem: 52.92/32.35 The TRS P consists of the following rules: 52.92/32.35 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.35 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.35 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.35 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.35 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) 52.92/32.35 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)) 52.92/32.36 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.36 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)) 52.92/32.36 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) 52.92/32.36 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.36 52.92/32.36 The TRS R consists of the following rules: 52.92/32.36 52.92/32.36 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.36 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.36 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.36 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.36 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.36 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.36 new_primDivNatS0 -> Main.Zero 52.92/32.36 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.36 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.36 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.36 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.36 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.36 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.36 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.36 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)))))) 52.92/32.36 52.92/32.36 Q is empty. 52.92/32.36 We have to consider all (P,Q,R)-chains. 52.92/32.36 ---------------------------------------- 52.92/32.36 52.92/32.36 (90) InductionCalculusProof (EQUIVALENT) 52.92/32.36 Note that final constraints are written in bold face. 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 For Pair new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) the following chains were created: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (new_pr2F0G11(x3, x4, x5, Main.Zero)_>=_new_pr2F0G2(x3, new_srMyInt(x4), x5)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 For Pair new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) the following chains were created: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (new_primDivNatS1(x44)=Main.Succ(Main.Succ(x47)) ==> new_pr2F0G2(x42, x43, x44)_>=_new_pr2F0G12(x42, x43, new_primDivNatS1(x44))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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)))) 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 52.92/32.36 52.92/32.36 (5) (new_primDivNatS0=Main.Succ(x47) ==> new_pr2F0G2(x42, x43, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x42, x43, new_primDivNatS1(Main.Succ(Main.Zero)))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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)))))) 52.92/32.36 52.92/32.36 (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))))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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)))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (new_primDivNatS1(x71)=Main.Succ(Main.Zero) ==> new_pr2F0G2(x69, x70, x71)_>=_new_pr2F0G12(x69, x70, new_primDivNatS1(x71))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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)))) 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 52.92/32.36 52.92/32.36 (5) (new_primDivNatS0=Main.Zero ==> new_pr2F0G2(x69, x70, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x69, x70, new_primDivNatS1(Main.Succ(Main.Zero)))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (7) (Main.Zero=Main.Zero ==> new_pr2F0G2(x69, x70, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x69, x70, new_primDivNatS1(Main.Succ(Main.Zero)))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (7) using rules (I), (II) which results in the following new constraint: 52.92/32.36 52.92/32.36 (8) (new_pr2F0G2(x69, x70, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x69, x70, new_primDivNatS1(Main.Succ(Main.Zero)))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (9) using rules (I), (II) which results in the following new constraint: 52.92/32.36 52.92/32.36 (10) (new_pr2F0G2(x69, x70, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G12(x69, x70, new_primDivNatS1(Main.Succ(Main.Succ(Main.Zero))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 For Pair new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) the following chains were created: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (new_pr2F0G12(x74, x75, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x74, x75, Main.Succ(Main.Zero), Main.Zero)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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)))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 For Pair new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) the following chains were created: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (new_pr2F0G11(x117, x118, x119, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x117, x118, x119, Main.Zero)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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)))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (new_pr2F0G11(x140, x141, x142, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G11(x140, x141, x142, Main.Succ(Main.Zero))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (new_pr2F0G11(x186, x187, x188, Main.Succ(Main.Zero))_>=_new_pr2F0(x187, x188, Main.Pos(Main.Succ(Main.Zero)), x186)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (new_pr2F0G11(x201, x202, Main.Zero, Main.Succ(Main.Zero))_>=_new_pr2F0(x202, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x201)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (new_pr2F32(x296, x297, Main.Succ(Main.Succ(Main.Zero)), x299)_>=_new_pr2F0G11(x299, x297, Main.Succ(Main.Zero), Main.Zero)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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)))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (new_pr2F0G12(x414, x415, Main.Succ(Main.Zero))_>=_new_pr2F0(x415, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x414)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (new_pr2F0G12(x425, x426, Main.Succ(Main.Zero))_>=_new_pr2F0(x426, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x425)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 To summarize, we get the following constraints P__>=_ for the following pairs. 52.92/32.36 52.92/32.36 *new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.36 52.92/32.36 *(new_pr2F0G11(x3, x4, x5, Main.Zero)_>=_new_pr2F0G2(x3, new_srMyInt(x4), x5)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.36 52.92/32.36 *(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)))))) 52.92/32.36 52.92/32.36 52.92/32.36 *(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))))))) 52.92/32.36 52.92/32.36 52.92/32.36 *(new_pr2F0G2(x69, x70, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x69, x70, new_primDivNatS1(Main.Succ(Main.Zero)))) 52.92/32.36 52.92/32.36 52.92/32.36 *(new_pr2F0G2(x69, x70, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G12(x69, x70, new_primDivNatS1(Main.Succ(Main.Succ(Main.Zero))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.36 52.92/32.36 *(new_pr2F0G12(x74, x75, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x74, x75, Main.Succ(Main.Zero), Main.Zero)) 52.92/32.36 52.92/32.36 52.92/32.36 *(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)))) 52.92/32.36 52.92/32.36 52.92/32.36 *(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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.36 52.92/32.36 *(new_pr2F0G11(x117, x118, x119, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x117, x118, x119, Main.Zero)) 52.92/32.36 52.92/32.36 52.92/32.36 *(new_pr2F0G11(x132, x133, x134, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x139)))))_>=_new_pr2F0G11(x132, x133, x134, Main.Succ(Main.Succ(x139)))) 52.92/32.36 52.92/32.36 52.92/32.36 *(new_pr2F0G11(x140, x141, x142, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G11(x140, x141, x142, Main.Succ(Main.Zero))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.36 52.92/32.36 *(new_pr2F0G11(x186, x187, x188, Main.Succ(Main.Zero))_>=_new_pr2F0(x187, x188, Main.Pos(Main.Succ(Main.Zero)), x186)) 52.92/32.36 52.92/32.36 52.92/32.36 *(new_pr2F0G11(x201, x202, Main.Zero, Main.Succ(Main.Zero))_>=_new_pr2F0(x202, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x201)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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) 52.92/32.36 52.92/32.36 *(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)) 52.92/32.36 52.92/32.36 52.92/32.36 *(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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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)) 52.92/32.36 52.92/32.36 *(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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.36 52.92/32.36 *(new_pr2F32(x296, x297, Main.Succ(Main.Succ(Main.Zero)), x299)_>=_new_pr2F0G11(x299, x297, Main.Succ(Main.Zero), Main.Zero)) 52.92/32.36 52.92/32.36 52.92/32.36 *(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)))) 52.92/32.36 52.92/32.36 52.92/32.36 *(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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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)) 52.92/32.36 52.92/32.36 *(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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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) 52.92/32.36 52.92/32.36 *(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)) 52.92/32.36 52.92/32.36 52.92/32.36 *(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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.36 52.92/32.36 *(new_pr2F0G12(x414, x415, Main.Succ(Main.Zero))_>=_new_pr2F0(x415, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x414)) 52.92/32.36 52.92/32.36 52.92/32.36 *(new_pr2F0G12(x425, x426, Main.Succ(Main.Zero))_>=_new_pr2F0(x426, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x425)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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. 52.92/32.36 ---------------------------------------- 52.92/32.36 52.92/32.36 (91) 52.92/32.36 Obligation: 52.92/32.36 Q DP problem: 52.92/32.36 The TRS P consists of the following rules: 52.92/32.36 52.92/32.36 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.36 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.36 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.36 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.36 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.36 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) 52.92/32.36 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)) 52.92/32.36 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.36 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)) 52.92/32.36 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) 52.92/32.36 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.36 52.92/32.36 The TRS R consists of the following rules: 52.92/32.36 52.92/32.36 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.36 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.36 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.36 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.36 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.36 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.36 new_primDivNatS0 -> Main.Zero 52.92/32.36 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.36 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.36 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.36 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.36 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.36 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.36 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.36 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)))))) 52.92/32.36 52.92/32.36 The set Q consists of the following terms: 52.92/32.36 52.92/32.36 new_primDivNatS1(Main.Zero) 52.92/32.36 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.36 new_primMulNat1(Main.Zero) 52.92/32.36 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.36 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.36 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.36 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.36 new_primDivNatS0 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.36 new_primMulNat1(Main.Succ(x0)) 52.92/32.36 new_primMulNat5(Main.Succ(x0)) 52.92/32.36 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.36 new_primMulNat5(Main.Zero) 52.92/32.36 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.36 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.36 new_srMyInt(Main.Neg(x0)) 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.36 new_primMulNat4(Main.Succ(x0)) 52.92/32.36 new_primMulNat3(Main.Succ(x0)) 52.92/32.36 new_primMulNat4(Main.Zero) 52.92/32.36 new_srMyInt(Main.Pos(x0)) 52.92/32.36 new_primMulNat2(Main.Zero) 52.92/32.36 new_primMulNat2(Main.Succ(x0)) 52.92/32.36 new_primMulNat3(Main.Zero) 52.92/32.36 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.36 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.36 52.92/32.36 We have to consider all minimal (P,Q,R)-chains. 52.92/32.36 ---------------------------------------- 52.92/32.36 52.92/32.36 (92) QDPPairToRuleProof (EQUIVALENT) 52.92/32.36 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: 52.92/32.36 anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.36 new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.36 new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) 52.92/32.36 new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.36 52.92/32.36 the following new pairs maintain the fan-in: 52.92/32.36 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) 52.92/32.36 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) 52.92/32.36 52.92/32.36 the following new pairs maintain the fan-out: 52.92/32.36 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.36 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.36 52.92/32.36 ---------------------------------------- 52.92/32.36 52.92/32.36 (93) 52.92/32.36 Complex Obligation (AND) 52.92/32.36 52.92/32.36 ---------------------------------------- 52.92/32.36 52.92/32.36 (94) 52.92/32.36 Obligation: 52.92/32.36 Q DP problem: 52.92/32.36 The TRS P consists of the following rules: 52.92/32.36 52.92/32.36 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.36 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.36 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.36 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.36 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) 52.92/32.36 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)) 52.92/32.36 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.36 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)) 52.92/32.36 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) 52.92/32.36 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.36 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) 52.92/32.36 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) 52.92/32.36 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.36 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.36 52.92/32.36 The TRS R consists of the following rules: 52.92/32.36 52.92/32.36 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.36 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.36 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.36 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.36 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.36 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.36 new_primDivNatS0 -> Main.Zero 52.92/32.36 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.36 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.36 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.36 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.36 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.36 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.36 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.36 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)))))) 52.92/32.36 anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.36 new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.36 new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) 52.92/32.36 new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.36 52.92/32.36 The set Q consists of the following terms: 52.92/32.36 52.92/32.36 new_primDivNatS1(Main.Zero) 52.92/32.36 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.36 new_primMulNat1(Main.Zero) 52.92/32.36 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.36 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.36 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.36 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.36 new_primDivNatS0 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.36 new_primMulNat1(Main.Succ(x0)) 52.92/32.36 new_primMulNat5(Main.Succ(x0)) 52.92/32.36 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.36 new_primMulNat5(Main.Zero) 52.92/32.36 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.36 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.36 new_srMyInt(Main.Neg(x0)) 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.36 new_primMulNat4(Main.Succ(x0)) 52.92/32.36 new_primMulNat3(Main.Succ(x0)) 52.92/32.36 new_primMulNat4(Main.Zero) 52.92/32.36 new_srMyInt(Main.Pos(x0)) 52.92/32.36 new_primMulNat2(Main.Zero) 52.92/32.36 new_primMulNat2(Main.Succ(x0)) 52.92/32.36 new_primMulNat3(Main.Zero) 52.92/32.36 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.36 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.36 new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.36 anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.36 new_new_pr2F0G11(Main.Zero) 52.92/32.36 new_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.36 52.92/32.36 We have to consider all minimal (P,Q,R)-chains. 52.92/32.36 ---------------------------------------- 52.92/32.36 52.92/32.36 (95) MNOCProof (EQUIVALENT) 52.92/32.36 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 52.92/32.36 ---------------------------------------- 52.92/32.36 52.92/32.36 (96) 52.92/32.36 Obligation: 52.92/32.36 Q DP problem: 52.92/32.36 The TRS P consists of the following rules: 52.92/32.36 52.92/32.36 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.36 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.36 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.36 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.36 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) 52.92/32.36 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)) 52.92/32.36 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.36 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)) 52.92/32.36 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) 52.92/32.36 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.36 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) 52.92/32.36 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) 52.92/32.36 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.36 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.36 52.92/32.36 The TRS R consists of the following rules: 52.92/32.36 52.92/32.36 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.36 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.36 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.36 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.36 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.36 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.36 new_primDivNatS0 -> Main.Zero 52.92/32.36 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.36 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.36 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.36 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.36 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.36 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.36 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.36 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)))))) 52.92/32.36 anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.36 new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.36 new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) 52.92/32.36 new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.36 52.92/32.36 Q is empty. 52.92/32.36 We have to consider all (P,Q,R)-chains. 52.92/32.36 ---------------------------------------- 52.92/32.36 52.92/32.36 (97) InductionCalculusProof (EQUIVALENT) 52.92/32.36 Note that final constraints are written in bold face. 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 For Pair new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) the following chains were created: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (new_pr2F0G11(x3, x4, x5, Main.Zero)_>=_new_pr2F0G2(x3, new_srMyInt(x4), x5)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 For Pair new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) the following chains were created: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (new_primDivNatS1(x53)=Main.Succ(Main.Succ(x56)) ==> new_pr2F0G2(x51, x52, x53)_>=_new_pr2F0G12(x51, x52, new_primDivNatS1(x53))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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)))) 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 52.92/32.36 52.92/32.36 (5) (new_primDivNatS0=Main.Succ(x56) ==> new_pr2F0G2(x51, x52, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x51, x52, new_primDivNatS1(Main.Succ(Main.Zero)))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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)))))) 52.92/32.36 52.92/32.36 (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))))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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)))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (new_primDivNatS1(x77)=Main.Succ(Main.Zero) ==> new_pr2F0G2(x75, x76, x77)_>=_new_pr2F0G12(x75, x76, new_primDivNatS1(x77))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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)))) 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 52.92/32.36 52.92/32.36 (5) (new_primDivNatS0=Main.Zero ==> new_pr2F0G2(x75, x76, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x75, x76, new_primDivNatS1(Main.Succ(Main.Zero)))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (7) (Main.Zero=Main.Zero ==> new_pr2F0G2(x75, x76, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x75, x76, new_primDivNatS1(Main.Succ(Main.Zero)))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (7) using rules (I), (II) which results in the following new constraint: 52.92/32.36 52.92/32.36 (8) (new_pr2F0G2(x75, x76, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x75, x76, new_primDivNatS1(Main.Succ(Main.Zero)))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (9) using rules (I), (II) which results in the following new constraint: 52.92/32.36 52.92/32.36 (10) (new_pr2F0G2(x75, x76, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G12(x75, x76, new_primDivNatS1(Main.Succ(Main.Succ(Main.Zero))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (new_primDivNatS1(x82)=Main.Succ(Main.Succ(x85)) ==> new_pr2F0G2(x80, x81, x82)_>=_new_pr2F0G12(x80, x81, new_primDivNatS1(x82))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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)))) 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 52.92/32.36 52.92/32.36 (5) (new_primDivNatS0=Main.Succ(x85) ==> new_pr2F0G2(x80, x81, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x80, x81, new_primDivNatS1(Main.Succ(Main.Zero)))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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)))))) 52.92/32.36 52.92/32.36 (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))))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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)))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 For Pair new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) the following chains were created: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (new_pr2F0G12(x95, x96, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x95, x96, Main.Succ(Main.Zero), Main.Zero)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (new_pr2F0G11(x155, x156, x157, Main.Succ(Main.Zero))_>=_new_pr2F0(x156, x157, Main.Pos(Main.Succ(Main.Zero)), x155)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (new_pr2F0G11(x170, x171, Main.Zero, Main.Succ(Main.Zero))_>=_new_pr2F0(x171, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x170)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (new_pr2F32(x302, x303, Main.Succ(Main.Succ(Main.Zero)), x305)_>=_new_pr2F0G11(x305, x303, Main.Succ(Main.Zero), Main.Zero)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (new_pr2F0G12(x442, x443, Main.Succ(Main.Zero))_>=_new_pr2F0(x443, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x442)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (new_pr2F0G12(x453, x454, Main.Succ(Main.Zero))_>=_new_pr2F0(x454, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x453)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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))))))) 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 (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)))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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))))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (5) using rules (I), (II) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We solved constraint (6) using rules (I), (II). 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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))))))) 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 (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)))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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))))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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)))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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))))))) 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 (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)))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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))))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (5) using rules (I), (II) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We solved constraint (6) using rules (I), (II). 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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))))))) 52.92/32.36 52.92/32.36 (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))))) 52.92/32.36 52.92/32.36 (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)))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 52.92/32.36 (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))))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II) which results in the following new constraint: 52.92/32.36 52.92/32.36 (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)))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 For Pair H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) the following chains were created: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (H(x577, x578, x579, cons_new_pr2F0G11(Main.Zero))_>=_new_pr2F0G11(x577, x578, x579, Main.Zero)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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: 52.92/32.36 *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: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.36 52.92/32.36 (2) (H(x631, x632, x633, cons_new_pr2F0G11(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x631, x632, x633, Main.Succ(Main.Zero))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 To summarize, we get the following constraints P__>=_ for the following pairs. 52.92/32.36 52.92/32.36 *new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.36 52.92/32.36 *(new_pr2F0G11(x3, x4, x5, Main.Zero)_>=_new_pr2F0G2(x3, new_srMyInt(x4), x5)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.36 52.92/32.36 *(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)))))) 52.92/32.36 52.92/32.36 52.92/32.36 *(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))))))) 52.92/32.36 52.92/32.36 52.92/32.36 *(new_pr2F0G2(x75, x76, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x75, x76, new_primDivNatS1(Main.Succ(Main.Zero)))) 52.92/32.36 52.92/32.36 52.92/32.36 *(new_pr2F0G2(x75, x76, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G12(x75, x76, new_primDivNatS1(Main.Succ(Main.Succ(Main.Zero))))) 52.92/32.36 52.92/32.36 52.92/32.36 *(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)))))) 52.92/32.36 52.92/32.36 52.92/32.36 *(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))))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.36 52.92/32.36 *(new_pr2F0G12(x95, x96, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x95, x96, Main.Succ(Main.Zero), Main.Zero)) 52.92/32.36 52.92/32.36 52.92/32.36 *(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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.36 52.92/32.36 *(new_pr2F0G11(x155, x156, x157, Main.Succ(Main.Zero))_>=_new_pr2F0(x156, x157, Main.Pos(Main.Succ(Main.Zero)), x155)) 52.92/32.36 52.92/32.36 52.92/32.36 *(new_pr2F0G11(x170, x171, Main.Zero, Main.Succ(Main.Zero))_>=_new_pr2F0(x171, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x170)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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) 52.92/32.36 52.92/32.36 *(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)) 52.92/32.36 52.92/32.36 52.92/32.36 *(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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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)) 52.92/32.36 52.92/32.36 *(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))) 52.92/32.36 52.92/32.36 52.92/32.36 *(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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.36 52.92/32.36 *(new_pr2F32(x302, x303, Main.Succ(Main.Succ(Main.Zero)), x305)_>=_new_pr2F0G11(x305, x303, Main.Succ(Main.Zero), Main.Zero)) 52.92/32.36 52.92/32.36 52.92/32.36 *(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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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)) 52.92/32.36 52.92/32.36 *(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))) 52.92/32.36 52.92/32.36 52.92/32.36 *(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))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *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) 52.92/32.36 52.92/32.36 *(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)) 52.92/32.36 52.92/32.36 52.92/32.36 *(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)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.36 52.92/32.36 *(new_pr2F0G12(x442, x443, Main.Succ(Main.Zero))_>=_new_pr2F0(x443, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x442)) 52.92/32.36 52.92/32.36 52.92/32.36 *(new_pr2F0G12(x453, x454, Main.Succ(Main.Zero))_>=_new_pr2F0(x454, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x453)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) 52.92/32.36 52.92/32.36 *(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))))))) 52.92/32.36 52.92/32.36 52.92/32.36 *(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))))) 52.92/32.36 52.92/32.36 52.92/32.36 *(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))))))) 52.92/32.36 52.92/32.36 52.92/32.36 *(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)))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) 52.92/32.36 52.92/32.36 *(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))))))) 52.92/32.36 52.92/32.36 52.92/32.36 *(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))))) 52.92/32.36 52.92/32.36 52.92/32.36 *(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))))))) 52.92/32.36 52.92/32.36 52.92/32.36 *(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)))))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.36 52.92/32.36 *(H(x577, x578, x579, cons_new_pr2F0G11(Main.Zero))_>=_new_pr2F0G11(x577, x578, x579, Main.Zero)) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 *H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.36 52.92/32.36 *(H(x631, x632, x633, cons_new_pr2F0G11(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x631, x632, x633, Main.Succ(Main.Zero))) 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 52.92/32.36 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. 52.92/32.36 ---------------------------------------- 52.92/32.36 52.92/32.36 (98) 52.92/32.36 Obligation: 52.92/32.36 Q DP problem: 52.92/32.36 The TRS P consists of the following rules: 52.92/32.36 52.92/32.36 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.36 new_pr2F0G2(vx74, vx79, vx76) -> new_pr2F0G12(vx74, vx79, new_primDivNatS1(vx76)) 52.92/32.36 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.36 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.36 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) 52.92/32.36 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)) 52.92/32.36 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.36 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)) 52.92/32.36 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) 52.92/32.36 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.36 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) 52.92/32.36 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) 52.92/32.36 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.36 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.36 52.92/32.36 The TRS R consists of the following rules: 52.92/32.36 52.92/32.36 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.36 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.36 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.36 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.36 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.36 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.36 new_primDivNatS0 -> Main.Zero 52.92/32.36 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.36 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.36 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.36 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.36 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.36 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.36 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.36 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)))))) 52.92/32.36 anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.36 new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.36 new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) 52.92/32.36 new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.36 52.92/32.36 The set Q consists of the following terms: 52.92/32.36 52.92/32.36 new_primDivNatS1(Main.Zero) 52.92/32.36 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.36 new_primMulNat1(Main.Zero) 52.92/32.36 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.36 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.36 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.36 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.36 new_primDivNatS0 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.36 new_primMulNat1(Main.Succ(x0)) 52.92/32.36 new_primMulNat5(Main.Succ(x0)) 52.92/32.36 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.36 new_primMulNat5(Main.Zero) 52.92/32.36 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.36 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.36 new_srMyInt(Main.Neg(x0)) 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.36 new_primMulNat4(Main.Succ(x0)) 52.92/32.36 new_primMulNat3(Main.Succ(x0)) 52.92/32.36 new_primMulNat4(Main.Zero) 52.92/32.36 new_srMyInt(Main.Pos(x0)) 52.92/32.36 new_primMulNat2(Main.Zero) 52.92/32.36 new_primMulNat2(Main.Succ(x0)) 52.92/32.36 new_primMulNat3(Main.Zero) 52.92/32.36 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.36 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.36 new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.36 anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.36 new_new_pr2F0G11(Main.Zero) 52.92/32.36 new_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.36 52.92/32.36 We have to consider all minimal (P,Q,R)-chains. 52.92/32.36 ---------------------------------------- 52.92/32.36 52.92/32.36 (99) TransformationProof (EQUIVALENT) 52.92/32.36 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]: 52.92/32.36 52.92/32.36 (new_pr2F0G2(y0, y1, Main.Zero) -> new_pr2F0G12(y0, y1, Main.Zero),new_pr2F0G2(y0, y1, Main.Zero) -> new_pr2F0G12(y0, y1, Main.Zero)) 52.92/32.36 (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))) 52.92/32.36 (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)))) 52.92/32.36 52.92/32.36 52.92/32.36 ---------------------------------------- 52.92/32.36 52.92/32.36 (100) 52.92/32.36 Obligation: 52.92/32.36 Q DP problem: 52.92/32.36 The TRS P consists of the following rules: 52.92/32.36 52.92/32.36 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.36 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.36 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.36 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) 52.92/32.36 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)) 52.92/32.36 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.36 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)) 52.92/32.36 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) 52.92/32.36 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.36 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) 52.92/32.36 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) 52.92/32.36 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.36 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.36 new_pr2F0G2(y0, y1, Main.Zero) -> new_pr2F0G12(y0, y1, Main.Zero) 52.92/32.36 new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS0)) 52.92/32.36 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x0))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS1(x0))) 52.92/32.36 52.92/32.36 The TRS R consists of the following rules: 52.92/32.36 52.92/32.36 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.36 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.36 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.36 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.36 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.36 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.36 new_primDivNatS0 -> Main.Zero 52.92/32.36 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.36 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.36 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.36 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.36 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.36 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.36 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.36 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)))))) 52.92/32.36 anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.36 new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.36 new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) 52.92/32.36 new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.36 52.92/32.36 The set Q consists of the following terms: 52.92/32.36 52.92/32.36 new_primDivNatS1(Main.Zero) 52.92/32.36 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.36 new_primMulNat1(Main.Zero) 52.92/32.36 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.36 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.36 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.36 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.36 new_primDivNatS0 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.36 new_primMulNat1(Main.Succ(x0)) 52.92/32.36 new_primMulNat5(Main.Succ(x0)) 52.92/32.36 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.36 new_primMulNat5(Main.Zero) 52.92/32.36 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.36 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.36 new_srMyInt(Main.Neg(x0)) 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.36 new_primMulNat4(Main.Succ(x0)) 52.92/32.36 new_primMulNat3(Main.Succ(x0)) 52.92/32.36 new_primMulNat4(Main.Zero) 52.92/32.36 new_srMyInt(Main.Pos(x0)) 52.92/32.36 new_primMulNat2(Main.Zero) 52.92/32.36 new_primMulNat2(Main.Succ(x0)) 52.92/32.36 new_primMulNat3(Main.Zero) 52.92/32.36 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.36 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.36 new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.36 anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.36 new_new_pr2F0G11(Main.Zero) 52.92/32.36 new_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.36 52.92/32.36 We have to consider all minimal (P,Q,R)-chains. 52.92/32.36 ---------------------------------------- 52.92/32.36 52.92/32.36 (101) DependencyGraphProof (EQUIVALENT) 52.92/32.36 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 52.92/32.36 ---------------------------------------- 52.92/32.36 52.92/32.36 (102) 52.92/32.36 Obligation: 52.92/32.36 Q DP problem: 52.92/32.36 The TRS P consists of the following rules: 52.92/32.36 52.92/32.36 new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS0)) 52.92/32.36 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.36 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) 52.92/32.36 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)) 52.92/32.36 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.36 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.36 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x0))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS1(x0))) 52.92/32.36 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.36 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.36 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) 52.92/32.36 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)) 52.92/32.36 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) 52.92/32.36 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.36 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.36 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) 52.92/32.36 52.92/32.36 The TRS R consists of the following rules: 52.92/32.36 52.92/32.36 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.36 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.36 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.36 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.36 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.36 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.36 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.36 new_primDivNatS0 -> Main.Zero 52.92/32.36 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.36 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.36 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.36 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.36 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.36 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.36 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.36 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.36 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)))))) 52.92/32.36 anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.36 new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.36 new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) 52.92/32.36 new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.36 52.92/32.36 The set Q consists of the following terms: 52.92/32.36 52.92/32.36 new_primDivNatS1(Main.Zero) 52.92/32.36 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.36 new_primMulNat1(Main.Zero) 52.92/32.36 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.36 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.36 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.36 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.36 new_primDivNatS0 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.36 new_primMulNat1(Main.Succ(x0)) 52.92/32.36 new_primMulNat5(Main.Succ(x0)) 52.92/32.36 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.36 new_primMulNat5(Main.Zero) 52.92/32.36 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.36 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.36 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.36 new_srMyInt(Main.Neg(x0)) 52.92/32.36 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.36 new_primMulNat4(Main.Succ(x0)) 52.92/32.36 new_primMulNat3(Main.Succ(x0)) 52.92/32.36 new_primMulNat4(Main.Zero) 52.92/32.36 new_srMyInt(Main.Pos(x0)) 52.92/32.36 new_primMulNat2(Main.Zero) 52.92/32.36 new_primMulNat2(Main.Succ(x0)) 52.92/32.36 new_primMulNat3(Main.Zero) 52.92/32.36 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.36 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.36 new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.36 anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.36 new_new_pr2F0G11(Main.Zero) 52.92/32.36 new_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.36 52.92/32.36 We have to consider all minimal (P,Q,R)-chains. 52.92/32.36 ---------------------------------------- 52.92/32.36 52.92/32.36 (103) TransformationProof (EQUIVALENT) 52.92/32.36 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]: 52.92/32.36 52.92/32.36 (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))) 52.92/32.36 52.92/32.36 52.92/32.36 ---------------------------------------- 52.92/32.36 52.92/32.36 (104) 52.92/32.36 Obligation: 52.92/32.36 Q DP problem: 52.92/32.36 The TRS P consists of the following rules: 52.92/32.36 52.92/32.36 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.36 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) 52.92/32.36 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)) 52.92/32.37 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(x0))) -> new_pr2F0G12(y0, y1, Main.Succ(new_primDivNatS1(x0))) 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 52.92/32.37 The TRS R consists of the following rules: 52.92/32.37 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.37 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.37 new_primDivNatS0 -> Main.Zero 52.92/32.37 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.37 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.37 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.37 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.37 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.37 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)))))) 52.92/32.37 anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.37 new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 52.92/32.37 The set Q consists of the following terms: 52.92/32.37 52.92/32.37 new_primDivNatS1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primMulNat1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.37 new_primDivNatS0 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_primMulNat1(Main.Succ(x0)) 52.92/32.37 new_primMulNat5(Main.Succ(x0)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.37 new_primMulNat5(Main.Zero) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.37 new_srMyInt(Main.Neg(x0)) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.37 new_primMulNat4(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Succ(x0)) 52.92/32.37 new_primMulNat4(Main.Zero) 52.92/32.37 new_srMyInt(Main.Pos(x0)) 52.92/32.37 new_primMulNat2(Main.Zero) 52.92/32.37 new_primMulNat2(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.37 anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 52.92/32.37 We have to consider all minimal (P,Q,R)-chains. 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (105) TransformationProof (EQUIVALENT) 52.92/32.37 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]: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 (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)))) 52.92/32.37 (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))))) 52.92/32.37 52.92/32.37 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (106) 52.92/32.37 Obligation: 52.92/32.37 Q DP problem: 52.92/32.37 The TRS P consists of the following rules: 52.92/32.37 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS0))) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) 52.92/32.37 52.92/32.37 The TRS R consists of the following rules: 52.92/32.37 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.37 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.37 new_primDivNatS0 -> Main.Zero 52.92/32.37 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.37 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.37 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.37 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.37 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.37 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)))))) 52.92/32.37 anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.37 new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 52.92/32.37 The set Q consists of the following terms: 52.92/32.37 52.92/32.37 new_primDivNatS1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primMulNat1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.37 new_primDivNatS0 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_primMulNat1(Main.Succ(x0)) 52.92/32.37 new_primMulNat5(Main.Succ(x0)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.37 new_primMulNat5(Main.Zero) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.37 new_srMyInt(Main.Neg(x0)) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.37 new_primMulNat4(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Succ(x0)) 52.92/32.37 new_primMulNat4(Main.Zero) 52.92/32.37 new_srMyInt(Main.Pos(x0)) 52.92/32.37 new_primMulNat2(Main.Zero) 52.92/32.37 new_primMulNat2(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.37 anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 52.92/32.37 We have to consider all minimal (P,Q,R)-chains. 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (107) TransformationProof (EQUIVALENT) 52.92/32.37 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]: 52.92/32.37 52.92/32.37 (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)))) 52.92/32.37 52.92/32.37 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (108) 52.92/32.37 Obligation: 52.92/32.37 Q DP problem: 52.92/32.37 The TRS P consists of the following rules: 52.92/32.37 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) 52.92/32.37 52.92/32.37 The TRS R consists of the following rules: 52.92/32.37 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.37 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.37 new_primDivNatS0 -> Main.Zero 52.92/32.37 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.37 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.37 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.37 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.37 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.37 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)))))) 52.92/32.37 anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.37 new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 52.92/32.37 The set Q consists of the following terms: 52.92/32.37 52.92/32.37 new_primDivNatS1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primMulNat1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.37 new_primDivNatS0 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_primMulNat1(Main.Succ(x0)) 52.92/32.37 new_primMulNat5(Main.Succ(x0)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.37 new_primMulNat5(Main.Zero) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.37 new_srMyInt(Main.Neg(x0)) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.37 new_primMulNat4(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Succ(x0)) 52.92/32.37 new_primMulNat4(Main.Zero) 52.92/32.37 new_srMyInt(Main.Pos(x0)) 52.92/32.37 new_primMulNat2(Main.Zero) 52.92/32.37 new_primMulNat2(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.37 anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 52.92/32.37 We have to consider all minimal (P,Q,R)-chains. 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (109) TransformationProof (EQUIVALENT) 52.92/32.37 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]: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (110) 52.92/32.37 Obligation: 52.92/32.37 Q DP problem: 52.92/32.37 The TRS P consists of the following rules: 52.92/32.37 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> H(vx64, vx50, Main.Succ(vx6100), anew_new_pr2F0G11(vx6100)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) 52.92/32.37 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)) 52.92/32.37 52.92/32.37 The TRS R consists of the following rules: 52.92/32.37 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.37 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.37 new_primDivNatS0 -> Main.Zero 52.92/32.37 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.37 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.37 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.37 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.37 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.37 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)))))) 52.92/32.37 anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.37 new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 52.92/32.37 The set Q consists of the following terms: 52.92/32.37 52.92/32.37 new_primDivNatS1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primMulNat1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.37 new_primDivNatS0 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_primMulNat1(Main.Succ(x0)) 52.92/32.37 new_primMulNat5(Main.Succ(x0)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.37 new_primMulNat5(Main.Zero) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.37 new_srMyInt(Main.Neg(x0)) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.37 new_primMulNat4(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Succ(x0)) 52.92/32.37 new_primMulNat4(Main.Zero) 52.92/32.37 new_srMyInt(Main.Pos(x0)) 52.92/32.37 new_primMulNat2(Main.Zero) 52.92/32.37 new_primMulNat2(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.37 anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 52.92/32.37 We have to consider all minimal (P,Q,R)-chains. 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (111) TransformationProof (EQUIVALENT) 52.92/32.37 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]: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (112) 52.92/32.37 Obligation: 52.92/32.37 Q DP problem: 52.92/32.37 The TRS P consists of the following rules: 52.92/32.37 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) 52.92/32.37 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)) 52.92/32.37 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)) 52.92/32.37 52.92/32.37 The TRS R consists of the following rules: 52.92/32.37 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.37 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.37 new_primDivNatS0 -> Main.Zero 52.92/32.37 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.37 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.37 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.37 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.37 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.37 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)))))) 52.92/32.37 anew_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.37 new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 52.92/32.37 The set Q consists of the following terms: 52.92/32.37 52.92/32.37 new_primDivNatS1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primMulNat1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.37 new_primDivNatS0 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_primMulNat1(Main.Succ(x0)) 52.92/32.37 new_primMulNat5(Main.Succ(x0)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.37 new_primMulNat5(Main.Zero) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.37 new_srMyInt(Main.Neg(x0)) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.37 new_primMulNat4(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Succ(x0)) 52.92/32.37 new_primMulNat4(Main.Zero) 52.92/32.37 new_srMyInt(Main.Pos(x0)) 52.92/32.37 new_primMulNat2(Main.Zero) 52.92/32.37 new_primMulNat2(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.37 anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 52.92/32.37 We have to consider all minimal (P,Q,R)-chains. 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (113) UsableRulesProof (EQUIVALENT) 52.92/32.37 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. 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (114) 52.92/32.37 Obligation: 52.92/32.37 Q DP problem: 52.92/32.37 The TRS P consists of the following rules: 52.92/32.37 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) 52.92/32.37 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)) 52.92/32.37 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)) 52.92/32.37 52.92/32.37 The TRS R consists of the following rules: 52.92/32.37 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.37 new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.37 new_primDivNatS0 -> Main.Zero 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.37 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.37 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.37 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.37 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.37 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.37 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)))))) 52.92/32.37 52.92/32.37 The set Q consists of the following terms: 52.92/32.37 52.92/32.37 new_primDivNatS1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primMulNat1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.37 new_primDivNatS0 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_primMulNat1(Main.Succ(x0)) 52.92/32.37 new_primMulNat5(Main.Succ(x0)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.37 new_primMulNat5(Main.Zero) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.37 new_srMyInt(Main.Neg(x0)) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.37 new_primMulNat4(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Succ(x0)) 52.92/32.37 new_primMulNat4(Main.Zero) 52.92/32.37 new_srMyInt(Main.Pos(x0)) 52.92/32.37 new_primMulNat2(Main.Zero) 52.92/32.37 new_primMulNat2(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.37 anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 52.92/32.37 We have to consider all minimal (P,Q,R)-chains. 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (115) QReductionProof (EQUIVALENT) 52.92/32.37 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 52.92/32.37 52.92/32.37 anew_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.37 52.92/32.37 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (116) 52.92/32.37 Obligation: 52.92/32.37 Q DP problem: 52.92/32.37 The TRS P consists of the following rules: 52.92/32.37 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) 52.92/32.37 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)) 52.92/32.37 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)) 52.92/32.37 52.92/32.37 The TRS R consists of the following rules: 52.92/32.37 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.37 new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.37 new_primDivNatS0 -> Main.Zero 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.37 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.37 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.37 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.37 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.37 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.37 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)))))) 52.92/32.37 52.92/32.37 The set Q consists of the following terms: 52.92/32.37 52.92/32.37 new_primDivNatS1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primMulNat1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.37 new_primDivNatS0 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_primMulNat1(Main.Succ(x0)) 52.92/32.37 new_primMulNat5(Main.Succ(x0)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.37 new_primMulNat5(Main.Zero) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.37 new_srMyInt(Main.Neg(x0)) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.37 new_primMulNat4(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Succ(x0)) 52.92/32.37 new_primMulNat4(Main.Zero) 52.92/32.37 new_srMyInt(Main.Pos(x0)) 52.92/32.37 new_primMulNat2(Main.Zero) 52.92/32.37 new_primMulNat2(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 52.92/32.37 We have to consider all minimal (P,Q,R)-chains. 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (117) TransformationProof (EQUIVALENT) 52.92/32.37 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]: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 (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))) 52.92/32.37 (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)))) 52.92/32.37 52.92/32.37 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (118) 52.92/32.37 Obligation: 52.92/32.37 Q DP problem: 52.92/32.37 The TRS P consists of the following rules: 52.92/32.37 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) 52.92/32.37 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)) 52.92/32.37 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)) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 52.92/32.37 The TRS R consists of the following rules: 52.92/32.37 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.37 new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.37 new_primDivNatS0 -> Main.Zero 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.37 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.37 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.37 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.37 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.37 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.37 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)))))) 52.92/32.37 52.92/32.37 The set Q consists of the following terms: 52.92/32.37 52.92/32.37 new_primDivNatS1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primMulNat1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.37 new_primDivNatS0 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_primMulNat1(Main.Succ(x0)) 52.92/32.37 new_primMulNat5(Main.Succ(x0)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.37 new_primMulNat5(Main.Zero) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.37 new_srMyInt(Main.Neg(x0)) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.37 new_primMulNat4(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Succ(x0)) 52.92/32.37 new_primMulNat4(Main.Zero) 52.92/32.37 new_srMyInt(Main.Pos(x0)) 52.92/32.37 new_primMulNat2(Main.Zero) 52.92/32.37 new_primMulNat2(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 52.92/32.37 We have to consider all minimal (P,Q,R)-chains. 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (119) TransformationProof (EQUIVALENT) 52.92/32.37 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]: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 (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))) 52.92/32.37 (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)))) 52.92/32.37 52.92/32.37 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (120) 52.92/32.37 Obligation: 52.92/32.37 Q DP problem: 52.92/32.37 The TRS P consists of the following rules: 52.92/32.37 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) 52.92/32.37 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)) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 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)) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 52.92/32.37 The TRS R consists of the following rules: 52.92/32.37 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.37 new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.37 new_primDivNatS0 -> Main.Zero 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.37 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.37 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.37 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.37 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.37 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.37 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)))))) 52.92/32.37 52.92/32.37 The set Q consists of the following terms: 52.92/32.37 52.92/32.37 new_primDivNatS1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primMulNat1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.37 new_primDivNatS0 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_primMulNat1(Main.Succ(x0)) 52.92/32.37 new_primMulNat5(Main.Succ(x0)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.37 new_primMulNat5(Main.Zero) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.37 new_srMyInt(Main.Neg(x0)) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.37 new_primMulNat4(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Succ(x0)) 52.92/32.37 new_primMulNat4(Main.Zero) 52.92/32.37 new_srMyInt(Main.Pos(x0)) 52.92/32.37 new_primMulNat2(Main.Zero) 52.92/32.37 new_primMulNat2(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 52.92/32.37 We have to consider all minimal (P,Q,R)-chains. 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (121) TransformationProof (EQUIVALENT) 52.92/32.37 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]: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 (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))) 52.92/32.37 (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)))) 52.92/32.37 52.92/32.37 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (122) 52.92/32.37 Obligation: 52.92/32.37 Q DP problem: 52.92/32.37 The TRS P consists of the following rules: 52.92/32.37 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 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)) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 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)) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 52.92/32.37 The TRS R consists of the following rules: 52.92/32.37 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.37 new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.37 new_primDivNatS0 -> Main.Zero 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.37 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.37 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.37 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.37 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.37 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.37 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)))))) 52.92/32.37 52.92/32.37 The set Q consists of the following terms: 52.92/32.37 52.92/32.37 new_primDivNatS1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primMulNat1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.37 new_primDivNatS0 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_primMulNat1(Main.Succ(x0)) 52.92/32.37 new_primMulNat5(Main.Succ(x0)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.37 new_primMulNat5(Main.Zero) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.37 new_srMyInt(Main.Neg(x0)) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.37 new_primMulNat4(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Succ(x0)) 52.92/32.37 new_primMulNat4(Main.Zero) 52.92/32.37 new_srMyInt(Main.Pos(x0)) 52.92/32.37 new_primMulNat2(Main.Zero) 52.92/32.37 new_primMulNat2(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 52.92/32.37 We have to consider all minimal (P,Q,R)-chains. 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (123) TransformationProof (EQUIVALENT) 52.92/32.37 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]: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 (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))) 52.92/32.37 (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)))) 52.92/32.37 52.92/32.37 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (124) 52.92/32.37 Obligation: 52.92/32.37 Q DP problem: 52.92/32.37 The TRS P consists of the following rules: 52.92/32.37 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 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)) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 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)) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 52.92/32.37 The TRS R consists of the following rules: 52.92/32.37 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.37 new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.37 new_primDivNatS0 -> Main.Zero 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.37 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.37 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.37 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.37 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.37 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.37 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)))))) 52.92/32.37 52.92/32.37 The set Q consists of the following terms: 52.92/32.37 52.92/32.37 new_primDivNatS1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primMulNat1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.37 new_primDivNatS0 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_primMulNat1(Main.Succ(x0)) 52.92/32.37 new_primMulNat5(Main.Succ(x0)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.37 new_primMulNat5(Main.Zero) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.37 new_srMyInt(Main.Neg(x0)) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.37 new_primMulNat4(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Succ(x0)) 52.92/32.37 new_primMulNat4(Main.Zero) 52.92/32.37 new_srMyInt(Main.Pos(x0)) 52.92/32.37 new_primMulNat2(Main.Zero) 52.92/32.37 new_primMulNat2(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 52.92/32.37 We have to consider all minimal (P,Q,R)-chains. 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (125) TransformationProof (EQUIVALENT) 52.92/32.37 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]: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 (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))) 52.92/32.37 (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)))) 52.92/32.37 52.92/32.37 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (126) 52.92/32.37 Obligation: 52.92/32.37 Q DP problem: 52.92/32.37 The TRS P consists of the following rules: 52.92/32.37 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 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)) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 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)) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 52.92/32.37 The TRS R consists of the following rules: 52.92/32.37 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.37 new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.37 new_primDivNatS0 -> Main.Zero 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.37 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.37 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.37 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.37 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.37 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.37 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)))))) 52.92/32.37 52.92/32.37 The set Q consists of the following terms: 52.92/32.37 52.92/32.37 new_primDivNatS1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primMulNat1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.37 new_primDivNatS0 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_primMulNat1(Main.Succ(x0)) 52.92/32.37 new_primMulNat5(Main.Succ(x0)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.37 new_primMulNat5(Main.Zero) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.37 new_srMyInt(Main.Neg(x0)) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.37 new_primMulNat4(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Succ(x0)) 52.92/32.37 new_primMulNat4(Main.Zero) 52.92/32.37 new_srMyInt(Main.Pos(x0)) 52.92/32.37 new_primMulNat2(Main.Zero) 52.92/32.37 new_primMulNat2(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 52.92/32.37 We have to consider all minimal (P,Q,R)-chains. 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (127) TransformationProof (EQUIVALENT) 52.92/32.37 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]: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 (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))) 52.92/32.37 (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)))) 52.92/32.37 52.92/32.37 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (128) 52.92/32.37 Obligation: 52.92/32.37 Q DP problem: 52.92/32.37 The TRS P consists of the following rules: 52.92/32.37 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 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)) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 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)) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 52.92/32.37 The TRS R consists of the following rules: 52.92/32.37 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.37 new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.37 new_primDivNatS0 -> Main.Zero 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.37 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.37 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.37 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.37 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.37 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.37 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)))))) 52.92/32.37 52.92/32.37 The set Q consists of the following terms: 52.92/32.37 52.92/32.37 new_primDivNatS1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primMulNat1(Main.Zero) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.37 new_primDivNatS0 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_primMulNat1(Main.Succ(x0)) 52.92/32.37 new_primMulNat5(Main.Succ(x0)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.37 new_primMulNat5(Main.Zero) 52.92/32.37 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.37 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.37 new_srMyInt(Main.Neg(x0)) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.37 new_primMulNat4(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Succ(x0)) 52.92/32.37 new_primMulNat4(Main.Zero) 52.92/32.37 new_srMyInt(Main.Pos(x0)) 52.92/32.37 new_primMulNat2(Main.Zero) 52.92/32.37 new_primMulNat2(Main.Succ(x0)) 52.92/32.37 new_primMulNat3(Main.Zero) 52.92/32.37 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.37 new_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 52.92/32.37 We have to consider all minimal (P,Q,R)-chains. 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (129) MNOCProof (EQUIVALENT) 52.92/32.37 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (130) 52.92/32.37 Obligation: 52.92/32.37 Q DP problem: 52.92/32.37 The TRS P consists of the following rules: 52.92/32.37 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.37 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.37 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.37 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) 52.92/32.37 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)) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.37 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) 52.92/32.37 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 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)) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 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)) 52.92/32.37 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)) 52.92/32.37 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))) 52.92/32.37 52.92/32.37 The TRS R consists of the following rules: 52.92/32.37 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.37 new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) 52.92/32.37 new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.37 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.37 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.37 new_primDivNatS0 -> Main.Zero 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.37 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.37 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.37 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.37 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.37 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.37 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.37 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.37 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.37 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.37 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.37 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.37 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)))))) 52.92/32.37 52.92/32.37 Q is empty. 52.92/32.37 We have to consider all (P,Q,R)-chains. 52.92/32.37 ---------------------------------------- 52.92/32.37 52.92/32.37 (131) InductionCalculusProof (EQUIVALENT) 52.92/32.37 Note that final constraints are written in bold face. 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 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: 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (2) (new_pr2F0G12(x2, x3, Main.Succ(Main.Zero))_>=_new_pr2F0(x3, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x2)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (2) (new_pr2F0G12(x17, x18, Main.Succ(Main.Zero))_>=_new_pr2F0(x18, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x17)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 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: 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 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: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 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: 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 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: 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (2) (new_pr2F32(x314, x315, Main.Succ(Main.Succ(Main.Zero)), x317)_>=_new_pr2F0G11(x317, x315, Main.Succ(Main.Zero), Main.Zero)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 For Pair new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) the following chains were created: 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (2) (new_pr2F0G11(x453, x454, Main.Succ(Main.Zero), Main.Zero)_>=_new_pr2F0G2(x453, new_srMyInt(x454), Main.Succ(Main.Zero))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (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)))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (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)))))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (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))))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 For Pair new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) the following chains were created: 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (2) (new_pr2F0G12(x528, x529, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x528, x529, Main.Succ(Main.Zero), Main.Zero)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 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: 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (2) (new_pr2F0G11(x612, x613, x614, Main.Succ(Main.Zero))_>=_new_pr2F0(x613, x614, Main.Pos(Main.Succ(Main.Zero)), x612)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (2) (new_pr2F0G11(x633, x634, Main.Zero, Main.Succ(Main.Zero))_>=_new_pr2F0(x634, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x633)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 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: 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 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: 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 For Pair H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) the following chains were created: 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (2) (H(x839, x840, x841, cons_new_pr2F0G11(Main.Zero))_>=_new_pr2F0G11(x839, x840, x841, Main.Zero)) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 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: 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (2) (H(x935, x936, x937, cons_new_pr2F0G11(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x935, x936, x937, Main.Succ(Main.Zero))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 For Pair new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) the following chains were created: 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (2) (new_pr2F0G2(x1007, x1008, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x1007, x1008, Main.Succ(Main.Zero))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 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: 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (2) (new_pr2F0G2(x1067, x1068, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G12(x1067, x1068, Main.Succ(Main.Zero))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 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: 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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))))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (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))))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 *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: 52.92/32.37 52.92/32.37 (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))))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.37 52.92/32.37 (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))))) 52.92/32.37 52.92/32.37 52.92/32.37 52.92/32.37 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: 52.92/32.37 52.92/32.37 (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)))))) 52.92/32.37 52.92/32.37 (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))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 52.92/32.38 (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)))))))) 52.92/32.38 52.92/32.38 (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))))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 52.92/32.38 (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)))))) 52.92/32.38 52.92/32.38 (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))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 52.92/32.38 (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)))))))) 52.92/32.38 52.92/32.38 (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))))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 52.92/32.38 (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)))))) 52.92/32.38 52.92/32.38 (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))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 52.92/32.38 (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)))))))) 52.92/32.38 52.92/32.38 (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))))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 52.92/32.38 (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)))))) 52.92/32.38 52.92/32.38 (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))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 52.92/32.38 (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)))))))) 52.92/32.38 52.92/32.38 (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))))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 52.92/32.38 (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)))))) 52.92/32.38 52.92/32.38 (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))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 52.92/32.38 (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)))))))) 52.92/32.38 52.92/32.38 (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))))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 52.92/32.38 (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)))))) 52.92/32.38 52.92/32.38 (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))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 52.92/32.38 (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)))))))) 52.92/32.38 52.92/32.38 (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))))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 52.92/32.38 (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)))))) 52.92/32.38 52.92/32.38 (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))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 52.92/32.38 (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)))))))) 52.92/32.38 52.92/32.38 (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))))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (2) (new_pr2F0G2(x1242, x1243, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G12(x1242, x1243, Main.Succ(Main.Succ(Main.Zero)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 52.92/32.38 (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))))) 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 (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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 52.92/32.38 (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))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We solved constraint (5) using rules (I), (II). 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 52.92/32.38 (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))))) 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 (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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 52.92/32.38 (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))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 52.92/32.38 (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))))) 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 (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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 52.92/32.38 (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))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We solved constraint (5) using rules (I), (II). 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 52.92/32.38 (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))))) 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 (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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 52.92/32.38 (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))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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: 52.92/32.38 *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: 52.92/32.38 52.92/32.38 (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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 52.92/32.38 52.92/32.38 (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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 To summarize, we get the following constraints P__>=_ for the following pairs. 52.92/32.38 52.92/32.38 *new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.38 52.92/32.38 *(new_pr2F0G12(x2, x3, Main.Succ(Main.Zero))_>=_new_pr2F0(x3, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x2)) 52.92/32.38 52.92/32.38 52.92/32.38 *(new_pr2F0G12(x17, x18, Main.Succ(Main.Zero))_>=_new_pr2F0(x18, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x17)) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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) 52.92/32.38 52.92/32.38 *(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)) 52.92/32.38 52.92/32.38 52.92/32.38 *(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)) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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)) 52.92/32.38 52.92/32.38 *(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))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.38 52.92/32.38 *(new_pr2F32(x314, x315, Main.Succ(Main.Succ(Main.Zero)), x317)_>=_new_pr2F0G11(x317, x315, Main.Succ(Main.Zero), Main.Zero)) 52.92/32.38 52.92/32.38 52.92/32.38 *(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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.38 52.92/32.38 *(new_pr2F0G11(x453, x454, Main.Succ(Main.Zero), Main.Zero)_>=_new_pr2F0G2(x453, new_srMyInt(x454), Main.Succ(Main.Zero))) 52.92/32.38 52.92/32.38 52.92/32.38 *(new_pr2F0G11(x458, x459, Main.Succ(Main.Succ(Main.Zero)), Main.Zero)_>=_new_pr2F0G2(x458, new_srMyInt(x459), Main.Succ(Main.Succ(Main.Zero)))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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)))))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.38 52.92/32.38 *(new_pr2F0G12(x528, x529, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x528, x529, Main.Succ(Main.Zero), Main.Zero)) 52.92/32.38 52.92/32.38 52.92/32.38 *(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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.38 52.92/32.38 *(new_pr2F0G11(x612, x613, x614, Main.Succ(Main.Zero))_>=_new_pr2F0(x613, x614, Main.Pos(Main.Succ(Main.Zero)), x612)) 52.92/32.38 52.92/32.38 52.92/32.38 *(new_pr2F0G11(x633, x634, Main.Zero, Main.Succ(Main.Zero))_>=_new_pr2F0(x634, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), x633)) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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) 52.92/32.38 52.92/32.38 *(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)) 52.92/32.38 52.92/32.38 52.92/32.38 *(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)) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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)) 52.92/32.38 52.92/32.38 *(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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.38 52.92/32.38 *(H(x839, x840, x841, cons_new_pr2F0G11(Main.Zero))_>=_new_pr2F0G11(x839, x840, x841, Main.Zero)) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.38 52.92/32.38 *(H(x935, x936, x937, cons_new_pr2F0G11(Main.Succ(Main.Zero)))_>=_new_pr2F0G11(x935, x936, x937, Main.Succ(Main.Zero))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.38 52.92/32.38 *(new_pr2F0G2(x1007, x1008, Main.Succ(Main.Zero))_>=_new_pr2F0G12(x1007, x1008, Main.Succ(Main.Zero))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.38 52.92/32.38 *(new_pr2F0G2(x1067, x1068, Main.Succ(Main.Succ(Main.Zero)))_>=_new_pr2F0G12(x1067, x1068, Main.Succ(Main.Zero))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) 52.92/32.38 52.92/32.38 *(new_pr2F0G2(x1142, x1143, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1144)))))_>=_new_pr2F0G12(x1142, x1143, Main.Succ(Main.Succ(new_primDivNatS1(x1144))))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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)))))))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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))))))))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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)))))))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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))))))))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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)))))))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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))))))))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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)))))))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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))))))))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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)))))))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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))))))))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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)))))))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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))))))))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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)))))))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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))))))))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) 52.92/32.38 52.92/32.38 *(new_pr2F0G2(x1242, x1243, Main.Succ(Main.Succ(Main.Succ(Main.Zero))))_>=_new_pr2F0G12(x1242, x1243, Main.Succ(Main.Succ(Main.Zero)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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)) 52.92/32.38 52.92/32.38 *(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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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))) 52.92/32.38 52.92/32.38 *(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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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)) 52.92/32.38 52.92/32.38 *(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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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))) 52.92/32.38 52.92/32.38 *(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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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)) 52.92/32.38 52.92/32.38 *(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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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))) 52.92/32.38 52.92/32.38 *(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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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)) 52.92/32.38 52.92/32.38 *(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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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))) 52.92/32.38 52.92/32.38 *(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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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)) 52.92/32.38 52.92/32.38 *(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))))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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))))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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)) 52.92/32.38 52.92/32.38 *(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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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))) 52.92/32.38 52.92/32.38 *(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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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)) 52.92/32.38 52.92/32.38 *(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))))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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))))) 52.92/32.38 52.92/32.38 52.92/32.38 *(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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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)) 52.92/32.38 52.92/32.38 *(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))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 *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))) 52.92/32.38 52.92/32.38 *(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)))) 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 52.92/32.38 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. 52.92/32.38 ---------------------------------------- 52.92/32.38 52.92/32.38 (132) 52.92/32.38 Obligation: 52.92/32.38 Q DP problem: 52.92/32.38 The TRS P consists of the following rules: 52.92/32.38 52.92/32.38 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Zero)) -> new_pr2F0(vx50, Main.Zero, Main.Pos(Main.Succ(Main.Zero)), vx64) 52.92/32.38 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) 52.92/32.38 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)) 52.92/32.38 new_pr2F32(vx620, vx50, Main.Succ(Main.Succ(vx6100)), vx64) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.38 new_pr2F0G11(vx74, vx75, vx76, Main.Zero) -> new_pr2F0G2(vx74, new_srMyInt(vx75), vx76) 52.92/32.38 new_pr2F0G12(vx64, vx50, Main.Succ(Main.Succ(vx6100))) -> new_pr2F0G11(vx64, vx50, Main.Succ(vx6100), vx6100) 52.92/32.38 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) -> new_pr2F0(vx75, vx76, Main.Pos(Main.Succ(Main.Zero)), vx74) 52.92/32.38 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) 52.92/32.38 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)) 52.92/32.38 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Zero)) -> new_pr2F0G11(vx74, vx75, vx76, Main.Zero) 52.92/32.38 H(vx74, vx75, vx76, cons_new_pr2F0G11(Main.Succ(Main.Zero))) -> new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Zero)) 52.92/32.38 new_pr2F0G2(y0, y1, Main.Succ(Main.Zero)) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.38 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Zero))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Zero)) 52.92/32.38 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(new_primDivNatS1(x0)))) 52.92/32.38 new_pr2F0G2(y0, y1, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_pr2F0G12(y0, y1, Main.Succ(Main.Succ(Main.Zero))) 52.92/32.38 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)) 52.92/32.38 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))) 52.92/32.38 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)) 52.92/32.38 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))) 52.92/32.38 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)) 52.92/32.38 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))) 52.92/32.38 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)) 52.92/32.38 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))) 52.92/32.38 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)) 52.92/32.38 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)) 52.92/32.38 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))) 52.92/32.38 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)) 52.92/32.38 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)) 52.92/32.38 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))) 52.92/32.38 52.92/32.38 The TRS R consists of the following rules: 52.92/32.38 52.92/32.38 new_new_pr2F0G11(Main.Succ(Main.Succ(vx7700))) -> new_new_pr2F0G11(vx7700) 52.92/32.38 new_new_pr2F0G11(Main.Zero) -> cons_new_pr2F0G11(Main.Zero) 52.92/32.38 new_new_pr2F0G11(Main.Succ(Main.Zero)) -> cons_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.38 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.38 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.38 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.38 new_primDivNatS0 -> Main.Zero 52.92/32.38 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.38 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.38 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.38 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.38 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.38 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.38 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.38 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.38 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.38 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.38 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.38 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.38 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.38 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.38 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.38 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.38 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.38 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.38 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.38 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.38 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.38 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.38 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.38 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)))))) 52.92/32.38 52.92/32.38 The set Q consists of the following terms: 52.92/32.38 52.92/32.38 new_primDivNatS1(Main.Zero) 52.92/32.38 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.38 new_primMulNat1(Main.Zero) 52.92/32.38 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.38 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.38 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.38 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.38 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.38 new_primDivNatS0 52.92/32.38 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.38 new_primMulNat1(Main.Succ(x0)) 52.92/32.38 new_primMulNat5(Main.Succ(x0)) 52.92/32.38 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.38 new_primMulNat5(Main.Zero) 52.92/32.38 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.38 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.38 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.38 new_srMyInt(Main.Neg(x0)) 52.92/32.38 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.38 new_primMulNat4(Main.Succ(x0)) 52.92/32.38 new_primMulNat3(Main.Succ(x0)) 52.92/32.38 new_primMulNat4(Main.Zero) 52.92/32.38 new_srMyInt(Main.Pos(x0)) 52.92/32.38 new_primMulNat2(Main.Zero) 52.92/32.38 new_primMulNat2(Main.Succ(x0)) 52.92/32.38 new_primMulNat3(Main.Zero) 52.92/32.38 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.38 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.38 new_new_pr2F0G11(Main.Succ(Main.Succ(x0))) 52.92/32.38 new_new_pr2F0G11(Main.Zero) 52.92/32.38 new_new_pr2F0G11(Main.Succ(Main.Zero)) 52.92/32.38 52.92/32.38 We have to consider all minimal (P,Q,R)-chains. 52.92/32.38 ---------------------------------------- 52.92/32.38 52.92/32.38 (133) 52.92/32.38 Obligation: 52.92/32.38 Q DP problem: 52.92/32.38 The TRS P consists of the following rules: 52.92/32.38 52.92/32.38 new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.38 52.92/32.38 R is empty. 52.92/32.38 Q is empty. 52.92/32.38 We have to consider all minimal (P,Q,R)-chains. 52.92/32.38 ---------------------------------------- 52.92/32.38 52.92/32.38 (134) QDPSizeChangeProof (EQUIVALENT) 52.92/32.38 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. 52.92/32.38 52.92/32.38 From the DPs we obtained the following set of size-change graphs: 52.92/32.38 *new_pr2F0G11(vx74, vx75, vx76, Main.Succ(Main.Succ(vx7700))) -> new_pr2F0G11(vx74, vx75, vx76, vx7700) 52.92/32.38 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4 52.92/32.38 52.92/32.38 52.92/32.38 ---------------------------------------- 52.92/32.38 52.92/32.38 (135) 52.92/32.38 YES 52.92/32.38 52.92/32.38 ---------------------------------------- 52.92/32.38 52.92/32.38 (136) 52.92/32.38 Obligation: 52.92/32.38 Q DP problem: 52.92/32.38 The TRS P consists of the following rules: 52.92/32.38 52.92/32.38 new_pr2F3(Main.Succ(vx710), Main.Succ(vx82000), vx70, vx69) -> new_pr2F3(vx710, vx82000, vx70, vx69) 52.92/32.38 52.92/32.38 The TRS R consists of the following rules: 52.92/32.38 52.92/32.38 new_srMyInt0(Main.Neg(vx700), Main.Neg(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.38 new_fromIntMyInt -> Main.Pos(Main.Succ(Main.Zero)) 52.92/32.38 new_primPlusNat0(Main.Succ(vx4000), Main.Succ(vx5000)) -> Main.Succ(Main.Succ(new_primPlusNat0(vx4000, vx5000))) 52.92/32.38 new_primDivNatS1(Main.Zero) -> Main.Zero 52.92/32.38 new_primMulNat2(Main.Succ(vx44000)) -> new_primPlusNat0(new_primMulNat3(vx44000), Main.Succ(Main.Succ(vx44000))) 52.92/32.38 new_primMulNat3(Main.Succ(vx440000)) -> new_primPlusNat0(new_primMulNat4(vx440000), Main.Succ(Main.Succ(Main.Succ(vx440000)))) 52.92/32.38 new_primMulNat0(Main.Succ(vx7000), Main.Zero) -> Main.Zero 52.92/32.38 new_primMulNat0(Main.Zero, Main.Succ(vx6900)) -> Main.Zero 52.92/32.38 new_primMulNat5(Main.Zero) -> Main.Zero 52.92/32.38 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)))))) 52.92/32.38 new_srMyInt0(Main.Pos(vx700), Main.Neg(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.38 new_srMyInt0(Main.Neg(vx700), Main.Pos(vx690)) -> Main.Neg(new_primMulNat0(vx700, vx690)) 52.92/32.38 new_primMulNat3(Main.Zero) -> Main.Zero 52.92/32.38 new_primMulNat0(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primPlusNat0(new_primMulNat0(vx7000, Main.Succ(vx6900)), Main.Succ(vx6900)) 52.92/32.38 new_primDivNatS0 -> Main.Zero 52.92/32.38 new_primDivNatS1(Main.Succ(Main.Zero)) -> Main.Succ(new_primDivNatS0) 52.92/32.38 new_primMulNat1(Main.Zero) -> Main.Zero 52.92/32.38 new_primMulNat4(Main.Succ(vx4400000)) -> new_primPlusNat0(new_primMulNat5(vx4400000), Main.Succ(Main.Succ(Main.Succ(Main.Succ(vx4400000))))) 52.92/32.38 new_primMulNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.38 new_primPlusNat0(Main.Zero, Main.Zero) -> Main.Zero 52.92/32.38 new_primPlusNat0(Main.Succ(vx4000), Main.Zero) -> Main.Succ(vx4000) 52.92/32.38 new_primPlusNat0(Main.Zero, Main.Succ(vx5000)) -> Main.Succ(vx5000) 52.92/32.38 new_srMyInt(Main.Neg(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.38 new_srMyInt(Main.Pos(vx440)) -> Main.Pos(new_primMulNat1(vx440)) 52.92/32.38 new_primDivNatS1(Main.Succ(Main.Succ(vx7100))) -> Main.Succ(new_primDivNatS1(vx7100)) 52.92/32.38 new_srMyInt0(Main.Pos(vx700), Main.Pos(vx690)) -> Main.Pos(new_primMulNat0(vx700, vx690)) 52.92/32.38 new_primMulNat1(Main.Succ(vx4400)) -> new_primPlusNat0(new_primMulNat2(vx4400), Main.Succ(vx4400)) 52.92/32.38 new_primMulNat4(Main.Zero) -> Main.Zero 52.92/32.38 new_primMulNat2(Main.Zero) -> Main.Zero 52.92/32.38 52.92/32.38 The set Q consists of the following terms: 52.92/32.38 52.92/32.38 new_primDivNatS1(Main.Zero) 52.92/32.38 new_primMulNat0(Main.Zero, Main.Succ(x0)) 52.92/32.38 new_primMulNat1(Main.Zero) 52.92/32.38 new_fromIntMyInt 52.92/32.38 new_primMulNat0(Main.Succ(x0), Main.Zero) 52.92/32.38 new_primPlusNat0(Main.Zero, Main.Succ(x0)) 52.92/32.38 new_primPlusNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.38 new_primMulNat0(Main.Succ(x0), Main.Succ(x1)) 52.92/32.38 new_srMyInt0(Main.Pos(x0), Main.Pos(x1)) 52.92/32.38 new_primDivNatS0 52.92/32.38 new_primDivNatS1(Main.Succ(Main.Succ(x0))) 52.92/32.38 new_primMulNat1(Main.Succ(x0)) 52.92/32.38 new_primMulNat5(Main.Succ(x0)) 52.92/32.38 new_srMyInt0(Main.Neg(x0), Main.Neg(x1)) 52.92/32.38 new_primMulNat5(Main.Zero) 52.92/32.38 new_srMyInt0(Main.Pos(x0), Main.Neg(x1)) 52.92/32.38 new_srMyInt0(Main.Neg(x0), Main.Pos(x1)) 52.92/32.38 new_primPlusNat0(Main.Zero, Main.Zero) 52.92/32.38 new_srMyInt(Main.Neg(x0)) 52.92/32.38 new_primDivNatS1(Main.Succ(Main.Zero)) 52.92/32.38 new_primMulNat4(Main.Succ(x0)) 52.92/32.38 new_primMulNat3(Main.Succ(x0)) 52.92/32.38 new_primMulNat4(Main.Zero) 52.92/32.38 new_srMyInt(Main.Pos(x0)) 52.92/32.38 new_primMulNat2(Main.Zero) 52.92/32.38 new_primMulNat2(Main.Succ(x0)) 52.92/32.38 new_primMulNat3(Main.Zero) 52.92/32.38 new_primPlusNat0(Main.Succ(x0), Main.Zero) 52.92/32.38 new_primMulNat0(Main.Zero, Main.Zero) 52.92/32.38 52.92/32.38 We have to consider all minimal (P,Q,R)-chains. 52.92/32.38 ---------------------------------------- 52.92/32.38 52.92/32.38 (137) QDPSizeChangeProof (EQUIVALENT) 52.92/32.38 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. 52.92/32.38 52.92/32.38 From the DPs we obtained the following set of size-change graphs: 52.92/32.38 *new_pr2F3(Main.Succ(vx710), Main.Succ(vx82000), vx70, vx69) -> new_pr2F3(vx710, vx82000, vx70, vx69) 52.92/32.38 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3, 4 >= 4 52.92/32.38 52.92/32.38 52.92/32.38 ---------------------------------------- 52.92/32.38 52.92/32.38 (138) 52.92/32.38 YES 52.92/32.38 52.92/32.38 ---------------------------------------- 52.92/32.38 52.92/32.38 (139) 52.92/32.38 Obligation: 52.92/32.38 Q DP problem: 52.92/32.38 The TRS P consists of the following rules: 52.92/32.38 52.92/32.38 new_primMulNat(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primMulNat(vx7000, Main.Succ(vx6900)) 52.92/32.38 52.92/32.38 R is empty. 52.92/32.38 Q is empty. 52.92/32.38 We have to consider all minimal (P,Q,R)-chains. 52.92/32.38 ---------------------------------------- 52.92/32.38 52.92/32.38 (140) QDPSizeChangeProof (EQUIVALENT) 52.92/32.38 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. 52.92/32.38 52.92/32.38 From the DPs we obtained the following set of size-change graphs: 52.92/32.38 *new_primMulNat(Main.Succ(vx7000), Main.Succ(vx6900)) -> new_primMulNat(vx7000, Main.Succ(vx6900)) 52.92/32.38 The graph contains the following edges 1 > 1, 2 >= 2 52.92/32.38 52.92/32.38 52.92/32.38 ---------------------------------------- 52.92/32.38 52.92/32.38 (141) 52.92/32.38 YES 52.92/32.38 52.92/32.38 ---------------------------------------- 52.92/32.38 52.92/32.38 (142) 52.92/32.38 Obligation: 52.92/32.38 Q DP problem: 52.92/32.38 The TRS P consists of the following rules: 52.92/32.38 52.92/32.38 new_primPlusNat(Main.Succ(vx4000), Main.Succ(vx5000)) -> new_primPlusNat(vx4000, vx5000) 52.92/32.38 52.92/32.38 R is empty. 52.92/32.38 Q is empty. 52.92/32.38 We have to consider all minimal (P,Q,R)-chains. 52.92/32.38 ---------------------------------------- 52.92/32.38 52.92/32.38 (143) QDPSizeChangeProof (EQUIVALENT) 52.92/32.38 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. 52.92/32.38 52.92/32.38 From the DPs we obtained the following set of size-change graphs: 52.92/32.38 *new_primPlusNat(Main.Succ(vx4000), Main.Succ(vx5000)) -> new_primPlusNat(vx4000, vx5000) 52.92/32.38 The graph contains the following edges 1 > 1, 2 > 2 52.92/32.38 52.92/32.38 52.92/32.38 ---------------------------------------- 52.92/32.38 52.92/32.38 (144) 52.92/32.38 YES 52.92/32.38 52.92/32.38 ---------------------------------------- 52.92/32.38 52.92/32.38 (145) Narrow (COMPLETE) 52.92/32.38 Haskell To QDPs 52.92/32.38 52.92/32.38 digraph dp_graph { 52.92/32.38 node [outthreshold=100, inthreshold=100];1[label="pr",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 52.92/32.38 3[label="pr vx3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 52.92/32.38 4[label="pr vx3 vx4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 52.92/32.38 5[label="pr4 vx3 vx4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1176 -> 8[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1177[label="vx4/Neg vx40",fontsize=10,color="white",style="solid",shape="box"];7 -> 1177[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1177 -> 9[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 1178 -> 10[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1179[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];8 -> 1179[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1179 -> 11[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 1180 -> 12[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1181[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];9 -> 1181[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1181 -> 13[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 18[label="pr3 MyFalse vx3 (Pos (Succ vx400))",fontsize=16,color="black",shape="box"];18 -> 22[label="",style="solid", color="black", weight=3]; 52.92/32.38 19[label="pr3 MyTrue vx3 (Pos Zero)",fontsize=16,color="black",shape="box"];19 -> 23[label="",style="solid", color="black", weight=3]; 52.92/32.38 20[label="pr3 MyFalse vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];20 -> 24[label="",style="solid", color="black", weight=3]; 52.92/32.38 21[label="pr3 MyTrue vx3 (Neg Zero)",fontsize=16,color="black",shape="box"];21 -> 25[label="",style="solid", color="black", weight=3]; 52.92/32.38 22[label="pr2 vx3 (Pos (Succ vx400))",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 52.92/32.38 23[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];23 -> 27[label="",style="solid", color="black", weight=3]; 52.92/32.38 24[label="pr2 vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 52.92/32.38 25 -> 23[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 38[label="pr2Pr1 vx3 (Neg (Succ vx400)) MyFalse",fontsize=16,color="black",shape="box"];38 -> 40[label="",style="solid", color="black", weight=3]; 52.92/32.38 39[label="pr2Pr1 vx3 (Pos (Succ vx400)) MyTrue",fontsize=16,color="black",shape="box"];39 -> 41[label="",style="solid", color="black", weight=3]; 52.92/32.38 40[label="pr0 vx3 (Neg (Succ vx400))",fontsize=16,color="black",shape="box"];40 -> 42[label="",style="solid", color="black", weight=3]; 52.92/32.38 41 -> 43[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 42[label="error",fontsize=16,color="black",shape="box"];42 -> 45[label="",style="solid", color="black", weight=3]; 52.92/32.38 44 -> 23[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 45[label="stop MyTrue",fontsize=16,color="black",shape="box"];45 -> 47[label="",style="solid", color="black", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1182 -> 51[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1183[label="vx5/Neg vx50",fontsize=10,color="white",style="solid",shape="box"];50 -> 1183[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1183 -> 52[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1184 -> 55[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1185[label="vx50/Zero",fontsize=10,color="white",style="solid",shape="box"];53 -> 1185[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1185 -> 56[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 1186 -> 57[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1187[label="vx50/Zero",fontsize=10,color="white",style="solid",shape="box"];54 -> 1187[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1187 -> 58[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1188 -> 63[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1189[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];59 -> 1189[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1189 -> 64[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 60 -> 414[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 60 -> 416[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 60 -> 417[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 61 -> 414[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 61 -> 419[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 61 -> 420[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 62 -> 414[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 62 -> 422[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 62 -> 423[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 1190 -> 67[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1191[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];63 -> 1191[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1191 -> 68[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 1192 -> 69[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1193[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];64 -> 1193[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1193 -> 70[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 429 -> 72[label="",style="dashed", color="red", weight=0]; 52.92/32.38 429[label="primPlusNat vx400 vx500",fontsize=16,color="magenta"];73 -> 59[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 73 -> 81[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 74 -> 414[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 74 -> 425[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 74 -> 426[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 76 -> 432[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 76 -> 434[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 436[label="pr2F3 MyFalse vx12 (Pos (Succ vx23000)) vx33",fontsize=16,color="black",shape="box"];436 -> 440[label="",style="solid", color="black", weight=3]; 52.92/32.38 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]; 52.92/32.38 1194 -> 78[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1195[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];72 -> 1195[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1195 -> 79[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 83 -> 766[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 83 -> 767[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 83 -> 768[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 440[label="pr2F0 vx12 (Pos (Succ vx23000)) vx33",fontsize=16,color="black",shape="box"];440 -> 444[label="",style="solid", color="black", weight=3]; 52.92/32.38 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]; 52.92/32.38 1196 -> 86[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1197[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];78 -> 1197[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1197 -> 87[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 1198 -> 88[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1199[label="vx500/Zero",fontsize=10,color="white",style="solid",shape="box"];79 -> 1199[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1199 -> 89[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 444 -> 771[label="",style="dashed", color="red", weight=0]; 52.92/32.38 444[label="pr2F0G vx33 vx12 (Pos (Succ vx23000))",fontsize=16,color="magenta"];444 -> 772[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 444 -> 773[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 444 -> 774[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 86[label="primPlusNat (Succ vx4000) (Succ vx5000)",fontsize=16,color="black",shape="box"];86 -> 93[label="",style="solid", color="black", weight=3]; 52.92/32.38 87[label="primPlusNat (Succ vx4000) Zero",fontsize=16,color="black",shape="box"];87 -> 94[label="",style="solid", color="black", weight=3]; 52.92/32.38 88[label="primPlusNat Zero (Succ vx5000)",fontsize=16,color="black",shape="box"];88 -> 95[label="",style="solid", color="black", weight=3]; 52.92/32.38 89[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];89 -> 96[label="",style="solid", color="black", weight=3]; 52.92/32.38 770[label="pr2F3 MyFalse vx50 (Neg vx61) vx64",fontsize=16,color="black",shape="box"];770 -> 776[label="",style="solid", color="black", weight=3]; 52.92/32.38 441[label="pr2F3 MyTrue vx12 (Pos Zero) vx34",fontsize=16,color="black",shape="box"];441 -> 445[label="",style="solid", color="black", weight=3]; 52.92/32.38 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]; 52.92/32.38 93[label="Succ (Succ (primPlusNat vx4000 vx5000))",fontsize=16,color="green",shape="box"];93 -> 100[label="",style="dashed", color="green", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 100 -> 72[label="",style="dashed", color="red", weight=0]; 52.92/32.38 100[label="primPlusNat vx4000 vx5000",fontsize=16,color="magenta"];100 -> 103[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 100 -> 104[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 778[label="pr2F0G vx64 vx50 (Neg vx61)",fontsize=16,color="black",shape="box"];778 -> 780[label="",style="solid", color="black", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1200 -> 785[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1201[label="vx59/Zero",fontsize=10,color="white",style="solid",shape="box"];783 -> 1201[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1201 -> 786[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1202 -> 788[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1203[label="vx590/Zero",fontsize=10,color="white",style="solid",shape="box"];785 -> 1203[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1203 -> 789[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 786[label="pr2F0G1 vx65 vx44 (Pos Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];786 -> 790[label="",style="solid", color="black", weight=3]; 52.92/32.38 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]; 52.92/32.38 1204 -> 791[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1205[label="vx61/Zero",fontsize=10,color="white",style="solid",shape="box"];787 -> 1205[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1205 -> 792[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 790[label="pr2F0G1 vx65 vx44 (Pos Zero) MyTrue",fontsize=16,color="black",shape="box"];790 -> 795[label="",style="solid", color="black", weight=3]; 52.92/32.38 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]; 52.92/32.38 1206 -> 796[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1207[label="vx610/Zero",fontsize=10,color="white",style="solid",shape="box"];791 -> 1207[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1207 -> 797[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 792[label="pr2F0G1 vx64 vx50 (Neg Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];792 -> 798[label="",style="solid", color="black", weight=3]; 52.92/32.38 793 -> 865[label="",style="dashed", color="red", weight=0]; 52.92/32.38 793[label="pr2F0G1 vx65 vx44 (Pos (Succ (Succ vx5900))) (primEvenNat vx5900)",fontsize=16,color="magenta"];793 -> 866[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 793 -> 867[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 793 -> 868[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 793 -> 869[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 794[label="pr2F0G1 vx65 vx44 (Pos (Succ Zero)) MyFalse",fontsize=16,color="black",shape="box"];794 -> 801[label="",style="solid", color="black", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 798[label="pr2F0G1 vx64 vx50 (Neg Zero) MyTrue",fontsize=16,color="black",shape="box"];798 -> 805[label="",style="solid", color="black", weight=3]; 52.92/32.38 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]; 52.92/32.38 1208 -> 878[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1209[label="vx72/Zero",fontsize=10,color="white",style="solid",shape="box"];865 -> 1209[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1209 -> 879[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 801[label="pr2F0G0 vx65 vx44 (Pos (Succ Zero)) otherwise",fontsize=16,color="black",shape="box"];801 -> 809[label="",style="solid", color="black", weight=3]; 52.92/32.38 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]; 52.92/32.38 803 -> 896[label="",style="dashed", color="red", weight=0]; 52.92/32.38 803[label="pr2F0G1 vx64 vx50 (Neg (Succ (Succ vx6100))) (primEvenNat vx6100)",fontsize=16,color="magenta"];803 -> 897[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 803 -> 898[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 803 -> 899[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 803 -> 900[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 804[label="pr2F0G1 vx64 vx50 (Neg (Succ Zero)) MyFalse",fontsize=16,color="black",shape="box"];804 -> 813[label="",style="solid", color="black", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1210 -> 890[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1211[label="vx720/Zero",fontsize=10,color="white",style="solid",shape="box"];878 -> 1211[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1211 -> 891[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 809[label="pr2F0G0 vx65 vx44 (Pos (Succ Zero)) MyTrue",fontsize=16,color="black",shape="box"];809 -> 818[label="",style="solid", color="black", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1212 -> 909[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1213[label="vx77/Zero",fontsize=10,color="white",style="solid",shape="box"];896 -> 1213[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1213 -> 910[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 813[label="pr2F0G0 vx64 vx50 (Neg (Succ Zero)) otherwise",fontsize=16,color="black",shape="box"];813 -> 823[label="",style="solid", color="black", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 892[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) MyTrue",fontsize=16,color="black",shape="box"];892 -> 913[label="",style="solid", color="black", weight=3]; 52.92/32.38 818 -> 958[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 818 -> 960[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 818 -> 961[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 818 -> 962[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1214 -> 921[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1215[label="vx770/Zero",fontsize=10,color="white",style="solid",shape="box"];909 -> 1215[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1215 -> 922[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 823[label="pr2F0G0 vx64 vx50 (Neg (Succ Zero)) MyTrue",fontsize=16,color="black",shape="box"];823 -> 835[label="",style="solid", color="black", weight=3]; 52.92/32.38 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]; 52.92/32.38 911 -> 865[label="",style="dashed", color="red", weight=0]; 52.92/32.38 911[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) (primEvenNat vx7200)",fontsize=16,color="magenta"];911 -> 924[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 912[label="pr2F0G1 vx69 vx70 (Pos (Succ vx71)) MyFalse",fontsize=16,color="black",shape="box"];912 -> 925[label="",style="solid", color="black", weight=3]; 52.92/32.38 913 -> 926[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 959 -> 23[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 923[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) MyTrue",fontsize=16,color="black",shape="box"];923 -> 930[label="",style="solid", color="black", weight=3]; 52.92/32.38 835 -> 979[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 835 -> 981[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 835 -> 982[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 835 -> 983[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 927 -> 881[label="",style="dashed", color="red", weight=0]; 52.92/32.38 927[label="srMyInt vx70 vx70",fontsize=16,color="magenta"];927 -> 932[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 928 -> 896[label="",style="dashed", color="red", weight=0]; 52.92/32.38 928[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) (primEvenNat vx7700)",fontsize=16,color="magenta"];928 -> 940[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 929[label="pr2F0G1 vx74 vx75 (Neg (Succ vx76)) MyFalse",fontsize=16,color="black",shape="box"];929 -> 941[label="",style="solid", color="black", weight=3]; 52.92/32.38 930 -> 942[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 980[label="vx64",fontsize=16,color="green",shape="box"];981 -> 23[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 931[label="pr2F0G0 vx69 vx70 (Pos (Succ vx71)) MyTrue",fontsize=16,color="black",shape="box"];931 -> 944[label="",style="solid", color="black", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 857 -> 781[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 857 -> 882[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 943 -> 881[label="",style="dashed", color="red", weight=0]; 52.92/32.38 943[label="srMyInt vx75 vx75",fontsize=16,color="magenta"];943 -> 947[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 944 -> 958[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1216 -> 919[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1217[label="vx44/Neg vx440",fontsize=10,color="white",style="solid",shape="box"];894 -> 1217[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1217 -> 920[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 882[label="primDivNatS Zero (Succ (Succ Zero))",fontsize=16,color="black",shape="triangle"];882 -> 895[label="",style="solid", color="black", weight=3]; 52.92/32.38 946[label="pr2F0G0 vx74 vx75 (Neg (Succ vx76)) MyTrue",fontsize=16,color="black",shape="box"];946 -> 970[label="",style="solid", color="black", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 889 -> 784[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 889 -> 916[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 967 -> 23[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 920[label="primMulInt (Neg vx440) (Neg vx440)",fontsize=16,color="black",shape="box"];920 -> 939[label="",style="solid", color="black", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1218 -> 1002[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1219[label="vx82/Neg vx820",fontsize=10,color="white",style="solid",shape="box"];996 -> 1219[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1219 -> 1003[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 895[label="Zero",fontsize=16,color="green",shape="box"];970 -> 979[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 915 -> 881[label="",style="dashed", color="red", weight=0]; 52.92/32.38 915[label="srMyInt vx50 vx50",fontsize=16,color="magenta"];915 -> 935[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 916 -> 882[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 939[label="Pos (primMulNat vx440 vx440)",fontsize=16,color="green",shape="box"];939 -> 950[label="",style="dashed", color="green", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 988 -> 23[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1220 -> 1017[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1221[label="vx83/Neg vx830",fontsize=10,color="white",style="solid",shape="box"];1010 -> 1221[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1221 -> 1018[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 1222 -> 972[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1223[label="vx440/Zero",fontsize=10,color="white",style="solid",shape="box"];949 -> 1223[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1223 -> 973[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 950 -> 949[label="",style="dashed", color="red", weight=0]; 52.92/32.38 950[label="primMulNat vx440 vx440",fontsize=16,color="magenta"];950 -> 974[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1224 -> 1019[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1225[label="vx820/Zero",fontsize=10,color="white",style="solid",shape="box"];1011 -> 1225[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1225 -> 1020[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1012 -> 1021[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 1012 -> 1023[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 972[label="primMulNat (Succ vx4400) (Succ vx4400)",fontsize=16,color="black",shape="box"];972 -> 993[label="",style="solid", color="black", weight=3]; 52.92/32.38 973[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];973 -> 994[label="",style="solid", color="black", weight=3]; 52.92/32.38 974[label="vx440",fontsize=16,color="green",shape="box"];998 -> 781[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 998 -> 1006[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 998 -> 1007[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1022 -> 72[label="",style="dashed", color="red", weight=0]; 52.92/32.38 1022[label="primPlusNat (Succ vx71) vx820",fontsize=16,color="magenta"];1022 -> 1028[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1022 -> 1029[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1023 -> 72[label="",style="dashed", color="red", weight=0]; 52.92/32.38 1023[label="primPlusNat (Succ vx71) vx820",fontsize=16,color="magenta"];1023 -> 1030[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1023 -> 1031[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 1226 -> 1032[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1227[label="vx85/Zero",fontsize=10,color="white",style="solid",shape="box"];1021 -> 1227[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1227 -> 1033[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 1024 -> 1041[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 1024 -> 1043[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 1228 -> 1044[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1229[label="vx830/Zero",fontsize=10,color="white",style="solid",shape="box"];1025 -> 1229[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1229 -> 1045[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 993 -> 72[label="",style="dashed", color="red", weight=0]; 52.92/32.38 993[label="primPlusNat (primMulNat vx4400 (Succ vx4400)) (Succ vx4400)",fontsize=16,color="magenta"];993 -> 999[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 993 -> 1000[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1230 -> 1046[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1231[label="vx71/Zero",fontsize=10,color="white",style="solid",shape="box"];1026 -> 1231[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1231 -> 1047[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1027 -> 1021[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 1027 -> 1049[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1013 -> 784[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 1013 -> 1035[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1013 -> 1036[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1042 -> 72[label="",style="dashed", color="red", weight=0]; 52.92/32.38 1042[label="primPlusNat (Succ vx76) vx830",fontsize=16,color="magenta"];1042 -> 1052[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1042 -> 1053[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1043 -> 72[label="",style="dashed", color="red", weight=0]; 52.92/32.38 1043[label="primPlusNat (Succ vx76) vx830",fontsize=16,color="magenta"];1043 -> 1054[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1043 -> 1055[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 1232 -> 1056[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1233[label="vx87/Zero",fontsize=10,color="white",style="solid",shape="box"];1041 -> 1233[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1233 -> 1057[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1234 -> 1008[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1235[label="vx4400/Zero",fontsize=10,color="white",style="solid",shape="box"];1000 -> 1235[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1235 -> 1009[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 1236 -> 1037[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1237[label="vx71/Zero",fontsize=10,color="white",style="solid",shape="box"];1014 -> 1237[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1237 -> 1038[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 1238 -> 1065[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1239[label="vx8200/Zero",fontsize=10,color="white",style="solid",shape="box"];1046 -> 1239[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1239 -> 1066[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 1240 -> 1067[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1241[label="vx8200/Zero",fontsize=10,color="white",style="solid",shape="box"];1047 -> 1241[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1241 -> 1068[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1036[label="primDivNatS (Succ vx76) (Succ (Succ Zero))",fontsize=16,color="magenta"];1036 -> 1058[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1063 -> 1026[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 1063 -> 1079[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1063 -> 1080[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1063 -> 1081[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1064 -> 1041[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 1064 -> 1083[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1008[label="primMulNat (Succ vx44000) (Succ (Succ vx44000))",fontsize=16,color="black",shape="box"];1008 -> 1015[label="",style="solid", color="black", weight=3]; 52.92/32.38 1009[label="primMulNat Zero (Succ Zero)",fontsize=16,color="black",shape="box"];1009 -> 1016[label="",style="solid", color="black", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1058[label="vx76",fontsize=16,color="green",shape="box"];1071 -> 764[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 1071 -> 1091[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1071 -> 1092[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1071 -> 1093[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1015[label="primPlusNat (primMulNat vx44000 (Succ (Succ vx44000))) (Succ (Succ vx44000))",fontsize=16,color="magenta"];1015 -> 1039[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1015 -> 1040[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 1242 -> 1073[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1243[label="vx710/Zero",fontsize=10,color="white",style="solid",shape="box"];1059 -> 1243[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1243 -> 1074[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1060[label="primDivNatS0 Zero (Succ Zero) MyFalse",fontsize=16,color="black",shape="box"];1060 -> 1075[label="",style="solid", color="black", weight=3]; 52.92/32.38 1084 -> 1026[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 1084 -> 1100[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1085 -> 1021[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 1085 -> 1102[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1086 -> 1041[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 1086 -> 1104[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1086 -> 1105[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1086 -> 1106[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1087 -> 1021[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 1087 -> 1108[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1088[label="pr2F0 vx70 (Pos vx84) (srMyInt vx70 vx69)",fontsize=16,color="black",shape="box"];1088 -> 1109[label="",style="solid", color="black", weight=3]; 52.92/32.38 1089[label="srMyInt vx70 vx69",fontsize=16,color="black",shape="triangle"];1089 -> 1110[label="",style="solid", color="black", weight=3]; 52.92/32.38 1090 -> 1089[label="",style="dashed", color="red", weight=0]; 52.92/32.38 1090[label="srMyInt vx75 vx74",fontsize=16,color="magenta"];1090 -> 1111[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1090 -> 1112[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 1094[label="pr2F3 MyTrue vx75 (Neg vx86) (srMyInt vx75 vx74)",fontsize=16,color="magenta"];1094 -> 1114[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 1244 -> 1061[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1245[label="vx44000/Zero",fontsize=10,color="white",style="solid",shape="box"];1040 -> 1245[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1245 -> 1062[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1109[label="pr2F0G (srMyInt vx70 vx69) vx70 (Pos vx84)",fontsize=16,color="magenta"];1109 -> 1115[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1109 -> 1116[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1109 -> 1117[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 1246 -> 1118[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1247[label="vx70/Neg vx700",fontsize=10,color="white",style="solid",shape="box"];1110 -> 1247[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1247 -> 1119[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 1114[label="srMyInt vx75 vx74",fontsize=16,color="magenta"];1114 -> 1120[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1114 -> 1121[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 1113[label="pr2F3 MyTrue vx75 (Neg vx86) vx88",fontsize=16,color="black",shape="triangle"];1113 -> 1122[label="",style="solid", color="black", weight=3]; 52.92/32.38 1061[label="primMulNat (Succ vx440000) (Succ (Succ (Succ vx440000)))",fontsize=16,color="black",shape="box"];1061 -> 1076[label="",style="solid", color="black", weight=3]; 52.92/32.38 1062[label="primMulNat Zero (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];1062 -> 1077[label="",style="solid", color="black", weight=3]; 52.92/32.38 1095[label="primDivNatS0 (Succ (Succ vx7100)) (Succ Zero) MyTrue",fontsize=16,color="black",shape="box"];1095 -> 1123[label="",style="solid", color="black", weight=3]; 52.92/32.38 1096[label="primDivNatS0 (Succ Zero) (Succ Zero) MyTrue",fontsize=16,color="black",shape="box"];1096 -> 1124[label="",style="solid", color="black", weight=3]; 52.92/32.38 1115 -> 1089[label="",style="dashed", color="red", weight=0]; 52.92/32.38 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]; 52.92/32.38 1248 -> 1127[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1249[label="vx69/Neg vx690",fontsize=10,color="white",style="solid",shape="box"];1118 -> 1249[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1249 -> 1128[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 1250 -> 1129[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1251[label="vx69/Neg vx690",fontsize=10,color="white",style="solid",shape="box"];1119 -> 1251[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1251 -> 1130[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1076 -> 1098[label="",style="dashed", color="magenta", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1127[label="primMulInt (Pos vx700) (Pos vx690)",fontsize=16,color="black",shape="box"];1127 -> 1135[label="",style="solid", color="black", weight=3]; 52.92/32.38 1128[label="primMulInt (Pos vx700) (Neg vx690)",fontsize=16,color="black",shape="box"];1128 -> 1136[label="",style="solid", color="black", weight=3]; 52.92/32.38 1129[label="primMulInt (Neg vx700) (Pos vx690)",fontsize=16,color="black",shape="box"];1129 -> 1137[label="",style="solid", color="black", weight=3]; 52.92/32.38 1130[label="primMulInt (Neg vx700) (Neg vx690)",fontsize=16,color="black",shape="box"];1130 -> 1138[label="",style="solid", color="black", weight=3]; 52.92/32.38 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]; 52.92/32.38 1252 -> 1125[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 1253[label="vx440000/Zero",fontsize=10,color="white",style="solid",shape="box"];1098 -> 1253[label="",style="solid", color="burlywood", weight=9]; 52.92/32.38 1253 -> 1126[label="",style="solid", color="burlywood", weight=3]; 52.92/32.38 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]; 52.92/32.38 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]; 52.92/32.38 1135[label="Pos (primMulNat vx700 vx690)",fontsize=16,color="green",shape="box"];1135 -> 1143[label="",style="dashed", color="green", weight=3]; 52.92/32.38 1136[label="Neg (primMulNat vx700 vx690)",fontsize=16,color="green",shape="box"];1136 -> 1144[label="",style="dashed", color="green", weight=3]; 52.92/32.38 1137[label="Neg (primMulNat vx700 vx690)",fontsize=16,color="green",shape="box"];1137 -> 1145[label="",style="dashed", color="green", weight=3]; 52.92/32.38 1138[label="Pos (primMulNat vx700 vx690)",fontsize=16,color="green",shape="box"];1138 -> 1146[label="",style="dashed", color="green", weight=3]; 52.92/32.38 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]; 52.92/32.39 1126[label="primMulNat Zero (Succ (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];1126 -> 1134[label="",style="solid", color="black", weight=3]; 52.92/32.39 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]; 52.92/32.39 1140[label="primDivNatS (primMinusNatS Zero Zero) (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];1140 -> 1148[label="",style="solid", color="black", weight=3]; 52.92/32.39 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]; 52.92/32.39 1254 -> 1151[label="",style="solid", color="burlywood", weight=3]; 52.92/32.39 1255[label="vx700/Zero",fontsize=10,color="white",style="solid",shape="box"];1143 -> 1255[label="",style="solid", color="burlywood", weight=9]; 52.92/32.39 1255 -> 1152[label="",style="solid", color="burlywood", weight=3]; 52.92/32.39 1144 -> 1143[label="",style="dashed", color="red", weight=0]; 52.92/32.39 1144[label="primMulNat vx700 vx690",fontsize=16,color="magenta"];1144 -> 1153[label="",style="dashed", color="magenta", weight=3]; 52.92/32.39 1145 -> 1143[label="",style="dashed", color="red", weight=0]; 52.92/32.39 1145[label="primMulNat vx700 vx690",fontsize=16,color="magenta"];1145 -> 1154[label="",style="dashed", color="magenta", weight=3]; 52.92/32.39 1146 -> 1143[label="",style="dashed", color="red", weight=0]; 52.92/32.39 1146[label="primMulNat vx700 vx690",fontsize=16,color="magenta"];1146 -> 1155[label="",style="dashed", color="magenta", weight=3]; 52.92/32.39 1146 -> 1156[label="",style="dashed", color="magenta", weight=3]; 52.92/32.39 1133 -> 72[label="",style="dashed", color="red", weight=0]; 52.92/32.39 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]; 52.92/32.39 1133 -> 1142[label="",style="dashed", color="magenta", weight=3]; 52.92/32.39 1134[label="Zero",fontsize=16,color="green",shape="box"];1147 -> 1007[label="",style="dashed", color="red", weight=0]; 52.92/32.39 1147[label="primDivNatS (Succ vx7100) (Succ (Succ Zero))",fontsize=16,color="magenta"];1147 -> 1157[label="",style="dashed", color="magenta", weight=3]; 52.92/32.39 1148 -> 882[label="",style="dashed", color="red", weight=0]; 52.92/32.39 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]; 52.92/32.39 1256 -> 1160[label="",style="solid", color="burlywood", weight=3]; 52.92/32.39 1257[label="vx690/Zero",fontsize=10,color="white",style="solid",shape="box"];1151 -> 1257[label="",style="solid", color="burlywood", weight=9]; 52.92/32.39 1257 -> 1161[label="",style="solid", color="burlywood", weight=3]; 52.92/32.39 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]; 52.92/32.39 1258 -> 1162[label="",style="solid", color="burlywood", weight=3]; 52.92/32.39 1259[label="vx690/Zero",fontsize=10,color="white",style="solid",shape="box"];1152 -> 1259[label="",style="solid", color="burlywood", weight=9]; 52.92/32.39 1259 -> 1163[label="",style="solid", color="burlywood", weight=3]; 52.92/32.39 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]; 52.92/32.39 1260 -> 1149[label="",style="solid", color="burlywood", weight=3]; 52.92/32.39 1261[label="vx4400000/Zero",fontsize=10,color="white",style="solid",shape="box"];1142 -> 1261[label="",style="solid", color="burlywood", weight=9]; 52.92/32.39 1261 -> 1150[label="",style="solid", color="burlywood", weight=3]; 52.92/32.39 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]; 52.92/32.39 1161[label="primMulNat (Succ vx7000) Zero",fontsize=16,color="black",shape="box"];1161 -> 1167[label="",style="solid", color="black", weight=3]; 52.92/32.39 1162[label="primMulNat Zero (Succ vx6900)",fontsize=16,color="black",shape="box"];1162 -> 1168[label="",style="solid", color="black", weight=3]; 52.92/32.39 1163[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];1163 -> 1169[label="",style="solid", color="black", weight=3]; 52.92/32.39 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]; 52.92/32.39 1150[label="primMulNat Zero (Succ (Succ (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];1150 -> 1159[label="",style="solid", color="black", weight=3]; 52.92/32.39 1166 -> 72[label="",style="dashed", color="red", weight=0]; 52.92/32.39 1166[label="primPlusNat (primMulNat vx7000 (Succ vx6900)) (Succ vx6900)",fontsize=16,color="magenta"];1166 -> 1172[label="",style="dashed", color="magenta", weight=3]; 52.92/32.39 1166 -> 1173[label="",style="dashed", color="magenta", weight=3]; 52.92/32.39 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]; 52.92/32.39 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]; 52.92/32.39 1158 -> 1165[label="",style="dashed", color="magenta", weight=3]; 52.92/32.39 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]; 52.92/32.39 1173[label="primMulNat vx7000 (Succ vx6900)",fontsize=16,color="magenta"];1173 -> 1174[label="",style="dashed", color="magenta", weight=3]; 52.92/32.39 1173 -> 1175[label="",style="dashed", color="magenta", weight=3]; 52.92/32.39 1164[label="Succ (Succ (Succ (Succ (Succ vx44000000))))",fontsize=16,color="green",shape="box"];1165 -> 1143[label="",style="dashed", color="red", weight=0]; 52.92/32.39 1165[label="primMulNat vx44000000 (Succ (Succ (Succ (Succ (Succ vx44000000)))))",fontsize=16,color="magenta"];1165 -> 1170[label="",style="dashed", color="magenta", weight=3]; 52.92/32.39 1165 -> 1171[label="",style="dashed", color="magenta", weight=3]; 52.92/32.39 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"];} 52.92/32.39 52.92/32.39 ---------------------------------------- 52.92/32.39 52.92/32.39 (146) 52.92/32.39 TRUE 53.15/32.48 EOF