/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.hs /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox2/benchmark/theBenchmark.hs # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty H-Termination with start terms of the given HASKELL could not be shown: (0) HASKELL (1) BR [EQUIVALENT, 0 ms] (2) HASKELL (3) COR [EQUIVALENT, 0 ms] (4) HASKELL (5) Narrow [SOUND, 0 ms] (6) AND (7) QDP (8) QDPOrderProof [EQUIVALENT, 51 ms] (9) QDP (10) DependencyGraphProof [EQUIVALENT, 0 ms] (11) QDP (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] (13) YES (14) QDP (15) DependencyGraphProof [EQUIVALENT, 0 ms] (16) AND (17) QDP (18) QDPSizeChangeProof [EQUIVALENT, 0 ms] (19) YES (20) QDP (21) QDPSizeChangeProof [EQUIVALENT, 0 ms] (22) YES (23) QDP (24) QDPSizeChangeProof [EQUIVALENT, 0 ms] (25) YES (26) QDP (27) DependencyGraphProof [EQUIVALENT, 0 ms] (28) QDP (29) QDPOrderProof [EQUIVALENT, 0 ms] (30) QDP (31) DependencyGraphProof [EQUIVALENT, 0 ms] (32) QDP (33) QDPSizeChangeProof [EQUIVALENT, 0 ms] (34) YES (35) QDP (36) QDPSizeChangeProof [EQUIVALENT, 0 ms] (37) YES (38) QDP (39) DependencyGraphProof [EQUIVALENT, 0 ms] (40) QDP (41) TransformationProof [EQUIVALENT, 0 ms] (42) QDP (43) UsableRulesProof [EQUIVALENT, 0 ms] (44) QDP (45) QReductionProof [EQUIVALENT, 16 ms] (46) QDP (47) TransformationProof [EQUIVALENT, 90 ms] (48) QDP (49) TransformationProof [EQUIVALENT, 0 ms] (50) QDP (51) UsableRulesProof [EQUIVALENT, 0 ms] (52) QDP (53) QReductionProof [EQUIVALENT, 0 ms] (54) QDP (55) TransformationProof [EQUIVALENT, 46 ms] (56) QDP (57) TransformationProof [EQUIVALENT, 0 ms] (58) QDP (59) TransformationProof [EQUIVALENT, 0 ms] (60) QDP (61) TransformationProof [EQUIVALENT, 0 ms] (62) QDP (63) UsableRulesProof [EQUIVALENT, 0 ms] (64) QDP (65) QReductionProof [EQUIVALENT, 0 ms] (66) QDP (67) TransformationProof [EQUIVALENT, 7 ms] (68) QDP (69) TransformationProof [EQUIVALENT, 0 ms] (70) QDP (71) UsableRulesProof [EQUIVALENT, 0 ms] (72) QDP (73) QReductionProof [EQUIVALENT, 0 ms] (74) QDP (75) TransformationProof [EQUIVALENT, 1 ms] (76) QDP (77) TransformationProof [EQUIVALENT, 0 ms] (78) QDP (79) UsableRulesProof [EQUIVALENT, 0 ms] (80) QDP (81) QReductionProof [EQUIVALENT, 0 ms] (82) QDP (83) TransformationProof [EQUIVALENT, 14 ms] (84) QDP (85) TransformationProof [EQUIVALENT, 0 ms] (86) QDP (87) UsableRulesProof [EQUIVALENT, 0 ms] (88) QDP (89) QReductionProof [EQUIVALENT, 0 ms] (90) QDP (91) InductionCalculusProof [EQUIVALENT, 0 ms] (92) QDP (93) QDPPairToRuleProof [EQUIVALENT, 0 ms] (94) AND (95) QDP (96) DependencyGraphProof [EQUIVALENT, 0 ms] (97) QDP (98) TransformationProof [EQUIVALENT, 0 ms] (99) QDP (100) TransformationProof [EQUIVALENT, 0 ms] (101) QDP (102) TransformationProof [EQUIVALENT, 0 ms] (103) QDP (104) TransformationProof [EQUIVALENT, 0 ms] (105) QDP (106) TransformationProof [EQUIVALENT, 0 ms] (107) QDP (108) TransformationProof [EQUIVALENT, 0 ms] (109) QDP (110) UsableRulesProof [EQUIVALENT, 0 ms] (111) QDP (112) TransformationProof [EQUIVALENT, 0 ms] (113) QDP (114) InductionCalculusProof [EQUIVALENT, 0 ms] (115) QDP (116) TransformationProof [EQUIVALENT, 0 ms] (117) QDP (118) UsableRulesProof [EQUIVALENT, 0 ms] (119) QDP (120) QReductionProof [EQUIVALENT, 0 ms] (121) QDP (122) TransformationProof [EQUIVALENT, 0 ms] (123) QDP (124) DependencyGraphProof [EQUIVALENT, 0 ms] (125) QDP (126) TransformationProof [EQUIVALENT, 0 ms] (127) QDP (128) TransformationProof [EQUIVALENT, 0 ms] (129) QDP (130) DependencyGraphProof [EQUIVALENT, 0 ms] (131) QDP (132) TransformationProof [EQUIVALENT, 0 ms] (133) QDP (134) DependencyGraphProof [EQUIVALENT, 0 ms] (135) QDP (136) TransformationProof [EQUIVALENT, 0 ms] (137) QDP (138) DependencyGraphProof [EQUIVALENT, 0 ms] (139) QDP (140) TransformationProof [EQUIVALENT, 0 ms] (141) QDP (142) TransformationProof [EQUIVALENT, 0 ms] (143) QDP (144) DependencyGraphProof [EQUIVALENT, 0 ms] (145) QDP (146) UsableRulesProof [EQUIVALENT, 0 ms] (147) QDP (148) TransformationProof [EQUIVALENT, 0 ms] (149) QDP (150) TransformationProof [EQUIVALENT, 0 ms] (151) QDP (152) DependencyGraphProof [EQUIVALENT, 0 ms] (153) QDP (154) UsableRulesProof [EQUIVALENT, 0 ms] (155) QDP (156) TransformationProof [EQUIVALENT, 0 ms] (157) QDP (158) DependencyGraphProof [EQUIVALENT, 0 ms] (159) QDP (160) UsableRulesProof [EQUIVALENT, 0 ms] (161) QDP (162) TransformationProof [EQUIVALENT, 0 ms] (163) QDP (164) DependencyGraphProof [EQUIVALENT, 0 ms] (165) QDP (166) UsableRulesProof [EQUIVALENT, 0 ms] (167) QDP (168) InductionCalculusProof [EQUIVALENT, 0 ms] (169) QDP (170) QDP (171) QDPSizeChangeProof [EQUIVALENT, 0 ms] (172) YES (173) Narrow [COMPLETE, 0 ms] (174) QDP (175) DependencyGraphProof [EQUIVALENT, 0 ms] (176) QDP ---------------------------------------- (0) Obligation: mainModule Main module Main where { import qualified Prelude; data Main.Char = Char MyInt ; data List a = Cons a (List a) | Nil ; data MyBool = MyTrue | MyFalse ; data MyInt = Pos Main.Nat | Neg Main.Nat ; data Main.Nat = Succ Main.Nat | Zero ; data Ordering = LT | EQ | GT ; data Tup2 b a = Tup2 b a ; compareMyInt :: MyInt -> MyInt -> Ordering; compareMyInt = primCmpInt; error :: a; error = stop MyTrue; esEsMyInt :: MyInt -> MyInt -> MyBool; esEsMyInt = primEqInt; esEsOrdering :: Ordering -> Ordering -> MyBool; esEsOrdering LT LT = MyTrue; esEsOrdering LT EQ = MyFalse; esEsOrdering LT GT = MyFalse; esEsOrdering EQ LT = MyFalse; esEsOrdering EQ EQ = MyTrue; esEsOrdering EQ GT = MyFalse; esEsOrdering GT LT = MyFalse; esEsOrdering GT EQ = MyFalse; esEsOrdering GT GT = MyTrue; fromEnumChar :: Main.Char -> MyInt; fromEnumChar = primCharToInt; fromIntMyInt :: MyInt -> MyInt; fromIntMyInt x = x; ltMyInt :: MyInt -> MyInt -> MyBool; ltMyInt x y = esEsOrdering (compareMyInt x y) LT; otherwise :: MyBool; otherwise = MyTrue; primCharToInt :: Main.Char -> MyInt; primCharToInt (Main.Char x) = x; primCmpInt :: MyInt -> MyInt -> Ordering; primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; primCmpInt (Main.Pos x) (Main.Neg y) = GT; primCmpInt (Main.Neg x) (Main.Pos y) = LT; primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; primCmpNat :: Main.Nat -> Main.Nat -> Ordering; primCmpNat Main.Zero Main.Zero = EQ; primCmpNat Main.Zero (Main.Succ y) = LT; primCmpNat (Main.Succ x) Main.Zero = GT; primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; primDivNatS :: Main.Nat -> Main.Nat -> Main.Nat; primDivNatS Main.Zero Main.Zero = Main.error; primDivNatS (Main.Succ x) Main.Zero = Main.error; primDivNatS (Main.Succ x) (Main.Succ y) = primDivNatS0 x y (primGEqNatS x y); primDivNatS Main.Zero (Main.Succ x) = Main.Zero; primDivNatS0 x y MyTrue = Main.Succ (primDivNatS (primMinusNatS x y) (Main.Succ y)); primDivNatS0 x y MyFalse = Main.Zero; primEqInt :: MyInt -> MyInt -> MyBool; primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; primEqInt wv ww = MyFalse; primEqNat :: Main.Nat -> Main.Nat -> MyBool; primEqNat Main.Zero Main.Zero = MyTrue; primEqNat Main.Zero (Main.Succ y) = MyFalse; primEqNat (Main.Succ x) Main.Zero = MyFalse; primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; primGEqNatS :: Main.Nat -> Main.Nat -> MyBool; primGEqNatS (Main.Succ x) Main.Zero = MyTrue; primGEqNatS (Main.Succ x) (Main.Succ y) = primGEqNatS x y; primGEqNatS Main.Zero (Main.Succ x) = MyFalse; primGEqNatS Main.Zero Main.Zero = MyTrue; primIntToChar :: MyInt -> Main.Char; primIntToChar x = Main.Char x; primMinusNat :: Main.Nat -> Main.Nat -> MyInt; primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; primMinusNatS :: Main.Nat -> Main.Nat -> Main.Nat; primMinusNatS (Main.Succ x) (Main.Succ y) = primMinusNatS x y; primMinusNatS Main.Zero (Main.Succ y) = Main.Zero; primMinusNatS x Main.Zero = x; primModNatS :: Main.Nat -> Main.Nat -> Main.Nat; primModNatS Main.Zero Main.Zero = Main.error; primModNatS Main.Zero (Main.Succ x) = Main.Zero; primModNatS (Main.Succ x) Main.Zero = Main.error; primModNatS (Main.Succ x) (Main.Succ Main.Zero) = Main.Zero; primModNatS (Main.Succ x) (Main.Succ (Main.Succ y)) = primModNatS0 x y (primGEqNatS x (Main.Succ y)); primModNatS0 x y MyTrue = primModNatS (primMinusNatS x (Main.Succ y)) (Main.Succ (Main.Succ y)); primModNatS0 x y MyFalse = Main.Succ x; primPlusInt :: MyInt -> MyInt -> MyInt; primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; primPlusNat Main.Zero Main.Zero = Main.Zero; primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); primQrmInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; primQrmInt x y = Tup2 (primQuotInt x y) (primRemInt x y); primQuotInt :: MyInt -> MyInt -> MyInt; primQuotInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primQuotInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); primQuotInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); primQuotInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primQuotInt vx vy = Main.error; primRemInt :: MyInt -> MyInt -> MyInt; primRemInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); primRemInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); primRemInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); primRemInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); primRemInt vv vw = Main.error; psMyInt :: MyInt -> MyInt -> MyInt; psMyInt = primPlusInt; quotRemMyInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; quotRemMyInt = primQrmInt; showInt n r = showInt3 n r; showInt1 n r MyTrue = showInt1ShowInt0 r n (esEsMyInt (showInt1N' r n) (fromIntMyInt (Main.Pos Main.Zero))); showInt1D wx wy = showInt1D0 wx wy (showInt1Vu76 wx wy); showInt1D0 wx wy (Tup2 wu d) = d; showInt1N' wx wy = showInt1N'0 wx wy (showInt1Vu76 wx wy); showInt1N'0 wx wy (Tup2 n' vz) = n'; showInt1R' wx wy = Cons (toEnumChar (psMyInt (fromEnumChar (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D wx wy)))) wx; showInt1ShowInt0 wx wy MyTrue = showInt1R' wx wy; showInt1ShowInt0 wx wy MyFalse = showInt (showInt1N' wx wy) (showInt1R' wx wy); showInt1Vu76 wx wy = quotRemMyInt wy (fromIntMyInt (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))); showInt2 n r MyTrue = Main.error; showInt2 n r MyFalse = showInt1 n r otherwise; showInt3 n r = showInt2 n r (ltMyInt n (fromIntMyInt (Main.Pos Main.Zero))); stop :: MyBool -> a; stop MyFalse = stop MyFalse; toEnumChar :: MyInt -> Main.Char; toEnumChar = primIntToChar; } ---------------------------------------- (1) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (2) Obligation: mainModule Main module Main where { import qualified Prelude; data Main.Char = Char MyInt ; data List a = Cons a (List a) | Nil ; data MyBool = MyTrue | MyFalse ; data MyInt = Pos Main.Nat | Neg Main.Nat ; data Main.Nat = Succ Main.Nat | Zero ; data Ordering = LT | EQ | GT ; data Tup2 b a = Tup2 b a ; compareMyInt :: MyInt -> MyInt -> Ordering; compareMyInt = primCmpInt; error :: a; error = stop MyTrue; esEsMyInt :: MyInt -> MyInt -> MyBool; esEsMyInt = primEqInt; esEsOrdering :: Ordering -> Ordering -> MyBool; esEsOrdering LT LT = MyTrue; esEsOrdering LT EQ = MyFalse; esEsOrdering LT GT = MyFalse; esEsOrdering EQ LT = MyFalse; esEsOrdering EQ EQ = MyTrue; esEsOrdering EQ GT = MyFalse; esEsOrdering GT LT = MyFalse; esEsOrdering GT EQ = MyFalse; esEsOrdering GT GT = MyTrue; fromEnumChar :: Main.Char -> MyInt; fromEnumChar = primCharToInt; fromIntMyInt :: MyInt -> MyInt; fromIntMyInt x = x; ltMyInt :: MyInt -> MyInt -> MyBool; ltMyInt x y = esEsOrdering (compareMyInt x y) LT; otherwise :: MyBool; otherwise = MyTrue; primCharToInt :: Main.Char -> MyInt; primCharToInt (Main.Char x) = x; primCmpInt :: MyInt -> MyInt -> Ordering; primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; primCmpInt (Main.Pos x) (Main.Neg y) = GT; primCmpInt (Main.Neg x) (Main.Pos y) = LT; primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; primCmpNat :: Main.Nat -> Main.Nat -> Ordering; primCmpNat Main.Zero Main.Zero = EQ; primCmpNat Main.Zero (Main.Succ y) = LT; primCmpNat (Main.Succ x) Main.Zero = GT; primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; primDivNatS :: Main.Nat -> Main.Nat -> Main.Nat; primDivNatS Main.Zero Main.Zero = Main.error; primDivNatS (Main.Succ x) Main.Zero = Main.error; primDivNatS (Main.Succ x) (Main.Succ y) = primDivNatS0 x y (primGEqNatS x y); primDivNatS Main.Zero (Main.Succ x) = Main.Zero; primDivNatS0 x y MyTrue = Main.Succ (primDivNatS (primMinusNatS x y) (Main.Succ y)); primDivNatS0 x y MyFalse = Main.Zero; primEqInt :: MyInt -> MyInt -> MyBool; primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; primEqInt wv ww = MyFalse; primEqNat :: Main.Nat -> Main.Nat -> MyBool; primEqNat Main.Zero Main.Zero = MyTrue; primEqNat Main.Zero (Main.Succ y) = MyFalse; primEqNat (Main.Succ x) Main.Zero = MyFalse; primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; primGEqNatS :: Main.Nat -> Main.Nat -> MyBool; primGEqNatS (Main.Succ x) Main.Zero = MyTrue; primGEqNatS (Main.Succ x) (Main.Succ y) = primGEqNatS x y; primGEqNatS Main.Zero (Main.Succ x) = MyFalse; primGEqNatS Main.Zero Main.Zero = MyTrue; primIntToChar :: MyInt -> Main.Char; primIntToChar x = Main.Char x; primMinusNat :: Main.Nat -> Main.Nat -> MyInt; primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; primMinusNatS :: Main.Nat -> Main.Nat -> Main.Nat; primMinusNatS (Main.Succ x) (Main.Succ y) = primMinusNatS x y; primMinusNatS Main.Zero (Main.Succ y) = Main.Zero; primMinusNatS x Main.Zero = x; primModNatS :: Main.Nat -> Main.Nat -> Main.Nat; primModNatS Main.Zero Main.Zero = Main.error; primModNatS Main.Zero (Main.Succ x) = Main.Zero; primModNatS (Main.Succ x) Main.Zero = Main.error; primModNatS (Main.Succ x) (Main.Succ Main.Zero) = Main.Zero; primModNatS (Main.Succ x) (Main.Succ (Main.Succ y)) = primModNatS0 x y (primGEqNatS x (Main.Succ y)); primModNatS0 x y MyTrue = primModNatS (primMinusNatS x (Main.Succ y)) (Main.Succ (Main.Succ y)); primModNatS0 x y MyFalse = Main.Succ x; primPlusInt :: MyInt -> MyInt -> MyInt; primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; primPlusNat Main.Zero Main.Zero = Main.Zero; primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); primQrmInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; primQrmInt x y = Tup2 (primQuotInt x y) (primRemInt x y); primQuotInt :: MyInt -> MyInt -> MyInt; primQuotInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primQuotInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); primQuotInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); primQuotInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primQuotInt vx vy = Main.error; primRemInt :: MyInt -> MyInt -> MyInt; primRemInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); primRemInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); primRemInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); primRemInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); primRemInt vv vw = Main.error; psMyInt :: MyInt -> MyInt -> MyInt; psMyInt = primPlusInt; quotRemMyInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; quotRemMyInt = primQrmInt; showInt n r = showInt3 n r; showInt1 n r MyTrue = showInt1ShowInt0 r n (esEsMyInt (showInt1N' r n) (fromIntMyInt (Main.Pos Main.Zero))); showInt1D wx wy = showInt1D0 wx wy (showInt1Vu76 wx wy); showInt1D0 wx wy (Tup2 wu d) = d; showInt1N' wx wy = showInt1N'0 wx wy (showInt1Vu76 wx wy); showInt1N'0 wx wy (Tup2 n' vz) = n'; showInt1R' wx wy = Cons (toEnumChar (psMyInt (fromEnumChar (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D wx wy)))) wx; showInt1ShowInt0 wx wy MyTrue = showInt1R' wx wy; showInt1ShowInt0 wx wy MyFalse = showInt (showInt1N' wx wy) (showInt1R' wx wy); showInt1Vu76 wx wy = quotRemMyInt wy (fromIntMyInt (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))); showInt2 n r MyTrue = Main.error; showInt2 n r MyFalse = showInt1 n r otherwise; showInt3 n r = showInt2 n r (ltMyInt n (fromIntMyInt (Main.Pos Main.Zero))); stop :: MyBool -> a; stop MyFalse = stop MyFalse; toEnumChar :: MyInt -> Main.Char; toEnumChar = primIntToChar; } ---------------------------------------- (3) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " ---------------------------------------- (4) Obligation: mainModule Main module Main where { import qualified Prelude; data Main.Char = Char MyInt ; data List a = Cons a (List a) | Nil ; data MyBool = MyTrue | MyFalse ; data MyInt = Pos Main.Nat | Neg Main.Nat ; data Main.Nat = Succ Main.Nat | Zero ; data Ordering = LT | EQ | GT ; data Tup2 a b = Tup2 a b ; compareMyInt :: MyInt -> MyInt -> Ordering; compareMyInt = primCmpInt; error :: a; error = stop MyTrue; esEsMyInt :: MyInt -> MyInt -> MyBool; esEsMyInt = primEqInt; esEsOrdering :: Ordering -> Ordering -> MyBool; esEsOrdering LT LT = MyTrue; esEsOrdering LT EQ = MyFalse; esEsOrdering LT GT = MyFalse; esEsOrdering EQ LT = MyFalse; esEsOrdering EQ EQ = MyTrue; esEsOrdering EQ GT = MyFalse; esEsOrdering GT LT = MyFalse; esEsOrdering GT EQ = MyFalse; esEsOrdering GT GT = MyTrue; fromEnumChar :: Main.Char -> MyInt; fromEnumChar = primCharToInt; fromIntMyInt :: MyInt -> MyInt; fromIntMyInt x = x; ltMyInt :: MyInt -> MyInt -> MyBool; ltMyInt x y = esEsOrdering (compareMyInt x y) LT; otherwise :: MyBool; otherwise = MyTrue; primCharToInt :: Main.Char -> MyInt; primCharToInt (Main.Char x) = x; primCmpInt :: MyInt -> MyInt -> Ordering; primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; primCmpInt (Main.Pos x) (Main.Neg y) = GT; primCmpInt (Main.Neg x) (Main.Pos y) = LT; primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; primCmpNat :: Main.Nat -> Main.Nat -> Ordering; primCmpNat Main.Zero Main.Zero = EQ; primCmpNat Main.Zero (Main.Succ y) = LT; primCmpNat (Main.Succ x) Main.Zero = GT; primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; primDivNatS :: Main.Nat -> Main.Nat -> Main.Nat; primDivNatS Main.Zero Main.Zero = Main.error; primDivNatS (Main.Succ x) Main.Zero = Main.error; primDivNatS (Main.Succ x) (Main.Succ y) = primDivNatS0 x y (primGEqNatS x y); primDivNatS Main.Zero (Main.Succ x) = Main.Zero; primDivNatS0 x y MyTrue = Main.Succ (primDivNatS (primMinusNatS x y) (Main.Succ y)); primDivNatS0 x y MyFalse = Main.Zero; primEqInt :: MyInt -> MyInt -> MyBool; primEqInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ y)) = primEqNat x y; primEqInt (Main.Neg (Main.Succ x)) (Main.Neg (Main.Succ y)) = primEqNat x y; primEqInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = MyTrue; primEqInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = MyTrue; primEqInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = MyTrue; primEqInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = MyTrue; primEqInt wv ww = MyFalse; primEqNat :: Main.Nat -> Main.Nat -> MyBool; primEqNat Main.Zero Main.Zero = MyTrue; primEqNat Main.Zero (Main.Succ y) = MyFalse; primEqNat (Main.Succ x) Main.Zero = MyFalse; primEqNat (Main.Succ x) (Main.Succ y) = primEqNat x y; primGEqNatS :: Main.Nat -> Main.Nat -> MyBool; primGEqNatS (Main.Succ x) Main.Zero = MyTrue; primGEqNatS (Main.Succ x) (Main.Succ y) = primGEqNatS x y; primGEqNatS Main.Zero (Main.Succ x) = MyFalse; primGEqNatS Main.Zero Main.Zero = MyTrue; primIntToChar :: MyInt -> Main.Char; primIntToChar x = Main.Char x; primMinusNat :: Main.Nat -> Main.Nat -> MyInt; primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; primMinusNatS :: Main.Nat -> Main.Nat -> Main.Nat; primMinusNatS (Main.Succ x) (Main.Succ y) = primMinusNatS x y; primMinusNatS Main.Zero (Main.Succ y) = Main.Zero; primMinusNatS x Main.Zero = x; primModNatS :: Main.Nat -> Main.Nat -> Main.Nat; primModNatS Main.Zero Main.Zero = Main.error; primModNatS Main.Zero (Main.Succ x) = Main.Zero; primModNatS (Main.Succ x) Main.Zero = Main.error; primModNatS (Main.Succ x) (Main.Succ Main.Zero) = Main.Zero; primModNatS (Main.Succ x) (Main.Succ (Main.Succ y)) = primModNatS0 x y (primGEqNatS x (Main.Succ y)); primModNatS0 x y MyTrue = primModNatS (primMinusNatS x (Main.Succ y)) (Main.Succ (Main.Succ y)); primModNatS0 x y MyFalse = Main.Succ x; primPlusInt :: MyInt -> MyInt -> MyInt; primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; primPlusNat Main.Zero Main.Zero = Main.Zero; primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); primQrmInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; primQrmInt x y = Tup2 (primQuotInt x y) (primRemInt x y); primQuotInt :: MyInt -> MyInt -> MyInt; primQuotInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primQuotInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); primQuotInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); primQuotInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primQuotInt vx vy = Main.error; primRemInt :: MyInt -> MyInt -> MyInt; primRemInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); primRemInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); primRemInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); primRemInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); primRemInt vv vw = Main.error; psMyInt :: MyInt -> MyInt -> MyInt; psMyInt = primPlusInt; quotRemMyInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; quotRemMyInt = primQrmInt; showInt n r = showInt3 n r; showInt1 n r MyTrue = showInt1ShowInt0 r n (esEsMyInt (showInt1N' r n) (fromIntMyInt (Main.Pos Main.Zero))); showInt1D wx wy = showInt1D0 wx wy (showInt1Vu76 wx wy); showInt1D0 wx wy (Tup2 wu d) = d; showInt1N' wx wy = showInt1N'0 wx wy (showInt1Vu76 wx wy); showInt1N'0 wx wy (Tup2 n' vz) = n'; showInt1R' wx wy = Cons (toEnumChar (psMyInt (fromEnumChar (Main.Char (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D wx wy)))) wx; showInt1ShowInt0 wx wy MyTrue = showInt1R' wx wy; showInt1ShowInt0 wx wy MyFalse = showInt (showInt1N' wx wy) (showInt1R' wx wy); showInt1Vu76 wx wy = quotRemMyInt wy (fromIntMyInt (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))); showInt2 n r MyTrue = Main.error; showInt2 n r MyFalse = showInt1 n r otherwise; showInt3 n r = showInt2 n r (ltMyInt n (fromIntMyInt (Main.Pos Main.Zero))); stop :: MyBool -> a; stop MyFalse = stop MyFalse; toEnumChar :: MyInt -> Main.Char; toEnumChar = primIntToChar; } ---------------------------------------- (5) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="showInt",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="showInt xv3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="showInt xv3 xv4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="showInt3 xv3 xv4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6[label="showInt2 xv3 xv4 (ltMyInt xv3 (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 7[label="showInt2 xv3 xv4 (esEsOrdering (compareMyInt xv3 (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 8[label="showInt2 xv3 xv4 (esEsOrdering (primCmpInt xv3 (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="burlywood",shape="box"];1456[label="xv3/Pos xv30",fontsize=10,color="white",style="solid",shape="box"];8 -> 1456[label="",style="solid", color="burlywood", weight=9]; 1456 -> 9[label="",style="solid", color="burlywood", weight=3]; 1457[label="xv3/Neg xv30",fontsize=10,color="white",style="solid",shape="box"];8 -> 1457[label="",style="solid", color="burlywood", weight=9]; 1457 -> 10[label="",style="solid", color="burlywood", weight=3]; 9[label="showInt2 (Pos xv30) xv4 (esEsOrdering (primCmpInt (Pos xv30) (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="burlywood",shape="box"];1458[label="xv30/Succ xv300",fontsize=10,color="white",style="solid",shape="box"];9 -> 1458[label="",style="solid", color="burlywood", weight=9]; 1458 -> 11[label="",style="solid", color="burlywood", weight=3]; 1459[label="xv30/Zero",fontsize=10,color="white",style="solid",shape="box"];9 -> 1459[label="",style="solid", color="burlywood", weight=9]; 1459 -> 12[label="",style="solid", color="burlywood", weight=3]; 10[label="showInt2 (Neg xv30) xv4 (esEsOrdering (primCmpInt (Neg xv30) (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="burlywood",shape="box"];1460[label="xv30/Succ xv300",fontsize=10,color="white",style="solid",shape="box"];10 -> 1460[label="",style="solid", color="burlywood", weight=9]; 1460 -> 13[label="",style="solid", color="burlywood", weight=3]; 1461[label="xv30/Zero",fontsize=10,color="white",style="solid",shape="box"];10 -> 1461[label="",style="solid", color="burlywood", weight=9]; 1461 -> 14[label="",style="solid", color="burlywood", weight=3]; 11[label="showInt2 (Pos (Succ xv300)) xv4 (esEsOrdering (primCmpInt (Pos (Succ xv300)) (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="black",shape="box"];11 -> 15[label="",style="solid", color="black", weight=3]; 12[label="showInt2 (Pos Zero) xv4 (esEsOrdering (primCmpInt (Pos Zero) (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="black",shape="box"];12 -> 16[label="",style="solid", color="black", weight=3]; 13[label="showInt2 (Neg (Succ xv300)) xv4 (esEsOrdering (primCmpInt (Neg (Succ xv300)) (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="black",shape="box"];13 -> 17[label="",style="solid", color="black", weight=3]; 14[label="showInt2 (Neg Zero) xv4 (esEsOrdering (primCmpInt (Neg Zero) (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="black",shape="box"];14 -> 18[label="",style="solid", color="black", weight=3]; 15[label="showInt2 (Pos (Succ xv300)) xv4 (esEsOrdering (primCmpInt (Pos (Succ xv300)) (Pos Zero)) LT)",fontsize=16,color="black",shape="box"];15 -> 19[label="",style="solid", color="black", weight=3]; 16[label="showInt2 (Pos Zero) xv4 (esEsOrdering (primCmpInt (Pos Zero) (Pos Zero)) LT)",fontsize=16,color="black",shape="box"];16 -> 20[label="",style="solid", color="black", weight=3]; 17[label="showInt2 (Neg (Succ xv300)) xv4 (esEsOrdering (primCmpInt (Neg (Succ xv300)) (Pos Zero)) LT)",fontsize=16,color="black",shape="box"];17 -> 21[label="",style="solid", color="black", weight=3]; 18[label="showInt2 (Neg Zero) xv4 (esEsOrdering (primCmpInt (Neg Zero) (Pos Zero)) LT)",fontsize=16,color="black",shape="box"];18 -> 22[label="",style="solid", color="black", weight=3]; 19[label="showInt2 (Pos (Succ xv300)) xv4 (esEsOrdering (primCmpNat (Succ xv300) Zero) LT)",fontsize=16,color="black",shape="box"];19 -> 23[label="",style="solid", color="black", weight=3]; 20[label="showInt2 (Pos Zero) xv4 (esEsOrdering EQ LT)",fontsize=16,color="black",shape="box"];20 -> 24[label="",style="solid", color="black", weight=3]; 21[label="showInt2 (Neg (Succ xv300)) xv4 (esEsOrdering LT LT)",fontsize=16,color="black",shape="box"];21 -> 25[label="",style="solid", color="black", weight=3]; 22[label="showInt2 (Neg Zero) xv4 (esEsOrdering EQ LT)",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 23[label="showInt2 (Pos (Succ xv300)) xv4 (esEsOrdering GT LT)",fontsize=16,color="black",shape="box"];23 -> 27[label="",style="solid", color="black", weight=3]; 24[label="showInt2 (Pos Zero) xv4 MyFalse",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 25[label="showInt2 (Neg (Succ xv300)) xv4 MyTrue",fontsize=16,color="black",shape="box"];25 -> 29[label="",style="solid", color="black", weight=3]; 26[label="showInt2 (Neg Zero) xv4 MyFalse",fontsize=16,color="black",shape="box"];26 -> 30[label="",style="solid", color="black", weight=3]; 27[label="showInt2 (Pos (Succ xv300)) xv4 MyFalse",fontsize=16,color="black",shape="box"];27 -> 31[label="",style="solid", color="black", weight=3]; 28[label="showInt1 (Pos Zero) xv4 otherwise",fontsize=16,color="black",shape="box"];28 -> 32[label="",style="solid", color="black", weight=3]; 29[label="error",fontsize=16,color="black",shape="box"];29 -> 33[label="",style="solid", color="black", weight=3]; 30[label="showInt1 (Neg Zero) xv4 otherwise",fontsize=16,color="black",shape="box"];30 -> 34[label="",style="solid", color="black", weight=3]; 31[label="showInt1 (Pos (Succ xv300)) xv4 otherwise",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 32[label="showInt1 (Pos Zero) xv4 MyTrue",fontsize=16,color="black",shape="box"];32 -> 36[label="",style="solid", color="black", weight=3]; 33[label="stop MyTrue",fontsize=16,color="black",shape="box"];33 -> 37[label="",style="solid", color="black", weight=3]; 34[label="showInt1 (Neg Zero) xv4 MyTrue",fontsize=16,color="black",shape="box"];34 -> 38[label="",style="solid", color="black", weight=3]; 35[label="showInt1 (Pos (Succ xv300)) xv4 MyTrue",fontsize=16,color="black",shape="box"];35 -> 39[label="",style="solid", color="black", weight=3]; 36[label="showInt1ShowInt0 xv4 (Pos Zero) (esEsMyInt (showInt1N' xv4 (Pos Zero)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];36 -> 40[label="",style="solid", color="black", weight=3]; 37[label="error []",fontsize=16,color="red",shape="box"];38[label="showInt1ShowInt0 xv4 (Neg Zero) (esEsMyInt (showInt1N' xv4 (Neg Zero)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];38 -> 41[label="",style="solid", color="black", weight=3]; 39[label="showInt1ShowInt0 xv4 (Pos (Succ xv300)) (esEsMyInt (showInt1N' xv4 (Pos (Succ xv300))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];39 -> 42[label="",style="solid", color="black", weight=3]; 40[label="showInt1ShowInt0 xv4 (Pos Zero) (primEqInt (showInt1N' xv4 (Pos Zero)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];40 -> 43[label="",style="solid", color="black", weight=3]; 41[label="showInt1ShowInt0 xv4 (Neg Zero) (primEqInt (showInt1N' xv4 (Neg Zero)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];41 -> 44[label="",style="solid", color="black", weight=3]; 42[label="showInt1ShowInt0 xv4 (Pos (Succ xv300)) (primEqInt (showInt1N' xv4 (Pos (Succ xv300))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];42 -> 45[label="",style="solid", color="black", weight=3]; 43[label="showInt1ShowInt0 xv4 (Pos Zero) (primEqInt (showInt1N'0 xv4 (Pos Zero) (showInt1Vu76 xv4 (Pos Zero))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];43 -> 46[label="",style="solid", color="black", weight=3]; 44[label="showInt1ShowInt0 xv4 (Neg Zero) (primEqInt (showInt1N'0 xv4 (Neg Zero) (showInt1Vu76 xv4 (Neg Zero))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];44 -> 47[label="",style="solid", color="black", weight=3]; 45[label="showInt1ShowInt0 xv4 (Pos (Succ xv300)) (primEqInt (showInt1N'0 xv4 (Pos (Succ xv300)) (showInt1Vu76 xv4 (Pos (Succ xv300)))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];45 -> 48[label="",style="solid", color="black", weight=3]; 46 -> 49[label="",style="dashed", color="red", weight=0]; 46[label="showInt1ShowInt0 xv4 (Pos Zero) (primEqInt (showInt1N'0 xv4 (Pos Zero) (quotRemMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];46 -> 50[label="",style="dashed", color="magenta", weight=3]; 46 -> 51[label="",style="dashed", color="magenta", weight=3]; 47 -> 52[label="",style="dashed", color="red", weight=0]; 47[label="showInt1ShowInt0 xv4 (Neg Zero) (primEqInt (showInt1N'0 xv4 (Neg Zero) (quotRemMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];47 -> 53[label="",style="dashed", color="magenta", weight=3]; 47 -> 54[label="",style="dashed", color="magenta", weight=3]; 48 -> 55[label="",style="dashed", color="red", weight=0]; 48[label="showInt1ShowInt0 xv4 (Pos (Succ xv300)) (primEqInt (showInt1N'0 xv4 (Pos (Succ xv300)) (quotRemMyInt (Pos (Succ xv300)) (fromIntMyInt (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];48 -> 56[label="",style="dashed", color="magenta", weight=3]; 48 -> 57[label="",style="dashed", color="magenta", weight=3]; 48 -> 58[label="",style="dashed", color="magenta", weight=3]; 50[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];51[label="xv4",fontsize=16,color="green",shape="box"];49[label="showInt1ShowInt0 xv6 (Pos Zero) (primEqInt (showInt1N'0 xv6 (Pos Zero) (quotRemMyInt (Pos Zero) (fromIntMyInt (Pos (Succ xv7))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="triangle"];49 -> 59[label="",style="solid", color="black", weight=3]; 53[label="xv4",fontsize=16,color="green",shape="box"];54[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];52[label="showInt1ShowInt0 xv9 (Neg Zero) (primEqInt (showInt1N'0 xv9 (Neg Zero) (quotRemMyInt (Neg Zero) (fromIntMyInt (Pos (Succ xv10))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="triangle"];52 -> 60[label="",style="solid", color="black", weight=3]; 56[label="xv4",fontsize=16,color="green",shape="box"];57[label="xv300",fontsize=16,color="green",shape="box"];58[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];55[label="showInt1ShowInt0 xv12 (Pos (Succ xv13)) (primEqInt (showInt1N'0 xv12 (Pos (Succ xv13)) (quotRemMyInt (Pos (Succ xv13)) (fromIntMyInt (Pos (Succ xv14))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="triangle"];55 -> 61[label="",style="solid", color="black", weight=3]; 59[label="showInt1ShowInt0 xv6 (Pos Zero) (primEqInt (showInt1N'0 xv6 (Pos Zero) (primQrmInt (Pos Zero) (fromIntMyInt (Pos (Succ xv7))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];59 -> 62[label="",style="solid", color="black", weight=3]; 60[label="showInt1ShowInt0 xv9 (Neg Zero) (primEqInt (showInt1N'0 xv9 (Neg Zero) (primQrmInt (Neg Zero) (fromIntMyInt (Pos (Succ xv10))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];60 -> 63[label="",style="solid", color="black", weight=3]; 61[label="showInt1ShowInt0 xv12 (Pos (Succ xv13)) (primEqInt (showInt1N'0 xv12 (Pos (Succ xv13)) (primQrmInt (Pos (Succ xv13)) (fromIntMyInt (Pos (Succ xv14))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];61 -> 64[label="",style="solid", color="black", weight=3]; 62[label="showInt1ShowInt0 xv6 (Pos Zero) (primEqInt (showInt1N'0 xv6 (Pos Zero) (Tup2 (primQuotInt (Pos Zero) (fromIntMyInt (Pos (Succ xv7)))) (primRemInt (Pos Zero) (fromIntMyInt (Pos (Succ xv7)))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];62 -> 65[label="",style="solid", color="black", weight=3]; 63[label="showInt1ShowInt0 xv9 (Neg Zero) (primEqInt (showInt1N'0 xv9 (Neg Zero) (Tup2 (primQuotInt (Neg Zero) (fromIntMyInt (Pos (Succ xv10)))) (primRemInt (Neg Zero) (fromIntMyInt (Pos (Succ xv10)))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];63 -> 66[label="",style="solid", color="black", weight=3]; 64[label="showInt1ShowInt0 xv12 (Pos (Succ xv13)) (primEqInt (showInt1N'0 xv12 (Pos (Succ xv13)) (Tup2 (primQuotInt (Pos (Succ xv13)) (fromIntMyInt (Pos (Succ xv14)))) (primRemInt (Pos (Succ xv13)) (fromIntMyInt (Pos (Succ xv14)))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];64 -> 67[label="",style="solid", color="black", weight=3]; 65[label="showInt1ShowInt0 xv6 (Pos Zero) (primEqInt (primQuotInt (Pos Zero) (fromIntMyInt (Pos (Succ xv7)))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];65 -> 68[label="",style="solid", color="black", weight=3]; 66[label="showInt1ShowInt0 xv9 (Neg Zero) (primEqInt (primQuotInt (Neg Zero) (fromIntMyInt (Pos (Succ xv10)))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];66 -> 69[label="",style="solid", color="black", weight=3]; 67[label="showInt1ShowInt0 xv12 (Pos (Succ xv13)) (primEqInt (primQuotInt (Pos (Succ xv13)) (fromIntMyInt (Pos (Succ xv14)))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];67 -> 70[label="",style="solid", color="black", weight=3]; 68[label="showInt1ShowInt0 xv6 (Pos Zero) (primEqInt (primQuotInt (Pos Zero) (Pos (Succ xv7))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];68 -> 71[label="",style="solid", color="black", weight=3]; 69[label="showInt1ShowInt0 xv9 (Neg Zero) (primEqInt (primQuotInt (Neg Zero) (Pos (Succ xv10))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];69 -> 72[label="",style="solid", color="black", weight=3]; 70[label="showInt1ShowInt0 xv12 (Pos (Succ xv13)) (primEqInt (primQuotInt (Pos (Succ xv13)) (Pos (Succ xv14))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];70 -> 73[label="",style="solid", color="black", weight=3]; 71[label="showInt1ShowInt0 xv6 (Pos Zero) (primEqInt (Pos (primDivNatS Zero (Succ xv7))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];71 -> 74[label="",style="solid", color="black", weight=3]; 72[label="showInt1ShowInt0 xv9 (Neg Zero) (primEqInt (Neg (primDivNatS Zero (Succ xv10))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];72 -> 75[label="",style="solid", color="black", weight=3]; 73[label="showInt1ShowInt0 xv12 (Pos (Succ xv13)) (primEqInt (Pos (primDivNatS (Succ xv13) (Succ xv14))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];73 -> 76[label="",style="solid", color="black", weight=3]; 74[label="showInt1ShowInt0 xv6 (Pos Zero) (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];74 -> 77[label="",style="solid", color="black", weight=3]; 75[label="showInt1ShowInt0 xv9 (Neg Zero) (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];75 -> 78[label="",style="solid", color="black", weight=3]; 76[label="showInt1ShowInt0 xv12 (Pos (Succ xv13)) (primEqInt (Pos (primDivNatS0 xv13 xv14 (primGEqNatS xv13 xv14))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];1462[label="xv13/Succ xv130",fontsize=10,color="white",style="solid",shape="box"];76 -> 1462[label="",style="solid", color="burlywood", weight=9]; 1462 -> 79[label="",style="solid", color="burlywood", weight=3]; 1463[label="xv13/Zero",fontsize=10,color="white",style="solid",shape="box"];76 -> 1463[label="",style="solid", color="burlywood", weight=9]; 1463 -> 80[label="",style="solid", color="burlywood", weight=3]; 77[label="showInt1ShowInt0 xv6 (Pos Zero) (primEqInt (Pos Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];77 -> 81[label="",style="solid", color="black", weight=3]; 78[label="showInt1ShowInt0 xv9 (Neg Zero) (primEqInt (Neg Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];78 -> 82[label="",style="solid", color="black", weight=3]; 79[label="showInt1ShowInt0 xv12 (Pos (Succ (Succ xv130))) (primEqInt (Pos (primDivNatS0 (Succ xv130) xv14 (primGEqNatS (Succ xv130) xv14))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];1464[label="xv14/Succ xv140",fontsize=10,color="white",style="solid",shape="box"];79 -> 1464[label="",style="solid", color="burlywood", weight=9]; 1464 -> 83[label="",style="solid", color="burlywood", weight=3]; 1465[label="xv14/Zero",fontsize=10,color="white",style="solid",shape="box"];79 -> 1465[label="",style="solid", color="burlywood", weight=9]; 1465 -> 84[label="",style="solid", color="burlywood", weight=3]; 80[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) (primEqInt (Pos (primDivNatS0 Zero xv14 (primGEqNatS Zero xv14))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];1466[label="xv14/Succ xv140",fontsize=10,color="white",style="solid",shape="box"];80 -> 1466[label="",style="solid", color="burlywood", weight=9]; 1466 -> 85[label="",style="solid", color="burlywood", weight=3]; 1467[label="xv14/Zero",fontsize=10,color="white",style="solid",shape="box"];80 -> 1467[label="",style="solid", color="burlywood", weight=9]; 1467 -> 86[label="",style="solid", color="burlywood", weight=3]; 81[label="showInt1ShowInt0 xv6 (Pos Zero) MyTrue",fontsize=16,color="black",shape="box"];81 -> 87[label="",style="solid", color="black", weight=3]; 82[label="showInt1ShowInt0 xv9 (Neg Zero) MyTrue",fontsize=16,color="black",shape="box"];82 -> 88[label="",style="solid", color="black", weight=3]; 83[label="showInt1ShowInt0 xv12 (Pos (Succ (Succ xv130))) (primEqInt (Pos (primDivNatS0 (Succ xv130) (Succ xv140) (primGEqNatS (Succ xv130) (Succ xv140)))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];83 -> 89[label="",style="solid", color="black", weight=3]; 84[label="showInt1ShowInt0 xv12 (Pos (Succ (Succ xv130))) (primEqInt (Pos (primDivNatS0 (Succ xv130) Zero (primGEqNatS (Succ xv130) Zero))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];84 -> 90[label="",style="solid", color="black", weight=3]; 85[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) (primEqInt (Pos (primDivNatS0 Zero (Succ xv140) (primGEqNatS Zero (Succ xv140)))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];85 -> 91[label="",style="solid", color="black", weight=3]; 86[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) (primEqInt (Pos (primDivNatS0 Zero Zero (primGEqNatS Zero Zero))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];86 -> 92[label="",style="solid", color="black", weight=3]; 87[label="showInt1R' xv6 (Pos Zero)",fontsize=16,color="black",shape="box"];87 -> 93[label="",style="solid", color="black", weight=3]; 88[label="showInt1R' xv9 (Neg Zero)",fontsize=16,color="black",shape="box"];88 -> 94[label="",style="solid", color="black", weight=3]; 89 -> 482[label="",style="dashed", color="red", weight=0]; 89[label="showInt1ShowInt0 xv12 (Pos (Succ (Succ xv130))) (primEqInt (Pos (primDivNatS0 (Succ xv130) (Succ xv140) (primGEqNatS xv130 xv140))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];89 -> 483[label="",style="dashed", color="magenta", weight=3]; 89 -> 484[label="",style="dashed", color="magenta", weight=3]; 89 -> 485[label="",style="dashed", color="magenta", weight=3]; 89 -> 486[label="",style="dashed", color="magenta", weight=3]; 89 -> 487[label="",style="dashed", color="magenta", weight=3]; 90[label="showInt1ShowInt0 xv12 (Pos (Succ (Succ xv130))) (primEqInt (Pos (primDivNatS0 (Succ xv130) Zero MyTrue)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];90 -> 97[label="",style="solid", color="black", weight=3]; 91[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) (primEqInt (Pos (primDivNatS0 Zero (Succ xv140) MyFalse)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];91 -> 98[label="",style="solid", color="black", weight=3]; 92[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) (primEqInt (Pos (primDivNatS0 Zero Zero MyTrue)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];92 -> 99[label="",style="solid", color="black", weight=3]; 93[label="Cons (toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D xv6 (Pos Zero))))) xv6",fontsize=16,color="green",shape="box"];93 -> 100[label="",style="dashed", color="green", weight=3]; 94[label="Cons (toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D xv9 (Neg Zero))))) xv9",fontsize=16,color="green",shape="box"];94 -> 101[label="",style="dashed", color="green", weight=3]; 483[label="Succ xv130",fontsize=16,color="green",shape="box"];484[label="xv140",fontsize=16,color="green",shape="box"];485[label="xv140",fontsize=16,color="green",shape="box"];486[label="xv130",fontsize=16,color="green",shape="box"];487[label="xv12",fontsize=16,color="green",shape="box"];482[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) (primGEqNatS xv78 xv79))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];1468[label="xv78/Succ xv780",fontsize=10,color="white",style="solid",shape="box"];482 -> 1468[label="",style="solid", color="burlywood", weight=9]; 1468 -> 533[label="",style="solid", color="burlywood", weight=3]; 1469[label="xv78/Zero",fontsize=10,color="white",style="solid",shape="box"];482 -> 1469[label="",style="solid", color="burlywood", weight=9]; 1469 -> 534[label="",style="solid", color="burlywood", weight=3]; 97[label="showInt1ShowInt0 xv12 (Pos (Succ (Succ xv130))) (primEqInt (Pos (Succ (primDivNatS (primMinusNatS (Succ xv130) Zero) (Succ Zero)))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];97 -> 106[label="",style="solid", color="black", weight=3]; 98[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];98 -> 107[label="",style="solid", color="black", weight=3]; 99[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) (primEqInt (Pos (Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero)))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];99 -> 108[label="",style="solid", color="black", weight=3]; 100 -> 109[label="",style="dashed", color="red", weight=0]; 100[label="toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D xv6 (Pos Zero))))",fontsize=16,color="magenta"];100 -> 110[label="",style="dashed", color="magenta", weight=3]; 100 -> 111[label="",style="dashed", color="magenta", weight=3]; 101 -> 112[label="",style="dashed", color="red", weight=0]; 101[label="toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D xv9 (Neg Zero))))",fontsize=16,color="magenta"];101 -> 113[label="",style="dashed", color="magenta", weight=3]; 101 -> 114[label="",style="dashed", color="magenta", weight=3]; 533[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) (primGEqNatS (Succ xv780) xv79))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];1470[label="xv79/Succ xv790",fontsize=10,color="white",style="solid",shape="box"];533 -> 1470[label="",style="solid", color="burlywood", weight=9]; 1470 -> 537[label="",style="solid", color="burlywood", weight=3]; 1471[label="xv79/Zero",fontsize=10,color="white",style="solid",shape="box"];533 -> 1471[label="",style="solid", color="burlywood", weight=9]; 1471 -> 538[label="",style="solid", color="burlywood", weight=3]; 534[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) (primGEqNatS Zero xv79))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];1472[label="xv79/Succ xv790",fontsize=10,color="white",style="solid",shape="box"];534 -> 1472[label="",style="solid", color="burlywood", weight=9]; 1472 -> 539[label="",style="solid", color="burlywood", weight=3]; 1473[label="xv79/Zero",fontsize=10,color="white",style="solid",shape="box"];534 -> 1473[label="",style="solid", color="burlywood", weight=9]; 1473 -> 540[label="",style="solid", color="burlywood", weight=3]; 106[label="showInt1ShowInt0 xv12 (Pos (Succ (Succ xv130))) (primEqInt (Pos (Succ (primDivNatS (primMinusNatS (Succ xv130) Zero) (Succ Zero)))) (Pos Zero))",fontsize=16,color="black",shape="box"];106 -> 119[label="",style="solid", color="black", weight=3]; 107[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) (primEqInt (Pos Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];107 -> 120[label="",style="solid", color="black", weight=3]; 108[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) (primEqInt (Pos (Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero)))) (Pos Zero))",fontsize=16,color="black",shape="box"];108 -> 121[label="",style="solid", color="black", weight=3]; 110[label="xv6",fontsize=16,color="green",shape="box"];111[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];109[label="toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ xv16)))) (fromIntMyInt (showInt1D xv17 (Pos Zero))))",fontsize=16,color="black",shape="triangle"];109 -> 122[label="",style="solid", color="black", weight=3]; 113[label="xv9",fontsize=16,color="green",shape="box"];114[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];112[label="toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ xv19)))) (fromIntMyInt (showInt1D xv20 (Neg Zero))))",fontsize=16,color="black",shape="triangle"];112 -> 123[label="",style="solid", color="black", weight=3]; 537[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) (primGEqNatS (Succ xv780) (Succ xv790)))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];537 -> 547[label="",style="solid", color="black", weight=3]; 538[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) (primGEqNatS (Succ xv780) Zero))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];538 -> 548[label="",style="solid", color="black", weight=3]; 539[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) (primGEqNatS Zero (Succ xv790)))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];539 -> 549[label="",style="solid", color="black", weight=3]; 540[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) (primGEqNatS Zero Zero))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];540 -> 550[label="",style="solid", color="black", weight=3]; 119[label="showInt1ShowInt0 xv12 (Pos (Succ (Succ xv130))) MyFalse",fontsize=16,color="black",shape="triangle"];119 -> 129[label="",style="solid", color="black", weight=3]; 120 -> 313[label="",style="dashed", color="red", weight=0]; 120[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) MyTrue",fontsize=16,color="magenta"];120 -> 314[label="",style="dashed", color="magenta", weight=3]; 120 -> 315[label="",style="dashed", color="magenta", weight=3]; 121[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) MyFalse",fontsize=16,color="black",shape="box"];121 -> 131[label="",style="solid", color="black", weight=3]; 122[label="primIntToChar (psMyInt (fromEnumChar (Char (Pos (Succ xv16)))) (fromIntMyInt (showInt1D xv17 (Pos Zero))))",fontsize=16,color="black",shape="box"];122 -> 132[label="",style="solid", color="black", weight=3]; 123[label="primIntToChar (psMyInt (fromEnumChar (Char (Pos (Succ xv19)))) (fromIntMyInt (showInt1D xv20 (Neg Zero))))",fontsize=16,color="black",shape="box"];123 -> 133[label="",style="solid", color="black", weight=3]; 547 -> 482[label="",style="dashed", color="red", weight=0]; 547[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) (primGEqNatS xv780 xv790))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];547 -> 554[label="",style="dashed", color="magenta", weight=3]; 547 -> 555[label="",style="dashed", color="magenta", weight=3]; 548[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) MyTrue)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="triangle"];548 -> 556[label="",style="solid", color="black", weight=3]; 549[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) MyFalse)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];549 -> 557[label="",style="solid", color="black", weight=3]; 550 -> 548[label="",style="dashed", color="red", weight=0]; 550[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) MyTrue)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];129 -> 4[label="",style="dashed", color="red", weight=0]; 129[label="showInt (showInt1N' xv12 (Pos (Succ (Succ xv130)))) (showInt1R' xv12 (Pos (Succ (Succ xv130))))",fontsize=16,color="magenta"];129 -> 141[label="",style="dashed", color="magenta", weight=3]; 129 -> 142[label="",style="dashed", color="magenta", weight=3]; 314[label="Zero",fontsize=16,color="green",shape="box"];315[label="xv12",fontsize=16,color="green",shape="box"];313[label="showInt1ShowInt0 xv56 (Pos (Succ xv57)) MyTrue",fontsize=16,color="black",shape="triangle"];313 -> 324[label="",style="solid", color="black", weight=3]; 131 -> 4[label="",style="dashed", color="red", weight=0]; 131[label="showInt (showInt1N' xv12 (Pos (Succ Zero))) (showInt1R' xv12 (Pos (Succ Zero)))",fontsize=16,color="magenta"];131 -> 144[label="",style="dashed", color="magenta", weight=3]; 131 -> 145[label="",style="dashed", color="magenta", weight=3]; 132[label="Char (psMyInt (fromEnumChar (Char (Pos (Succ xv16)))) (fromIntMyInt (showInt1D xv17 (Pos Zero))))",fontsize=16,color="green",shape="box"];132 -> 146[label="",style="dashed", color="green", weight=3]; 133[label="Char (psMyInt (fromEnumChar (Char (Pos (Succ xv19)))) (fromIntMyInt (showInt1D xv20 (Neg Zero))))",fontsize=16,color="green",shape="box"];133 -> 147[label="",style="dashed", color="green", weight=3]; 554[label="xv790",fontsize=16,color="green",shape="box"];555[label="xv780",fontsize=16,color="green",shape="box"];556[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (Succ (primDivNatS (primMinusNatS xv76 (Succ xv77)) (Succ (Succ xv77))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];556 -> 563[label="",style="solid", color="black", weight=3]; 557[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];557 -> 564[label="",style="solid", color="black", weight=3]; 141[label="showInt1N' xv12 (Pos (Succ (Succ xv130)))",fontsize=16,color="black",shape="box"];141 -> 155[label="",style="solid", color="black", weight=3]; 142[label="showInt1R' xv12 (Pos (Succ (Succ xv130)))",fontsize=16,color="black",shape="triangle"];142 -> 156[label="",style="solid", color="black", weight=3]; 324[label="showInt1R' xv56 (Pos (Succ xv57))",fontsize=16,color="black",shape="triangle"];324 -> 341[label="",style="solid", color="black", weight=3]; 144[label="showInt1N' xv12 (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];144 -> 158[label="",style="solid", color="black", weight=3]; 145 -> 130[label="",style="dashed", color="red", weight=0]; 145[label="showInt1R' xv12 (Pos (Succ Zero))",fontsize=16,color="magenta"];146[label="psMyInt (fromEnumChar (Char (Pos (Succ xv16)))) (fromIntMyInt (showInt1D xv17 (Pos Zero)))",fontsize=16,color="black",shape="box"];146 -> 159[label="",style="solid", color="black", weight=3]; 147[label="psMyInt (fromEnumChar (Char (Pos (Succ xv19)))) (fromIntMyInt (showInt1D xv20 (Neg Zero)))",fontsize=16,color="black",shape="box"];147 -> 160[label="",style="solid", color="black", weight=3]; 563[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (Succ (primDivNatS (primMinusNatS xv76 (Succ xv77)) (Succ (Succ xv77))))) (Pos Zero))",fontsize=16,color="black",shape="box"];563 -> 571[label="",style="solid", color="black", weight=3]; 564[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];564 -> 572[label="",style="solid", color="black", weight=3]; 155[label="showInt1N'0 xv12 (Pos (Succ (Succ xv130))) (showInt1Vu76 xv12 (Pos (Succ (Succ xv130))))",fontsize=16,color="black",shape="box"];155 -> 169[label="",style="solid", color="black", weight=3]; 156[label="Cons (toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D xv12 (Pos (Succ (Succ xv130))))))) xv12",fontsize=16,color="green",shape="box"];156 -> 170[label="",style="dashed", color="green", weight=3]; 341[label="Cons (toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D xv56 (Pos (Succ xv57)))))) xv56",fontsize=16,color="green",shape="box"];341 -> 357[label="",style="dashed", color="green", weight=3]; 158[label="showInt1N'0 xv12 (Pos (Succ Zero)) (showInt1Vu76 xv12 (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];158 -> 174[label="",style="solid", color="black", weight=3]; 130[label="showInt1R' xv12 (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];130 -> 143[label="",style="solid", color="black", weight=3]; 159[label="primPlusInt (fromEnumChar (Char (Pos (Succ xv16)))) (fromIntMyInt (showInt1D xv17 (Pos Zero)))",fontsize=16,color="black",shape="box"];159 -> 175[label="",style="solid", color="black", weight=3]; 160[label="primPlusInt (fromEnumChar (Char (Pos (Succ xv19)))) (fromIntMyInt (showInt1D xv20 (Neg Zero)))",fontsize=16,color="black",shape="box"];160 -> 176[label="",style="solid", color="black", weight=3]; 571[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) MyFalse",fontsize=16,color="black",shape="box"];571 -> 581[label="",style="solid", color="black", weight=3]; 572 -> 313[label="",style="dashed", color="red", weight=0]; 572[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) MyTrue",fontsize=16,color="magenta"];572 -> 582[label="",style="dashed", color="magenta", weight=3]; 572 -> 583[label="",style="dashed", color="magenta", weight=3]; 169 -> 432[label="",style="dashed", color="red", weight=0]; 169[label="showInt1N'0 xv12 (Pos (Succ (Succ xv130))) (quotRemMyInt (Pos (Succ (Succ xv130))) (fromIntMyInt (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))",fontsize=16,color="magenta"];169 -> 433[label="",style="dashed", color="magenta", weight=3]; 169 -> 434[label="",style="dashed", color="magenta", weight=3]; 169 -> 435[label="",style="dashed", color="magenta", weight=3]; 170 -> 368[label="",style="dashed", color="red", weight=0]; 170[label="toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D xv12 (Pos (Succ (Succ xv130))))))",fontsize=16,color="magenta"];170 -> 369[label="",style="dashed", color="magenta", weight=3]; 170 -> 370[label="",style="dashed", color="magenta", weight=3]; 170 -> 371[label="",style="dashed", color="magenta", weight=3]; 357 -> 368[label="",style="dashed", color="red", weight=0]; 357[label="toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D xv56 (Pos (Succ xv57)))))",fontsize=16,color="magenta"];357 -> 372[label="",style="dashed", color="magenta", weight=3]; 357 -> 373[label="",style="dashed", color="magenta", weight=3]; 357 -> 374[label="",style="dashed", color="magenta", weight=3]; 174 -> 432[label="",style="dashed", color="red", weight=0]; 174[label="showInt1N'0 xv12 (Pos (Succ Zero)) (quotRemMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))",fontsize=16,color="magenta"];174 -> 436[label="",style="dashed", color="magenta", weight=3]; 174 -> 437[label="",style="dashed", color="magenta", weight=3]; 174 -> 438[label="",style="dashed", color="magenta", weight=3]; 143[label="Cons (toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D xv12 (Pos (Succ Zero)))))) xv12",fontsize=16,color="green",shape="box"];143 -> 157[label="",style="dashed", color="green", weight=3]; 175[label="primPlusInt (primCharToInt (Char (Pos (Succ xv16)))) (fromIntMyInt (showInt1D xv17 (Pos Zero)))",fontsize=16,color="black",shape="box"];175 -> 197[label="",style="solid", color="black", weight=3]; 176[label="primPlusInt (primCharToInt (Char (Pos (Succ xv19)))) (fromIntMyInt (showInt1D xv20 (Neg Zero)))",fontsize=16,color="black",shape="box"];176 -> 198[label="",style="solid", color="black", weight=3]; 581 -> 4[label="",style="dashed", color="red", weight=0]; 581[label="showInt (showInt1N' xv75 (Pos (Succ xv76))) (showInt1R' xv75 (Pos (Succ xv76)))",fontsize=16,color="magenta"];581 -> 591[label="",style="dashed", color="magenta", weight=3]; 581 -> 592[label="",style="dashed", color="magenta", weight=3]; 582[label="xv76",fontsize=16,color="green",shape="box"];583[label="xv75",fontsize=16,color="green",shape="box"];433[label="xv12",fontsize=16,color="green",shape="box"];434[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];435[label="Succ xv130",fontsize=16,color="green",shape="box"];432[label="showInt1N'0 xv71 (Pos (Succ xv72)) (quotRemMyInt (Pos (Succ xv72)) (fromIntMyInt (Pos (Succ xv73))))",fontsize=16,color="black",shape="triangle"];432 -> 448[label="",style="solid", color="black", weight=3]; 369[label="Succ xv130",fontsize=16,color="green",shape="box"];370[label="xv12",fontsize=16,color="green",shape="box"];371[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];368[label="toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ xv67)))) (fromIntMyInt (showInt1D xv68 (Pos (Succ xv69)))))",fontsize=16,color="black",shape="triangle"];368 -> 384[label="",style="solid", color="black", weight=3]; 372[label="xv57",fontsize=16,color="green",shape="box"];373[label="xv56",fontsize=16,color="green",shape="box"];374[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];436[label="xv12",fontsize=16,color="green",shape="box"];437[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];438[label="Zero",fontsize=16,color="green",shape="box"];157 -> 368[label="",style="dashed", color="red", weight=0]; 157[label="toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D xv12 (Pos (Succ Zero)))))",fontsize=16,color="magenta"];157 -> 378[label="",style="dashed", color="magenta", weight=3]; 157 -> 379[label="",style="dashed", color="magenta", weight=3]; 157 -> 380[label="",style="dashed", color="magenta", weight=3]; 197[label="primPlusInt (Pos (Succ xv16)) (fromIntMyInt (showInt1D xv17 (Pos Zero)))",fontsize=16,color="black",shape="box"];197 -> 210[label="",style="solid", color="black", weight=3]; 198[label="primPlusInt (Pos (Succ xv19)) (fromIntMyInt (showInt1D xv20 (Neg Zero)))",fontsize=16,color="black",shape="box"];198 -> 211[label="",style="solid", color="black", weight=3]; 591[label="showInt1N' xv75 (Pos (Succ xv76))",fontsize=16,color="black",shape="box"];591 -> 600[label="",style="solid", color="black", weight=3]; 592 -> 324[label="",style="dashed", color="red", weight=0]; 592[label="showInt1R' xv75 (Pos (Succ xv76))",fontsize=16,color="magenta"];592 -> 601[label="",style="dashed", color="magenta", weight=3]; 592 -> 602[label="",style="dashed", color="magenta", weight=3]; 448[label="showInt1N'0 xv71 (Pos (Succ xv72)) (primQrmInt (Pos (Succ xv72)) (fromIntMyInt (Pos (Succ xv73))))",fontsize=16,color="black",shape="box"];448 -> 456[label="",style="solid", color="black", weight=3]; 384[label="primIntToChar (psMyInt (fromEnumChar (Char (Pos (Succ xv67)))) (fromIntMyInt (showInt1D xv68 (Pos (Succ xv69)))))",fontsize=16,color="black",shape="box"];384 -> 403[label="",style="solid", color="black", weight=3]; 378[label="Zero",fontsize=16,color="green",shape="box"];379[label="xv12",fontsize=16,color="green",shape="box"];380[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];210[label="primPlusInt (Pos (Succ xv16)) (showInt1D xv17 (Pos Zero))",fontsize=16,color="black",shape="box"];210 -> 224[label="",style="solid", color="black", weight=3]; 211[label="primPlusInt (Pos (Succ xv19)) (showInt1D xv20 (Neg Zero))",fontsize=16,color="black",shape="box"];211 -> 225[label="",style="solid", color="black", weight=3]; 600[label="showInt1N'0 xv75 (Pos (Succ xv76)) (showInt1Vu76 xv75 (Pos (Succ xv76)))",fontsize=16,color="black",shape="box"];600 -> 612[label="",style="solid", color="black", weight=3]; 601[label="xv76",fontsize=16,color="green",shape="box"];602[label="xv75",fontsize=16,color="green",shape="box"];456[label="showInt1N'0 xv71 (Pos (Succ xv72)) (Tup2 (primQuotInt (Pos (Succ xv72)) (fromIntMyInt (Pos (Succ xv73)))) (primRemInt (Pos (Succ xv72)) (fromIntMyInt (Pos (Succ xv73)))))",fontsize=16,color="black",shape="box"];456 -> 466[label="",style="solid", color="black", weight=3]; 403[label="Char (psMyInt (fromEnumChar (Char (Pos (Succ xv67)))) (fromIntMyInt (showInt1D xv68 (Pos (Succ xv69)))))",fontsize=16,color="green",shape="box"];403 -> 423[label="",style="dashed", color="green", weight=3]; 224[label="primPlusInt (Pos (Succ xv16)) (showInt1D0 xv17 (Pos Zero) (showInt1Vu76 xv17 (Pos Zero)))",fontsize=16,color="black",shape="box"];224 -> 238[label="",style="solid", color="black", weight=3]; 225[label="primPlusInt (Pos (Succ xv19)) (showInt1D0 xv20 (Neg Zero) (showInt1Vu76 xv20 (Neg Zero)))",fontsize=16,color="black",shape="box"];225 -> 239[label="",style="solid", color="black", weight=3]; 612 -> 432[label="",style="dashed", color="red", weight=0]; 612[label="showInt1N'0 xv75 (Pos (Succ xv76)) (quotRemMyInt (Pos (Succ xv76)) (fromIntMyInt (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))",fontsize=16,color="magenta"];612 -> 620[label="",style="dashed", color="magenta", weight=3]; 612 -> 621[label="",style="dashed", color="magenta", weight=3]; 612 -> 622[label="",style="dashed", color="magenta", weight=3]; 466[label="primQuotInt (Pos (Succ xv72)) (fromIntMyInt (Pos (Succ xv73)))",fontsize=16,color="black",shape="triangle"];466 -> 473[label="",style="solid", color="black", weight=3]; 423[label="psMyInt (fromEnumChar (Char (Pos (Succ xv67)))) (fromIntMyInt (showInt1D xv68 (Pos (Succ xv69))))",fontsize=16,color="black",shape="box"];423 -> 449[label="",style="solid", color="black", weight=3]; 238 -> 251[label="",style="dashed", color="red", weight=0]; 238[label="primPlusInt (Pos (Succ xv16)) (showInt1D0 xv17 (Pos Zero) (quotRemMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))",fontsize=16,color="magenta"];238 -> 252[label="",style="dashed", color="magenta", weight=3]; 238 -> 253[label="",style="dashed", color="magenta", weight=3]; 238 -> 254[label="",style="dashed", color="magenta", weight=3]; 239 -> 255[label="",style="dashed", color="red", weight=0]; 239[label="primPlusInt (Pos (Succ xv19)) (showInt1D0 xv20 (Neg Zero) (quotRemMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))",fontsize=16,color="magenta"];239 -> 256[label="",style="dashed", color="magenta", weight=3]; 239 -> 257[label="",style="dashed", color="magenta", weight=3]; 239 -> 258[label="",style="dashed", color="magenta", weight=3]; 620[label="xv75",fontsize=16,color="green",shape="box"];621[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];622[label="xv76",fontsize=16,color="green",shape="box"];473[label="primQuotInt (Pos (Succ xv72)) (Pos (Succ xv73))",fontsize=16,color="black",shape="box"];473 -> 480[label="",style="solid", color="black", weight=3]; 449[label="primPlusInt (fromEnumChar (Char (Pos (Succ xv67)))) (fromIntMyInt (showInt1D xv68 (Pos (Succ xv69))))",fontsize=16,color="black",shape="box"];449 -> 457[label="",style="solid", color="black", weight=3]; 252[label="xv17",fontsize=16,color="green",shape="box"];253[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];254[label="xv16",fontsize=16,color="green",shape="box"];251[label="primPlusInt (Pos (Succ xv36)) (showInt1D0 xv37 (Pos Zero) (quotRemMyInt (Pos Zero) (fromIntMyInt (Pos (Succ xv38)))))",fontsize=16,color="black",shape="triangle"];251 -> 274[label="",style="solid", color="black", weight=3]; 256[label="xv20",fontsize=16,color="green",shape="box"];257[label="xv19",fontsize=16,color="green",shape="box"];258[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];255[label="primPlusInt (Pos (Succ xv40)) (showInt1D0 xv41 (Neg Zero) (quotRemMyInt (Neg Zero) (fromIntMyInt (Pos (Succ xv42)))))",fontsize=16,color="black",shape="triangle"];255 -> 275[label="",style="solid", color="black", weight=3]; 480[label="Pos (primDivNatS (Succ xv72) (Succ xv73))",fontsize=16,color="green",shape="box"];480 -> 535[label="",style="dashed", color="green", weight=3]; 457[label="primPlusInt (primCharToInt (Char (Pos (Succ xv67)))) (fromIntMyInt (showInt1D xv68 (Pos (Succ xv69))))",fontsize=16,color="black",shape="box"];457 -> 467[label="",style="solid", color="black", weight=3]; 274[label="primPlusInt (Pos (Succ xv36)) (showInt1D0 xv37 (Pos Zero) (primQrmInt (Pos Zero) (fromIntMyInt (Pos (Succ xv38)))))",fontsize=16,color="black",shape="box"];274 -> 287[label="",style="solid", color="black", weight=3]; 275[label="primPlusInt (Pos (Succ xv40)) (showInt1D0 xv41 (Neg Zero) (primQrmInt (Neg Zero) (fromIntMyInt (Pos (Succ xv42)))))",fontsize=16,color="black",shape="box"];275 -> 288[label="",style="solid", color="black", weight=3]; 535[label="primDivNatS (Succ xv72) (Succ xv73)",fontsize=16,color="black",shape="triangle"];535 -> 541[label="",style="solid", color="black", weight=3]; 467[label="primPlusInt (Pos (Succ xv67)) (fromIntMyInt (showInt1D xv68 (Pos (Succ xv69))))",fontsize=16,color="black",shape="box"];467 -> 474[label="",style="solid", color="black", weight=3]; 287[label="primPlusInt (Pos (Succ xv36)) (showInt1D0 xv37 (Pos Zero) (Tup2 (primQuotInt (Pos Zero) (fromIntMyInt (Pos (Succ xv38)))) (primRemInt (Pos Zero) (fromIntMyInt (Pos (Succ xv38))))))",fontsize=16,color="black",shape="box"];287 -> 299[label="",style="solid", color="black", weight=3]; 288[label="primPlusInt (Pos (Succ xv40)) (showInt1D0 xv41 (Neg Zero) (Tup2 (primQuotInt (Neg Zero) (fromIntMyInt (Pos (Succ xv42)))) (primRemInt (Neg Zero) (fromIntMyInt (Pos (Succ xv42))))))",fontsize=16,color="black",shape="box"];288 -> 300[label="",style="solid", color="black", weight=3]; 541[label="primDivNatS0 xv72 xv73 (primGEqNatS xv72 xv73)",fontsize=16,color="burlywood",shape="box"];1474[label="xv72/Succ xv720",fontsize=10,color="white",style="solid",shape="box"];541 -> 1474[label="",style="solid", color="burlywood", weight=9]; 1474 -> 551[label="",style="solid", color="burlywood", weight=3]; 1475[label="xv72/Zero",fontsize=10,color="white",style="solid",shape="box"];541 -> 1475[label="",style="solid", color="burlywood", weight=9]; 1475 -> 552[label="",style="solid", color="burlywood", weight=3]; 474[label="primPlusInt (Pos (Succ xv67)) (showInt1D xv68 (Pos (Succ xv69)))",fontsize=16,color="black",shape="box"];474 -> 481[label="",style="solid", color="black", weight=3]; 299[label="primPlusInt (Pos (Succ xv36)) (primRemInt (Pos Zero) (fromIntMyInt (Pos (Succ xv38))))",fontsize=16,color="black",shape="box"];299 -> 330[label="",style="solid", color="black", weight=3]; 300[label="primPlusInt (Pos (Succ xv40)) (primRemInt (Neg Zero) (fromIntMyInt (Pos (Succ xv42))))",fontsize=16,color="black",shape="box"];300 -> 331[label="",style="solid", color="black", weight=3]; 551[label="primDivNatS0 (Succ xv720) xv73 (primGEqNatS (Succ xv720) xv73)",fontsize=16,color="burlywood",shape="box"];1476[label="xv73/Succ xv730",fontsize=10,color="white",style="solid",shape="box"];551 -> 1476[label="",style="solid", color="burlywood", weight=9]; 1476 -> 558[label="",style="solid", color="burlywood", weight=3]; 1477[label="xv73/Zero",fontsize=10,color="white",style="solid",shape="box"];551 -> 1477[label="",style="solid", color="burlywood", weight=9]; 1477 -> 559[label="",style="solid", color="burlywood", weight=3]; 552[label="primDivNatS0 Zero xv73 (primGEqNatS Zero xv73)",fontsize=16,color="burlywood",shape="box"];1478[label="xv73/Succ xv730",fontsize=10,color="white",style="solid",shape="box"];552 -> 1478[label="",style="solid", color="burlywood", weight=9]; 1478 -> 560[label="",style="solid", color="burlywood", weight=3]; 1479[label="xv73/Zero",fontsize=10,color="white",style="solid",shape="box"];552 -> 1479[label="",style="solid", color="burlywood", weight=9]; 1479 -> 561[label="",style="solid", color="burlywood", weight=3]; 481[label="primPlusInt (Pos (Succ xv67)) (showInt1D0 xv68 (Pos (Succ xv69)) (showInt1Vu76 xv68 (Pos (Succ xv69))))",fontsize=16,color="black",shape="box"];481 -> 536[label="",style="solid", color="black", weight=3]; 330[label="primPlusInt (Pos (Succ xv36)) (primRemInt (Pos Zero) (Pos (Succ xv38)))",fontsize=16,color="black",shape="box"];330 -> 348[label="",style="solid", color="black", weight=3]; 331[label="primPlusInt (Pos (Succ xv40)) (primRemInt (Neg Zero) (Pos (Succ xv42)))",fontsize=16,color="black",shape="box"];331 -> 349[label="",style="solid", color="black", weight=3]; 558[label="primDivNatS0 (Succ xv720) (Succ xv730) (primGEqNatS (Succ xv720) (Succ xv730))",fontsize=16,color="black",shape="box"];558 -> 565[label="",style="solid", color="black", weight=3]; 559[label="primDivNatS0 (Succ xv720) Zero (primGEqNatS (Succ xv720) Zero)",fontsize=16,color="black",shape="box"];559 -> 566[label="",style="solid", color="black", weight=3]; 560[label="primDivNatS0 Zero (Succ xv730) (primGEqNatS Zero (Succ xv730))",fontsize=16,color="black",shape="box"];560 -> 567[label="",style="solid", color="black", weight=3]; 561[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];561 -> 568[label="",style="solid", color="black", weight=3]; 536 -> 542[label="",style="dashed", color="red", weight=0]; 536[label="primPlusInt (Pos (Succ xv67)) (showInt1D0 xv68 (Pos (Succ xv69)) (quotRemMyInt (Pos (Succ xv69)) (fromIntMyInt (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))",fontsize=16,color="magenta"];536 -> 543[label="",style="dashed", color="magenta", weight=3]; 536 -> 544[label="",style="dashed", color="magenta", weight=3]; 536 -> 545[label="",style="dashed", color="magenta", weight=3]; 536 -> 546[label="",style="dashed", color="magenta", weight=3]; 348[label="primPlusInt (Pos (Succ xv36)) (Pos (primModNatS Zero (Succ xv38)))",fontsize=16,color="black",shape="box"];348 -> 387[label="",style="solid", color="black", weight=3]; 349[label="primPlusInt (Pos (Succ xv40)) (Neg (primModNatS Zero (Succ xv42)))",fontsize=16,color="black",shape="box"];349 -> 388[label="",style="solid", color="black", weight=3]; 565 -> 819[label="",style="dashed", color="red", weight=0]; 565[label="primDivNatS0 (Succ xv720) (Succ xv730) (primGEqNatS xv720 xv730)",fontsize=16,color="magenta"];565 -> 820[label="",style="dashed", color="magenta", weight=3]; 565 -> 821[label="",style="dashed", color="magenta", weight=3]; 565 -> 822[label="",style="dashed", color="magenta", weight=3]; 565 -> 823[label="",style="dashed", color="magenta", weight=3]; 566[label="primDivNatS0 (Succ xv720) Zero MyTrue",fontsize=16,color="black",shape="box"];566 -> 575[label="",style="solid", color="black", weight=3]; 567[label="primDivNatS0 Zero (Succ xv730) MyFalse",fontsize=16,color="black",shape="box"];567 -> 576[label="",style="solid", color="black", weight=3]; 568[label="primDivNatS0 Zero Zero MyTrue",fontsize=16,color="black",shape="box"];568 -> 577[label="",style="solid", color="black", weight=3]; 543[label="xv67",fontsize=16,color="green",shape="box"];544[label="xv68",fontsize=16,color="green",shape="box"];545[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];546[label="xv69",fontsize=16,color="green",shape="box"];542[label="primPlusInt (Pos (Succ xv81)) (showInt1D0 xv82 (Pos (Succ xv83)) (quotRemMyInt (Pos (Succ xv83)) (fromIntMyInt (Pos (Succ xv84)))))",fontsize=16,color="black",shape="triangle"];542 -> 553[label="",style="solid", color="black", weight=3]; 387[label="Pos (primPlusNat (Succ xv36) (primModNatS Zero (Succ xv38)))",fontsize=16,color="green",shape="box"];387 -> 405[label="",style="dashed", color="green", weight=3]; 388[label="primMinusNat (Succ xv40) (primModNatS Zero (Succ xv42))",fontsize=16,color="black",shape="box"];388 -> 406[label="",style="solid", color="black", weight=3]; 820[label="xv730",fontsize=16,color="green",shape="box"];821[label="xv720",fontsize=16,color="green",shape="box"];822[label="xv720",fontsize=16,color="green",shape="box"];823[label="xv730",fontsize=16,color="green",shape="box"];819[label="primDivNatS0 (Succ xv102) (Succ xv103) (primGEqNatS xv104 xv105)",fontsize=16,color="burlywood",shape="triangle"];1480[label="xv104/Succ xv1040",fontsize=10,color="white",style="solid",shape="box"];819 -> 1480[label="",style="solid", color="burlywood", weight=9]; 1480 -> 852[label="",style="solid", color="burlywood", weight=3]; 1481[label="xv104/Zero",fontsize=10,color="white",style="solid",shape="box"];819 -> 1481[label="",style="solid", color="burlywood", weight=9]; 1481 -> 853[label="",style="solid", color="burlywood", weight=3]; 575[label="Succ (primDivNatS (primMinusNatS (Succ xv720) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];575 -> 588[label="",style="dashed", color="green", weight=3]; 576[label="Zero",fontsize=16,color="green",shape="box"];577[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];577 -> 589[label="",style="dashed", color="green", weight=3]; 553[label="primPlusInt (Pos (Succ xv81)) (showInt1D0 xv82 (Pos (Succ xv83)) (primQrmInt (Pos (Succ xv83)) (fromIntMyInt (Pos (Succ xv84)))))",fontsize=16,color="black",shape="box"];553 -> 562[label="",style="solid", color="black", weight=3]; 405[label="primPlusNat (Succ xv36) (primModNatS Zero (Succ xv38))",fontsize=16,color="black",shape="triangle"];405 -> 425[label="",style="solid", color="black", weight=3]; 406[label="primMinusNat (Succ xv40) Zero",fontsize=16,color="black",shape="box"];406 -> 426[label="",style="solid", color="black", weight=3]; 852[label="primDivNatS0 (Succ xv102) (Succ xv103) (primGEqNatS (Succ xv1040) xv105)",fontsize=16,color="burlywood",shape="box"];1482[label="xv105/Succ xv1050",fontsize=10,color="white",style="solid",shape="box"];852 -> 1482[label="",style="solid", color="burlywood", weight=9]; 1482 -> 862[label="",style="solid", color="burlywood", weight=3]; 1483[label="xv105/Zero",fontsize=10,color="white",style="solid",shape="box"];852 -> 1483[label="",style="solid", color="burlywood", weight=9]; 1483 -> 863[label="",style="solid", color="burlywood", weight=3]; 853[label="primDivNatS0 (Succ xv102) (Succ xv103) (primGEqNatS Zero xv105)",fontsize=16,color="burlywood",shape="box"];1484[label="xv105/Succ xv1050",fontsize=10,color="white",style="solid",shape="box"];853 -> 1484[label="",style="solid", color="burlywood", weight=9]; 1484 -> 864[label="",style="solid", color="burlywood", weight=3]; 1485[label="xv105/Zero",fontsize=10,color="white",style="solid",shape="box"];853 -> 1485[label="",style="solid", color="burlywood", weight=9]; 1485 -> 865[label="",style="solid", color="burlywood", weight=3]; 588 -> 1242[label="",style="dashed", color="red", weight=0]; 588[label="primDivNatS (primMinusNatS (Succ xv720) Zero) (Succ Zero)",fontsize=16,color="magenta"];588 -> 1243[label="",style="dashed", color="magenta", weight=3]; 588 -> 1244[label="",style="dashed", color="magenta", weight=3]; 588 -> 1245[label="",style="dashed", color="magenta", weight=3]; 589 -> 1242[label="",style="dashed", color="red", weight=0]; 589[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];589 -> 1246[label="",style="dashed", color="magenta", weight=3]; 589 -> 1247[label="",style="dashed", color="magenta", weight=3]; 589 -> 1248[label="",style="dashed", color="magenta", weight=3]; 562 -> 569[label="",style="dashed", color="red", weight=0]; 562[label="primPlusInt (Pos (Succ xv81)) (showInt1D0 xv82 (Pos (Succ xv83)) (Tup2 (primQuotInt (Pos (Succ xv83)) (fromIntMyInt (Pos (Succ xv84)))) (primRemInt (Pos (Succ xv83)) (fromIntMyInt (Pos (Succ xv84))))))",fontsize=16,color="magenta"];562 -> 570[label="",style="dashed", color="magenta", weight=3]; 425[label="primPlusNat (Succ xv36) Zero",fontsize=16,color="black",shape="triangle"];425 -> 450[label="",style="solid", color="black", weight=3]; 426[label="Pos (Succ xv40)",fontsize=16,color="green",shape="box"];862[label="primDivNatS0 (Succ xv102) (Succ xv103) (primGEqNatS (Succ xv1040) (Succ xv1050))",fontsize=16,color="black",shape="box"];862 -> 876[label="",style="solid", color="black", weight=3]; 863[label="primDivNatS0 (Succ xv102) (Succ xv103) (primGEqNatS (Succ xv1040) Zero)",fontsize=16,color="black",shape="box"];863 -> 877[label="",style="solid", color="black", weight=3]; 864[label="primDivNatS0 (Succ xv102) (Succ xv103) (primGEqNatS Zero (Succ xv1050))",fontsize=16,color="black",shape="box"];864 -> 878[label="",style="solid", color="black", weight=3]; 865[label="primDivNatS0 (Succ xv102) (Succ xv103) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];865 -> 879[label="",style="solid", color="black", weight=3]; 1243[label="Zero",fontsize=16,color="green",shape="box"];1244[label="Zero",fontsize=16,color="green",shape="box"];1245[label="Succ xv720",fontsize=16,color="green",shape="box"];1242[label="primDivNatS (primMinusNatS xv146 xv147) (Succ xv148)",fontsize=16,color="burlywood",shape="triangle"];1486[label="xv146/Succ xv1460",fontsize=10,color="white",style="solid",shape="box"];1242 -> 1486[label="",style="solid", color="burlywood", weight=9]; 1486 -> 1276[label="",style="solid", color="burlywood", weight=3]; 1487[label="xv146/Zero",fontsize=10,color="white",style="solid",shape="box"];1242 -> 1487[label="",style="solid", color="burlywood", weight=9]; 1487 -> 1277[label="",style="solid", color="burlywood", weight=3]; 1246[label="Zero",fontsize=16,color="green",shape="box"];1247[label="Zero",fontsize=16,color="green",shape="box"];1248[label="Zero",fontsize=16,color="green",shape="box"];570 -> 466[label="",style="dashed", color="red", weight=0]; 570[label="primQuotInt (Pos (Succ xv83)) (fromIntMyInt (Pos (Succ xv84)))",fontsize=16,color="magenta"];570 -> 578[label="",style="dashed", color="magenta", weight=3]; 570 -> 579[label="",style="dashed", color="magenta", weight=3]; 569[label="primPlusInt (Pos (Succ xv81)) (showInt1D0 xv82 (Pos (Succ xv83)) (Tup2 xv85 (primRemInt (Pos (Succ xv83)) (fromIntMyInt (Pos (Succ xv84))))))",fontsize=16,color="black",shape="triangle"];569 -> 580[label="",style="solid", color="black", weight=3]; 450[label="Succ xv36",fontsize=16,color="green",shape="box"];876 -> 819[label="",style="dashed", color="red", weight=0]; 876[label="primDivNatS0 (Succ xv102) (Succ xv103) (primGEqNatS xv1040 xv1050)",fontsize=16,color="magenta"];876 -> 893[label="",style="dashed", color="magenta", weight=3]; 876 -> 894[label="",style="dashed", color="magenta", weight=3]; 877[label="primDivNatS0 (Succ xv102) (Succ xv103) MyTrue",fontsize=16,color="black",shape="triangle"];877 -> 895[label="",style="solid", color="black", weight=3]; 878[label="primDivNatS0 (Succ xv102) (Succ xv103) MyFalse",fontsize=16,color="black",shape="box"];878 -> 896[label="",style="solid", color="black", weight=3]; 879 -> 877[label="",style="dashed", color="red", weight=0]; 879[label="primDivNatS0 (Succ xv102) (Succ xv103) MyTrue",fontsize=16,color="magenta"];1276[label="primDivNatS (primMinusNatS (Succ xv1460) xv147) (Succ xv148)",fontsize=16,color="burlywood",shape="box"];1488[label="xv147/Succ xv1470",fontsize=10,color="white",style="solid",shape="box"];1276 -> 1488[label="",style="solid", color="burlywood", weight=9]; 1488 -> 1292[label="",style="solid", color="burlywood", weight=3]; 1489[label="xv147/Zero",fontsize=10,color="white",style="solid",shape="box"];1276 -> 1489[label="",style="solid", color="burlywood", weight=9]; 1489 -> 1293[label="",style="solid", color="burlywood", weight=3]; 1277[label="primDivNatS (primMinusNatS Zero xv147) (Succ xv148)",fontsize=16,color="burlywood",shape="box"];1490[label="xv147/Succ xv1470",fontsize=10,color="white",style="solid",shape="box"];1277 -> 1490[label="",style="solid", color="burlywood", weight=9]; 1490 -> 1294[label="",style="solid", color="burlywood", weight=3]; 1491[label="xv147/Zero",fontsize=10,color="white",style="solid",shape="box"];1277 -> 1491[label="",style="solid", color="burlywood", weight=9]; 1491 -> 1295[label="",style="solid", color="burlywood", weight=3]; 578[label="xv84",fontsize=16,color="green",shape="box"];579[label="xv83",fontsize=16,color="green",shape="box"];580[label="primPlusInt (Pos (Succ xv81)) (primRemInt (Pos (Succ xv83)) (fromIntMyInt (Pos (Succ xv84))))",fontsize=16,color="black",shape="box"];580 -> 590[label="",style="solid", color="black", weight=3]; 893[label="xv1040",fontsize=16,color="green",shape="box"];894[label="xv1050",fontsize=16,color="green",shape="box"];895[label="Succ (primDivNatS (primMinusNatS (Succ xv102) (Succ xv103)) (Succ (Succ xv103)))",fontsize=16,color="green",shape="box"];895 -> 905[label="",style="dashed", color="green", weight=3]; 896[label="Zero",fontsize=16,color="green",shape="box"];1292[label="primDivNatS (primMinusNatS (Succ xv1460) (Succ xv1470)) (Succ xv148)",fontsize=16,color="black",shape="box"];1292 -> 1327[label="",style="solid", color="black", weight=3]; 1293[label="primDivNatS (primMinusNatS (Succ xv1460) Zero) (Succ xv148)",fontsize=16,color="black",shape="box"];1293 -> 1328[label="",style="solid", color="black", weight=3]; 1294[label="primDivNatS (primMinusNatS Zero (Succ xv1470)) (Succ xv148)",fontsize=16,color="black",shape="box"];1294 -> 1329[label="",style="solid", color="black", weight=3]; 1295[label="primDivNatS (primMinusNatS Zero Zero) (Succ xv148)",fontsize=16,color="black",shape="box"];1295 -> 1330[label="",style="solid", color="black", weight=3]; 590[label="primPlusInt (Pos (Succ xv81)) (primRemInt (Pos (Succ xv83)) (Pos (Succ xv84)))",fontsize=16,color="black",shape="box"];590 -> 599[label="",style="solid", color="black", weight=3]; 905 -> 1242[label="",style="dashed", color="red", weight=0]; 905[label="primDivNatS (primMinusNatS (Succ xv102) (Succ xv103)) (Succ (Succ xv103))",fontsize=16,color="magenta"];905 -> 1249[label="",style="dashed", color="magenta", weight=3]; 905 -> 1250[label="",style="dashed", color="magenta", weight=3]; 905 -> 1251[label="",style="dashed", color="magenta", weight=3]; 1327 -> 1242[label="",style="dashed", color="red", weight=0]; 1327[label="primDivNatS (primMinusNatS xv1460 xv1470) (Succ xv148)",fontsize=16,color="magenta"];1327 -> 1338[label="",style="dashed", color="magenta", weight=3]; 1327 -> 1339[label="",style="dashed", color="magenta", weight=3]; 1328 -> 535[label="",style="dashed", color="red", weight=0]; 1328[label="primDivNatS (Succ xv1460) (Succ xv148)",fontsize=16,color="magenta"];1328 -> 1340[label="",style="dashed", color="magenta", weight=3]; 1328 -> 1341[label="",style="dashed", color="magenta", weight=3]; 1329[label="primDivNatS Zero (Succ xv148)",fontsize=16,color="black",shape="triangle"];1329 -> 1342[label="",style="solid", color="black", weight=3]; 1330 -> 1329[label="",style="dashed", color="red", weight=0]; 1330[label="primDivNatS Zero (Succ xv148)",fontsize=16,color="magenta"];599[label="primPlusInt (Pos (Succ xv81)) (Pos (primModNatS (Succ xv83) (Succ xv84)))",fontsize=16,color="black",shape="box"];599 -> 611[label="",style="solid", color="black", weight=3]; 1249[label="Succ xv103",fontsize=16,color="green",shape="box"];1250[label="Succ xv103",fontsize=16,color="green",shape="box"];1251[label="Succ xv102",fontsize=16,color="green",shape="box"];1338[label="xv1470",fontsize=16,color="green",shape="box"];1339[label="xv1460",fontsize=16,color="green",shape="box"];1340[label="xv148",fontsize=16,color="green",shape="box"];1341[label="xv1460",fontsize=16,color="green",shape="box"];1342[label="Zero",fontsize=16,color="green",shape="box"];611[label="Pos (primPlusNat (Succ xv81) (primModNatS (Succ xv83) (Succ xv84)))",fontsize=16,color="green",shape="box"];611 -> 619[label="",style="dashed", color="green", weight=3]; 619[label="primPlusNat (Succ xv81) (primModNatS (Succ xv83) (Succ xv84))",fontsize=16,color="burlywood",shape="triangle"];1492[label="xv84/Succ xv840",fontsize=10,color="white",style="solid",shape="box"];619 -> 1492[label="",style="solid", color="burlywood", weight=9]; 1492 -> 629[label="",style="solid", color="burlywood", weight=3]; 1493[label="xv84/Zero",fontsize=10,color="white",style="solid",shape="box"];619 -> 1493[label="",style="solid", color="burlywood", weight=9]; 1493 -> 630[label="",style="solid", color="burlywood", weight=3]; 629[label="primPlusNat (Succ xv81) (primModNatS (Succ xv83) (Succ (Succ xv840)))",fontsize=16,color="black",shape="box"];629 -> 638[label="",style="solid", color="black", weight=3]; 630[label="primPlusNat (Succ xv81) (primModNatS (Succ xv83) (Succ Zero))",fontsize=16,color="black",shape="box"];630 -> 639[label="",style="solid", color="black", weight=3]; 638[label="primPlusNat (Succ xv81) (primModNatS0 xv83 xv840 (primGEqNatS xv83 (Succ xv840)))",fontsize=16,color="burlywood",shape="box"];1494[label="xv83/Succ xv830",fontsize=10,color="white",style="solid",shape="box"];638 -> 1494[label="",style="solid", color="burlywood", weight=9]; 1494 -> 649[label="",style="solid", color="burlywood", weight=3]; 1495[label="xv83/Zero",fontsize=10,color="white",style="solid",shape="box"];638 -> 1495[label="",style="solid", color="burlywood", weight=9]; 1495 -> 650[label="",style="solid", color="burlywood", weight=3]; 639 -> 425[label="",style="dashed", color="red", weight=0]; 639[label="primPlusNat (Succ xv81) Zero",fontsize=16,color="magenta"];639 -> 651[label="",style="dashed", color="magenta", weight=3]; 649[label="primPlusNat (Succ xv81) (primModNatS0 (Succ xv830) xv840 (primGEqNatS (Succ xv830) (Succ xv840)))",fontsize=16,color="black",shape="box"];649 -> 658[label="",style="solid", color="black", weight=3]; 650[label="primPlusNat (Succ xv81) (primModNatS0 Zero xv840 (primGEqNatS Zero (Succ xv840)))",fontsize=16,color="black",shape="box"];650 -> 659[label="",style="solid", color="black", weight=3]; 651[label="xv81",fontsize=16,color="green",shape="box"];658[label="primPlusNat (Succ xv81) (primModNatS0 (Succ xv830) xv840 (primGEqNatS xv830 xv840))",fontsize=16,color="burlywood",shape="box"];1496[label="xv830/Succ xv8300",fontsize=10,color="white",style="solid",shape="box"];658 -> 1496[label="",style="solid", color="burlywood", weight=9]; 1496 -> 667[label="",style="solid", color="burlywood", weight=3]; 1497[label="xv830/Zero",fontsize=10,color="white",style="solid",shape="box"];658 -> 1497[label="",style="solid", color="burlywood", weight=9]; 1497 -> 668[label="",style="solid", color="burlywood", weight=3]; 659[label="primPlusNat (Succ xv81) (primModNatS0 Zero xv840 MyFalse)",fontsize=16,color="black",shape="box"];659 -> 669[label="",style="solid", color="black", weight=3]; 667[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ xv8300)) xv840 (primGEqNatS (Succ xv8300) xv840))",fontsize=16,color="burlywood",shape="box"];1498[label="xv840/Succ xv8400",fontsize=10,color="white",style="solid",shape="box"];667 -> 1498[label="",style="solid", color="burlywood", weight=9]; 1498 -> 678[label="",style="solid", color="burlywood", weight=3]; 1499[label="xv840/Zero",fontsize=10,color="white",style="solid",shape="box"];667 -> 1499[label="",style="solid", color="burlywood", weight=9]; 1499 -> 679[label="",style="solid", color="burlywood", weight=3]; 668[label="primPlusNat (Succ xv81) (primModNatS0 (Succ Zero) xv840 (primGEqNatS Zero xv840))",fontsize=16,color="burlywood",shape="box"];1500[label="xv840/Succ xv8400",fontsize=10,color="white",style="solid",shape="box"];668 -> 1500[label="",style="solid", color="burlywood", weight=9]; 1500 -> 680[label="",style="solid", color="burlywood", weight=3]; 1501[label="xv840/Zero",fontsize=10,color="white",style="solid",shape="box"];668 -> 1501[label="",style="solid", color="burlywood", weight=9]; 1501 -> 681[label="",style="solid", color="burlywood", weight=3]; 669 -> 969[label="",style="dashed", color="red", weight=0]; 669[label="primPlusNat (Succ xv81) (Succ Zero)",fontsize=16,color="magenta"];669 -> 970[label="",style="dashed", color="magenta", weight=3]; 669 -> 971[label="",style="dashed", color="magenta", weight=3]; 678[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ xv8300)) (Succ xv8400) (primGEqNatS (Succ xv8300) (Succ xv8400)))",fontsize=16,color="black",shape="box"];678 -> 692[label="",style="solid", color="black", weight=3]; 679[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ xv8300)) Zero (primGEqNatS (Succ xv8300) Zero))",fontsize=16,color="black",shape="box"];679 -> 693[label="",style="solid", color="black", weight=3]; 680[label="primPlusNat (Succ xv81) (primModNatS0 (Succ Zero) (Succ xv8400) (primGEqNatS Zero (Succ xv8400)))",fontsize=16,color="black",shape="box"];680 -> 694[label="",style="solid", color="black", weight=3]; 681[label="primPlusNat (Succ xv81) (primModNatS0 (Succ Zero) Zero (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];681 -> 695[label="",style="solid", color="black", weight=3]; 970[label="xv81",fontsize=16,color="green",shape="box"];971[label="Zero",fontsize=16,color="green",shape="box"];969[label="primPlusNat (Succ xv110) (Succ xv111)",fontsize=16,color="black",shape="triangle"];969 -> 988[label="",style="solid", color="black", weight=3]; 692[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ xv8300)) (Succ xv8400) (primGEqNatS xv8300 xv8400))",fontsize=16,color="burlywood",shape="box"];1502[label="xv8300/Succ xv83000",fontsize=10,color="white",style="solid",shape="box"];692 -> 1502[label="",style="solid", color="burlywood", weight=9]; 1502 -> 704[label="",style="solid", color="burlywood", weight=3]; 1503[label="xv8300/Zero",fontsize=10,color="white",style="solid",shape="box"];692 -> 1503[label="",style="solid", color="burlywood", weight=9]; 1503 -> 705[label="",style="solid", color="burlywood", weight=3]; 693[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ xv8300)) Zero MyTrue)",fontsize=16,color="black",shape="box"];693 -> 706[label="",style="solid", color="black", weight=3]; 694[label="primPlusNat (Succ xv81) (primModNatS0 (Succ Zero) (Succ xv8400) MyFalse)",fontsize=16,color="black",shape="box"];694 -> 707[label="",style="solid", color="black", weight=3]; 695[label="primPlusNat (Succ xv81) (primModNatS0 (Succ Zero) Zero MyTrue)",fontsize=16,color="black",shape="box"];695 -> 708[label="",style="solid", color="black", weight=3]; 988[label="Succ (Succ (primPlusNat xv110 xv111))",fontsize=16,color="green",shape="box"];988 -> 1000[label="",style="dashed", color="green", weight=3]; 704[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ xv83000))) (Succ xv8400) (primGEqNatS (Succ xv83000) xv8400))",fontsize=16,color="burlywood",shape="box"];1504[label="xv8400/Succ xv84000",fontsize=10,color="white",style="solid",shape="box"];704 -> 1504[label="",style="solid", color="burlywood", weight=9]; 1504 -> 719[label="",style="solid", color="burlywood", weight=3]; 1505[label="xv8400/Zero",fontsize=10,color="white",style="solid",shape="box"];704 -> 1505[label="",style="solid", color="burlywood", weight=9]; 1505 -> 720[label="",style="solid", color="burlywood", weight=3]; 705[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ Zero)) (Succ xv8400) (primGEqNatS Zero xv8400))",fontsize=16,color="burlywood",shape="box"];1506[label="xv8400/Succ xv84000",fontsize=10,color="white",style="solid",shape="box"];705 -> 1506[label="",style="solid", color="burlywood", weight=9]; 1506 -> 721[label="",style="solid", color="burlywood", weight=3]; 1507[label="xv8400/Zero",fontsize=10,color="white",style="solid",shape="box"];705 -> 1507[label="",style="solid", color="burlywood", weight=9]; 1507 -> 722[label="",style="solid", color="burlywood", weight=3]; 706[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ xv8300)) (Succ Zero)) (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];706 -> 723[label="",style="solid", color="black", weight=3]; 707 -> 969[label="",style="dashed", color="red", weight=0]; 707[label="primPlusNat (Succ xv81) (Succ (Succ Zero))",fontsize=16,color="magenta"];707 -> 972[label="",style="dashed", color="magenta", weight=3]; 707 -> 973[label="",style="dashed", color="magenta", weight=3]; 708[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ Zero) (Succ Zero)) (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];708 -> 725[label="",style="solid", color="black", weight=3]; 1000[label="primPlusNat xv110 xv111",fontsize=16,color="burlywood",shape="triangle"];1508[label="xv110/Succ xv1100",fontsize=10,color="white",style="solid",shape="box"];1000 -> 1508[label="",style="solid", color="burlywood", weight=9]; 1508 -> 1016[label="",style="solid", color="burlywood", weight=3]; 1509[label="xv110/Zero",fontsize=10,color="white",style="solid",shape="box"];1000 -> 1509[label="",style="solid", color="burlywood", weight=9]; 1509 -> 1017[label="",style="solid", color="burlywood", weight=3]; 719[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ xv83000))) (Succ (Succ xv84000)) (primGEqNatS (Succ xv83000) (Succ xv84000)))",fontsize=16,color="black",shape="box"];719 -> 736[label="",style="solid", color="black", weight=3]; 720[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ xv83000))) (Succ Zero) (primGEqNatS (Succ xv83000) Zero))",fontsize=16,color="black",shape="box"];720 -> 737[label="",style="solid", color="black", weight=3]; 721[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ Zero)) (Succ (Succ xv84000)) (primGEqNatS Zero (Succ xv84000)))",fontsize=16,color="black",shape="box"];721 -> 738[label="",style="solid", color="black", weight=3]; 722[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ Zero)) (Succ Zero) (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];722 -> 739[label="",style="solid", color="black", weight=3]; 723[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ xv8300) Zero) (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];723 -> 740[label="",style="solid", color="black", weight=3]; 972[label="xv81",fontsize=16,color="green",shape="box"];973[label="Succ Zero",fontsize=16,color="green",shape="box"];725[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS Zero Zero) (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];725 -> 742[label="",style="solid", color="black", weight=3]; 1016[label="primPlusNat (Succ xv1100) xv111",fontsize=16,color="burlywood",shape="box"];1510[label="xv111/Succ xv1110",fontsize=10,color="white",style="solid",shape="box"];1016 -> 1510[label="",style="solid", color="burlywood", weight=9]; 1510 -> 1038[label="",style="solid", color="burlywood", weight=3]; 1511[label="xv111/Zero",fontsize=10,color="white",style="solid",shape="box"];1016 -> 1511[label="",style="solid", color="burlywood", weight=9]; 1511 -> 1039[label="",style="solid", color="burlywood", weight=3]; 1017[label="primPlusNat Zero xv111",fontsize=16,color="burlywood",shape="box"];1512[label="xv111/Succ xv1110",fontsize=10,color="white",style="solid",shape="box"];1017 -> 1512[label="",style="solid", color="burlywood", weight=9]; 1512 -> 1040[label="",style="solid", color="burlywood", weight=3]; 1513[label="xv111/Zero",fontsize=10,color="white",style="solid",shape="box"];1017 -> 1513[label="",style="solid", color="burlywood", weight=9]; 1513 -> 1041[label="",style="solid", color="burlywood", weight=3]; 736[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ xv83000))) (Succ (Succ xv84000)) (primGEqNatS xv83000 xv84000))",fontsize=16,color="burlywood",shape="box"];1514[label="xv83000/Succ xv830000",fontsize=10,color="white",style="solid",shape="box"];736 -> 1514[label="",style="solid", color="burlywood", weight=9]; 1514 -> 793[label="",style="solid", color="burlywood", weight=3]; 1515[label="xv83000/Zero",fontsize=10,color="white",style="solid",shape="box"];736 -> 1515[label="",style="solid", color="burlywood", weight=9]; 1515 -> 794[label="",style="solid", color="burlywood", weight=3]; 737[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ xv83000))) (Succ Zero) MyTrue)",fontsize=16,color="black",shape="box"];737 -> 795[label="",style="solid", color="black", weight=3]; 738[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ Zero)) (Succ (Succ xv84000)) MyFalse)",fontsize=16,color="black",shape="box"];738 -> 796[label="",style="solid", color="black", weight=3]; 739[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ Zero)) (Succ Zero) MyTrue)",fontsize=16,color="black",shape="box"];739 -> 797[label="",style="solid", color="black", weight=3]; 740 -> 619[label="",style="dashed", color="red", weight=0]; 740[label="primPlusNat (Succ xv81) (primModNatS (Succ xv8300) (Succ (Succ Zero)))",fontsize=16,color="magenta"];740 -> 798[label="",style="dashed", color="magenta", weight=3]; 740 -> 799[label="",style="dashed", color="magenta", weight=3]; 742 -> 405[label="",style="dashed", color="red", weight=0]; 742[label="primPlusNat (Succ xv81) (primModNatS Zero (Succ (Succ Zero)))",fontsize=16,color="magenta"];742 -> 802[label="",style="dashed", color="magenta", weight=3]; 742 -> 803[label="",style="dashed", color="magenta", weight=3]; 1038[label="primPlusNat (Succ xv1100) (Succ xv1110)",fontsize=16,color="black",shape="box"];1038 -> 1051[label="",style="solid", color="black", weight=3]; 1039[label="primPlusNat (Succ xv1100) Zero",fontsize=16,color="black",shape="box"];1039 -> 1052[label="",style="solid", color="black", weight=3]; 1040[label="primPlusNat Zero (Succ xv1110)",fontsize=16,color="black",shape="box"];1040 -> 1053[label="",style="solid", color="black", weight=3]; 1041[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];1041 -> 1054[label="",style="solid", color="black", weight=3]; 793[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ xv830000)))) (Succ (Succ xv84000)) (primGEqNatS (Succ xv830000) xv84000))",fontsize=16,color="burlywood",shape="box"];1516[label="xv84000/Succ xv840000",fontsize=10,color="white",style="solid",shape="box"];793 -> 1516[label="",style="solid", color="burlywood", weight=9]; 1516 -> 809[label="",style="solid", color="burlywood", weight=3]; 1517[label="xv84000/Zero",fontsize=10,color="white",style="solid",shape="box"];793 -> 1517[label="",style="solid", color="burlywood", weight=9]; 1517 -> 810[label="",style="solid", color="burlywood", weight=3]; 794[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ Zero))) (Succ (Succ xv84000)) (primGEqNatS Zero xv84000))",fontsize=16,color="burlywood",shape="box"];1518[label="xv84000/Succ xv840000",fontsize=10,color="white",style="solid",shape="box"];794 -> 1518[label="",style="solid", color="burlywood", weight=9]; 1518 -> 811[label="",style="solid", color="burlywood", weight=3]; 1519[label="xv84000/Zero",fontsize=10,color="white",style="solid",shape="box"];794 -> 1519[label="",style="solid", color="burlywood", weight=9]; 1519 -> 812[label="",style="solid", color="burlywood", weight=3]; 795[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ (Succ xv83000))) (Succ (Succ Zero))) (Succ (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];795 -> 813[label="",style="solid", color="black", weight=3]; 796 -> 969[label="",style="dashed", color="red", weight=0]; 796[label="primPlusNat (Succ xv81) (Succ (Succ (Succ Zero)))",fontsize=16,color="magenta"];796 -> 974[label="",style="dashed", color="magenta", weight=3]; 796 -> 975[label="",style="dashed", color="magenta", weight=3]; 797[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ Zero)) (Succ (Succ Zero))) (Succ (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];797 -> 815[label="",style="solid", color="black", weight=3]; 798[label="Succ Zero",fontsize=16,color="green",shape="box"];799[label="xv8300",fontsize=16,color="green",shape="box"];802[label="Succ Zero",fontsize=16,color="green",shape="box"];803[label="xv81",fontsize=16,color="green",shape="box"];1051[label="Succ (Succ (primPlusNat xv1100 xv1110))",fontsize=16,color="green",shape="box"];1051 -> 1069[label="",style="dashed", color="green", weight=3]; 1052[label="Succ xv1100",fontsize=16,color="green",shape="box"];1053[label="Succ xv1110",fontsize=16,color="green",shape="box"];1054[label="Zero",fontsize=16,color="green",shape="box"];809[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ xv830000)))) (Succ (Succ (Succ xv840000))) (primGEqNatS (Succ xv830000) (Succ xv840000)))",fontsize=16,color="black",shape="box"];809 -> 854[label="",style="solid", color="black", weight=3]; 810[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ xv830000)))) (Succ (Succ Zero)) (primGEqNatS (Succ xv830000) Zero))",fontsize=16,color="black",shape="box"];810 -> 855[label="",style="solid", color="black", weight=3]; 811[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ Zero))) (Succ (Succ (Succ xv840000))) (primGEqNatS Zero (Succ xv840000)))",fontsize=16,color="black",shape="box"];811 -> 856[label="",style="solid", color="black", weight=3]; 812[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ Zero))) (Succ (Succ Zero)) (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];812 -> 857[label="",style="solid", color="black", weight=3]; 813[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ xv83000)) (Succ Zero)) (Succ (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];813 -> 858[label="",style="solid", color="black", weight=3]; 974[label="xv81",fontsize=16,color="green",shape="box"];975[label="Succ (Succ Zero)",fontsize=16,color="green",shape="box"];815[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ Zero) (Succ Zero)) (Succ (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];815 -> 860[label="",style="solid", color="black", weight=3]; 1069 -> 1000[label="",style="dashed", color="red", weight=0]; 1069[label="primPlusNat xv1100 xv1110",fontsize=16,color="magenta"];1069 -> 1087[label="",style="dashed", color="magenta", weight=3]; 1069 -> 1088[label="",style="dashed", color="magenta", weight=3]; 854[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ xv830000)))) (Succ (Succ (Succ xv840000))) (primGEqNatS xv830000 xv840000))",fontsize=16,color="burlywood",shape="box"];1520[label="xv830000/Succ xv8300000",fontsize=10,color="white",style="solid",shape="box"];854 -> 1520[label="",style="solid", color="burlywood", weight=9]; 1520 -> 866[label="",style="solid", color="burlywood", weight=3]; 1521[label="xv830000/Zero",fontsize=10,color="white",style="solid",shape="box"];854 -> 1521[label="",style="solid", color="burlywood", weight=9]; 1521 -> 867[label="",style="solid", color="burlywood", weight=3]; 855[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ xv830000)))) (Succ (Succ Zero)) MyTrue)",fontsize=16,color="black",shape="box"];855 -> 868[label="",style="solid", color="black", weight=3]; 856[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ Zero))) (Succ (Succ (Succ xv840000))) MyFalse)",fontsize=16,color="black",shape="box"];856 -> 869[label="",style="solid", color="black", weight=3]; 857[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ Zero))) (Succ (Succ Zero)) MyTrue)",fontsize=16,color="black",shape="box"];857 -> 870[label="",style="solid", color="black", weight=3]; 858[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ xv83000) Zero) (Succ (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];858 -> 871[label="",style="solid", color="black", weight=3]; 860[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS Zero Zero) (Succ (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];860 -> 874[label="",style="solid", color="black", weight=3]; 1087[label="xv1100",fontsize=16,color="green",shape="box"];1088[label="xv1110",fontsize=16,color="green",shape="box"];866[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ xv8300000))))) (Succ (Succ (Succ xv840000))) (primGEqNatS (Succ xv8300000) xv840000))",fontsize=16,color="burlywood",shape="box"];1522[label="xv840000/Succ xv8400000",fontsize=10,color="white",style="solid",shape="box"];866 -> 1522[label="",style="solid", color="burlywood", weight=9]; 1522 -> 880[label="",style="solid", color="burlywood", weight=3]; 1523[label="xv840000/Zero",fontsize=10,color="white",style="solid",shape="box"];866 -> 1523[label="",style="solid", color="burlywood", weight=9]; 1523 -> 881[label="",style="solid", color="burlywood", weight=3]; 867[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ xv840000))) (primGEqNatS Zero xv840000))",fontsize=16,color="burlywood",shape="box"];1524[label="xv840000/Succ xv8400000",fontsize=10,color="white",style="solid",shape="box"];867 -> 1524[label="",style="solid", color="burlywood", weight=9]; 1524 -> 882[label="",style="solid", color="burlywood", weight=3]; 1525[label="xv840000/Zero",fontsize=10,color="white",style="solid",shape="box"];867 -> 1525[label="",style="solid", color="burlywood", weight=9]; 1525 -> 883[label="",style="solid", color="burlywood", weight=3]; 868[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ (Succ (Succ xv830000)))) (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];868 -> 884[label="",style="solid", color="black", weight=3]; 869 -> 969[label="",style="dashed", color="red", weight=0]; 869[label="primPlusNat (Succ xv81) (Succ (Succ (Succ (Succ Zero))))",fontsize=16,color="magenta"];869 -> 976[label="",style="dashed", color="magenta", weight=3]; 869 -> 977[label="",style="dashed", color="magenta", weight=3]; 870[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ (Succ Zero))) (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];870 -> 886[label="",style="solid", color="black", weight=3]; 871 -> 619[label="",style="dashed", color="red", weight=0]; 871[label="primPlusNat (Succ xv81) (primModNatS (Succ xv83000) (Succ (Succ (Succ Zero))))",fontsize=16,color="magenta"];871 -> 887[label="",style="dashed", color="magenta", weight=3]; 871 -> 888[label="",style="dashed", color="magenta", weight=3]; 874 -> 405[label="",style="dashed", color="red", weight=0]; 874[label="primPlusNat (Succ xv81) (primModNatS Zero (Succ (Succ (Succ Zero))))",fontsize=16,color="magenta"];874 -> 891[label="",style="dashed", color="magenta", weight=3]; 874 -> 892[label="",style="dashed", color="magenta", weight=3]; 880[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ xv8300000))))) (Succ (Succ (Succ (Succ xv8400000)))) (primGEqNatS (Succ xv8300000) (Succ xv8400000)))",fontsize=16,color="black",shape="box"];880 -> 897[label="",style="solid", color="black", weight=3]; 881[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ xv8300000))))) (Succ (Succ (Succ Zero))) (primGEqNatS (Succ xv8300000) Zero))",fontsize=16,color="black",shape="box"];881 -> 898[label="",style="solid", color="black", weight=3]; 882[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ xv8400000)))) (primGEqNatS Zero (Succ xv8400000)))",fontsize=16,color="black",shape="box"];882 -> 899[label="",style="solid", color="black", weight=3]; 883[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ Zero))) (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];883 -> 900[label="",style="solid", color="black", weight=3]; 884[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ (Succ xv830000))) (Succ (Succ Zero))) (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];884 -> 901[label="",style="solid", color="black", weight=3]; 976[label="xv81",fontsize=16,color="green",shape="box"];977[label="Succ (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];886[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ Zero)) (Succ (Succ Zero))) (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];886 -> 903[label="",style="solid", color="black", weight=3]; 887[label="Succ (Succ Zero)",fontsize=16,color="green",shape="box"];888[label="xv83000",fontsize=16,color="green",shape="box"];891[label="Succ (Succ Zero)",fontsize=16,color="green",shape="box"];892[label="xv81",fontsize=16,color="green",shape="box"];897[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ xv8300000))))) (Succ (Succ (Succ (Succ xv8400000)))) (primGEqNatS xv8300000 xv8400000))",fontsize=16,color="burlywood",shape="box"];1526[label="xv8300000/Succ xv83000000",fontsize=10,color="white",style="solid",shape="box"];897 -> 1526[label="",style="solid", color="burlywood", weight=9]; 1526 -> 906[label="",style="solid", color="burlywood", weight=3]; 1527[label="xv8300000/Zero",fontsize=10,color="white",style="solid",shape="box"];897 -> 1527[label="",style="solid", color="burlywood", weight=9]; 1527 -> 907[label="",style="solid", color="burlywood", weight=3]; 898[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ xv8300000))))) (Succ (Succ (Succ Zero))) MyTrue)",fontsize=16,color="black",shape="box"];898 -> 908[label="",style="solid", color="black", weight=3]; 899[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ xv8400000)))) MyFalse)",fontsize=16,color="black",shape="box"];899 -> 909[label="",style="solid", color="black", weight=3]; 900[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ Zero))) MyTrue)",fontsize=16,color="black",shape="box"];900 -> 910[label="",style="solid", color="black", weight=3]; 901[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ xv830000)) (Succ Zero)) (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];901 -> 911[label="",style="solid", color="black", weight=3]; 903[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ Zero) (Succ Zero)) (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];903 -> 914[label="",style="solid", color="black", weight=3]; 906[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ xv83000000)))))) (Succ (Succ (Succ (Succ xv8400000)))) (primGEqNatS (Succ xv83000000) xv8400000))",fontsize=16,color="burlywood",shape="box"];1528[label="xv8400000/Succ xv84000000",fontsize=10,color="white",style="solid",shape="box"];906 -> 1528[label="",style="solid", color="burlywood", weight=9]; 1528 -> 917[label="",style="solid", color="burlywood", weight=3]; 1529[label="xv8400000/Zero",fontsize=10,color="white",style="solid",shape="box"];906 -> 1529[label="",style="solid", color="burlywood", weight=9]; 1529 -> 918[label="",style="solid", color="burlywood", weight=3]; 907[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ Zero))))) (Succ (Succ (Succ (Succ xv8400000)))) (primGEqNatS Zero xv8400000))",fontsize=16,color="burlywood",shape="box"];1530[label="xv8400000/Succ xv84000000",fontsize=10,color="white",style="solid",shape="box"];907 -> 1530[label="",style="solid", color="burlywood", weight=9]; 1530 -> 919[label="",style="solid", color="burlywood", weight=3]; 1531[label="xv8400000/Zero",fontsize=10,color="white",style="solid",shape="box"];907 -> 1531[label="",style="solid", color="burlywood", weight=9]; 1531 -> 920[label="",style="solid", color="burlywood", weight=3]; 908[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ (Succ (Succ (Succ xv8300000))))) (Succ (Succ (Succ (Succ Zero))))) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];908 -> 921[label="",style="solid", color="black", weight=3]; 909 -> 969[label="",style="dashed", color="red", weight=0]; 909[label="primPlusNat (Succ xv81) (Succ (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="magenta"];909 -> 978[label="",style="dashed", color="magenta", weight=3]; 909 -> 979[label="",style="dashed", color="magenta", weight=3]; 910[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero))))) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];910 -> 923[label="",style="solid", color="black", weight=3]; 911[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ xv830000) Zero) (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];911 -> 924[label="",style="solid", color="black", weight=3]; 914[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS Zero Zero) (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];914 -> 927[label="",style="solid", color="black", weight=3]; 917[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ xv83000000)))))) (Succ (Succ (Succ (Succ (Succ xv84000000))))) (primGEqNatS (Succ xv83000000) (Succ xv84000000)))",fontsize=16,color="black",shape="box"];917 -> 930[label="",style="solid", color="black", weight=3]; 918[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ xv83000000)))))) (Succ (Succ (Succ (Succ Zero)))) (primGEqNatS (Succ xv83000000) Zero))",fontsize=16,color="black",shape="box"];918 -> 931[label="",style="solid", color="black", weight=3]; 919[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ Zero))))) (Succ (Succ (Succ (Succ (Succ xv84000000))))) (primGEqNatS Zero (Succ xv84000000)))",fontsize=16,color="black",shape="box"];919 -> 932[label="",style="solid", color="black", weight=3]; 920[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ Zero))))) (Succ (Succ (Succ (Succ Zero)))) (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];920 -> 933[label="",style="solid", color="black", weight=3]; 921[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ (Succ (Succ xv8300000)))) (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];921 -> 934[label="",style="solid", color="black", weight=3]; 978[label="xv81",fontsize=16,color="green",shape="box"];979[label="Succ (Succ (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];923[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ (Succ Zero))) (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];923 -> 936[label="",style="solid", color="black", weight=3]; 924 -> 619[label="",style="dashed", color="red", weight=0]; 924[label="primPlusNat (Succ xv81) (primModNatS (Succ xv830000) (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="magenta"];924 -> 937[label="",style="dashed", color="magenta", weight=3]; 924 -> 938[label="",style="dashed", color="magenta", weight=3]; 927 -> 405[label="",style="dashed", color="red", weight=0]; 927[label="primPlusNat (Succ xv81) (primModNatS Zero (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="magenta"];927 -> 940[label="",style="dashed", color="magenta", weight=3]; 927 -> 941[label="",style="dashed", color="magenta", weight=3]; 930[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ xv83000000)))))) (Succ (Succ (Succ (Succ (Succ xv84000000))))) (primGEqNatS xv83000000 xv84000000))",fontsize=16,color="burlywood",shape="box"];1532[label="xv83000000/Succ xv830000000",fontsize=10,color="white",style="solid",shape="box"];930 -> 1532[label="",style="solid", color="burlywood", weight=9]; 1532 -> 946[label="",style="solid", color="burlywood", weight=3]; 1533[label="xv83000000/Zero",fontsize=10,color="white",style="solid",shape="box"];930 -> 1533[label="",style="solid", color="burlywood", weight=9]; 1533 -> 947[label="",style="solid", color="burlywood", weight=3]; 931 -> 950[label="",style="dashed", color="red", weight=0]; 931[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ xv83000000)))))) (Succ (Succ (Succ (Succ Zero)))) MyTrue)",fontsize=16,color="magenta"];931 -> 951[label="",style="dashed", color="magenta", weight=3]; 931 -> 952[label="",style="dashed", color="magenta", weight=3]; 932[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ Zero))))) (Succ (Succ (Succ (Succ (Succ xv84000000))))) MyFalse)",fontsize=16,color="black",shape="box"];932 -> 949[label="",style="solid", color="black", weight=3]; 933 -> 950[label="",style="dashed", color="red", weight=0]; 933[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ Zero))))) (Succ (Succ (Succ (Succ Zero)))) MyTrue)",fontsize=16,color="magenta"];933 -> 953[label="",style="dashed", color="magenta", weight=3]; 933 -> 954[label="",style="dashed", color="magenta", weight=3]; 934[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ (Succ xv8300000))) (Succ (Succ Zero))) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];934 -> 959[label="",style="solid", color="black", weight=3]; 936[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ Zero)) (Succ (Succ Zero))) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];936 -> 962[label="",style="solid", color="black", weight=3]; 937[label="Succ (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];938[label="xv830000",fontsize=16,color="green",shape="box"];940[label="Succ (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];941[label="xv81",fontsize=16,color="green",shape="box"];946[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv830000000))))))) (Succ (Succ (Succ (Succ (Succ xv84000000))))) (primGEqNatS (Succ xv830000000) xv84000000))",fontsize=16,color="burlywood",shape="box"];1534[label="xv84000000/Succ xv840000000",fontsize=10,color="white",style="solid",shape="box"];946 -> 1534[label="",style="solid", color="burlywood", weight=9]; 1534 -> 964[label="",style="solid", color="burlywood", weight=3]; 1535[label="xv84000000/Zero",fontsize=10,color="white",style="solid",shape="box"];946 -> 1535[label="",style="solid", color="burlywood", weight=9]; 1535 -> 965[label="",style="solid", color="burlywood", weight=3]; 947[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) (Succ (Succ (Succ (Succ (Succ xv84000000))))) (primGEqNatS Zero xv84000000))",fontsize=16,color="burlywood",shape="box"];1536[label="xv84000000/Succ xv840000000",fontsize=10,color="white",style="solid",shape="box"];947 -> 1536[label="",style="solid", color="burlywood", weight=9]; 1536 -> 966[label="",style="solid", color="burlywood", weight=3]; 1537[label="xv84000000/Zero",fontsize=10,color="white",style="solid",shape="box"];947 -> 1537[label="",style="solid", color="burlywood", weight=9]; 1537 -> 967[label="",style="solid", color="burlywood", weight=3]; 951[label="Succ (Succ (Succ (Succ (Succ xv83000000))))",fontsize=16,color="green",shape="box"];952[label="xv81",fontsize=16,color="green",shape="box"];950[label="primPlusNat (Succ xv107) (primModNatS0 (Succ xv108) (Succ (Succ (Succ (Succ Zero)))) MyTrue)",fontsize=16,color="black",shape="triangle"];950 -> 968[label="",style="solid", color="black", weight=3]; 949 -> 969[label="",style="dashed", color="red", weight=0]; 949[label="primPlusNat (Succ xv81) (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="magenta"];949 -> 980[label="",style="dashed", color="magenta", weight=3]; 949 -> 981[label="",style="dashed", color="magenta", weight=3]; 953[label="Succ (Succ (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];954[label="xv81",fontsize=16,color="green",shape="box"];959[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ xv8300000)) (Succ Zero)) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];959 -> 989[label="",style="solid", color="black", weight=3]; 962[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ Zero) (Succ Zero)) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];962 -> 990[label="",style="solid", color="black", weight=3]; 964[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv830000000))))))) (Succ (Succ (Succ (Succ (Succ (Succ xv840000000)))))) (primGEqNatS (Succ xv830000000) (Succ xv840000000)))",fontsize=16,color="black",shape="box"];964 -> 991[label="",style="solid", color="black", weight=3]; 965[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv830000000))))))) (Succ (Succ (Succ (Succ (Succ Zero))))) (primGEqNatS (Succ xv830000000) Zero))",fontsize=16,color="black",shape="box"];965 -> 992[label="",style="solid", color="black", weight=3]; 966[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) (Succ (Succ (Succ (Succ (Succ (Succ xv840000000)))))) (primGEqNatS Zero (Succ xv840000000)))",fontsize=16,color="black",shape="box"];966 -> 993[label="",style="solid", color="black", weight=3]; 967[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) (Succ (Succ (Succ (Succ (Succ Zero))))) (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];967 -> 994[label="",style="solid", color="black", weight=3]; 968[label="primPlusNat (Succ xv107) (primModNatS (primMinusNatS (Succ xv108) (Succ (Succ (Succ (Succ (Succ Zero)))))) (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))",fontsize=16,color="black",shape="box"];968 -> 995[label="",style="solid", color="black", weight=3]; 980[label="xv81",fontsize=16,color="green",shape="box"];981[label="Succ (Succ (Succ (Succ (Succ Zero))))",fontsize=16,color="green",shape="box"];989[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ xv8300000) Zero) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];989 -> 1001[label="",style="solid", color="black", weight=3]; 990[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS Zero Zero) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];990 -> 1002[label="",style="solid", color="black", weight=3]; 991[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv830000000))))))) (Succ (Succ (Succ (Succ (Succ (Succ xv840000000)))))) (primGEqNatS xv830000000 xv840000000))",fontsize=16,color="burlywood",shape="box"];1538[label="xv830000000/Succ xv8300000000",fontsize=10,color="white",style="solid",shape="box"];991 -> 1538[label="",style="solid", color="burlywood", weight=9]; 1538 -> 1003[label="",style="solid", color="burlywood", weight=3]; 1539[label="xv830000000/Zero",fontsize=10,color="white",style="solid",shape="box"];991 -> 1539[label="",style="solid", color="burlywood", weight=9]; 1539 -> 1004[label="",style="solid", color="burlywood", weight=3]; 992 -> 1007[label="",style="dashed", color="red", weight=0]; 992[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv830000000))))))) (Succ (Succ (Succ (Succ (Succ Zero))))) MyTrue)",fontsize=16,color="magenta"];992 -> 1008[label="",style="dashed", color="magenta", weight=3]; 992 -> 1009[label="",style="dashed", color="magenta", weight=3]; 993[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) (Succ (Succ (Succ (Succ (Succ (Succ xv840000000)))))) MyFalse)",fontsize=16,color="black",shape="box"];993 -> 1006[label="",style="solid", color="black", weight=3]; 994 -> 1007[label="",style="dashed", color="red", weight=0]; 994[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) (Succ (Succ (Succ (Succ (Succ Zero))))) MyTrue)",fontsize=16,color="magenta"];994 -> 1010[label="",style="dashed", color="magenta", weight=3]; 994 -> 1011[label="",style="dashed", color="magenta", weight=3]; 995 -> 1000[label="",style="dashed", color="red", weight=0]; 995[label="primPlusNat (Succ xv107) (primModNatS (primMinusNatS xv108 (Succ (Succ (Succ (Succ Zero))))) (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))",fontsize=16,color="magenta"];995 -> 1018[label="",style="dashed", color="magenta", weight=3]; 995 -> 1019[label="",style="dashed", color="magenta", weight=3]; 1001 -> 1000[label="",style="dashed", color="red", weight=0]; 1001[label="primPlusNat (Succ xv81) (primModNatS (Succ xv8300000) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="magenta"];1001 -> 1020[label="",style="dashed", color="magenta", weight=3]; 1001 -> 1021[label="",style="dashed", color="magenta", weight=3]; 1002 -> 1000[label="",style="dashed", color="red", weight=0]; 1002[label="primPlusNat (Succ xv81) (primModNatS Zero (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="magenta"];1002 -> 1022[label="",style="dashed", color="magenta", weight=3]; 1002 -> 1023[label="",style="dashed", color="magenta", weight=3]; 1003[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8300000000)))))))) (Succ (Succ (Succ (Succ (Succ (Succ xv840000000)))))) (primGEqNatS (Succ xv8300000000) xv840000000))",fontsize=16,color="burlywood",shape="box"];1540[label="xv840000000/Succ xv8400000000",fontsize=10,color="white",style="solid",shape="box"];1003 -> 1540[label="",style="solid", color="burlywood", weight=9]; 1540 -> 1024[label="",style="solid", color="burlywood", weight=3]; 1541[label="xv840000000/Zero",fontsize=10,color="white",style="solid",shape="box"];1003 -> 1541[label="",style="solid", color="burlywood", weight=9]; 1541 -> 1025[label="",style="solid", color="burlywood", weight=3]; 1004[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) (Succ (Succ (Succ (Succ (Succ (Succ xv840000000)))))) (primGEqNatS Zero xv840000000))",fontsize=16,color="burlywood",shape="box"];1542[label="xv840000000/Succ xv8400000000",fontsize=10,color="white",style="solid",shape="box"];1004 -> 1542[label="",style="solid", color="burlywood", weight=9]; 1542 -> 1026[label="",style="solid", color="burlywood", weight=3]; 1543[label="xv840000000/Zero",fontsize=10,color="white",style="solid",shape="box"];1004 -> 1543[label="",style="solid", color="burlywood", weight=9]; 1543 -> 1027[label="",style="solid", color="burlywood", weight=3]; 1008[label="Succ (Succ (Succ (Succ (Succ (Succ xv830000000)))))",fontsize=16,color="green",shape="box"];1009[label="xv81",fontsize=16,color="green",shape="box"];1007 -> 1000[label="",style="dashed", color="red", weight=0]; 1007[label="primPlusNat (Succ xv113) (primModNatS0 (Succ xv114) (Succ (Succ (Succ (Succ (Succ Zero))))) MyTrue)",fontsize=16,color="magenta"];1007 -> 1028[label="",style="dashed", color="magenta", weight=3]; 1007 -> 1029[label="",style="dashed", color="magenta", weight=3]; 1006 -> 1000[label="",style="dashed", color="red", weight=0]; 1006[label="primPlusNat (Succ xv81) (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))",fontsize=16,color="magenta"];1006 -> 1030[label="",style="dashed", color="magenta", weight=3]; 1006 -> 1031[label="",style="dashed", color="magenta", weight=3]; 1010[label="Succ (Succ (Succ (Succ (Succ Zero))))",fontsize=16,color="green",shape="box"];1011[label="xv81",fontsize=16,color="green",shape="box"];1018[label="Succ xv107",fontsize=16,color="green",shape="box"];1019 -> 1397[label="",style="dashed", color="red", weight=0]; 1019[label="primModNatS (primMinusNatS xv108 (Succ (Succ (Succ (Succ Zero))))) (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="magenta"];1019 -> 1398[label="",style="dashed", color="magenta", weight=3]; 1019 -> 1399[label="",style="dashed", color="magenta", weight=3]; 1019 -> 1400[label="",style="dashed", color="magenta", weight=3]; 1020[label="Succ xv81",fontsize=16,color="green",shape="box"];1021 -> 1044[label="",style="dashed", color="red", weight=0]; 1021[label="primModNatS (Succ xv8300000) (Succ (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="magenta"];1021 -> 1045[label="",style="dashed", color="magenta", weight=3]; 1021 -> 1046[label="",style="dashed", color="magenta", weight=3]; 1022[label="Succ xv81",fontsize=16,color="green",shape="box"];1023 -> 1091[label="",style="dashed", color="red", weight=0]; 1023[label="primModNatS Zero (Succ (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="magenta"];1023 -> 1092[label="",style="dashed", color="magenta", weight=3]; 1024[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8300000000)))))))) (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8400000000))))))) (primGEqNatS (Succ xv8300000000) (Succ xv8400000000)))",fontsize=16,color="black",shape="box"];1024 -> 1056[label="",style="solid", color="black", weight=3]; 1025[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8300000000)))))))) (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) (primGEqNatS (Succ xv8300000000) Zero))",fontsize=16,color="black",shape="box"];1025 -> 1057[label="",style="solid", color="black", weight=3]; 1026[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8400000000))))))) (primGEqNatS Zero (Succ xv8400000000)))",fontsize=16,color="black",shape="box"];1026 -> 1058[label="",style="solid", color="black", weight=3]; 1027[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];1027 -> 1059[label="",style="solid", color="black", weight=3]; 1028[label="Succ xv113",fontsize=16,color="green",shape="box"];1029 -> 1200[label="",style="dashed", color="red", weight=0]; 1029[label="primModNatS0 (Succ xv114) (Succ (Succ (Succ (Succ (Succ Zero))))) MyTrue",fontsize=16,color="magenta"];1029 -> 1201[label="",style="dashed", color="magenta", weight=3]; 1029 -> 1202[label="",style="dashed", color="magenta", weight=3]; 1030[label="Succ xv81",fontsize=16,color="green",shape="box"];1031[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="green",shape="box"];1398[label="Succ (Succ (Succ (Succ (Succ Zero))))",fontsize=16,color="green",shape="box"];1399[label="Succ (Succ (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];1400[label="xv108",fontsize=16,color="green",shape="box"];1397[label="primModNatS (primMinusNatS xv155 xv156) (Succ xv157)",fontsize=16,color="burlywood",shape="triangle"];1544[label="xv155/Succ xv1550",fontsize=10,color="white",style="solid",shape="box"];1397 -> 1544[label="",style="solid", color="burlywood", weight=9]; 1544 -> 1440[label="",style="solid", color="burlywood", weight=3]; 1545[label="xv155/Zero",fontsize=10,color="white",style="solid",shape="box"];1397 -> 1545[label="",style="solid", color="burlywood", weight=9]; 1545 -> 1441[label="",style="solid", color="burlywood", weight=3]; 1045[label="Succ (Succ (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];1046[label="xv8300000",fontsize=16,color="green",shape="box"];1044[label="primModNatS (Succ xv116) (Succ xv117)",fontsize=16,color="burlywood",shape="triangle"];1546[label="xv117/Succ xv1170",fontsize=10,color="white",style="solid",shape="box"];1044 -> 1546[label="",style="solid", color="burlywood", weight=9]; 1546 -> 1063[label="",style="solid", color="burlywood", weight=3]; 1547[label="xv117/Zero",fontsize=10,color="white",style="solid",shape="box"];1044 -> 1547[label="",style="solid", color="burlywood", weight=9]; 1547 -> 1064[label="",style="solid", color="burlywood", weight=3]; 1092[label="Succ (Succ (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];1091[label="primModNatS Zero (Succ xv122)",fontsize=16,color="black",shape="triangle"];1091 -> 1098[label="",style="solid", color="black", weight=3]; 1056 -> 1000[label="",style="dashed", color="red", weight=0]; 1056[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8300000000)))))))) (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8400000000))))))) (primGEqNatS xv8300000000 xv8400000000))",fontsize=16,color="magenta"];1056 -> 1070[label="",style="dashed", color="magenta", weight=3]; 1056 -> 1071[label="",style="dashed", color="magenta", weight=3]; 1057 -> 1000[label="",style="dashed", color="red", weight=0]; 1057[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8300000000)))))))) (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) MyTrue)",fontsize=16,color="magenta"];1057 -> 1072[label="",style="dashed", color="magenta", weight=3]; 1057 -> 1073[label="",style="dashed", color="magenta", weight=3]; 1058 -> 1000[label="",style="dashed", color="red", weight=0]; 1058[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8400000000))))))) MyFalse)",fontsize=16,color="magenta"];1058 -> 1074[label="",style="dashed", color="magenta", weight=3]; 1058 -> 1075[label="",style="dashed", color="magenta", weight=3]; 1059 -> 1000[label="",style="dashed", color="red", weight=0]; 1059[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) MyTrue)",fontsize=16,color="magenta"];1059 -> 1076[label="",style="dashed", color="magenta", weight=3]; 1059 -> 1077[label="",style="dashed", color="magenta", weight=3]; 1201[label="Succ (Succ (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];1202[label="xv114",fontsize=16,color="green",shape="box"];1200[label="primModNatS0 (Succ xv139) (Succ xv140) MyTrue",fontsize=16,color="black",shape="triangle"];1200 -> 1219[label="",style="solid", color="black", weight=3]; 1440[label="primModNatS (primMinusNatS (Succ xv1550) xv156) (Succ xv157)",fontsize=16,color="burlywood",shape="box"];1548[label="xv156/Succ xv1560",fontsize=10,color="white",style="solid",shape="box"];1440 -> 1548[label="",style="solid", color="burlywood", weight=9]; 1548 -> 1442[label="",style="solid", color="burlywood", weight=3]; 1549[label="xv156/Zero",fontsize=10,color="white",style="solid",shape="box"];1440 -> 1549[label="",style="solid", color="burlywood", weight=9]; 1549 -> 1443[label="",style="solid", color="burlywood", weight=3]; 1441[label="primModNatS (primMinusNatS Zero xv156) (Succ xv157)",fontsize=16,color="burlywood",shape="box"];1550[label="xv156/Succ xv1560",fontsize=10,color="white",style="solid",shape="box"];1441 -> 1550[label="",style="solid", color="burlywood", weight=9]; 1550 -> 1444[label="",style="solid", color="burlywood", weight=3]; 1551[label="xv156/Zero",fontsize=10,color="white",style="solid",shape="box"];1441 -> 1551[label="",style="solid", color="burlywood", weight=9]; 1551 -> 1445[label="",style="solid", color="burlywood", weight=3]; 1063[label="primModNatS (Succ xv116) (Succ (Succ xv1170))",fontsize=16,color="black",shape="box"];1063 -> 1099[label="",style="solid", color="black", weight=3]; 1064[label="primModNatS (Succ xv116) (Succ Zero)",fontsize=16,color="black",shape="box"];1064 -> 1100[label="",style="solid", color="black", weight=3]; 1098[label="Zero",fontsize=16,color="green",shape="box"];1070[label="Succ xv81",fontsize=16,color="green",shape="box"];1071 -> 1302[label="",style="dashed", color="red", weight=0]; 1071[label="primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8300000000)))))))) (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8400000000))))))) (primGEqNatS xv8300000000 xv8400000000)",fontsize=16,color="magenta"];1071 -> 1303[label="",style="dashed", color="magenta", weight=3]; 1071 -> 1304[label="",style="dashed", color="magenta", weight=3]; 1071 -> 1305[label="",style="dashed", color="magenta", weight=3]; 1071 -> 1306[label="",style="dashed", color="magenta", weight=3]; 1072[label="Succ xv81",fontsize=16,color="green",shape="box"];1073 -> 1200[label="",style="dashed", color="red", weight=0]; 1073[label="primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8300000000)))))))) (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) MyTrue",fontsize=16,color="magenta"];1073 -> 1203[label="",style="dashed", color="magenta", weight=3]; 1073 -> 1204[label="",style="dashed", color="magenta", weight=3]; 1074[label="Succ xv81",fontsize=16,color="green",shape="box"];1075 -> 1110[label="",style="dashed", color="red", weight=0]; 1075[label="primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8400000000))))))) MyFalse",fontsize=16,color="magenta"];1075 -> 1111[label="",style="dashed", color="magenta", weight=3]; 1076[label="Succ xv81",fontsize=16,color="green",shape="box"];1077 -> 1200[label="",style="dashed", color="red", weight=0]; 1077[label="primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) MyTrue",fontsize=16,color="magenta"];1077 -> 1205[label="",style="dashed", color="magenta", weight=3]; 1077 -> 1206[label="",style="dashed", color="magenta", weight=3]; 1219 -> 1397[label="",style="dashed", color="red", weight=0]; 1219[label="primModNatS (primMinusNatS (Succ xv139) (Succ (Succ xv140))) (Succ (Succ (Succ xv140)))",fontsize=16,color="magenta"];1219 -> 1404[label="",style="dashed", color="magenta", weight=3]; 1219 -> 1405[label="",style="dashed", color="magenta", weight=3]; 1219 -> 1406[label="",style="dashed", color="magenta", weight=3]; 1442[label="primModNatS (primMinusNatS (Succ xv1550) (Succ xv1560)) (Succ xv157)",fontsize=16,color="black",shape="box"];1442 -> 1446[label="",style="solid", color="black", weight=3]; 1443[label="primModNatS (primMinusNatS (Succ xv1550) Zero) (Succ xv157)",fontsize=16,color="black",shape="box"];1443 -> 1447[label="",style="solid", color="black", weight=3]; 1444[label="primModNatS (primMinusNatS Zero (Succ xv1560)) (Succ xv157)",fontsize=16,color="black",shape="box"];1444 -> 1448[label="",style="solid", color="black", weight=3]; 1445[label="primModNatS (primMinusNatS Zero Zero) (Succ xv157)",fontsize=16,color="black",shape="box"];1445 -> 1449[label="",style="solid", color="black", weight=3]; 1099[label="primModNatS0 xv116 xv1170 (primGEqNatS xv116 (Succ xv1170))",fontsize=16,color="burlywood",shape="box"];1552[label="xv116/Succ xv1160",fontsize=10,color="white",style="solid",shape="box"];1099 -> 1552[label="",style="solid", color="burlywood", weight=9]; 1552 -> 1121[label="",style="solid", color="burlywood", weight=3]; 1553[label="xv116/Zero",fontsize=10,color="white",style="solid",shape="box"];1099 -> 1553[label="",style="solid", color="burlywood", weight=9]; 1553 -> 1122[label="",style="solid", color="burlywood", weight=3]; 1100[label="Zero",fontsize=16,color="green",shape="box"];1303[label="xv8300000000",fontsize=16,color="green",shape="box"];1304[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8300000000))))))",fontsize=16,color="green",shape="box"];1305[label="Succ (Succ (Succ (Succ (Succ (Succ xv8400000000)))))",fontsize=16,color="green",shape="box"];1306[label="xv8400000000",fontsize=16,color="green",shape="box"];1302[label="primModNatS0 (Succ xv150) (Succ xv151) (primGEqNatS xv152 xv153)",fontsize=16,color="burlywood",shape="triangle"];1554[label="xv152/Succ xv1520",fontsize=10,color="white",style="solid",shape="box"];1302 -> 1554[label="",style="solid", color="burlywood", weight=9]; 1554 -> 1331[label="",style="solid", color="burlywood", weight=3]; 1555[label="xv152/Zero",fontsize=10,color="white",style="solid",shape="box"];1302 -> 1555[label="",style="solid", color="burlywood", weight=9]; 1555 -> 1332[label="",style="solid", color="burlywood", weight=3]; 1203[label="Succ (Succ (Succ (Succ (Succ Zero))))",fontsize=16,color="green",shape="box"];1204[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8300000000))))))",fontsize=16,color="green",shape="box"];1111[label="Succ (Succ (Succ (Succ (Succ (Succ xv8400000000)))))",fontsize=16,color="green",shape="box"];1110[label="primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) (Succ xv126) MyFalse",fontsize=16,color="black",shape="triangle"];1110 -> 1128[label="",style="solid", color="black", weight=3]; 1205[label="Succ (Succ (Succ (Succ (Succ Zero))))",fontsize=16,color="green",shape="box"];1206[label="Succ (Succ (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="green",shape="box"];1404[label="Succ (Succ xv140)",fontsize=16,color="green",shape="box"];1405[label="Succ (Succ xv140)",fontsize=16,color="green",shape="box"];1406[label="Succ xv139",fontsize=16,color="green",shape="box"];1446 -> 1397[label="",style="dashed", color="red", weight=0]; 1446[label="primModNatS (primMinusNatS xv1550 xv1560) (Succ xv157)",fontsize=16,color="magenta"];1446 -> 1450[label="",style="dashed", color="magenta", weight=3]; 1446 -> 1451[label="",style="dashed", color="magenta", weight=3]; 1447 -> 1044[label="",style="dashed", color="red", weight=0]; 1447[label="primModNatS (Succ xv1550) (Succ xv157)",fontsize=16,color="magenta"];1447 -> 1452[label="",style="dashed", color="magenta", weight=3]; 1447 -> 1453[label="",style="dashed", color="magenta", weight=3]; 1448 -> 1091[label="",style="dashed", color="red", weight=0]; 1448[label="primModNatS Zero (Succ xv157)",fontsize=16,color="magenta"];1448 -> 1454[label="",style="dashed", color="magenta", weight=3]; 1449 -> 1091[label="",style="dashed", color="red", weight=0]; 1449[label="primModNatS Zero (Succ xv157)",fontsize=16,color="magenta"];1449 -> 1455[label="",style="dashed", color="magenta", weight=3]; 1121[label="primModNatS0 (Succ xv1160) xv1170 (primGEqNatS (Succ xv1160) (Succ xv1170))",fontsize=16,color="black",shape="box"];1121 -> 1138[label="",style="solid", color="black", weight=3]; 1122[label="primModNatS0 Zero xv1170 (primGEqNatS Zero (Succ xv1170))",fontsize=16,color="black",shape="box"];1122 -> 1139[label="",style="solid", color="black", weight=3]; 1331[label="primModNatS0 (Succ xv150) (Succ xv151) (primGEqNatS (Succ xv1520) xv153)",fontsize=16,color="burlywood",shape="box"];1556[label="xv153/Succ xv1530",fontsize=10,color="white",style="solid",shape="box"];1331 -> 1556[label="",style="solid", color="burlywood", weight=9]; 1556 -> 1343[label="",style="solid", color="burlywood", weight=3]; 1557[label="xv153/Zero",fontsize=10,color="white",style="solid",shape="box"];1331 -> 1557[label="",style="solid", color="burlywood", weight=9]; 1557 -> 1344[label="",style="solid", color="burlywood", weight=3]; 1332[label="primModNatS0 (Succ xv150) (Succ xv151) (primGEqNatS Zero xv153)",fontsize=16,color="burlywood",shape="box"];1558[label="xv153/Succ xv1530",fontsize=10,color="white",style="solid",shape="box"];1332 -> 1558[label="",style="solid", color="burlywood", weight=9]; 1558 -> 1345[label="",style="solid", color="burlywood", weight=3]; 1559[label="xv153/Zero",fontsize=10,color="white",style="solid",shape="box"];1332 -> 1559[label="",style="solid", color="burlywood", weight=9]; 1559 -> 1346[label="",style="solid", color="burlywood", weight=3]; 1128[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))",fontsize=16,color="green",shape="box"];1450[label="xv1560",fontsize=16,color="green",shape="box"];1451[label="xv1550",fontsize=16,color="green",shape="box"];1452[label="xv157",fontsize=16,color="green",shape="box"];1453[label="xv1550",fontsize=16,color="green",shape="box"];1454[label="xv157",fontsize=16,color="green",shape="box"];1455[label="xv157",fontsize=16,color="green",shape="box"];1138[label="primModNatS0 (Succ xv1160) xv1170 (primGEqNatS xv1160 xv1170)",fontsize=16,color="burlywood",shape="box"];1560[label="xv1160/Succ xv11600",fontsize=10,color="white",style="solid",shape="box"];1138 -> 1560[label="",style="solid", color="burlywood", weight=9]; 1560 -> 1153[label="",style="solid", color="burlywood", weight=3]; 1561[label="xv1160/Zero",fontsize=10,color="white",style="solid",shape="box"];1138 -> 1561[label="",style="solid", color="burlywood", weight=9]; 1561 -> 1154[label="",style="solid", color="burlywood", weight=3]; 1139[label="primModNatS0 Zero xv1170 MyFalse",fontsize=16,color="black",shape="box"];1139 -> 1155[label="",style="solid", color="black", weight=3]; 1343[label="primModNatS0 (Succ xv150) (Succ xv151) (primGEqNatS (Succ xv1520) (Succ xv1530))",fontsize=16,color="black",shape="box"];1343 -> 1354[label="",style="solid", color="black", weight=3]; 1344[label="primModNatS0 (Succ xv150) (Succ xv151) (primGEqNatS (Succ xv1520) Zero)",fontsize=16,color="black",shape="box"];1344 -> 1355[label="",style="solid", color="black", weight=3]; 1345[label="primModNatS0 (Succ xv150) (Succ xv151) (primGEqNatS Zero (Succ xv1530))",fontsize=16,color="black",shape="box"];1345 -> 1356[label="",style="solid", color="black", weight=3]; 1346[label="primModNatS0 (Succ xv150) (Succ xv151) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1346 -> 1357[label="",style="solid", color="black", weight=3]; 1153[label="primModNatS0 (Succ (Succ xv11600)) xv1170 (primGEqNatS (Succ xv11600) xv1170)",fontsize=16,color="burlywood",shape="box"];1562[label="xv1170/Succ xv11700",fontsize=10,color="white",style="solid",shape="box"];1153 -> 1562[label="",style="solid", color="burlywood", weight=9]; 1562 -> 1194[label="",style="solid", color="burlywood", weight=3]; 1563[label="xv1170/Zero",fontsize=10,color="white",style="solid",shape="box"];1153 -> 1563[label="",style="solid", color="burlywood", weight=9]; 1563 -> 1195[label="",style="solid", color="burlywood", weight=3]; 1154[label="primModNatS0 (Succ Zero) xv1170 (primGEqNatS Zero xv1170)",fontsize=16,color="burlywood",shape="box"];1564[label="xv1170/Succ xv11700",fontsize=10,color="white",style="solid",shape="box"];1154 -> 1564[label="",style="solid", color="burlywood", weight=9]; 1564 -> 1196[label="",style="solid", color="burlywood", weight=3]; 1565[label="xv1170/Zero",fontsize=10,color="white",style="solid",shape="box"];1154 -> 1565[label="",style="solid", color="burlywood", weight=9]; 1565 -> 1197[label="",style="solid", color="burlywood", weight=3]; 1155[label="Succ Zero",fontsize=16,color="green",shape="box"];1354 -> 1302[label="",style="dashed", color="red", weight=0]; 1354[label="primModNatS0 (Succ xv150) (Succ xv151) (primGEqNatS xv1520 xv1530)",fontsize=16,color="magenta"];1354 -> 1362[label="",style="dashed", color="magenta", weight=3]; 1354 -> 1363[label="",style="dashed", color="magenta", weight=3]; 1355 -> 1200[label="",style="dashed", color="red", weight=0]; 1355[label="primModNatS0 (Succ xv150) (Succ xv151) MyTrue",fontsize=16,color="magenta"];1355 -> 1364[label="",style="dashed", color="magenta", weight=3]; 1355 -> 1365[label="",style="dashed", color="magenta", weight=3]; 1356[label="primModNatS0 (Succ xv150) (Succ xv151) MyFalse",fontsize=16,color="black",shape="box"];1356 -> 1366[label="",style="solid", color="black", weight=3]; 1357 -> 1200[label="",style="dashed", color="red", weight=0]; 1357[label="primModNatS0 (Succ xv150) (Succ xv151) MyTrue",fontsize=16,color="magenta"];1357 -> 1367[label="",style="dashed", color="magenta", weight=3]; 1357 -> 1368[label="",style="dashed", color="magenta", weight=3]; 1194[label="primModNatS0 (Succ (Succ xv11600)) (Succ xv11700) (primGEqNatS (Succ xv11600) (Succ xv11700))",fontsize=16,color="black",shape="box"];1194 -> 1223[label="",style="solid", color="black", weight=3]; 1195[label="primModNatS0 (Succ (Succ xv11600)) Zero (primGEqNatS (Succ xv11600) Zero)",fontsize=16,color="black",shape="box"];1195 -> 1224[label="",style="solid", color="black", weight=3]; 1196[label="primModNatS0 (Succ Zero) (Succ xv11700) (primGEqNatS Zero (Succ xv11700))",fontsize=16,color="black",shape="box"];1196 -> 1225[label="",style="solid", color="black", weight=3]; 1197[label="primModNatS0 (Succ Zero) Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1197 -> 1226[label="",style="solid", color="black", weight=3]; 1362[label="xv1520",fontsize=16,color="green",shape="box"];1363[label="xv1530",fontsize=16,color="green",shape="box"];1364[label="xv151",fontsize=16,color="green",shape="box"];1365[label="xv150",fontsize=16,color="green",shape="box"];1366[label="Succ (Succ xv150)",fontsize=16,color="green",shape="box"];1367[label="xv151",fontsize=16,color="green",shape="box"];1368[label="xv150",fontsize=16,color="green",shape="box"];1223 -> 1302[label="",style="dashed", color="red", weight=0]; 1223[label="primModNatS0 (Succ (Succ xv11600)) (Succ xv11700) (primGEqNatS xv11600 xv11700)",fontsize=16,color="magenta"];1223 -> 1315[label="",style="dashed", color="magenta", weight=3]; 1223 -> 1316[label="",style="dashed", color="magenta", weight=3]; 1223 -> 1317[label="",style="dashed", color="magenta", weight=3]; 1223 -> 1318[label="",style="dashed", color="magenta", weight=3]; 1224[label="primModNatS0 (Succ (Succ xv11600)) Zero MyTrue",fontsize=16,color="black",shape="box"];1224 -> 1280[label="",style="solid", color="black", weight=3]; 1225[label="primModNatS0 (Succ Zero) (Succ xv11700) MyFalse",fontsize=16,color="black",shape="box"];1225 -> 1281[label="",style="solid", color="black", weight=3]; 1226[label="primModNatS0 (Succ Zero) Zero MyTrue",fontsize=16,color="black",shape="box"];1226 -> 1282[label="",style="solid", color="black", weight=3]; 1315[label="xv11600",fontsize=16,color="green",shape="box"];1316[label="Succ xv11600",fontsize=16,color="green",shape="box"];1317[label="xv11700",fontsize=16,color="green",shape="box"];1318[label="xv11700",fontsize=16,color="green",shape="box"];1280 -> 1397[label="",style="dashed", color="red", weight=0]; 1280[label="primModNatS (primMinusNatS (Succ (Succ xv11600)) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="magenta"];1280 -> 1428[label="",style="dashed", color="magenta", weight=3]; 1280 -> 1429[label="",style="dashed", color="magenta", weight=3]; 1280 -> 1430[label="",style="dashed", color="magenta", weight=3]; 1281[label="Succ (Succ Zero)",fontsize=16,color="green",shape="box"];1282 -> 1397[label="",style="dashed", color="red", weight=0]; 1282[label="primModNatS (primMinusNatS (Succ Zero) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="magenta"];1282 -> 1431[label="",style="dashed", color="magenta", weight=3]; 1282 -> 1432[label="",style="dashed", color="magenta", weight=3]; 1282 -> 1433[label="",style="dashed", color="magenta", weight=3]; 1428[label="Succ Zero",fontsize=16,color="green",shape="box"];1429[label="Succ Zero",fontsize=16,color="green",shape="box"];1430[label="Succ (Succ xv11600)",fontsize=16,color="green",shape="box"];1431[label="Succ Zero",fontsize=16,color="green",shape="box"];1432[label="Succ Zero",fontsize=16,color="green",shape="box"];1433[label="Succ Zero",fontsize=16,color="green",shape="box"];} ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS00(xv150, xv151) new_primModNatS1(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS0(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS0(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS0(xv150, xv151, xv1520, xv1530) new_primModNatS(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS(xv1550, xv1560, xv157) new_primModNatS(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS1(xv1550, xv157) new_primModNatS1(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS00(xv139, xv140) -> new_primModNatS(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS0(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS00(xv150, xv151) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (8) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_primModNatS1(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS0(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS1(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS(xv1550, xv1560, xv157) new_primModNatS1(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Main.Succ(x_1)) = 1 + x_1 POL(Main.Zero) = 0 POL(new_primModNatS(x_1, x_2, x_3)) = x_1 POL(new_primModNatS0(x_1, x_2, x_3, x_4)) = 1 + x_1 POL(new_primModNatS00(x_1, x_2)) = 1 + x_1 POL(new_primModNatS1(x_1, x_2)) = 1 + x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: none ---------------------------------------- (9) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS00(xv150, xv151) new_primModNatS0(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS0(xv150, xv151, xv1520, xv1530) new_primModNatS(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS1(xv1550, xv157) new_primModNatS00(xv139, xv140) -> new_primModNatS(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS0(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS00(xv150, xv151) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (10) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 4 less nodes. ---------------------------------------- (11) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS0(xv150, xv151, xv1520, xv1530) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (12) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_primModNatS0(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS0(xv150, xv151, xv1520, xv1530) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 ---------------------------------------- (13) YES ---------------------------------------- (14) Obligation: Q DP problem: The TRS P consists of the following rules: new_primPlusNat0(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat0(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat0(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat0(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat0(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat0(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (15) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs. ---------------------------------------- (16) Complex Obligation (AND) ---------------------------------------- (17) Obligation: Q DP problem: The TRS P consists of the following rules: new_primPlusNat0(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat0(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (18) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_primPlusNat0(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat0(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 ---------------------------------------- (19) YES ---------------------------------------- (20) Obligation: Q DP problem: The TRS P consists of the following rules: new_primPlusNat0(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat0(xv81, xv8300, Main.Succ(Main.Zero)) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (21) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_primPlusNat0(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat0(xv81, xv8300, Main.Succ(Main.Zero)) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 ---------------------------------------- (22) YES ---------------------------------------- (23) Obligation: Q DP problem: The TRS P consists of the following rules: new_primPlusNat0(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat0(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (24) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_primPlusNat0(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat0(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 ---------------------------------------- (25) YES ---------------------------------------- (26) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS(xv1460, xv1470, xv148) new_primDivNatS1(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS0(xv720, xv730, xv720, xv730) new_primDivNatS0(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS0(xv102, xv103, xv1040, xv1050) new_primDivNatS1(Main.Zero, Main.Zero) -> new_primDivNatS(Main.Zero, Main.Zero, Main.Zero) new_primDivNatS00(xv102, xv103) -> new_primDivNatS(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103)) new_primDivNatS(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS1(xv1460, xv148) new_primDivNatS1(Main.Succ(xv720), Main.Zero) -> new_primDivNatS(Main.Succ(xv720), Main.Zero, Main.Zero) new_primDivNatS0(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103)) new_primDivNatS0(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS00(xv102, xv103) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (27) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (28) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS1(xv1460, xv148) new_primDivNatS1(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS0(xv720, xv730, xv720, xv730) new_primDivNatS0(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS0(xv102, xv103, xv1040, xv1050) new_primDivNatS0(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103)) new_primDivNatS(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS(xv1460, xv1470, xv148) new_primDivNatS0(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS00(xv102, xv103) new_primDivNatS00(xv102, xv103) -> new_primDivNatS(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103)) new_primDivNatS1(Main.Succ(xv720), Main.Zero) -> new_primDivNatS(Main.Succ(xv720), Main.Zero, Main.Zero) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (29) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_primDivNatS(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS1(xv1460, xv148) new_primDivNatS(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS(xv1460, xv1470, xv148) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Main.Succ(x_1)) = 1 + x_1 POL(Main.Zero) = 0 POL(new_primDivNatS(x_1, x_2, x_3)) = x_1 POL(new_primDivNatS0(x_1, x_2, x_3, x_4)) = 1 + x_1 POL(new_primDivNatS00(x_1, x_2)) = 1 + x_1 POL(new_primDivNatS1(x_1, x_2)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: none ---------------------------------------- (30) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS1(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS0(xv720, xv730, xv720, xv730) new_primDivNatS0(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS0(xv102, xv103, xv1040, xv1050) new_primDivNatS0(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103)) new_primDivNatS0(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS00(xv102, xv103) new_primDivNatS00(xv102, xv103) -> new_primDivNatS(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103)) new_primDivNatS1(Main.Succ(xv720), Main.Zero) -> new_primDivNatS(Main.Succ(xv720), Main.Zero, Main.Zero) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (31) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 5 less nodes. ---------------------------------------- (32) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS0(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS0(xv102, xv103, xv1040, xv1050) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (33) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_primDivNatS0(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS0(xv102, xv103, xv1040, xv1050) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 ---------------------------------------- (34) YES ---------------------------------------- (35) Obligation: Q DP problem: The TRS P consists of the following rules: new_primPlusNat(Main.Succ(xv1100), Main.Succ(xv1110)) -> new_primPlusNat(xv1100, xv1110) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (36) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_primPlusNat(Main.Succ(xv1100), Main.Succ(xv1110)) -> new_primPlusNat(xv1100, xv1110) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (37) YES ---------------------------------------- (38) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt0(xv12, Main.Succ(xv130), Main.Succ(xv140)) -> new_showInt1ShowInt00(xv12, Main.Succ(xv130), xv140, xv130, xv140) new_showInt1ShowInt0(xv12, Main.Zero, Main.Zero) -> new_showInt(new_showInt1N'0(xv12, Main.Zero, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char)), new_showInt1R'0(xv12)) new_showInt1ShowInt0(xv12, Main.Succ(xv130), Main.Zero) -> new_showInt(new_showInt1N'0(xv12, Main.Succ(xv130), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char)), new_showInt1R'(xv12, xv130)) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(new_showInt1N'0(xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char)), new_showInt1R'1(xv75, xv76)) new_showInt1ShowInt02(xv12, xv130) -> new_showInt(new_showInt1N'0(xv12, Main.Succ(xv130), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char)), new_showInt1R'(xv12, xv130)) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(new_showInt1N'0(xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char)), new_showInt1R'1(xv75, xv76)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) The TRS R consists of the following rules: new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_showInt1R'1(xv56, xv57) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv56, xv57, app(ty_List, ty_Main.Char)), xv56) new_showInt1R'(xv12, xv130) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv12, Main.Succ(xv130), app(ty_List, ty_Main.Char)), xv12) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_showInt1R'0(xv12) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv12, Main.Zero, app(ty_List, ty_Main.Char)), xv12) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS4(xv148) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_toEnumChar(xv67, xv68, xv69, ba) -> Main.Char(new_primPlusInt(xv67, xv68, xv69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), ba)) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_showInt1N'0(xv71, xv72, xv73, bb) -> new_primQuotInt(xv72, xv73) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusInt(xv81, xv82, xv83, xv84, h) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84), xv84, h) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_showInt1R'0(x0) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_showInt1R'(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_showInt1R'1(x0, x1) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_toEnumChar(x0, x1, x2, x3) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_showInt1N'0(x0, x1, x2, x3) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (39) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. ---------------------------------------- (40) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(new_showInt1N'0(xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char)), new_showInt1R'1(xv75, xv76)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt0(xv12, Main.Succ(xv130), Main.Succ(xv140)) -> new_showInt1ShowInt00(xv12, Main.Succ(xv130), xv140, xv130, xv140) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(new_showInt1N'0(xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char)), new_showInt1R'1(xv75, xv76)) The TRS R consists of the following rules: new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_showInt1R'1(xv56, xv57) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv56, xv57, app(ty_List, ty_Main.Char)), xv56) new_showInt1R'(xv12, xv130) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv12, Main.Succ(xv130), app(ty_List, ty_Main.Char)), xv12) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_showInt1R'0(xv12) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv12, Main.Zero, app(ty_List, ty_Main.Char)), xv12) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS4(xv148) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_toEnumChar(xv67, xv68, xv69, ba) -> Main.Char(new_primPlusInt(xv67, xv68, xv69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), ba)) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_showInt1N'0(xv71, xv72, xv73, bb) -> new_primQuotInt(xv72, xv73) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusInt(xv81, xv82, xv83, xv84, h) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84), xv84, h) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_showInt1R'0(x0) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_showInt1R'(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_showInt1R'1(x0, x1) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_toEnumChar(x0, x1, x2, x3) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_showInt1N'0(x0, x1, x2, x3) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (41) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_showInt1ShowInt0(xv12, Main.Succ(xv130), Main.Succ(xv140)) -> new_showInt1ShowInt00(xv12, Main.Succ(xv130), xv140, xv130, xv140) we obtained the following new rules [LPAR04]: (new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))),new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) ---------------------------------------- (42) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(new_showInt1N'0(xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char)), new_showInt1R'1(xv75, xv76)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(new_showInt1N'0(xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char)), new_showInt1R'1(xv75, xv76)) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) The TRS R consists of the following rules: new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_showInt1R'1(xv56, xv57) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv56, xv57, app(ty_List, ty_Main.Char)), xv56) new_showInt1R'(xv12, xv130) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv12, Main.Succ(xv130), app(ty_List, ty_Main.Char)), xv12) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_showInt1R'0(xv12) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv12, Main.Zero, app(ty_List, ty_Main.Char)), xv12) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS4(xv148) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_toEnumChar(xv67, xv68, xv69, ba) -> Main.Char(new_primPlusInt(xv67, xv68, xv69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), ba)) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_showInt1N'0(xv71, xv72, xv73, bb) -> new_primQuotInt(xv72, xv73) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusInt(xv81, xv82, xv83, xv84, h) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84), xv84, h) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_showInt1R'0(x0) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_showInt1R'(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_showInt1R'1(x0, x1) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_toEnumChar(x0, x1, x2, x3) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_showInt1N'0(x0, x1, x2, x3) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (43) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (44) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(new_showInt1N'0(xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char)), new_showInt1R'1(xv75, xv76)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(new_showInt1N'0(xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char)), new_showInt1R'1(xv75, xv76)) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) The TRS R consists of the following rules: new_showInt1N'0(xv71, xv72, xv73, bb) -> new_primQuotInt(xv72, xv73) new_showInt1R'1(xv56, xv57) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv56, xv57, app(ty_List, ty_Main.Char)), xv56) new_toEnumChar(xv67, xv68, xv69, ba) -> Main.Char(new_primPlusInt(xv67, xv68, xv69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), ba)) new_primPlusInt(xv81, xv82, xv83, xv84, h) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84), xv84, h) new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_showInt1R'0(x0) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_showInt1R'(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_showInt1R'1(x0, x1) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_toEnumChar(x0, x1, x2, x3) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_showInt1N'0(x0, x1, x2, x3) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (45) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_showInt1R'0(x0) new_showInt1R'(x0, x1) ---------------------------------------- (46) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(new_showInt1N'0(xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char)), new_showInt1R'1(xv75, xv76)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(new_showInt1N'0(xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char)), new_showInt1R'1(xv75, xv76)) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) The TRS R consists of the following rules: new_showInt1N'0(xv71, xv72, xv73, bb) -> new_primQuotInt(xv72, xv73) new_showInt1R'1(xv56, xv57) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv56, xv57, app(ty_List, ty_Main.Char)), xv56) new_toEnumChar(xv67, xv68, xv69, ba) -> Main.Char(new_primPlusInt(xv67, xv68, xv69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), ba)) new_primPlusInt(xv81, xv82, xv83, xv84, h) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84), xv84, h) new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_showInt1R'1(x0, x1) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_toEnumChar(x0, x1, x2, x3) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_showInt1N'0(x0, x1, x2, x3) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (47) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(new_showInt1N'0(xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char)), new_showInt1R'1(xv75, xv76)) at position [0] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_showInt1R'1(xv75, xv76)),new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_showInt1R'1(xv75, xv76))) ---------------------------------------- (48) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(new_showInt1N'0(xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char)), new_showInt1R'1(xv75, xv76)) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_showInt1R'1(xv75, xv76)) The TRS R consists of the following rules: new_showInt1N'0(xv71, xv72, xv73, bb) -> new_primQuotInt(xv72, xv73) new_showInt1R'1(xv56, xv57) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv56, xv57, app(ty_List, ty_Main.Char)), xv56) new_toEnumChar(xv67, xv68, xv69, ba) -> Main.Char(new_primPlusInt(xv67, xv68, xv69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), ba)) new_primPlusInt(xv81, xv82, xv83, xv84, h) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84), xv84, h) new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_showInt1R'1(x0, x1) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_toEnumChar(x0, x1, x2, x3) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_showInt1N'0(x0, x1, x2, x3) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (49) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(new_showInt1N'0(xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char)), new_showInt1R'1(xv75, xv76)) at position [0] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_showInt1R'1(xv75, xv76)),new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_showInt1R'1(xv75, xv76))) ---------------------------------------- (50) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_showInt1R'1(xv75, xv76)) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_showInt1R'1(xv75, xv76)) The TRS R consists of the following rules: new_showInt1N'0(xv71, xv72, xv73, bb) -> new_primQuotInt(xv72, xv73) new_showInt1R'1(xv56, xv57) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv56, xv57, app(ty_List, ty_Main.Char)), xv56) new_toEnumChar(xv67, xv68, xv69, ba) -> Main.Char(new_primPlusInt(xv67, xv68, xv69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), ba)) new_primPlusInt(xv81, xv82, xv83, xv84, h) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84), xv84, h) new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_showInt1R'1(x0, x1) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_toEnumChar(x0, x1, x2, x3) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_showInt1N'0(x0, x1, x2, x3) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (51) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (52) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_showInt1R'1(xv75, xv76)) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_showInt1R'1(xv75, xv76)) The TRS R consists of the following rules: new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_showInt1R'1(xv56, xv57) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv56, xv57, app(ty_List, ty_Main.Char)), xv56) new_toEnumChar(xv67, xv68, xv69, ba) -> Main.Char(new_primPlusInt(xv67, xv68, xv69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), ba)) new_primPlusInt(xv81, xv82, xv83, xv84, h) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84), xv84, h) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_showInt1R'1(x0, x1) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_toEnumChar(x0, x1, x2, x3) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_showInt1N'0(x0, x1, x2, x3) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (53) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_showInt1N'0(x0, x1, x2, x3) ---------------------------------------- (54) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_showInt1R'1(xv75, xv76)) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_showInt1R'1(xv75, xv76)) The TRS R consists of the following rules: new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_showInt1R'1(xv56, xv57) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv56, xv57, app(ty_List, ty_Main.Char)), xv56) new_toEnumChar(xv67, xv68, xv69, ba) -> Main.Char(new_primPlusInt(xv67, xv68, xv69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), ba)) new_primPlusInt(xv81, xv82, xv83, xv84, h) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84), xv84, h) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_showInt1R'1(x0, x1) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_toEnumChar(x0, x1, x2, x3) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (55) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_showInt1R'1(xv75, xv76)) at position [0] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), new_showInt1R'1(xv75, xv76)),new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), new_showInt1R'1(xv75, xv76))) ---------------------------------------- (56) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_showInt1R'1(xv75, xv76)) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), new_showInt1R'1(xv75, xv76)) The TRS R consists of the following rules: new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_showInt1R'1(xv56, xv57) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv56, xv57, app(ty_List, ty_Main.Char)), xv56) new_toEnumChar(xv67, xv68, xv69, ba) -> Main.Char(new_primPlusInt(xv67, xv68, xv69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), ba)) new_primPlusInt(xv81, xv82, xv83, xv84, h) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84), xv84, h) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_showInt1R'1(x0, x1) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_toEnumChar(x0, x1, x2, x3) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (57) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_showInt1R'1(xv75, xv76)) at position [0] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), new_showInt1R'1(xv75, xv76)),new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), new_showInt1R'1(xv75, xv76))) ---------------------------------------- (58) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), new_showInt1R'1(xv75, xv76)) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), new_showInt1R'1(xv75, xv76)) The TRS R consists of the following rules: new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_showInt1R'1(xv56, xv57) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv56, xv57, app(ty_List, ty_Main.Char)), xv56) new_toEnumChar(xv67, xv68, xv69, ba) -> Main.Char(new_primPlusInt(xv67, xv68, xv69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), ba)) new_primPlusInt(xv81, xv82, xv83, xv84, h) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84), xv84, h) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_showInt1R'1(x0, x1) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_toEnumChar(x0, x1, x2, x3) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (59) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), new_showInt1R'1(xv75, xv76)) at position [1] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, app(ty_List, ty_Main.Char)), xv75)),new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, app(ty_List, ty_Main.Char)), xv75))) ---------------------------------------- (60) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), new_showInt1R'1(xv75, xv76)) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, app(ty_List, ty_Main.Char)), xv75)) The TRS R consists of the following rules: new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_showInt1R'1(xv56, xv57) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv56, xv57, app(ty_List, ty_Main.Char)), xv56) new_toEnumChar(xv67, xv68, xv69, ba) -> Main.Char(new_primPlusInt(xv67, xv68, xv69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), ba)) new_primPlusInt(xv81, xv82, xv83, xv84, h) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84), xv84, h) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_showInt1R'1(x0, x1) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_toEnumChar(x0, x1, x2, x3) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (61) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), new_showInt1R'1(xv75, xv76)) at position [1] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, app(ty_List, ty_Main.Char)), xv75)),new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, app(ty_List, ty_Main.Char)), xv75))) ---------------------------------------- (62) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, app(ty_List, ty_Main.Char)), xv75)) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, app(ty_List, ty_Main.Char)), xv75)) The TRS R consists of the following rules: new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_showInt1R'1(xv56, xv57) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv56, xv57, app(ty_List, ty_Main.Char)), xv56) new_toEnumChar(xv67, xv68, xv69, ba) -> Main.Char(new_primPlusInt(xv67, xv68, xv69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), ba)) new_primPlusInt(xv81, xv82, xv83, xv84, h) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84), xv84, h) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_showInt1R'1(x0, x1) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_toEnumChar(x0, x1, x2, x3) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (63) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (64) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, app(ty_List, ty_Main.Char)), xv75)) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, app(ty_List, ty_Main.Char)), xv75)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_toEnumChar(xv67, xv68, xv69, ba) -> Main.Char(new_primPlusInt(xv67, xv68, xv69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), ba)) new_primPlusInt(xv81, xv82, xv83, xv84, h) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84), xv84, h) new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_showInt1R'1(x0, x1) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_toEnumChar(x0, x1, x2, x3) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (65) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_showInt1R'1(x0, x1) ---------------------------------------- (66) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, app(ty_List, ty_Main.Char)), xv75)) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, app(ty_List, ty_Main.Char)), xv75)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_toEnumChar(xv67, xv68, xv69, ba) -> Main.Char(new_primPlusInt(xv67, xv68, xv69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), ba)) new_primPlusInt(xv81, xv82, xv83, xv84, h) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84), xv84, h) new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_toEnumChar(x0, x1, x2, x3) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (67) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, app(ty_List, ty_Main.Char)), xv75)) at position [1,0] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)),new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75))) ---------------------------------------- (68) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, app(ty_List, ty_Main.Char)), xv75)) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_toEnumChar(xv67, xv68, xv69, ba) -> Main.Char(new_primPlusInt(xv67, xv68, xv69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), ba)) new_primPlusInt(xv81, xv82, xv83, xv84, h) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84), xv84, h) new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_toEnumChar(x0, x1, x2, x3) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (69) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, app(ty_List, ty_Main.Char)), xv75)) at position [1,0] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)),new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75))) ---------------------------------------- (70) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_toEnumChar(xv67, xv68, xv69, ba) -> Main.Char(new_primPlusInt(xv67, xv68, xv69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), ba)) new_primPlusInt(xv81, xv82, xv83, xv84, h) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84), xv84, h) new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_toEnumChar(x0, x1, x2, x3) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (71) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (72) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primPlusInt(xv81, xv82, xv83, xv84, h) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84), xv84, h) new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_toEnumChar(x0, x1, x2, x3) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (73) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_toEnumChar(x0, x1, x2, x3) ---------------------------------------- (74) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primPlusInt(xv81, xv82, xv83, xv84, h) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84), xv84, h) new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (75) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)),new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75))) ---------------------------------------- (76) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primPlusInt(xv81, xv82, xv83, xv84, h) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84), xv84, h) new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (77) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)),new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75))) ---------------------------------------- (78) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primPlusInt(xv81, xv82, xv83, xv84, h) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84), xv84, h) new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (79) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (80) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primPlusInt(x0, x1, x2, x3, x4) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (81) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primPlusInt(x0, x1, x2, x3, x4) ---------------------------------------- (82) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (83) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)),new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75))) ---------------------------------------- (84) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (85) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(new_primPlusInt0(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv75, xv76, new_primQuotInt(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char))), xv75)) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)),new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75))) ---------------------------------------- (86) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primQuotInt(xv72, xv73) -> Main.Pos(new_primDivNatS3(xv72, xv73)) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, xv83, Main.Zero) -> new_primPlusNat7(xv81) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero)) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS2(xv122) -> Main.Zero new_primPlusNat6(xv36, xv38) -> new_primPlusNat7(xv36) new_primPlusNat7(xv36) -> Main.Succ(xv36) new_primPlusNat1(xv113, xv114) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat4(xv107, xv108) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (87) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (88) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primPlusNat4(x0, x1) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat6(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primQuotInt(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (89) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primPlusNat4(x0, x1) new_primPlusNat1(x0, x1) new_primPlusNat7(x0) new_primPlusNat6(x0, x1) new_primPlusInt0(x0, x1, x2, x3, x4, x5) new_primQuotInt(x0, x1) ---------------------------------------- (90) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (91) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) the following chains were created: *We consider the chain new_showInt(Main.Pos(Main.Succ(x6)), x7) -> new_showInt1ShowInt0(x7, x6, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_showInt1ShowInt0(x8, Main.Succ(x9), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(x8, Main.Succ(x9), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x9, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) which results in the following constraint: (1) (new_showInt1ShowInt0(x7, x6, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))=new_showInt1ShowInt0(x8, Main.Succ(x9), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) ==> new_showInt(Main.Pos(Main.Succ(x6)), x7)_>=_new_showInt1ShowInt0(x7, x6, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_showInt(Main.Pos(Main.Succ(Main.Succ(x9))), x7)_>=_new_showInt1ShowInt0(x7, Main.Succ(x9), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) For Pair new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) the following chains were created: *We consider the chain new_showInt1ShowInt00(x19, x20, x21, Main.Succ(x22), Main.Succ(x23)) -> new_showInt1ShowInt00(x19, x20, x21, x22, x23), new_showInt1ShowInt00(x24, x25, x26, Main.Succ(x27), Main.Succ(x28)) -> new_showInt1ShowInt00(x24, x25, x26, x27, x28) which results in the following constraint: (1) (new_showInt1ShowInt00(x19, x20, x21, x22, x23)=new_showInt1ShowInt00(x24, x25, x26, Main.Succ(x27), Main.Succ(x28)) ==> new_showInt1ShowInt00(x19, x20, x21, Main.Succ(x22), Main.Succ(x23))_>=_new_showInt1ShowInt00(x19, x20, x21, x22, x23)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_showInt1ShowInt00(x19, x20, x21, Main.Succ(Main.Succ(x27)), Main.Succ(Main.Succ(x28)))_>=_new_showInt1ShowInt00(x19, x20, x21, Main.Succ(x27), Main.Succ(x28))) *We consider the chain new_showInt1ShowInt00(x29, x30, x31, Main.Succ(x32), Main.Succ(x33)) -> new_showInt1ShowInt00(x29, x30, x31, x32, x33), new_showInt1ShowInt00(x34, x35, x36, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(x34, x35, x36) which results in the following constraint: (1) (new_showInt1ShowInt00(x29, x30, x31, x32, x33)=new_showInt1ShowInt00(x34, x35, x36, Main.Zero, Main.Zero) ==> new_showInt1ShowInt00(x29, x30, x31, Main.Succ(x32), Main.Succ(x33))_>=_new_showInt1ShowInt00(x29, x30, x31, x32, x33)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_showInt1ShowInt00(x29, x30, x31, Main.Succ(Main.Zero), Main.Succ(Main.Zero))_>=_new_showInt1ShowInt00(x29, x30, x31, Main.Zero, Main.Zero)) *We consider the chain new_showInt1ShowInt00(x42, x43, x44, Main.Succ(x45), Main.Succ(x46)) -> new_showInt1ShowInt00(x42, x43, x44, x45, x46), new_showInt1ShowInt00(x47, x48, x49, Main.Succ(x50), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(x48, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), x48, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x47)) which results in the following constraint: (1) (new_showInt1ShowInt00(x42, x43, x44, x45, x46)=new_showInt1ShowInt00(x47, x48, x49, Main.Succ(x50), Main.Zero) ==> new_showInt1ShowInt00(x42, x43, x44, Main.Succ(x45), Main.Succ(x46))_>=_new_showInt1ShowInt00(x42, x43, x44, x45, x46)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_showInt1ShowInt00(x42, x43, x44, Main.Succ(Main.Succ(x50)), Main.Succ(Main.Zero))_>=_new_showInt1ShowInt00(x42, x43, x44, Main.Succ(x50), Main.Zero)) For Pair new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) the following chains were created: *We consider the chain new_showInt1ShowInt00(x71, x72, x73, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(x71, x72, x73), new_showInt1ShowInt01(x74, x75, x76) -> new_showInt(Main.Pos(new_primDivNatS3(x75, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), x75, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x74)) which results in the following constraint: (1) (new_showInt1ShowInt01(x71, x72, x73)=new_showInt1ShowInt01(x74, x75, x76) ==> new_showInt1ShowInt00(x71, x72, x73, Main.Zero, Main.Zero)_>=_new_showInt1ShowInt01(x71, x72, x73)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_showInt1ShowInt00(x71, x72, x73, Main.Zero, Main.Zero)_>=_new_showInt1ShowInt01(x71, x72, x73)) For Pair new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) the following chains were created: *We consider the chain new_showInt1ShowInt0(x79, Main.Succ(x80), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(x79, Main.Succ(x80), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x80, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_showInt1ShowInt00(x81, x82, x83, Main.Succ(x84), Main.Succ(x85)) -> new_showInt1ShowInt00(x81, x82, x83, x84, x85) which results in the following constraint: (1) (new_showInt1ShowInt00(x79, Main.Succ(x80), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x80, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))=new_showInt1ShowInt00(x81, x82, x83, Main.Succ(x84), Main.Succ(x85)) ==> new_showInt1ShowInt0(x79, Main.Succ(x80), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_new_showInt1ShowInt00(x79, Main.Succ(x80), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x80, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_showInt1ShowInt0(x79, Main.Succ(Main.Succ(x84)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_new_showInt1ShowInt00(x79, Main.Succ(Main.Succ(x84)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x84), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) For Pair new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) the following chains were created: *We consider the chain new_showInt1ShowInt00(x94, x95, x96, Main.Succ(x97), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(x95, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), x95, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x94)), new_showInt(Main.Pos(Main.Succ(x98)), x99) -> new_showInt1ShowInt0(x99, x98, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) which results in the following constraint: (1) (new_showInt(Main.Pos(new_primDivNatS3(x95, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), x95, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x94))=new_showInt(Main.Pos(Main.Succ(x98)), x99) ==> new_showInt1ShowInt00(x94, x95, x96, Main.Succ(x97), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS3(x95, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), x95, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x94))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))=x140 & new_primDivNatS3(x95, x140)=Main.Succ(x98) ==> new_showInt1ShowInt00(x94, x95, x96, Main.Succ(x97), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS3(x95, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), x95, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x94))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS3(x95, x140)=Main.Succ(x98) which results in the following new constraints: (3) (new_primDivNatS02(x142, x141, x142, x141)=Main.Succ(x98) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))=Main.Succ(x141) ==> new_showInt1ShowInt00(x94, Main.Succ(x142), x96, Main.Succ(x97), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(x142), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x142), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x94))) (4) (Main.Succ(new_primDivNatS2(Main.Succ(x144), Main.Zero, Main.Zero))=Main.Succ(x98) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))=Main.Zero ==> new_showInt1ShowInt00(x94, Main.Succ(x144), x96, Main.Succ(x97), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(x144), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x144), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x94))) (5) (Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero))=Main.Succ(x98) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))=Main.Zero ==> new_showInt1ShowInt00(x94, Main.Zero, x96, Main.Succ(x97), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS3(Main.Zero, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Zero, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x94))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (6) (x142=x145 & x141=x146 & new_primDivNatS02(x142, x141, x145, x146)=Main.Succ(x98) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x141 ==> new_showInt1ShowInt00(x94, Main.Succ(x142), x96, Main.Succ(x97), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(x142), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x142), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x94))) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x142, x141, x145, x146)=Main.Succ(x98) which results in the following new constraints: (7) (new_primDivNatS02(x150, x149, x148, x147)=Main.Succ(x98) & x150=Main.Succ(x148) & x149=Main.Succ(x147) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x149 & (\/x151,x152,x153,x154:new_primDivNatS02(x150, x149, x148, x147)=Main.Succ(x151) & x150=x148 & x149=x147 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x149 ==> new_showInt1ShowInt00(x152, Main.Succ(x150), x153, Main.Succ(x154), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(x150), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x150), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x152))) ==> new_showInt1ShowInt00(x94, Main.Succ(x150), x96, Main.Succ(x97), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(x150), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x150), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x94))) (8) (new_primDivNatS01(x157, x156)=Main.Succ(x98) & x157=Main.Succ(x155) & x156=Main.Zero & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x156 ==> new_showInt1ShowInt00(x94, Main.Succ(x157), x96, Main.Succ(x97), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(x157), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x157), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x94))) (9) (new_primDivNatS01(x162, x161)=Main.Succ(x98) & x162=Main.Zero & x161=Main.Zero & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x161 ==> new_showInt1ShowInt00(x94, Main.Succ(x162), x96, Main.Succ(x97), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(x162), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x162), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x94))) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_showInt1ShowInt00(x94, Main.Succ(Main.Succ(x148)), x96, Main.Succ(x97), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(Main.Succ(x148)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(x148)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x94))) We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III). For Pair new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) the following chains were created: *We consider the chain new_showInt1ShowInt01(x120, x121, x122) -> new_showInt(Main.Pos(new_primDivNatS3(x121, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), x121, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x120)), new_showInt(Main.Pos(Main.Succ(x123)), x124) -> new_showInt1ShowInt0(x124, x123, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) which results in the following constraint: (1) (new_showInt(Main.Pos(new_primDivNatS3(x121, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), x121, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x120))=new_showInt(Main.Pos(Main.Succ(x123)), x124) ==> new_showInt1ShowInt01(x120, x121, x122)_>=_new_showInt(Main.Pos(new_primDivNatS3(x121, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), x121, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x120))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))=x165 & new_primDivNatS3(x121, x165)=Main.Succ(x123) ==> new_showInt1ShowInt01(x120, x121, x122)_>=_new_showInt(Main.Pos(new_primDivNatS3(x121, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), x121, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x120))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS3(x121, x165)=Main.Succ(x123) which results in the following new constraints: (3) (new_primDivNatS02(x167, x166, x167, x166)=Main.Succ(x123) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))=Main.Succ(x166) ==> new_showInt1ShowInt01(x120, Main.Succ(x167), x122)_>=_new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(x167), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x167), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x120))) (4) (Main.Succ(new_primDivNatS2(Main.Succ(x169), Main.Zero, Main.Zero))=Main.Succ(x123) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))=Main.Zero ==> new_showInt1ShowInt01(x120, Main.Succ(x169), x122)_>=_new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(x169), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x169), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x120))) (5) (Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero))=Main.Succ(x123) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))=Main.Zero ==> new_showInt1ShowInt01(x120, Main.Zero, x122)_>=_new_showInt(Main.Pos(new_primDivNatS3(Main.Zero, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Zero, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x120))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (6) (x167=x170 & x166=x171 & new_primDivNatS02(x167, x166, x170, x171)=Main.Succ(x123) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x166 ==> new_showInt1ShowInt01(x120, Main.Succ(x167), x122)_>=_new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(x167), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x167), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x120))) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x167, x166, x170, x171)=Main.Succ(x123) which results in the following new constraints: (7) (new_primDivNatS02(x175, x174, x173, x172)=Main.Succ(x123) & x175=Main.Succ(x173) & x174=Main.Succ(x172) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x174 & (\/x176,x177,x178:new_primDivNatS02(x175, x174, x173, x172)=Main.Succ(x176) & x175=x173 & x174=x172 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x174 ==> new_showInt1ShowInt01(x177, Main.Succ(x175), x178)_>=_new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(x175), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x175), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x177))) ==> new_showInt1ShowInt01(x120, Main.Succ(x175), x122)_>=_new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(x175), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x175), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x120))) (8) (new_primDivNatS01(x181, x180)=Main.Succ(x123) & x181=Main.Succ(x179) & x180=Main.Zero & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x180 ==> new_showInt1ShowInt01(x120, Main.Succ(x181), x122)_>=_new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(x181), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x181), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x120))) (9) (new_primDivNatS01(x186, x185)=Main.Succ(x123) & x186=Main.Zero & x185=Main.Zero & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x185 ==> new_showInt1ShowInt01(x120, Main.Succ(x186), x122)_>=_new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(x186), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x186), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x120))) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_showInt1ShowInt01(x120, Main.Succ(Main.Succ(x173)), x122)_>=_new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(Main.Succ(x173)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(x173)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x120))) We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III). To summarize, we get the following constraints P__>=_ for the following pairs. *new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) *(new_showInt(Main.Pos(Main.Succ(Main.Succ(x9))), x7)_>=_new_showInt1ShowInt0(x7, Main.Succ(x9), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) *new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) *(new_showInt1ShowInt00(x19, x20, x21, Main.Succ(Main.Succ(x27)), Main.Succ(Main.Succ(x28)))_>=_new_showInt1ShowInt00(x19, x20, x21, Main.Succ(x27), Main.Succ(x28))) *(new_showInt1ShowInt00(x29, x30, x31, Main.Succ(Main.Zero), Main.Succ(Main.Zero))_>=_new_showInt1ShowInt00(x29, x30, x31, Main.Zero, Main.Zero)) *(new_showInt1ShowInt00(x42, x43, x44, Main.Succ(Main.Succ(x50)), Main.Succ(Main.Zero))_>=_new_showInt1ShowInt00(x42, x43, x44, Main.Succ(x50), Main.Zero)) *new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) *(new_showInt1ShowInt00(x71, x72, x73, Main.Zero, Main.Zero)_>=_new_showInt1ShowInt01(x71, x72, x73)) *new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) *(new_showInt1ShowInt0(x79, Main.Succ(Main.Succ(x84)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_new_showInt1ShowInt00(x79, Main.Succ(Main.Succ(x84)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x84), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) *new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) *(new_showInt1ShowInt00(x94, Main.Succ(Main.Succ(x148)), x96, Main.Succ(x97), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(Main.Succ(x148)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(x148)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x94))) *new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) *(new_showInt1ShowInt01(x120, Main.Succ(Main.Succ(x173)), x122)_>=_new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(Main.Succ(x173)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(x173)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x120))) 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. ---------------------------------------- (92) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (93) QDPPairToRuleProof (EQUIVALENT) The dependency pair new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) was transformed to the following new rules: anew_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) the following new pairs maintain the fan-in: new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) the following new pairs maintain the fan-out: H(xv75, xv76, xv77, cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) H(xv75, xv76, xv77, cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero)) -> new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) ---------------------------------------- (94) Complex Obligation (AND) ---------------------------------------- (95) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> new_showInt1ShowInt00(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(xv75, xv76, xv77, cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) H(xv75, xv76, xv77, cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero)) -> new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) anew_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) anew_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (96) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (97) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(xv75, xv76, xv77, cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(xv75, xv76, xv77, cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero)) -> new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) anew_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) anew_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (98) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule H(xv75, xv76, xv77, cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) we obtained the following new rules [LPAR04]: (H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero),H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero)) ---------------------------------------- (99) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(xv75, xv76, xv77, cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero)) -> new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) anew_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) anew_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (100) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero) -> new_showInt1ShowInt01(xv75, xv76, xv77) we obtained the following new rules [LPAR04]: (new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))),new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) ---------------------------------------- (101) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(xv75, xv76, xv77, cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero)) -> new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) anew_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) anew_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (102) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_showInt1ShowInt01(xv75, xv76, xv77) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) we obtained the following new rules [LPAR04]: (new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)),new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0))) ---------------------------------------- (103) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(xv75, xv76, xv77, cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero)) -> new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) anew_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) anew_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (104) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)),new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0))) ---------------------------------------- (105) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(xv75, xv76, xv77, cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero)) -> new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) anew_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) anew_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (106) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule H(xv75, xv76, xv77, cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero)) -> new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) we obtained the following new rules [LPAR04]: (H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero),H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero)) ---------------------------------------- (107) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) anew_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) anew_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (108) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), xv75)) we obtained the following new rules [LPAR04]: (new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)),new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0))) ---------------------------------------- (109) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840)) -> new_primPlusNat5(xv81, Main.Zero) new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) anew_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) anew_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (110) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (111) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) anew_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) anew_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (112) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS3(Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)),new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0))) ---------------------------------------- (113) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) anew_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) anew_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (114) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) the following chains were created: *We consider the chain new_showInt1ShowInt0(x4, Main.Succ(x5), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(x4, Main.Succ(x5), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x5, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), H(x6, Main.Succ(x7), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(x6, Main.Succ(x7), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) which results in the following constraint: (1) (H(x4, Main.Succ(x5), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x5, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))=H(x6, Main.Succ(x7), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) ==> new_showInt1ShowInt0(x4, Main.Succ(x5), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x4, Main.Succ(x5), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x5, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x130 & anew_new_showInt1ShowInt00(x5, x130)=cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) ==> new_showInt1ShowInt0(x4, Main.Succ(x5), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x4, Main.Succ(x5), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x5, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_showInt1ShowInt00(x5, x130)=cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) which results in the following new constraint: (3) (new_new_showInt1ShowInt00(x132, x131)=cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=Main.Succ(x131) ==> new_showInt1ShowInt0(x4, Main.Succ(Main.Succ(x132)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x4, Main.Succ(Main.Succ(x132)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(Main.Succ(x132), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (4) (new_new_showInt1ShowInt00(x132, x131)=cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))=x131 ==> new_showInt1ShowInt0(x4, Main.Succ(Main.Succ(x132)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x4, Main.Succ(Main.Succ(x132)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(Main.Succ(x132), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_new_showInt1ShowInt00(x132, x131)=cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) which results in the following new constraints: (5) (new_new_showInt1ShowInt00(x134, x133)=cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))=Main.Succ(x133) & (\/x135:new_new_showInt1ShowInt00(x134, x133)=cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))=x133 ==> new_showInt1ShowInt0(x135, Main.Succ(Main.Succ(x134)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x135, Main.Succ(Main.Succ(x134)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(Main.Succ(x134), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) ==> new_showInt1ShowInt0(x4, Main.Succ(Main.Succ(Main.Succ(x134))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x4, Main.Succ(Main.Succ(Main.Succ(x134))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(Main.Succ(Main.Succ(x134)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) (6) (cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)=cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))=Main.Zero ==> new_showInt1ShowInt0(x4, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x4, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) (7) (cons_new_showInt1ShowInt00(Main.Succ(x136), Main.Zero)=cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))=Main.Zero ==> new_showInt1ShowInt0(x4, Main.Succ(Main.Succ(Main.Succ(x136))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x4, Main.Succ(Main.Succ(Main.Succ(x136))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(Main.Succ(Main.Succ(x136)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) We simplified constraint (5) using rules (I), (II), (III), (IV) which results in the following new constraint: (8) (new_showInt1ShowInt0(x4, Main.Succ(Main.Succ(Main.Succ(x134))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x4, Main.Succ(Main.Succ(Main.Succ(x134))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(Main.Succ(Main.Succ(x134)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) We solved constraint (6) using rules (I), (II).We solved constraint (7) using rules (I), (II). *We consider the chain new_showInt1ShowInt0(x12, Main.Succ(x13), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(x12, Main.Succ(x13), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x13, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), H(x14, Main.Succ(x15), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero)) -> new_showInt1ShowInt00(x14, Main.Succ(x15), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x16), Main.Zero) which results in the following constraint: (1) (H(x12, Main.Succ(x13), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x13, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))=H(x14, Main.Succ(x15), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero)) ==> new_showInt1ShowInt0(x12, Main.Succ(x13), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x12, Main.Succ(x13), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x13, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x137 & anew_new_showInt1ShowInt00(x13, x137)=cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero) ==> new_showInt1ShowInt0(x12, Main.Succ(x13), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x12, Main.Succ(x13), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x13, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_showInt1ShowInt00(x13, x137)=cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero) which results in the following new constraint: (3) (new_new_showInt1ShowInt00(x139, x138)=cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=Main.Succ(x138) ==> new_showInt1ShowInt0(x12, Main.Succ(Main.Succ(x139)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x12, Main.Succ(Main.Succ(x139)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(Main.Succ(x139), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (4) (new_new_showInt1ShowInt00(x139, x138)=cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))=x138 ==> new_showInt1ShowInt0(x12, Main.Succ(Main.Succ(x139)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x12, Main.Succ(Main.Succ(x139)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(Main.Succ(x139), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_new_showInt1ShowInt00(x139, x138)=cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero) which results in the following new constraints: (5) (new_new_showInt1ShowInt00(x141, x140)=cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))=Main.Succ(x140) & (\/x142,x143:new_new_showInt1ShowInt00(x141, x140)=cons_new_showInt1ShowInt00(Main.Succ(x142), Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))=x140 ==> new_showInt1ShowInt0(x143, Main.Succ(Main.Succ(x141)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x143, Main.Succ(Main.Succ(x141)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(Main.Succ(x141), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) ==> new_showInt1ShowInt0(x12, Main.Succ(Main.Succ(Main.Succ(x141))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x12, Main.Succ(Main.Succ(Main.Succ(x141))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(Main.Succ(Main.Succ(x141)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) (6) (cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)=cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))=Main.Zero ==> new_showInt1ShowInt0(x12, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x12, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) (7) (cons_new_showInt1ShowInt00(Main.Succ(x144), Main.Zero)=cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))=Main.Zero ==> new_showInt1ShowInt0(x12, Main.Succ(Main.Succ(Main.Succ(x144))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x12, Main.Succ(Main.Succ(Main.Succ(x144))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(Main.Succ(Main.Succ(x144)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) We simplified constraint (5) using rules (I), (II), (III), (IV) which results in the following new constraint: (8) (new_showInt1ShowInt0(x12, Main.Succ(Main.Succ(Main.Succ(x141))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x12, Main.Succ(Main.Succ(Main.Succ(x141))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(Main.Succ(Main.Succ(x141)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) We solved constraint (6) using rules (I), (II).We solved constraint (7) using rules (I), (II). For Pair new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) the following chains were created: *We consider the chain new_showInt(Main.Pos(Main.Succ(x19)), x20) -> new_showInt1ShowInt0(x20, x19, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_showInt1ShowInt0(x21, Main.Succ(x22), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(x21, Main.Succ(x22), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x22, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) which results in the following constraint: (1) (new_showInt1ShowInt0(x20, x19, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))=new_showInt1ShowInt0(x21, Main.Succ(x22), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) ==> new_showInt(Main.Pos(Main.Succ(x19)), x20)_>=_new_showInt1ShowInt0(x20, x19, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_showInt(Main.Pos(Main.Succ(Main.Succ(x22))), x20)_>=_new_showInt1ShowInt0(x20, Main.Succ(x22), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) For Pair H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) the following chains were created: *We consider the chain H(x41, Main.Succ(x42), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(x41, Main.Succ(x42), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero), new_showInt1ShowInt00(x43, Main.Succ(x44), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(x43, Main.Succ(x44), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) which results in the following constraint: (1) (new_showInt1ShowInt00(x41, Main.Succ(x42), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero)=new_showInt1ShowInt00(x43, Main.Succ(x44), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) ==> H(x41, Main.Succ(x42), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero))_>=_new_showInt1ShowInt00(x41, Main.Succ(x42), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x41, Main.Succ(x42), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero))_>=_new_showInt1ShowInt00(x41, Main.Succ(x42), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero)) For Pair new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) the following chains were created: *We consider the chain new_showInt1ShowInt00(x59, Main.Succ(x60), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(x59, Main.Succ(x60), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_showInt1ShowInt01(x61, Main.Succ(x62), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(x62, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x62, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x62), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x61)) which results in the following constraint: (1) (new_showInt1ShowInt01(x59, Main.Succ(x60), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))=new_showInt1ShowInt01(x61, Main.Succ(x62), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) ==> new_showInt1ShowInt00(x59, Main.Succ(x60), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero)_>=_new_showInt1ShowInt01(x59, Main.Succ(x60), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_showInt1ShowInt00(x59, Main.Succ(x60), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero)_>=_new_showInt1ShowInt01(x59, Main.Succ(x60), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) For Pair new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) the following chains were created: *We consider the chain new_showInt1ShowInt01(x69, Main.Succ(x70), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(x70, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x70, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x70), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x69)), new_showInt(Main.Pos(Main.Succ(x71)), x72) -> new_showInt1ShowInt0(x72, x71, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) which results in the following constraint: (1) (new_showInt(Main.Pos(new_primDivNatS02(x70, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x70, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x70), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x69))=new_showInt(Main.Pos(Main.Succ(x71)), x72) ==> new_showInt1ShowInt01(x69, Main.Succ(x70), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(x70, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x70, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x70), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x69))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x145 & x70=x146 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x147 & new_primDivNatS02(x70, x145, x146, x147)=Main.Succ(x71) ==> new_showInt1ShowInt01(x69, Main.Succ(x70), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(x70, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x70, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x70), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x69))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x70, x145, x146, x147)=Main.Succ(x71) which results in the following new constraints: (3) (new_primDivNatS02(x151, x150, x149, x148)=Main.Succ(x71) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x150 & x151=Main.Succ(x149) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=Main.Succ(x148) & (\/x152,x153:new_primDivNatS02(x151, x150, x149, x148)=Main.Succ(x152) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x150 & x151=x149 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x148 ==> new_showInt1ShowInt01(x153, Main.Succ(x151), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(x151, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x151, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x151), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x153))) ==> new_showInt1ShowInt01(x69, Main.Succ(x151), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(x151, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x151, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x151), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x69))) (4) (new_primDivNatS01(x156, x155)=Main.Succ(x71) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x155 & x156=Main.Succ(x154) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=Main.Zero ==> new_showInt1ShowInt01(x69, Main.Succ(x156), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(x156, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x156, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x156), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x69))) (5) (new_primDivNatS01(x161, x160)=Main.Succ(x71) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x160 & x161=Main.Zero & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=Main.Zero ==> new_showInt1ShowInt01(x69, Main.Succ(x161), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(x161, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x161, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x161), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x69))) We simplified constraint (3) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (6) (Main.Succ(x149)=x162 & new_primDivNatS02(x162, x150, x149, x148)=Main.Succ(x71) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x150 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))=x148 ==> new_showInt1ShowInt01(x69, Main.Succ(Main.Succ(x149)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(x149), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x149), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(x149)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x69))) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x162, x150, x149, x148)=Main.Succ(x71) which results in the following new constraints: (7) (new_primDivNatS02(x166, x165, x164, x163)=Main.Succ(x71) & Main.Succ(Main.Succ(x164))=x166 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x165 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))=Main.Succ(x163) & (\/x167,x168:new_primDivNatS02(x166, x165, x164, x163)=Main.Succ(x167) & Main.Succ(x164)=x166 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x165 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))=x163 ==> new_showInt1ShowInt01(x168, Main.Succ(Main.Succ(x164)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(x164), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x164), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(x164)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x168))) ==> new_showInt1ShowInt01(x69, Main.Succ(Main.Succ(Main.Succ(x164))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(x164)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Succ(x164)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(x164))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x69))) (8) (new_primDivNatS01(x171, x170)=Main.Succ(x71) & Main.Succ(Main.Succ(x169))=x171 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x170 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))=Main.Zero ==> new_showInt1ShowInt01(x69, Main.Succ(Main.Succ(Main.Succ(x169))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(x169)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Succ(x169)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(x169))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x69))) (9) (new_primDivNatS01(x176, x175)=Main.Succ(x71) & Main.Succ(Main.Zero)=x176 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x175 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))=Main.Zero ==> new_showInt1ShowInt01(x69, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x69))) We simplified constraint (7) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_showInt1ShowInt01(x69, Main.Succ(Main.Succ(Main.Succ(x164))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(x164)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Succ(x164)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(x164))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x69))) We solved constraint (8) using rules (I), (II).We solved constraint (9) using rules (I), (II). For Pair H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) the following chains were created: *We consider the chain H(x101, Main.Succ(x102), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x103), Main.Zero)) -> new_showInt1ShowInt00(x101, Main.Succ(x102), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x103), Main.Zero), new_showInt1ShowInt00(x104, Main.Succ(x105), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x106), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(x105, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x105, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x105), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x104)) which results in the following constraint: (1) (new_showInt1ShowInt00(x101, Main.Succ(x102), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x103), Main.Zero)=new_showInt1ShowInt00(x104, Main.Succ(x105), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x106), Main.Zero) ==> H(x101, Main.Succ(x102), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x103), Main.Zero))_>=_new_showInt1ShowInt00(x101, Main.Succ(x102), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x103), Main.Zero)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x101, Main.Succ(x102), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x103), Main.Zero))_>=_new_showInt1ShowInt00(x101, Main.Succ(x102), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x103), Main.Zero)) For Pair new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) the following chains were created: *We consider the chain new_showInt1ShowInt00(x110, Main.Succ(x111), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x112), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(x111, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x111, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x111), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x110)), new_showInt(Main.Pos(Main.Succ(x113)), x114) -> new_showInt1ShowInt0(x114, x113, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) which results in the following constraint: (1) (new_showInt(Main.Pos(new_primDivNatS02(x111, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x111, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x111), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x110))=new_showInt(Main.Pos(Main.Succ(x113)), x114) ==> new_showInt1ShowInt00(x110, Main.Succ(x111), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x112), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(x111, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x111, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x111), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x110))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x177 & x111=x178 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x179 & new_primDivNatS02(x111, x177, x178, x179)=Main.Succ(x113) ==> new_showInt1ShowInt00(x110, Main.Succ(x111), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x112), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(x111, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x111, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x111), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x110))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x111, x177, x178, x179)=Main.Succ(x113) which results in the following new constraints: (3) (new_primDivNatS02(x183, x182, x181, x180)=Main.Succ(x113) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x182 & x183=Main.Succ(x181) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=Main.Succ(x180) & (\/x184,x185,x186:new_primDivNatS02(x183, x182, x181, x180)=Main.Succ(x184) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x182 & x183=x181 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x180 ==> new_showInt1ShowInt00(x185, Main.Succ(x183), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x186), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(x183, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x183, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x183), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x185))) ==> new_showInt1ShowInt00(x110, Main.Succ(x183), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x112), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(x183, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x183, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x183), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x110))) (4) (new_primDivNatS01(x189, x188)=Main.Succ(x113) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x188 & x189=Main.Succ(x187) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=Main.Zero ==> new_showInt1ShowInt00(x110, Main.Succ(x189), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x112), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(x189, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x189, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x189), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x110))) (5) (new_primDivNatS01(x194, x193)=Main.Succ(x113) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x193 & x194=Main.Zero & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=Main.Zero ==> new_showInt1ShowInt00(x110, Main.Succ(x194), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x112), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(x194, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x194, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(x194), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x110))) We simplified constraint (3) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (6) (Main.Succ(x181)=x195 & new_primDivNatS02(x195, x182, x181, x180)=Main.Succ(x113) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x182 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))=x180 ==> new_showInt1ShowInt00(x110, Main.Succ(Main.Succ(x181)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x112), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(x181), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x181), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(x181)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x110))) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x195, x182, x181, x180)=Main.Succ(x113) which results in the following new constraints: (7) (new_primDivNatS02(x199, x198, x197, x196)=Main.Succ(x113) & Main.Succ(Main.Succ(x197))=x199 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x198 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))=Main.Succ(x196) & (\/x200,x201,x202:new_primDivNatS02(x199, x198, x197, x196)=Main.Succ(x200) & Main.Succ(x197)=x199 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x198 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))=x196 ==> new_showInt1ShowInt00(x201, Main.Succ(Main.Succ(x197)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x202), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(x197), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x197), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(x197)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x201))) ==> new_showInt1ShowInt00(x110, Main.Succ(Main.Succ(Main.Succ(x197))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x112), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(x197)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Succ(x197)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(x197))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x110))) (8) (new_primDivNatS01(x205, x204)=Main.Succ(x113) & Main.Succ(Main.Succ(x203))=x205 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x204 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))=Main.Zero ==> new_showInt1ShowInt00(x110, Main.Succ(Main.Succ(Main.Succ(x203))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x112), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(x203)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Succ(x203)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(x203))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x110))) (9) (new_primDivNatS01(x210, x209)=Main.Succ(x113) & Main.Succ(Main.Zero)=x210 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x209 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))=Main.Zero ==> new_showInt1ShowInt00(x110, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x112), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x110))) We simplified constraint (7) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_showInt1ShowInt00(x110, Main.Succ(Main.Succ(Main.Succ(x197))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x112), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(x197)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Succ(x197)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(x197))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x110))) We solved constraint (8) using rules (I), (II).We solved constraint (9) using rules (I), (II). To summarize, we get the following constraints P__>=_ for the following pairs. *new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) *(new_showInt1ShowInt0(x4, Main.Succ(Main.Succ(Main.Succ(x134))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x4, Main.Succ(Main.Succ(Main.Succ(x134))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(Main.Succ(Main.Succ(x134)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) *(new_showInt1ShowInt0(x12, Main.Succ(Main.Succ(Main.Succ(x141))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x12, Main.Succ(Main.Succ(Main.Succ(x141))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(Main.Succ(Main.Succ(x141)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) *new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) *(new_showInt(Main.Pos(Main.Succ(Main.Succ(x22))), x20)_>=_new_showInt1ShowInt0(x20, Main.Succ(x22), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) *H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) *(H(x41, Main.Succ(x42), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero))_>=_new_showInt1ShowInt00(x41, Main.Succ(x42), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero)) *new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) *(new_showInt1ShowInt00(x59, Main.Succ(x60), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero)_>=_new_showInt1ShowInt01(x59, Main.Succ(x60), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) *new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) *(new_showInt1ShowInt01(x69, Main.Succ(Main.Succ(Main.Succ(x164))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(x164)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Succ(x164)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(x164))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x69))) *H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) *(H(x101, Main.Succ(x102), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x103), Main.Zero))_>=_new_showInt1ShowInt00(x101, Main.Succ(x102), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x103), Main.Zero)) *new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) *(new_showInt1ShowInt00(x110, Main.Succ(Main.Succ(Main.Succ(x197))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x112), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(x197)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Succ(x197)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(x197))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x110))) 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. ---------------------------------------- (115) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) anew_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) anew_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (116) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_showInt1ShowInt0(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(z1, Main.Succ(x1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), anew_new_showInt1ShowInt00(x1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) at position [3] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))),new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) ---------------------------------------- (117) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) The TRS R consists of the following rules: new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) anew_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) anew_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (118) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (119) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) The TRS R consists of the following rules: new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) anew_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (120) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. anew_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) ---------------------------------------- (121) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) The TRS R consists of the following rules: new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (122) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)),new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0))) (new_showInt1ShowInt01(y0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)),new_showInt1ShowInt01(y0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0))) ---------------------------------------- (123) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt1ShowInt01(y0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) The TRS R consists of the following rules: new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (124) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (125) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) The TRS R consists of the following rules: new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (126) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) at position [3] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))),new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) ---------------------------------------- (127) Obligation: Q DP problem: The TRS P consists of the following rules: H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) The TRS R consists of the following rules: new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (128) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)),new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0))) (new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)),new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0))) ---------------------------------------- (129) Obligation: Q DP problem: The TRS P consists of the following rules: H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) The TRS R consists of the following rules: new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (130) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (131) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) The TRS R consists of the following rules: new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (132) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)),new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0))) (new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)),new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0))) ---------------------------------------- (133) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) The TRS R consists of the following rules: new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (134) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (135) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) The TRS R consists of the following rules: new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (136) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)),new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0))) (new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)),new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0))) ---------------------------------------- (137) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) The TRS R consists of the following rules: new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (138) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (139) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) The TRS R consists of the following rules: new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (140) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(x0))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) at position [3] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))),new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) ---------------------------------------- (141) Obligation: Q DP problem: The TRS P consists of the following rules: H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) The TRS R consists of the following rules: new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (142) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(z2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), z1, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), z0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)),new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0))) (new_showInt1ShowInt00(y0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)),new_showInt1ShowInt00(y0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0))) ---------------------------------------- (143) Obligation: Q DP problem: The TRS P consists of the following rules: H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt1ShowInt00(y0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) The TRS R consists of the following rules: new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (144) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (145) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) The TRS R consists of the following rules: new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400))) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (146) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (147) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) The TRS R consists of the following rules: new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (148) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) at position [3] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))),new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ---------------------------------------- (149) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) The TRS R consists of the following rules: new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (150) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)),new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0))) (new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)),new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0))) ---------------------------------------- (151) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) The TRS R consists of the following rules: new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (152) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (153) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) The TRS R consists of the following rules: new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000)))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (154) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (155) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) The TRS R consists of the following rules: new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (156) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)),new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0))) (new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)),new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0))) ---------------------------------------- (157) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) The TRS R consists of the following rules: new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (158) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (159) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) The TRS R consists of the following rules: new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (160) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (161) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) The TRS R consists of the following rules: new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (162) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)),new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0))) (new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)),new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0))) ---------------------------------------- (163) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(Main.Zero), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) The TRS R consists of the following rules: new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (164) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (165) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) The TRS R consists of the following rules: new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000)))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (166) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (167) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) The TRS R consists of the following rules: new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (168) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) the following chains were created: *We consider the chain new_showInt1ShowInt0(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x3, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), H(x4, Main.Succ(x5), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(x4, Main.Succ(x5), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) which results in the following constraint: (1) (H(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x3, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))=H(x4, Main.Succ(x5), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) ==> new_showInt1ShowInt0(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x3, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=x130 & new_new_showInt1ShowInt00(x3, x130)=cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) ==> new_showInt1ShowInt0(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x3))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x3, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_showInt1ShowInt00(x3, x130)=cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) which results in the following new constraints: (3) (new_new_showInt1ShowInt00(x132, x131)=cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=Main.Succ(x131) & (\/x133:new_new_showInt1ShowInt00(x132, x131)=cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=x131 ==> new_showInt1ShowInt0(x133, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x132))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x133, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x132))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x132, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ==> new_showInt1ShowInt0(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x132)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x132)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(Main.Succ(x132), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) (4) (cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)=cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=Main.Zero ==> new_showInt1ShowInt0(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(Main.Zero, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) (5) (cons_new_showInt1ShowInt00(Main.Succ(x134), Main.Zero)=cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=Main.Zero ==> new_showInt1ShowInt0(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x134)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x134)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(Main.Succ(x134), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: (6) (new_new_showInt1ShowInt00(x132, x131)=cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x131 ==> new_showInt1ShowInt0(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x132)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x132)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(Main.Succ(x132), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_new_showInt1ShowInt00(x132, x131)=cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) which results in the following new constraints: (7) (new_new_showInt1ShowInt00(x136, x135)=cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=Main.Succ(x135) & (\/x137:new_new_showInt1ShowInt00(x136, x135)=cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x135 ==> new_showInt1ShowInt0(x137, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x136)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x137, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x136)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(Main.Succ(x136), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ==> new_showInt1ShowInt0(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x136))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x136))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(Main.Succ(Main.Succ(x136)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) (8) (cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)=cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=Main.Zero ==> new_showInt1ShowInt0(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) (9) (cons_new_showInt1ShowInt00(Main.Succ(x138), Main.Zero)=cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=Main.Zero ==> new_showInt1ShowInt0(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x138))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x138))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(Main.Succ(Main.Succ(x138)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) We simplified constraint (7) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_showInt1ShowInt0(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x136))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x136))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(Main.Succ(Main.Succ(x136)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) We solved constraint (8) using rules (I), (II).We solved constraint (9) using rules (I), (II). *We consider the chain new_showInt1ShowInt0(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x13))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x13))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x13, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), H(x14, Main.Succ(x15), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero)) -> new_showInt1ShowInt00(x14, Main.Succ(x15), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x16), Main.Zero) which results in the following constraint: (1) (H(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x13))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x13, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))=H(x14, Main.Succ(x15), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero)) ==> new_showInt1ShowInt0(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x13))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x13))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x13, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=x139 & new_new_showInt1ShowInt00(x13, x139)=cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero) ==> new_showInt1ShowInt0(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x13))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x13))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x13, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_showInt1ShowInt00(x13, x139)=cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero) which results in the following new constraints: (3) (new_new_showInt1ShowInt00(x141, x140)=cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=Main.Succ(x140) & (\/x142,x143:new_new_showInt1ShowInt00(x141, x140)=cons_new_showInt1ShowInt00(Main.Succ(x142), Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=x140 ==> new_showInt1ShowInt0(x143, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x141))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x143, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x141))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x141, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ==> new_showInt1ShowInt0(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x141)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x141)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(Main.Succ(x141), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) (4) (cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)=cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=Main.Zero ==> new_showInt1ShowInt0(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(Main.Zero, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) (5) (cons_new_showInt1ShowInt00(Main.Succ(x144), Main.Zero)=cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=Main.Zero ==> new_showInt1ShowInt0(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x144)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x144)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(Main.Succ(x144), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: (6) (new_new_showInt1ShowInt00(x141, x140)=cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x140 ==> new_showInt1ShowInt0(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x141)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x141)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(Main.Succ(x141), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_new_showInt1ShowInt00(x141, x140)=cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero) which results in the following new constraints: (7) (new_new_showInt1ShowInt00(x146, x145)=cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=Main.Succ(x145) & (\/x147,x148:new_new_showInt1ShowInt00(x146, x145)=cons_new_showInt1ShowInt00(Main.Succ(x147), Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x145 ==> new_showInt1ShowInt0(x148, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x146)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x148, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x146)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(Main.Succ(x146), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) ==> new_showInt1ShowInt0(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x146))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x146))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(Main.Succ(Main.Succ(x146)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) (8) (cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)=cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=Main.Zero ==> new_showInt1ShowInt0(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) (9) (cons_new_showInt1ShowInt00(Main.Succ(x149), Main.Zero)=cons_new_showInt1ShowInt00(Main.Succ(x16), Main.Zero) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=Main.Zero ==> new_showInt1ShowInt0(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x149))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x149))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(Main.Succ(Main.Succ(x149)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) We simplified constraint (7) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_showInt1ShowInt0(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x146))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x146))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(Main.Succ(Main.Succ(x146)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) We solved constraint (8) using rules (I), (II).We solved constraint (9) using rules (I), (II). For Pair H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) the following chains were created: *We consider the chain H(x23, Main.Succ(x24), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(x23, Main.Succ(x24), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero), new_showInt1ShowInt00(x25, Main.Succ(x26), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(x25, Main.Succ(x26), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) which results in the following constraint: (1) (new_showInt1ShowInt00(x23, Main.Succ(x24), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero)=new_showInt1ShowInt00(x25, Main.Succ(x26), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) ==> H(x23, Main.Succ(x24), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero))_>=_new_showInt1ShowInt00(x23, Main.Succ(x24), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x23, Main.Succ(x24), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero))_>=_new_showInt1ShowInt00(x23, Main.Succ(x24), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero)) For Pair new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) the following chains were created: *We consider the chain new_showInt1ShowInt00(x41, Main.Succ(x42), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(x41, Main.Succ(x42), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), new_showInt1ShowInt01(x43, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x44))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x44)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x44, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x44))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x43)) which results in the following constraint: (1) (new_showInt1ShowInt01(x41, Main.Succ(x42), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))=new_showInt1ShowInt01(x43, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x44))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) ==> new_showInt1ShowInt00(x41, Main.Succ(x42), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero)_>=_new_showInt1ShowInt01(x41, Main.Succ(x42), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_showInt1ShowInt00(x41, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x44))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero)_>=_new_showInt1ShowInt01(x41, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x44))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) For Pair new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) the following chains were created: *We consider the chain new_showInt1ShowInt01(x59, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x60))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x60)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x60, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x60))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x59)), new_showInt(Main.Pos(Main.Succ(x61)), x62) -> new_showInt1ShowInt0(x62, x61, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) which results in the following constraint: (1) (new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x60)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x60, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x60))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x59))=new_showInt(Main.Pos(Main.Succ(x61)), x62) ==> new_showInt1ShowInt01(x59, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x60))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x60)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x60, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x60))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x59))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Succ(Main.Succ(Main.Succ(Main.Succ(x60))))=x150 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x151 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=x152 & new_primDivNatS02(x150, x151, x60, x152)=Main.Succ(x61) ==> new_showInt1ShowInt01(x59, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x60))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x60)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x60, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x60))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x59))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x150, x151, x60, x152)=Main.Succ(x61) which results in the following new constraints: (3) (new_primDivNatS02(x156, x155, x154, x153)=Main.Succ(x61) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x154)))))=x156 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x155 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=Main.Succ(x153) & (\/x157,x158:new_primDivNatS02(x156, x155, x154, x153)=Main.Succ(x157) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x154))))=x156 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x155 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=x153 ==> new_showInt1ShowInt01(x158, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x154))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x154)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x154, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x154))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x158))) ==> new_showInt1ShowInt01(x59, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x154)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x154))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x154), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x154)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x59))) (4) (new_primDivNatS01(x164, x163)=Main.Succ(x61) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x162)))))=x164 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x163 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=Main.Zero ==> new_showInt1ShowInt01(x59, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x162)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x162))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x162), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x162)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x59))) (5) (new_primDivNatS01(x166, x165)=Main.Succ(x61) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=x166 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x165 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=Main.Zero ==> new_showInt1ShowInt01(x59, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x59))) We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: (6) (new_primDivNatS02(x156, x155, x154, x153)=Main.Succ(x61) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x154)))))=x156 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x155 & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x153 ==> new_showInt1ShowInt01(x59, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x154)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x154))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x154), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x154)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x59))) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x156, x155, x154, x153)=Main.Succ(x61) which results in the following new constraints: (7) (new_primDivNatS02(x170, x169, x168, x167)=Main.Succ(x61) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x168))))))=x170 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x169 & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=Main.Succ(x167) & (\/x171,x172:new_primDivNatS02(x170, x169, x168, x167)=Main.Succ(x171) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x168)))))=x170 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x169 & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x167 ==> new_showInt1ShowInt01(x172, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x168)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x168))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x168), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x168)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x172))) ==> new_showInt1ShowInt01(x59, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x168))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x168)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Succ(x168)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x168))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x59))) (8) (new_primDivNatS01(x178, x177)=Main.Succ(x61) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x176))))))=x178 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x177 & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=Main.Zero ==> new_showInt1ShowInt01(x59, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x176))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x176)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Succ(x176)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x176))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x59))) (9) (new_primDivNatS01(x180, x179)=Main.Succ(x61) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))=x180 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x179 & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=Main.Zero ==> new_showInt1ShowInt01(x59, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x59))) We simplified constraint (7) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_showInt1ShowInt01(x59, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x168))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x168)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Succ(x168)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x168))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x59))) We solved constraint (8) using rules (I), (II).We solved constraint (9) using rules (I), (II). For Pair new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) the following chains were created: *We consider the chain new_showInt(Main.Pos(Main.Succ(x67)), x68) -> new_showInt1ShowInt0(x68, x67, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))), new_showInt1ShowInt0(x69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x70))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(x69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x70))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x70, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) which results in the following constraint: (1) (new_showInt1ShowInt0(x68, x67, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))=new_showInt1ShowInt0(x69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x70))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) ==> new_showInt(Main.Pos(Main.Succ(x67)), x68)_>=_new_showInt1ShowInt0(x68, x67, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_showInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x70))))))), x68)_>=_new_showInt1ShowInt0(x68, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x70))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) For Pair H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) the following chains were created: *We consider the chain H(x101, Main.Succ(x102), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x103), Main.Zero)) -> new_showInt1ShowInt00(x101, Main.Succ(x102), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x103), Main.Zero), new_showInt1ShowInt00(x104, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x105))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x106), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x105)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x105, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x105))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x104)) which results in the following constraint: (1) (new_showInt1ShowInt00(x101, Main.Succ(x102), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x103), Main.Zero)=new_showInt1ShowInt00(x104, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x105))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x106), Main.Zero) ==> H(x101, Main.Succ(x102), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x103), Main.Zero))_>=_new_showInt1ShowInt00(x101, Main.Succ(x102), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x103), Main.Zero)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (H(x101, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x105))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x103), Main.Zero))_>=_new_showInt1ShowInt00(x101, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x105))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x103), Main.Zero)) For Pair new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) the following chains were created: *We consider the chain new_showInt1ShowInt00(x119, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x120))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x121), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x120)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x120, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x120))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x119)), new_showInt(Main.Pos(Main.Succ(x122)), x123) -> new_showInt1ShowInt0(x123, x122, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) which results in the following constraint: (1) (new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x120)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x120, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x120))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x119))=new_showInt(Main.Pos(Main.Succ(x122)), x123) ==> new_showInt1ShowInt00(x119, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x120))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x121), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x120)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x120, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x120))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x119))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Main.Succ(Main.Succ(Main.Succ(Main.Succ(x120))))=x181 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x182 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=x183 & new_primDivNatS02(x181, x182, x120, x183)=Main.Succ(x122) ==> new_showInt1ShowInt00(x119, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x120))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x121), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x120)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x120, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x120))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x119))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x181, x182, x120, x183)=Main.Succ(x122) which results in the following new constraints: (3) (new_primDivNatS02(x187, x186, x185, x184)=Main.Succ(x122) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x185)))))=x187 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x186 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=Main.Succ(x184) & (\/x188,x189,x190:new_primDivNatS02(x187, x186, x185, x184)=Main.Succ(x188) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x185))))=x187 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x186 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=x184 ==> new_showInt1ShowInt00(x189, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x185))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x190), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x185)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x185, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x185))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x189))) ==> new_showInt1ShowInt00(x119, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x185)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x121), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x185))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x185), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x185)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x119))) (4) (new_primDivNatS01(x196, x195)=Main.Succ(x122) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x194)))))=x196 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x195 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=Main.Zero ==> new_showInt1ShowInt00(x119, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x194)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x121), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x194))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x194), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x194)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x119))) (5) (new_primDivNatS01(x198, x197)=Main.Succ(x122) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=x198 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x197 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=Main.Zero ==> new_showInt1ShowInt00(x119, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x121), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x119))) We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: (6) (new_primDivNatS02(x187, x186, x185, x184)=Main.Succ(x122) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x185)))))=x187 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x186 & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x184 ==> new_showInt1ShowInt00(x119, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x185)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x121), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x185))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x185), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x185)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x119))) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x187, x186, x185, x184)=Main.Succ(x122) which results in the following new constraints: (7) (new_primDivNatS02(x202, x201, x200, x199)=Main.Succ(x122) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x200))))))=x202 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x201 & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=Main.Succ(x199) & (\/x203,x204,x205:new_primDivNatS02(x202, x201, x200, x199)=Main.Succ(x203) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x200)))))=x202 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x201 & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x199 ==> new_showInt1ShowInt00(x204, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x200)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x205), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x200))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x200), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x200)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x204))) ==> new_showInt1ShowInt00(x119, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x200))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x121), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x200)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Succ(x200)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x200))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x119))) (8) (new_primDivNatS01(x211, x210)=Main.Succ(x122) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x209))))))=x211 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x210 & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=Main.Zero ==> new_showInt1ShowInt00(x119, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x209))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x121), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x209)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Succ(x209)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x209))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x119))) (9) (new_primDivNatS01(x213, x212)=Main.Succ(x122) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))=x213 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x212 & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=Main.Zero ==> new_showInt1ShowInt00(x119, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x121), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x119))) We simplified constraint (7) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_showInt1ShowInt00(x119, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x200))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x121), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x200)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Succ(x200)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x200))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x119))) We solved constraint (8) using rules (I), (II).We solved constraint (9) using rules (I), (II). To summarize, we get the following constraints P__>=_ for the following pairs. *new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) *(new_showInt1ShowInt0(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x136))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x136))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(Main.Succ(Main.Succ(x136)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) *(new_showInt1ShowInt0(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x146))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))_>=_H(x12, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x146))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(Main.Succ(Main.Succ(x146)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) *H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) *(H(x23, Main.Succ(x24), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero))_>=_new_showInt1ShowInt00(x23, Main.Succ(x24), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero)) *new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) *(new_showInt1ShowInt00(x41, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x44))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero)_>=_new_showInt1ShowInt01(x41, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x44))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) *new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) *(new_showInt1ShowInt01(x59, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x168))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x168)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Succ(x168)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x168))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x59))) *new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) *(new_showInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x70))))))), x68)_>=_new_showInt1ShowInt0(x68, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x70))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) *H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) *(H(x101, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x105))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x103), Main.Zero))_>=_new_showInt1ShowInt00(x101, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x105))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x103), Main.Zero)) *new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) *(new_showInt1ShowInt00(x119, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x200))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x121), Main.Zero)_>=_new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x200)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Succ(x200)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x200))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), x119))) 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. ---------------------------------------- (169) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt0(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) -> H(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_new_showInt1ShowInt00(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Zero, Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Zero, Main.Zero) -> new_showInt1ShowInt01(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) new_showInt1ShowInt01(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) new_showInt(Main.Pos(Main.Succ(xv300)), xv4) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) H(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), cons_new_showInt1ShowInt00(Main.Succ(x3), Main.Zero)) -> new_showInt1ShowInt00(z0, Main.Succ(z1), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x3), Main.Zero) new_showInt1ShowInt00(y0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(y2), Main.Zero) -> new_showInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Cons(Main.Char(Main.Pos(new_primPlusNat3(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), y0)) The TRS R consists of the following rules: new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050)) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050)) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000))))))) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000)))))))) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000))))))))) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000)) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530)) -> Main.Succ(Main.Succ(xv150)) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS01(xv139, xv140) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140))) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157) -> new_primModNatS3(xv1550, xv1560, xv157) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157) -> new_primModNatS4(xv1550, xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700))) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero) -> new_primModNatS01(xv150, xv151) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530)) -> new_primModNatS03(xv150, xv151, xv1520, xv1530) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero)) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(xv1100), Main.Zero) -> Main.Succ(xv1100) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110)) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110))) new_primPlusNat2(Main.Zero, Main.Zero) -> Main.Zero new_primPlusNat2(Main.Zero, Main.Succ(xv1110)) -> Main.Succ(xv1110) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157) -> new_primModNatS2(xv157) new_primModNatS3(Main.Zero, Main.Zero, xv157) -> new_primModNatS2(xv157) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700))) -> Main.Succ(Main.Succ(Main.Zero)) new_primModNatS4(Main.Zero, Main.Succ(xv1170)) -> Main.Succ(Main.Zero) new_primModNatS4(xv116, Main.Zero) -> Main.Zero new_primModNatS2(xv122) -> Main.Zero new_primPlusNat5(xv110, xv111) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111))) new_primModNatS02(xv126) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero) -> new_primDivNatS01(xv102, xv103) new_primDivNatS01(xv102, xv103) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148) -> new_primDivNatS2(xv1460, xv1470, xv148) new_primDivNatS2(Main.Zero, Main.Zero, xv148) -> new_primDivNatS4(xv148) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148) -> new_primDivNatS3(xv1460, xv148) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148) -> new_primDivNatS4(xv148) new_primDivNatS4(xv148) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730)) -> new_primDivNatS02(xv720, xv730, xv720, xv730) new_primDivNatS3(Main.Zero, Main.Succ(xv730)) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero)) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Succ(xv790)) -> new_new_showInt1ShowInt00(xv780, xv790) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) -> cons_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) -> cons_new_showInt1ShowInt00(Main.Succ(xv780), Main.Zero) The set Q consists of the following terms: new_primModNatS4(x0, Main.Zero) new_primModNatS3(Main.Zero, Main.Zero, x0) new_primPlusNat3(x0, Main.Zero, Main.Succ(x1)) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primModNatS03(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat2(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero))) new_primModNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, x1, Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Zero, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1)) new_primModNatS4(Main.Zero, Main.Succ(x0)) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primDivNatS3(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero)))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primPlusNat2(Main.Succ(x0), Main.Succ(x1)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))))) new_primModNatS4(Main.Succ(Main.Succ(x0)), Main.Succ(Main.Zero)) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) new_primPlusNat3(x0, Main.Succ(Main.Succ(x1)), Main.Succ(Main.Zero)) new_primModNatS2(x0) new_primDivNatS2(Main.Zero, Main.Zero, x0) new_primPlusNat5(x0, x1) new_primDivNatS3(Main.Succ(x0), Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS03(x0, x1, Main.Zero, Main.Zero) new_primModNatS03(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1), x2) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(x1)))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat2(Main.Zero, Main.Zero) new_primModNatS02(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(x0))) new_primDivNatS3(Main.Zero, Main.Zero) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) new_primModNatS3(Main.Succ(x0), Main.Zero, x1) new_primPlusNat2(Main.Zero, Main.Succ(x0)) new_primModNatS01(x0, x1) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Zero, Main.Succ(x0), x1) new_primDivNatS4(x0) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))) new_primPlusNat3(x0, Main.Succ(Main.Zero), Main.Succ(Main.Succ(x1))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(x1))), Main.Succ(Main.Succ(Main.Zero))) new_primPlusNat3(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) new_primModNatS3(Main.Zero, Main.Succ(x0), x1) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Succ(x1)) new_new_showInt1ShowInt00(Main.Zero, Main.Zero) new_new_showInt1ShowInt00(Main.Succ(x0), Main.Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (170) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (171) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790)) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 > 5 ---------------------------------------- (172) YES ---------------------------------------- (173) Narrow (COMPLETE) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="showInt",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="showInt xv3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="showInt xv3 xv4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="showInt3 xv3 xv4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6[label="showInt2 xv3 xv4 (ltMyInt xv3 (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 7[label="showInt2 xv3 xv4 (esEsOrdering (compareMyInt xv3 (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 8[label="showInt2 xv3 xv4 (esEsOrdering (primCmpInt xv3 (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="burlywood",shape="box"];1456[label="xv3/Pos xv30",fontsize=10,color="white",style="solid",shape="box"];8 -> 1456[label="",style="solid", color="burlywood", weight=9]; 1456 -> 9[label="",style="solid", color="burlywood", weight=3]; 1457[label="xv3/Neg xv30",fontsize=10,color="white",style="solid",shape="box"];8 -> 1457[label="",style="solid", color="burlywood", weight=9]; 1457 -> 10[label="",style="solid", color="burlywood", weight=3]; 9[label="showInt2 (Pos xv30) xv4 (esEsOrdering (primCmpInt (Pos xv30) (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="burlywood",shape="box"];1458[label="xv30/Succ xv300",fontsize=10,color="white",style="solid",shape="box"];9 -> 1458[label="",style="solid", color="burlywood", weight=9]; 1458 -> 11[label="",style="solid", color="burlywood", weight=3]; 1459[label="xv30/Zero",fontsize=10,color="white",style="solid",shape="box"];9 -> 1459[label="",style="solid", color="burlywood", weight=9]; 1459 -> 12[label="",style="solid", color="burlywood", weight=3]; 10[label="showInt2 (Neg xv30) xv4 (esEsOrdering (primCmpInt (Neg xv30) (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="burlywood",shape="box"];1460[label="xv30/Succ xv300",fontsize=10,color="white",style="solid",shape="box"];10 -> 1460[label="",style="solid", color="burlywood", weight=9]; 1460 -> 13[label="",style="solid", color="burlywood", weight=3]; 1461[label="xv30/Zero",fontsize=10,color="white",style="solid",shape="box"];10 -> 1461[label="",style="solid", color="burlywood", weight=9]; 1461 -> 14[label="",style="solid", color="burlywood", weight=3]; 11[label="showInt2 (Pos (Succ xv300)) xv4 (esEsOrdering (primCmpInt (Pos (Succ xv300)) (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="black",shape="box"];11 -> 15[label="",style="solid", color="black", weight=3]; 12[label="showInt2 (Pos Zero) xv4 (esEsOrdering (primCmpInt (Pos Zero) (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="black",shape="box"];12 -> 16[label="",style="solid", color="black", weight=3]; 13[label="showInt2 (Neg (Succ xv300)) xv4 (esEsOrdering (primCmpInt (Neg (Succ xv300)) (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="black",shape="box"];13 -> 17[label="",style="solid", color="black", weight=3]; 14[label="showInt2 (Neg Zero) xv4 (esEsOrdering (primCmpInt (Neg Zero) (fromIntMyInt (Pos Zero))) LT)",fontsize=16,color="black",shape="box"];14 -> 18[label="",style="solid", color="black", weight=3]; 15[label="showInt2 (Pos (Succ xv300)) xv4 (esEsOrdering (primCmpInt (Pos (Succ xv300)) (Pos Zero)) LT)",fontsize=16,color="black",shape="box"];15 -> 19[label="",style="solid", color="black", weight=3]; 16[label="showInt2 (Pos Zero) xv4 (esEsOrdering (primCmpInt (Pos Zero) (Pos Zero)) LT)",fontsize=16,color="black",shape="box"];16 -> 20[label="",style="solid", color="black", weight=3]; 17[label="showInt2 (Neg (Succ xv300)) xv4 (esEsOrdering (primCmpInt (Neg (Succ xv300)) (Pos Zero)) LT)",fontsize=16,color="black",shape="box"];17 -> 21[label="",style="solid", color="black", weight=3]; 18[label="showInt2 (Neg Zero) xv4 (esEsOrdering (primCmpInt (Neg Zero) (Pos Zero)) LT)",fontsize=16,color="black",shape="box"];18 -> 22[label="",style="solid", color="black", weight=3]; 19[label="showInt2 (Pos (Succ xv300)) xv4 (esEsOrdering (primCmpNat (Succ xv300) Zero) LT)",fontsize=16,color="black",shape="box"];19 -> 23[label="",style="solid", color="black", weight=3]; 20[label="showInt2 (Pos Zero) xv4 (esEsOrdering EQ LT)",fontsize=16,color="black",shape="box"];20 -> 24[label="",style="solid", color="black", weight=3]; 21[label="showInt2 (Neg (Succ xv300)) xv4 (esEsOrdering LT LT)",fontsize=16,color="black",shape="box"];21 -> 25[label="",style="solid", color="black", weight=3]; 22[label="showInt2 (Neg Zero) xv4 (esEsOrdering EQ LT)",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 23[label="showInt2 (Pos (Succ xv300)) xv4 (esEsOrdering GT LT)",fontsize=16,color="black",shape="box"];23 -> 27[label="",style="solid", color="black", weight=3]; 24[label="showInt2 (Pos Zero) xv4 MyFalse",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 25[label="showInt2 (Neg (Succ xv300)) xv4 MyTrue",fontsize=16,color="black",shape="box"];25 -> 29[label="",style="solid", color="black", weight=3]; 26[label="showInt2 (Neg Zero) xv4 MyFalse",fontsize=16,color="black",shape="box"];26 -> 30[label="",style="solid", color="black", weight=3]; 27[label="showInt2 (Pos (Succ xv300)) xv4 MyFalse",fontsize=16,color="black",shape="box"];27 -> 31[label="",style="solid", color="black", weight=3]; 28[label="showInt1 (Pos Zero) xv4 otherwise",fontsize=16,color="black",shape="box"];28 -> 32[label="",style="solid", color="black", weight=3]; 29[label="error",fontsize=16,color="black",shape="box"];29 -> 33[label="",style="solid", color="black", weight=3]; 30[label="showInt1 (Neg Zero) xv4 otherwise",fontsize=16,color="black",shape="box"];30 -> 34[label="",style="solid", color="black", weight=3]; 31[label="showInt1 (Pos (Succ xv300)) xv4 otherwise",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 32[label="showInt1 (Pos Zero) xv4 MyTrue",fontsize=16,color="black",shape="box"];32 -> 36[label="",style="solid", color="black", weight=3]; 33[label="stop MyTrue",fontsize=16,color="black",shape="box"];33 -> 37[label="",style="solid", color="black", weight=3]; 34[label="showInt1 (Neg Zero) xv4 MyTrue",fontsize=16,color="black",shape="box"];34 -> 38[label="",style="solid", color="black", weight=3]; 35[label="showInt1 (Pos (Succ xv300)) xv4 MyTrue",fontsize=16,color="black",shape="box"];35 -> 39[label="",style="solid", color="black", weight=3]; 36[label="showInt1ShowInt0 xv4 (Pos Zero) (esEsMyInt (showInt1N' xv4 (Pos Zero)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];36 -> 40[label="",style="solid", color="black", weight=3]; 37[label="error []",fontsize=16,color="red",shape="box"];38[label="showInt1ShowInt0 xv4 (Neg Zero) (esEsMyInt (showInt1N' xv4 (Neg Zero)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];38 -> 41[label="",style="solid", color="black", weight=3]; 39[label="showInt1ShowInt0 xv4 (Pos (Succ xv300)) (esEsMyInt (showInt1N' xv4 (Pos (Succ xv300))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];39 -> 42[label="",style="solid", color="black", weight=3]; 40[label="showInt1ShowInt0 xv4 (Pos Zero) (primEqInt (showInt1N' xv4 (Pos Zero)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];40 -> 43[label="",style="solid", color="black", weight=3]; 41[label="showInt1ShowInt0 xv4 (Neg Zero) (primEqInt (showInt1N' xv4 (Neg Zero)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];41 -> 44[label="",style="solid", color="black", weight=3]; 42[label="showInt1ShowInt0 xv4 (Pos (Succ xv300)) (primEqInt (showInt1N' xv4 (Pos (Succ xv300))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];42 -> 45[label="",style="solid", color="black", weight=3]; 43[label="showInt1ShowInt0 xv4 (Pos Zero) (primEqInt (showInt1N'0 xv4 (Pos Zero) (showInt1Vu76 xv4 (Pos Zero))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];43 -> 46[label="",style="solid", color="black", weight=3]; 44[label="showInt1ShowInt0 xv4 (Neg Zero) (primEqInt (showInt1N'0 xv4 (Neg Zero) (showInt1Vu76 xv4 (Neg Zero))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];44 -> 47[label="",style="solid", color="black", weight=3]; 45[label="showInt1ShowInt0 xv4 (Pos (Succ xv300)) (primEqInt (showInt1N'0 xv4 (Pos (Succ xv300)) (showInt1Vu76 xv4 (Pos (Succ xv300)))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];45 -> 48[label="",style="solid", color="black", weight=3]; 46 -> 49[label="",style="dashed", color="red", weight=0]; 46[label="showInt1ShowInt0 xv4 (Pos Zero) (primEqInt (showInt1N'0 xv4 (Pos Zero) (quotRemMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];46 -> 50[label="",style="dashed", color="magenta", weight=3]; 46 -> 51[label="",style="dashed", color="magenta", weight=3]; 47 -> 52[label="",style="dashed", color="red", weight=0]; 47[label="showInt1ShowInt0 xv4 (Neg Zero) (primEqInt (showInt1N'0 xv4 (Neg Zero) (quotRemMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];47 -> 53[label="",style="dashed", color="magenta", weight=3]; 47 -> 54[label="",style="dashed", color="magenta", weight=3]; 48 -> 55[label="",style="dashed", color="red", weight=0]; 48[label="showInt1ShowInt0 xv4 (Pos (Succ xv300)) (primEqInt (showInt1N'0 xv4 (Pos (Succ xv300)) (quotRemMyInt (Pos (Succ xv300)) (fromIntMyInt (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];48 -> 56[label="",style="dashed", color="magenta", weight=3]; 48 -> 57[label="",style="dashed", color="magenta", weight=3]; 48 -> 58[label="",style="dashed", color="magenta", weight=3]; 50[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];51[label="xv4",fontsize=16,color="green",shape="box"];49[label="showInt1ShowInt0 xv6 (Pos Zero) (primEqInt (showInt1N'0 xv6 (Pos Zero) (quotRemMyInt (Pos Zero) (fromIntMyInt (Pos (Succ xv7))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="triangle"];49 -> 59[label="",style="solid", color="black", weight=3]; 53[label="xv4",fontsize=16,color="green",shape="box"];54[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];52[label="showInt1ShowInt0 xv9 (Neg Zero) (primEqInt (showInt1N'0 xv9 (Neg Zero) (quotRemMyInt (Neg Zero) (fromIntMyInt (Pos (Succ xv10))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="triangle"];52 -> 60[label="",style="solid", color="black", weight=3]; 56[label="xv4",fontsize=16,color="green",shape="box"];57[label="xv300",fontsize=16,color="green",shape="box"];58[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];55[label="showInt1ShowInt0 xv12 (Pos (Succ xv13)) (primEqInt (showInt1N'0 xv12 (Pos (Succ xv13)) (quotRemMyInt (Pos (Succ xv13)) (fromIntMyInt (Pos (Succ xv14))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="triangle"];55 -> 61[label="",style="solid", color="black", weight=3]; 59[label="showInt1ShowInt0 xv6 (Pos Zero) (primEqInt (showInt1N'0 xv6 (Pos Zero) (primQrmInt (Pos Zero) (fromIntMyInt (Pos (Succ xv7))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];59 -> 62[label="",style="solid", color="black", weight=3]; 60[label="showInt1ShowInt0 xv9 (Neg Zero) (primEqInt (showInt1N'0 xv9 (Neg Zero) (primQrmInt (Neg Zero) (fromIntMyInt (Pos (Succ xv10))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];60 -> 63[label="",style="solid", color="black", weight=3]; 61[label="showInt1ShowInt0 xv12 (Pos (Succ xv13)) (primEqInt (showInt1N'0 xv12 (Pos (Succ xv13)) (primQrmInt (Pos (Succ xv13)) (fromIntMyInt (Pos (Succ xv14))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];61 -> 64[label="",style="solid", color="black", weight=3]; 62[label="showInt1ShowInt0 xv6 (Pos Zero) (primEqInt (showInt1N'0 xv6 (Pos Zero) (Tup2 (primQuotInt (Pos Zero) (fromIntMyInt (Pos (Succ xv7)))) (primRemInt (Pos Zero) (fromIntMyInt (Pos (Succ xv7)))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];62 -> 65[label="",style="solid", color="black", weight=3]; 63[label="showInt1ShowInt0 xv9 (Neg Zero) (primEqInt (showInt1N'0 xv9 (Neg Zero) (Tup2 (primQuotInt (Neg Zero) (fromIntMyInt (Pos (Succ xv10)))) (primRemInt (Neg Zero) (fromIntMyInt (Pos (Succ xv10)))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];63 -> 66[label="",style="solid", color="black", weight=3]; 64[label="showInt1ShowInt0 xv12 (Pos (Succ xv13)) (primEqInt (showInt1N'0 xv12 (Pos (Succ xv13)) (Tup2 (primQuotInt (Pos (Succ xv13)) (fromIntMyInt (Pos (Succ xv14)))) (primRemInt (Pos (Succ xv13)) (fromIntMyInt (Pos (Succ xv14)))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];64 -> 67[label="",style="solid", color="black", weight=3]; 65[label="showInt1ShowInt0 xv6 (Pos Zero) (primEqInt (primQuotInt (Pos Zero) (fromIntMyInt (Pos (Succ xv7)))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];65 -> 68[label="",style="solid", color="black", weight=3]; 66[label="showInt1ShowInt0 xv9 (Neg Zero) (primEqInt (primQuotInt (Neg Zero) (fromIntMyInt (Pos (Succ xv10)))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];66 -> 69[label="",style="solid", color="black", weight=3]; 67[label="showInt1ShowInt0 xv12 (Pos (Succ xv13)) (primEqInt (primQuotInt (Pos (Succ xv13)) (fromIntMyInt (Pos (Succ xv14)))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];67 -> 70[label="",style="solid", color="black", weight=3]; 68[label="showInt1ShowInt0 xv6 (Pos Zero) (primEqInt (primQuotInt (Pos Zero) (Pos (Succ xv7))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];68 -> 71[label="",style="solid", color="black", weight=3]; 69[label="showInt1ShowInt0 xv9 (Neg Zero) (primEqInt (primQuotInt (Neg Zero) (Pos (Succ xv10))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];69 -> 72[label="",style="solid", color="black", weight=3]; 70[label="showInt1ShowInt0 xv12 (Pos (Succ xv13)) (primEqInt (primQuotInt (Pos (Succ xv13)) (Pos (Succ xv14))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];70 -> 73[label="",style="solid", color="black", weight=3]; 71[label="showInt1ShowInt0 xv6 (Pos Zero) (primEqInt (Pos (primDivNatS Zero (Succ xv7))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];71 -> 74[label="",style="solid", color="black", weight=3]; 72[label="showInt1ShowInt0 xv9 (Neg Zero) (primEqInt (Neg (primDivNatS Zero (Succ xv10))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];72 -> 75[label="",style="solid", color="black", weight=3]; 73[label="showInt1ShowInt0 xv12 (Pos (Succ xv13)) (primEqInt (Pos (primDivNatS (Succ xv13) (Succ xv14))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];73 -> 76[label="",style="solid", color="black", weight=3]; 74[label="showInt1ShowInt0 xv6 (Pos Zero) (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];74 -> 77[label="",style="solid", color="black", weight=3]; 75[label="showInt1ShowInt0 xv9 (Neg Zero) (primEqInt (Neg Zero) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];75 -> 78[label="",style="solid", color="black", weight=3]; 76[label="showInt1ShowInt0 xv12 (Pos (Succ xv13)) (primEqInt (Pos (primDivNatS0 xv13 xv14 (primGEqNatS xv13 xv14))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];1462[label="xv13/Succ xv130",fontsize=10,color="white",style="solid",shape="box"];76 -> 1462[label="",style="solid", color="burlywood", weight=9]; 1462 -> 79[label="",style="solid", color="burlywood", weight=3]; 1463[label="xv13/Zero",fontsize=10,color="white",style="solid",shape="box"];76 -> 1463[label="",style="solid", color="burlywood", weight=9]; 1463 -> 80[label="",style="solid", color="burlywood", weight=3]; 77[label="showInt1ShowInt0 xv6 (Pos Zero) (primEqInt (Pos Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];77 -> 81[label="",style="solid", color="black", weight=3]; 78[label="showInt1ShowInt0 xv9 (Neg Zero) (primEqInt (Neg Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];78 -> 82[label="",style="solid", color="black", weight=3]; 79[label="showInt1ShowInt0 xv12 (Pos (Succ (Succ xv130))) (primEqInt (Pos (primDivNatS0 (Succ xv130) xv14 (primGEqNatS (Succ xv130) xv14))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];1464[label="xv14/Succ xv140",fontsize=10,color="white",style="solid",shape="box"];79 -> 1464[label="",style="solid", color="burlywood", weight=9]; 1464 -> 83[label="",style="solid", color="burlywood", weight=3]; 1465[label="xv14/Zero",fontsize=10,color="white",style="solid",shape="box"];79 -> 1465[label="",style="solid", color="burlywood", weight=9]; 1465 -> 84[label="",style="solid", color="burlywood", weight=3]; 80[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) (primEqInt (Pos (primDivNatS0 Zero xv14 (primGEqNatS Zero xv14))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];1466[label="xv14/Succ xv140",fontsize=10,color="white",style="solid",shape="box"];80 -> 1466[label="",style="solid", color="burlywood", weight=9]; 1466 -> 85[label="",style="solid", color="burlywood", weight=3]; 1467[label="xv14/Zero",fontsize=10,color="white",style="solid",shape="box"];80 -> 1467[label="",style="solid", color="burlywood", weight=9]; 1467 -> 86[label="",style="solid", color="burlywood", weight=3]; 81[label="showInt1ShowInt0 xv6 (Pos Zero) MyTrue",fontsize=16,color="black",shape="box"];81 -> 87[label="",style="solid", color="black", weight=3]; 82[label="showInt1ShowInt0 xv9 (Neg Zero) MyTrue",fontsize=16,color="black",shape="box"];82 -> 88[label="",style="solid", color="black", weight=3]; 83[label="showInt1ShowInt0 xv12 (Pos (Succ (Succ xv130))) (primEqInt (Pos (primDivNatS0 (Succ xv130) (Succ xv140) (primGEqNatS (Succ xv130) (Succ xv140)))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];83 -> 89[label="",style="solid", color="black", weight=3]; 84[label="showInt1ShowInt0 xv12 (Pos (Succ (Succ xv130))) (primEqInt (Pos (primDivNatS0 (Succ xv130) Zero (primGEqNatS (Succ xv130) Zero))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];84 -> 90[label="",style="solid", color="black", weight=3]; 85[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) (primEqInt (Pos (primDivNatS0 Zero (Succ xv140) (primGEqNatS Zero (Succ xv140)))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];85 -> 91[label="",style="solid", color="black", weight=3]; 86[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) (primEqInt (Pos (primDivNatS0 Zero Zero (primGEqNatS Zero Zero))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];86 -> 92[label="",style="solid", color="black", weight=3]; 87[label="showInt1R' xv6 (Pos Zero)",fontsize=16,color="black",shape="box"];87 -> 93[label="",style="solid", color="black", weight=3]; 88[label="showInt1R' xv9 (Neg Zero)",fontsize=16,color="black",shape="box"];88 -> 94[label="",style="solid", color="black", weight=3]; 89 -> 482[label="",style="dashed", color="red", weight=0]; 89[label="showInt1ShowInt0 xv12 (Pos (Succ (Succ xv130))) (primEqInt (Pos (primDivNatS0 (Succ xv130) (Succ xv140) (primGEqNatS xv130 xv140))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];89 -> 483[label="",style="dashed", color="magenta", weight=3]; 89 -> 484[label="",style="dashed", color="magenta", weight=3]; 89 -> 485[label="",style="dashed", color="magenta", weight=3]; 89 -> 486[label="",style="dashed", color="magenta", weight=3]; 89 -> 487[label="",style="dashed", color="magenta", weight=3]; 90[label="showInt1ShowInt0 xv12 (Pos (Succ (Succ xv130))) (primEqInt (Pos (primDivNatS0 (Succ xv130) Zero MyTrue)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];90 -> 97[label="",style="solid", color="black", weight=3]; 91[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) (primEqInt (Pos (primDivNatS0 Zero (Succ xv140) MyFalse)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];91 -> 98[label="",style="solid", color="black", weight=3]; 92[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) (primEqInt (Pos (primDivNatS0 Zero Zero MyTrue)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];92 -> 99[label="",style="solid", color="black", weight=3]; 93[label="Cons (toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D xv6 (Pos Zero))))) xv6",fontsize=16,color="green",shape="box"];93 -> 100[label="",style="dashed", color="green", weight=3]; 94[label="Cons (toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D xv9 (Neg Zero))))) xv9",fontsize=16,color="green",shape="box"];94 -> 101[label="",style="dashed", color="green", weight=3]; 483[label="Succ xv130",fontsize=16,color="green",shape="box"];484[label="xv140",fontsize=16,color="green",shape="box"];485[label="xv140",fontsize=16,color="green",shape="box"];486[label="xv130",fontsize=16,color="green",shape="box"];487[label="xv12",fontsize=16,color="green",shape="box"];482[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) (primGEqNatS xv78 xv79))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];1468[label="xv78/Succ xv780",fontsize=10,color="white",style="solid",shape="box"];482 -> 1468[label="",style="solid", color="burlywood", weight=9]; 1468 -> 533[label="",style="solid", color="burlywood", weight=3]; 1469[label="xv78/Zero",fontsize=10,color="white",style="solid",shape="box"];482 -> 1469[label="",style="solid", color="burlywood", weight=9]; 1469 -> 534[label="",style="solid", color="burlywood", weight=3]; 97[label="showInt1ShowInt0 xv12 (Pos (Succ (Succ xv130))) (primEqInt (Pos (Succ (primDivNatS (primMinusNatS (Succ xv130) Zero) (Succ Zero)))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];97 -> 106[label="",style="solid", color="black", weight=3]; 98[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];98 -> 107[label="",style="solid", color="black", weight=3]; 99[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) (primEqInt (Pos (Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero)))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];99 -> 108[label="",style="solid", color="black", weight=3]; 100 -> 109[label="",style="dashed", color="red", weight=0]; 100[label="toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D xv6 (Pos Zero))))",fontsize=16,color="magenta"];100 -> 110[label="",style="dashed", color="magenta", weight=3]; 100 -> 111[label="",style="dashed", color="magenta", weight=3]; 101 -> 112[label="",style="dashed", color="red", weight=0]; 101[label="toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D xv9 (Neg Zero))))",fontsize=16,color="magenta"];101 -> 113[label="",style="dashed", color="magenta", weight=3]; 101 -> 114[label="",style="dashed", color="magenta", weight=3]; 533[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) (primGEqNatS (Succ xv780) xv79))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];1470[label="xv79/Succ xv790",fontsize=10,color="white",style="solid",shape="box"];533 -> 1470[label="",style="solid", color="burlywood", weight=9]; 1470 -> 537[label="",style="solid", color="burlywood", weight=3]; 1471[label="xv79/Zero",fontsize=10,color="white",style="solid",shape="box"];533 -> 1471[label="",style="solid", color="burlywood", weight=9]; 1471 -> 538[label="",style="solid", color="burlywood", weight=3]; 534[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) (primGEqNatS Zero xv79))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];1472[label="xv79/Succ xv790",fontsize=10,color="white",style="solid",shape="box"];534 -> 1472[label="",style="solid", color="burlywood", weight=9]; 1472 -> 539[label="",style="solid", color="burlywood", weight=3]; 1473[label="xv79/Zero",fontsize=10,color="white",style="solid",shape="box"];534 -> 1473[label="",style="solid", color="burlywood", weight=9]; 1473 -> 540[label="",style="solid", color="burlywood", weight=3]; 106[label="showInt1ShowInt0 xv12 (Pos (Succ (Succ xv130))) (primEqInt (Pos (Succ (primDivNatS (primMinusNatS (Succ xv130) Zero) (Succ Zero)))) (Pos Zero))",fontsize=16,color="black",shape="box"];106 -> 119[label="",style="solid", color="black", weight=3]; 107[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) (primEqInt (Pos Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];107 -> 120[label="",style="solid", color="black", weight=3]; 108[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) (primEqInt (Pos (Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero)))) (Pos Zero))",fontsize=16,color="black",shape="box"];108 -> 121[label="",style="solid", color="black", weight=3]; 110[label="xv6",fontsize=16,color="green",shape="box"];111[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];109[label="toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ xv16)))) (fromIntMyInt (showInt1D xv17 (Pos Zero))))",fontsize=16,color="black",shape="triangle"];109 -> 122[label="",style="solid", color="black", weight=3]; 113[label="xv9",fontsize=16,color="green",shape="box"];114[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];112[label="toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ xv19)))) (fromIntMyInt (showInt1D xv20 (Neg Zero))))",fontsize=16,color="black",shape="triangle"];112 -> 123[label="",style="solid", color="black", weight=3]; 537[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) (primGEqNatS (Succ xv780) (Succ xv790)))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];537 -> 547[label="",style="solid", color="black", weight=3]; 538[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) (primGEqNatS (Succ xv780) Zero))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];538 -> 548[label="",style="solid", color="black", weight=3]; 539[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) (primGEqNatS Zero (Succ xv790)))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];539 -> 549[label="",style="solid", color="black", weight=3]; 540[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) (primGEqNatS Zero Zero))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];540 -> 550[label="",style="solid", color="black", weight=3]; 119[label="showInt1ShowInt0 xv12 (Pos (Succ (Succ xv130))) MyFalse",fontsize=16,color="black",shape="triangle"];119 -> 129[label="",style="solid", color="black", weight=3]; 120 -> 313[label="",style="dashed", color="red", weight=0]; 120[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) MyTrue",fontsize=16,color="magenta"];120 -> 314[label="",style="dashed", color="magenta", weight=3]; 120 -> 315[label="",style="dashed", color="magenta", weight=3]; 121[label="showInt1ShowInt0 xv12 (Pos (Succ Zero)) MyFalse",fontsize=16,color="black",shape="box"];121 -> 131[label="",style="solid", color="black", weight=3]; 122[label="primIntToChar (psMyInt (fromEnumChar (Char (Pos (Succ xv16)))) (fromIntMyInt (showInt1D xv17 (Pos Zero))))",fontsize=16,color="black",shape="box"];122 -> 132[label="",style="solid", color="black", weight=3]; 123[label="primIntToChar (psMyInt (fromEnumChar (Char (Pos (Succ xv19)))) (fromIntMyInt (showInt1D xv20 (Neg Zero))))",fontsize=16,color="black",shape="box"];123 -> 133[label="",style="solid", color="black", weight=3]; 547 -> 482[label="",style="dashed", color="red", weight=0]; 547[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) (primGEqNatS xv780 xv790))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];547 -> 554[label="",style="dashed", color="magenta", weight=3]; 547 -> 555[label="",style="dashed", color="magenta", weight=3]; 548[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) MyTrue)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="triangle"];548 -> 556[label="",style="solid", color="black", weight=3]; 549[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) MyFalse)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];549 -> 557[label="",style="solid", color="black", weight=3]; 550 -> 548[label="",style="dashed", color="red", weight=0]; 550[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (primDivNatS0 xv76 (Succ xv77) MyTrue)) (fromIntMyInt (Pos Zero)))",fontsize=16,color="magenta"];129 -> 4[label="",style="dashed", color="red", weight=0]; 129[label="showInt (showInt1N' xv12 (Pos (Succ (Succ xv130)))) (showInt1R' xv12 (Pos (Succ (Succ xv130))))",fontsize=16,color="magenta"];129 -> 141[label="",style="dashed", color="magenta", weight=3]; 129 -> 142[label="",style="dashed", color="magenta", weight=3]; 314[label="Zero",fontsize=16,color="green",shape="box"];315[label="xv12",fontsize=16,color="green",shape="box"];313[label="showInt1ShowInt0 xv56 (Pos (Succ xv57)) MyTrue",fontsize=16,color="black",shape="triangle"];313 -> 324[label="",style="solid", color="black", weight=3]; 131 -> 4[label="",style="dashed", color="red", weight=0]; 131[label="showInt (showInt1N' xv12 (Pos (Succ Zero))) (showInt1R' xv12 (Pos (Succ Zero)))",fontsize=16,color="magenta"];131 -> 144[label="",style="dashed", color="magenta", weight=3]; 131 -> 145[label="",style="dashed", color="magenta", weight=3]; 132[label="Char (psMyInt (fromEnumChar (Char (Pos (Succ xv16)))) (fromIntMyInt (showInt1D xv17 (Pos Zero))))",fontsize=16,color="green",shape="box"];132 -> 146[label="",style="dashed", color="green", weight=3]; 133[label="Char (psMyInt (fromEnumChar (Char (Pos (Succ xv19)))) (fromIntMyInt (showInt1D xv20 (Neg Zero))))",fontsize=16,color="green",shape="box"];133 -> 147[label="",style="dashed", color="green", weight=3]; 554[label="xv790",fontsize=16,color="green",shape="box"];555[label="xv780",fontsize=16,color="green",shape="box"];556[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (Succ (primDivNatS (primMinusNatS xv76 (Succ xv77)) (Succ (Succ xv77))))) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];556 -> 563[label="",style="solid", color="black", weight=3]; 557[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos Zero) (fromIntMyInt (Pos Zero)))",fontsize=16,color="black",shape="box"];557 -> 564[label="",style="solid", color="black", weight=3]; 141[label="showInt1N' xv12 (Pos (Succ (Succ xv130)))",fontsize=16,color="black",shape="box"];141 -> 155[label="",style="solid", color="black", weight=3]; 142[label="showInt1R' xv12 (Pos (Succ (Succ xv130)))",fontsize=16,color="black",shape="triangle"];142 -> 156[label="",style="solid", color="black", weight=3]; 324[label="showInt1R' xv56 (Pos (Succ xv57))",fontsize=16,color="black",shape="triangle"];324 -> 341[label="",style="solid", color="black", weight=3]; 144[label="showInt1N' xv12 (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];144 -> 158[label="",style="solid", color="black", weight=3]; 145 -> 130[label="",style="dashed", color="red", weight=0]; 145[label="showInt1R' xv12 (Pos (Succ Zero))",fontsize=16,color="magenta"];146[label="psMyInt (fromEnumChar (Char (Pos (Succ xv16)))) (fromIntMyInt (showInt1D xv17 (Pos Zero)))",fontsize=16,color="black",shape="box"];146 -> 159[label="",style="solid", color="black", weight=3]; 147[label="psMyInt (fromEnumChar (Char (Pos (Succ xv19)))) (fromIntMyInt (showInt1D xv20 (Neg Zero)))",fontsize=16,color="black",shape="box"];147 -> 160[label="",style="solid", color="black", weight=3]; 563[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos (Succ (primDivNatS (primMinusNatS xv76 (Succ xv77)) (Succ (Succ xv77))))) (Pos Zero))",fontsize=16,color="black",shape="box"];563 -> 571[label="",style="solid", color="black", weight=3]; 564[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) (primEqInt (Pos Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];564 -> 572[label="",style="solid", color="black", weight=3]; 155[label="showInt1N'0 xv12 (Pos (Succ (Succ xv130))) (showInt1Vu76 xv12 (Pos (Succ (Succ xv130))))",fontsize=16,color="black",shape="box"];155 -> 169[label="",style="solid", color="black", weight=3]; 156[label="Cons (toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D xv12 (Pos (Succ (Succ xv130))))))) xv12",fontsize=16,color="green",shape="box"];156 -> 170[label="",style="dashed", color="green", weight=3]; 341[label="Cons (toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D xv56 (Pos (Succ xv57)))))) xv56",fontsize=16,color="green",shape="box"];341 -> 357[label="",style="dashed", color="green", weight=3]; 158[label="showInt1N'0 xv12 (Pos (Succ Zero)) (showInt1Vu76 xv12 (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];158 -> 174[label="",style="solid", color="black", weight=3]; 130[label="showInt1R' xv12 (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];130 -> 143[label="",style="solid", color="black", weight=3]; 159[label="primPlusInt (fromEnumChar (Char (Pos (Succ xv16)))) (fromIntMyInt (showInt1D xv17 (Pos Zero)))",fontsize=16,color="black",shape="box"];159 -> 175[label="",style="solid", color="black", weight=3]; 160[label="primPlusInt (fromEnumChar (Char (Pos (Succ xv19)))) (fromIntMyInt (showInt1D xv20 (Neg Zero)))",fontsize=16,color="black",shape="box"];160 -> 176[label="",style="solid", color="black", weight=3]; 571[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) MyFalse",fontsize=16,color="black",shape="box"];571 -> 581[label="",style="solid", color="black", weight=3]; 572 -> 313[label="",style="dashed", color="red", weight=0]; 572[label="showInt1ShowInt0 xv75 (Pos (Succ xv76)) MyTrue",fontsize=16,color="magenta"];572 -> 582[label="",style="dashed", color="magenta", weight=3]; 572 -> 583[label="",style="dashed", color="magenta", weight=3]; 169 -> 432[label="",style="dashed", color="red", weight=0]; 169[label="showInt1N'0 xv12 (Pos (Succ (Succ xv130))) (quotRemMyInt (Pos (Succ (Succ xv130))) (fromIntMyInt (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))",fontsize=16,color="magenta"];169 -> 433[label="",style="dashed", color="magenta", weight=3]; 169 -> 434[label="",style="dashed", color="magenta", weight=3]; 169 -> 435[label="",style="dashed", color="magenta", weight=3]; 170 -> 368[label="",style="dashed", color="red", weight=0]; 170[label="toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D xv12 (Pos (Succ (Succ xv130))))))",fontsize=16,color="magenta"];170 -> 369[label="",style="dashed", color="magenta", weight=3]; 170 -> 370[label="",style="dashed", color="magenta", weight=3]; 170 -> 371[label="",style="dashed", color="magenta", weight=3]; 357 -> 368[label="",style="dashed", color="red", weight=0]; 357[label="toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D xv56 (Pos (Succ xv57)))))",fontsize=16,color="magenta"];357 -> 372[label="",style="dashed", color="magenta", weight=3]; 357 -> 373[label="",style="dashed", color="magenta", weight=3]; 357 -> 374[label="",style="dashed", color="magenta", weight=3]; 174 -> 432[label="",style="dashed", color="red", weight=0]; 174[label="showInt1N'0 xv12 (Pos (Succ Zero)) (quotRemMyInt (Pos (Succ Zero)) (fromIntMyInt (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))",fontsize=16,color="magenta"];174 -> 436[label="",style="dashed", color="magenta", weight=3]; 174 -> 437[label="",style="dashed", color="magenta", weight=3]; 174 -> 438[label="",style="dashed", color="magenta", weight=3]; 143[label="Cons (toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D xv12 (Pos (Succ Zero)))))) xv12",fontsize=16,color="green",shape="box"];143 -> 157[label="",style="dashed", color="green", weight=3]; 175[label="primPlusInt (primCharToInt (Char (Pos (Succ xv16)))) (fromIntMyInt (showInt1D xv17 (Pos Zero)))",fontsize=16,color="black",shape="box"];175 -> 197[label="",style="solid", color="black", weight=3]; 176[label="primPlusInt (primCharToInt (Char (Pos (Succ xv19)))) (fromIntMyInt (showInt1D xv20 (Neg Zero)))",fontsize=16,color="black",shape="box"];176 -> 198[label="",style="solid", color="black", weight=3]; 581 -> 4[label="",style="dashed", color="red", weight=0]; 581[label="showInt (showInt1N' xv75 (Pos (Succ xv76))) (showInt1R' xv75 (Pos (Succ xv76)))",fontsize=16,color="magenta"];581 -> 591[label="",style="dashed", color="magenta", weight=3]; 581 -> 592[label="",style="dashed", color="magenta", weight=3]; 582[label="xv76",fontsize=16,color="green",shape="box"];583[label="xv75",fontsize=16,color="green",shape="box"];433[label="xv12",fontsize=16,color="green",shape="box"];434[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];435[label="Succ xv130",fontsize=16,color="green",shape="box"];432[label="showInt1N'0 xv71 (Pos (Succ xv72)) (quotRemMyInt (Pos (Succ xv72)) (fromIntMyInt (Pos (Succ xv73))))",fontsize=16,color="black",shape="triangle"];432 -> 448[label="",style="solid", color="black", weight=3]; 369[label="Succ xv130",fontsize=16,color="green",shape="box"];370[label="xv12",fontsize=16,color="green",shape="box"];371[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];368[label="toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ xv67)))) (fromIntMyInt (showInt1D xv68 (Pos (Succ xv69)))))",fontsize=16,color="black",shape="triangle"];368 -> 384[label="",style="solid", color="black", weight=3]; 372[label="xv57",fontsize=16,color="green",shape="box"];373[label="xv56",fontsize=16,color="green",shape="box"];374[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];436[label="xv12",fontsize=16,color="green",shape="box"];437[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];438[label="Zero",fontsize=16,color="green",shape="box"];157 -> 368[label="",style="dashed", color="red", weight=0]; 157[label="toEnumChar (psMyInt (fromEnumChar (Char (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))) (fromIntMyInt (showInt1D xv12 (Pos (Succ Zero)))))",fontsize=16,color="magenta"];157 -> 378[label="",style="dashed", color="magenta", weight=3]; 157 -> 379[label="",style="dashed", color="magenta", weight=3]; 157 -> 380[label="",style="dashed", color="magenta", weight=3]; 197[label="primPlusInt (Pos (Succ xv16)) (fromIntMyInt (showInt1D xv17 (Pos Zero)))",fontsize=16,color="black",shape="box"];197 -> 210[label="",style="solid", color="black", weight=3]; 198[label="primPlusInt (Pos (Succ xv19)) (fromIntMyInt (showInt1D xv20 (Neg Zero)))",fontsize=16,color="black",shape="box"];198 -> 211[label="",style="solid", color="black", weight=3]; 591[label="showInt1N' xv75 (Pos (Succ xv76))",fontsize=16,color="black",shape="box"];591 -> 600[label="",style="solid", color="black", weight=3]; 592 -> 324[label="",style="dashed", color="red", weight=0]; 592[label="showInt1R' xv75 (Pos (Succ xv76))",fontsize=16,color="magenta"];592 -> 601[label="",style="dashed", color="magenta", weight=3]; 592 -> 602[label="",style="dashed", color="magenta", weight=3]; 448[label="showInt1N'0 xv71 (Pos (Succ xv72)) (primQrmInt (Pos (Succ xv72)) (fromIntMyInt (Pos (Succ xv73))))",fontsize=16,color="black",shape="box"];448 -> 456[label="",style="solid", color="black", weight=3]; 384[label="primIntToChar (psMyInt (fromEnumChar (Char (Pos (Succ xv67)))) (fromIntMyInt (showInt1D xv68 (Pos (Succ xv69)))))",fontsize=16,color="black",shape="box"];384 -> 403[label="",style="solid", color="black", weight=3]; 378[label="Zero",fontsize=16,color="green",shape="box"];379[label="xv12",fontsize=16,color="green",shape="box"];380[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];210[label="primPlusInt (Pos (Succ xv16)) (showInt1D xv17 (Pos Zero))",fontsize=16,color="black",shape="box"];210 -> 224[label="",style="solid", color="black", weight=3]; 211[label="primPlusInt (Pos (Succ xv19)) (showInt1D xv20 (Neg Zero))",fontsize=16,color="black",shape="box"];211 -> 225[label="",style="solid", color="black", weight=3]; 600[label="showInt1N'0 xv75 (Pos (Succ xv76)) (showInt1Vu76 xv75 (Pos (Succ xv76)))",fontsize=16,color="black",shape="box"];600 -> 612[label="",style="solid", color="black", weight=3]; 601[label="xv76",fontsize=16,color="green",shape="box"];602[label="xv75",fontsize=16,color="green",shape="box"];456[label="showInt1N'0 xv71 (Pos (Succ xv72)) (Tup2 (primQuotInt (Pos (Succ xv72)) (fromIntMyInt (Pos (Succ xv73)))) (primRemInt (Pos (Succ xv72)) (fromIntMyInt (Pos (Succ xv73)))))",fontsize=16,color="black",shape="box"];456 -> 466[label="",style="solid", color="black", weight=3]; 403[label="Char (psMyInt (fromEnumChar (Char (Pos (Succ xv67)))) (fromIntMyInt (showInt1D xv68 (Pos (Succ xv69)))))",fontsize=16,color="green",shape="box"];403 -> 423[label="",style="dashed", color="green", weight=3]; 224[label="primPlusInt (Pos (Succ xv16)) (showInt1D0 xv17 (Pos Zero) (showInt1Vu76 xv17 (Pos Zero)))",fontsize=16,color="black",shape="box"];224 -> 238[label="",style="solid", color="black", weight=3]; 225[label="primPlusInt (Pos (Succ xv19)) (showInt1D0 xv20 (Neg Zero) (showInt1Vu76 xv20 (Neg Zero)))",fontsize=16,color="black",shape="box"];225 -> 239[label="",style="solid", color="black", weight=3]; 612 -> 432[label="",style="dashed", color="red", weight=0]; 612[label="showInt1N'0 xv75 (Pos (Succ xv76)) (quotRemMyInt (Pos (Succ xv76)) (fromIntMyInt (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))",fontsize=16,color="magenta"];612 -> 620[label="",style="dashed", color="magenta", weight=3]; 612 -> 621[label="",style="dashed", color="magenta", weight=3]; 612 -> 622[label="",style="dashed", color="magenta", weight=3]; 466[label="primQuotInt (Pos (Succ xv72)) (fromIntMyInt (Pos (Succ xv73)))",fontsize=16,color="black",shape="triangle"];466 -> 473[label="",style="solid", color="black", weight=3]; 423[label="psMyInt (fromEnumChar (Char (Pos (Succ xv67)))) (fromIntMyInt (showInt1D xv68 (Pos (Succ xv69))))",fontsize=16,color="black",shape="box"];423 -> 449[label="",style="solid", color="black", weight=3]; 238 -> 251[label="",style="dashed", color="red", weight=0]; 238[label="primPlusInt (Pos (Succ xv16)) (showInt1D0 xv17 (Pos Zero) (quotRemMyInt (Pos Zero) (fromIntMyInt (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))",fontsize=16,color="magenta"];238 -> 252[label="",style="dashed", color="magenta", weight=3]; 238 -> 253[label="",style="dashed", color="magenta", weight=3]; 238 -> 254[label="",style="dashed", color="magenta", weight=3]; 239 -> 255[label="",style="dashed", color="red", weight=0]; 239[label="primPlusInt (Pos (Succ xv19)) (showInt1D0 xv20 (Neg Zero) (quotRemMyInt (Neg Zero) (fromIntMyInt (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))",fontsize=16,color="magenta"];239 -> 256[label="",style="dashed", color="magenta", weight=3]; 239 -> 257[label="",style="dashed", color="magenta", weight=3]; 239 -> 258[label="",style="dashed", color="magenta", weight=3]; 620[label="xv75",fontsize=16,color="green",shape="box"];621[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];622[label="xv76",fontsize=16,color="green",shape="box"];473[label="primQuotInt (Pos (Succ xv72)) (Pos (Succ xv73))",fontsize=16,color="black",shape="box"];473 -> 480[label="",style="solid", color="black", weight=3]; 449[label="primPlusInt (fromEnumChar (Char (Pos (Succ xv67)))) (fromIntMyInt (showInt1D xv68 (Pos (Succ xv69))))",fontsize=16,color="black",shape="box"];449 -> 457[label="",style="solid", color="black", weight=3]; 252[label="xv17",fontsize=16,color="green",shape="box"];253[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];254[label="xv16",fontsize=16,color="green",shape="box"];251[label="primPlusInt (Pos (Succ xv36)) (showInt1D0 xv37 (Pos Zero) (quotRemMyInt (Pos Zero) (fromIntMyInt (Pos (Succ xv38)))))",fontsize=16,color="black",shape="triangle"];251 -> 274[label="",style="solid", color="black", weight=3]; 256[label="xv20",fontsize=16,color="green",shape="box"];257[label="xv19",fontsize=16,color="green",shape="box"];258[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];255[label="primPlusInt (Pos (Succ xv40)) (showInt1D0 xv41 (Neg Zero) (quotRemMyInt (Neg Zero) (fromIntMyInt (Pos (Succ xv42)))))",fontsize=16,color="black",shape="triangle"];255 -> 275[label="",style="solid", color="black", weight=3]; 480[label="Pos (primDivNatS (Succ xv72) (Succ xv73))",fontsize=16,color="green",shape="box"];480 -> 535[label="",style="dashed", color="green", weight=3]; 457[label="primPlusInt (primCharToInt (Char (Pos (Succ xv67)))) (fromIntMyInt (showInt1D xv68 (Pos (Succ xv69))))",fontsize=16,color="black",shape="box"];457 -> 467[label="",style="solid", color="black", weight=3]; 274[label="primPlusInt (Pos (Succ xv36)) (showInt1D0 xv37 (Pos Zero) (primQrmInt (Pos Zero) (fromIntMyInt (Pos (Succ xv38)))))",fontsize=16,color="black",shape="box"];274 -> 287[label="",style="solid", color="black", weight=3]; 275[label="primPlusInt (Pos (Succ xv40)) (showInt1D0 xv41 (Neg Zero) (primQrmInt (Neg Zero) (fromIntMyInt (Pos (Succ xv42)))))",fontsize=16,color="black",shape="box"];275 -> 288[label="",style="solid", color="black", weight=3]; 535[label="primDivNatS (Succ xv72) (Succ xv73)",fontsize=16,color="black",shape="triangle"];535 -> 541[label="",style="solid", color="black", weight=3]; 467[label="primPlusInt (Pos (Succ xv67)) (fromIntMyInt (showInt1D xv68 (Pos (Succ xv69))))",fontsize=16,color="black",shape="box"];467 -> 474[label="",style="solid", color="black", weight=3]; 287[label="primPlusInt (Pos (Succ xv36)) (showInt1D0 xv37 (Pos Zero) (Tup2 (primQuotInt (Pos Zero) (fromIntMyInt (Pos (Succ xv38)))) (primRemInt (Pos Zero) (fromIntMyInt (Pos (Succ xv38))))))",fontsize=16,color="black",shape="box"];287 -> 299[label="",style="solid", color="black", weight=3]; 288[label="primPlusInt (Pos (Succ xv40)) (showInt1D0 xv41 (Neg Zero) (Tup2 (primQuotInt (Neg Zero) (fromIntMyInt (Pos (Succ xv42)))) (primRemInt (Neg Zero) (fromIntMyInt (Pos (Succ xv42))))))",fontsize=16,color="black",shape="box"];288 -> 300[label="",style="solid", color="black", weight=3]; 541[label="primDivNatS0 xv72 xv73 (primGEqNatS xv72 xv73)",fontsize=16,color="burlywood",shape="box"];1474[label="xv72/Succ xv720",fontsize=10,color="white",style="solid",shape="box"];541 -> 1474[label="",style="solid", color="burlywood", weight=9]; 1474 -> 551[label="",style="solid", color="burlywood", weight=3]; 1475[label="xv72/Zero",fontsize=10,color="white",style="solid",shape="box"];541 -> 1475[label="",style="solid", color="burlywood", weight=9]; 1475 -> 552[label="",style="solid", color="burlywood", weight=3]; 474[label="primPlusInt (Pos (Succ xv67)) (showInt1D xv68 (Pos (Succ xv69)))",fontsize=16,color="black",shape="box"];474 -> 481[label="",style="solid", color="black", weight=3]; 299[label="primPlusInt (Pos (Succ xv36)) (primRemInt (Pos Zero) (fromIntMyInt (Pos (Succ xv38))))",fontsize=16,color="black",shape="box"];299 -> 330[label="",style="solid", color="black", weight=3]; 300[label="primPlusInt (Pos (Succ xv40)) (primRemInt (Neg Zero) (fromIntMyInt (Pos (Succ xv42))))",fontsize=16,color="black",shape="box"];300 -> 331[label="",style="solid", color="black", weight=3]; 551[label="primDivNatS0 (Succ xv720) xv73 (primGEqNatS (Succ xv720) xv73)",fontsize=16,color="burlywood",shape="box"];1476[label="xv73/Succ xv730",fontsize=10,color="white",style="solid",shape="box"];551 -> 1476[label="",style="solid", color="burlywood", weight=9]; 1476 -> 558[label="",style="solid", color="burlywood", weight=3]; 1477[label="xv73/Zero",fontsize=10,color="white",style="solid",shape="box"];551 -> 1477[label="",style="solid", color="burlywood", weight=9]; 1477 -> 559[label="",style="solid", color="burlywood", weight=3]; 552[label="primDivNatS0 Zero xv73 (primGEqNatS Zero xv73)",fontsize=16,color="burlywood",shape="box"];1478[label="xv73/Succ xv730",fontsize=10,color="white",style="solid",shape="box"];552 -> 1478[label="",style="solid", color="burlywood", weight=9]; 1478 -> 560[label="",style="solid", color="burlywood", weight=3]; 1479[label="xv73/Zero",fontsize=10,color="white",style="solid",shape="box"];552 -> 1479[label="",style="solid", color="burlywood", weight=9]; 1479 -> 561[label="",style="solid", color="burlywood", weight=3]; 481[label="primPlusInt (Pos (Succ xv67)) (showInt1D0 xv68 (Pos (Succ xv69)) (showInt1Vu76 xv68 (Pos (Succ xv69))))",fontsize=16,color="black",shape="box"];481 -> 536[label="",style="solid", color="black", weight=3]; 330[label="primPlusInt (Pos (Succ xv36)) (primRemInt (Pos Zero) (Pos (Succ xv38)))",fontsize=16,color="black",shape="box"];330 -> 348[label="",style="solid", color="black", weight=3]; 331[label="primPlusInt (Pos (Succ xv40)) (primRemInt (Neg Zero) (Pos (Succ xv42)))",fontsize=16,color="black",shape="box"];331 -> 349[label="",style="solid", color="black", weight=3]; 558[label="primDivNatS0 (Succ xv720) (Succ xv730) (primGEqNatS (Succ xv720) (Succ xv730))",fontsize=16,color="black",shape="box"];558 -> 565[label="",style="solid", color="black", weight=3]; 559[label="primDivNatS0 (Succ xv720) Zero (primGEqNatS (Succ xv720) Zero)",fontsize=16,color="black",shape="box"];559 -> 566[label="",style="solid", color="black", weight=3]; 560[label="primDivNatS0 Zero (Succ xv730) (primGEqNatS Zero (Succ xv730))",fontsize=16,color="black",shape="box"];560 -> 567[label="",style="solid", color="black", weight=3]; 561[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];561 -> 568[label="",style="solid", color="black", weight=3]; 536 -> 542[label="",style="dashed", color="red", weight=0]; 536[label="primPlusInt (Pos (Succ xv67)) (showInt1D0 xv68 (Pos (Succ xv69)) (quotRemMyInt (Pos (Succ xv69)) (fromIntMyInt (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))",fontsize=16,color="magenta"];536 -> 543[label="",style="dashed", color="magenta", weight=3]; 536 -> 544[label="",style="dashed", color="magenta", weight=3]; 536 -> 545[label="",style="dashed", color="magenta", weight=3]; 536 -> 546[label="",style="dashed", color="magenta", weight=3]; 348[label="primPlusInt (Pos (Succ xv36)) (Pos (primModNatS Zero (Succ xv38)))",fontsize=16,color="black",shape="box"];348 -> 387[label="",style="solid", color="black", weight=3]; 349[label="primPlusInt (Pos (Succ xv40)) (Neg (primModNatS Zero (Succ xv42)))",fontsize=16,color="black",shape="box"];349 -> 388[label="",style="solid", color="black", weight=3]; 565 -> 819[label="",style="dashed", color="red", weight=0]; 565[label="primDivNatS0 (Succ xv720) (Succ xv730) (primGEqNatS xv720 xv730)",fontsize=16,color="magenta"];565 -> 820[label="",style="dashed", color="magenta", weight=3]; 565 -> 821[label="",style="dashed", color="magenta", weight=3]; 565 -> 822[label="",style="dashed", color="magenta", weight=3]; 565 -> 823[label="",style="dashed", color="magenta", weight=3]; 566[label="primDivNatS0 (Succ xv720) Zero MyTrue",fontsize=16,color="black",shape="box"];566 -> 575[label="",style="solid", color="black", weight=3]; 567[label="primDivNatS0 Zero (Succ xv730) MyFalse",fontsize=16,color="black",shape="box"];567 -> 576[label="",style="solid", color="black", weight=3]; 568[label="primDivNatS0 Zero Zero MyTrue",fontsize=16,color="black",shape="box"];568 -> 577[label="",style="solid", color="black", weight=3]; 543[label="xv67",fontsize=16,color="green",shape="box"];544[label="xv68",fontsize=16,color="green",shape="box"];545[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];546[label="xv69",fontsize=16,color="green",shape="box"];542[label="primPlusInt (Pos (Succ xv81)) (showInt1D0 xv82 (Pos (Succ xv83)) (quotRemMyInt (Pos (Succ xv83)) (fromIntMyInt (Pos (Succ xv84)))))",fontsize=16,color="black",shape="triangle"];542 -> 553[label="",style="solid", color="black", weight=3]; 387[label="Pos (primPlusNat (Succ xv36) (primModNatS Zero (Succ xv38)))",fontsize=16,color="green",shape="box"];387 -> 405[label="",style="dashed", color="green", weight=3]; 388[label="primMinusNat (Succ xv40) (primModNatS Zero (Succ xv42))",fontsize=16,color="black",shape="box"];388 -> 406[label="",style="solid", color="black", weight=3]; 820[label="xv730",fontsize=16,color="green",shape="box"];821[label="xv720",fontsize=16,color="green",shape="box"];822[label="xv720",fontsize=16,color="green",shape="box"];823[label="xv730",fontsize=16,color="green",shape="box"];819[label="primDivNatS0 (Succ xv102) (Succ xv103) (primGEqNatS xv104 xv105)",fontsize=16,color="burlywood",shape="triangle"];1480[label="xv104/Succ xv1040",fontsize=10,color="white",style="solid",shape="box"];819 -> 1480[label="",style="solid", color="burlywood", weight=9]; 1480 -> 852[label="",style="solid", color="burlywood", weight=3]; 1481[label="xv104/Zero",fontsize=10,color="white",style="solid",shape="box"];819 -> 1481[label="",style="solid", color="burlywood", weight=9]; 1481 -> 853[label="",style="solid", color="burlywood", weight=3]; 575[label="Succ (primDivNatS (primMinusNatS (Succ xv720) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];575 -> 588[label="",style="dashed", color="green", weight=3]; 576[label="Zero",fontsize=16,color="green",shape="box"];577[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];577 -> 589[label="",style="dashed", color="green", weight=3]; 553[label="primPlusInt (Pos (Succ xv81)) (showInt1D0 xv82 (Pos (Succ xv83)) (primQrmInt (Pos (Succ xv83)) (fromIntMyInt (Pos (Succ xv84)))))",fontsize=16,color="black",shape="box"];553 -> 562[label="",style="solid", color="black", weight=3]; 405[label="primPlusNat (Succ xv36) (primModNatS Zero (Succ xv38))",fontsize=16,color="black",shape="triangle"];405 -> 425[label="",style="solid", color="black", weight=3]; 406[label="primMinusNat (Succ xv40) Zero",fontsize=16,color="black",shape="box"];406 -> 426[label="",style="solid", color="black", weight=3]; 852[label="primDivNatS0 (Succ xv102) (Succ xv103) (primGEqNatS (Succ xv1040) xv105)",fontsize=16,color="burlywood",shape="box"];1482[label="xv105/Succ xv1050",fontsize=10,color="white",style="solid",shape="box"];852 -> 1482[label="",style="solid", color="burlywood", weight=9]; 1482 -> 862[label="",style="solid", color="burlywood", weight=3]; 1483[label="xv105/Zero",fontsize=10,color="white",style="solid",shape="box"];852 -> 1483[label="",style="solid", color="burlywood", weight=9]; 1483 -> 863[label="",style="solid", color="burlywood", weight=3]; 853[label="primDivNatS0 (Succ xv102) (Succ xv103) (primGEqNatS Zero xv105)",fontsize=16,color="burlywood",shape="box"];1484[label="xv105/Succ xv1050",fontsize=10,color="white",style="solid",shape="box"];853 -> 1484[label="",style="solid", color="burlywood", weight=9]; 1484 -> 864[label="",style="solid", color="burlywood", weight=3]; 1485[label="xv105/Zero",fontsize=10,color="white",style="solid",shape="box"];853 -> 1485[label="",style="solid", color="burlywood", weight=9]; 1485 -> 865[label="",style="solid", color="burlywood", weight=3]; 588 -> 1242[label="",style="dashed", color="red", weight=0]; 588[label="primDivNatS (primMinusNatS (Succ xv720) Zero) (Succ Zero)",fontsize=16,color="magenta"];588 -> 1243[label="",style="dashed", color="magenta", weight=3]; 588 -> 1244[label="",style="dashed", color="magenta", weight=3]; 588 -> 1245[label="",style="dashed", color="magenta", weight=3]; 589 -> 1242[label="",style="dashed", color="red", weight=0]; 589[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];589 -> 1246[label="",style="dashed", color="magenta", weight=3]; 589 -> 1247[label="",style="dashed", color="magenta", weight=3]; 589 -> 1248[label="",style="dashed", color="magenta", weight=3]; 562 -> 569[label="",style="dashed", color="red", weight=0]; 562[label="primPlusInt (Pos (Succ xv81)) (showInt1D0 xv82 (Pos (Succ xv83)) (Tup2 (primQuotInt (Pos (Succ xv83)) (fromIntMyInt (Pos (Succ xv84)))) (primRemInt (Pos (Succ xv83)) (fromIntMyInt (Pos (Succ xv84))))))",fontsize=16,color="magenta"];562 -> 570[label="",style="dashed", color="magenta", weight=3]; 425[label="primPlusNat (Succ xv36) Zero",fontsize=16,color="black",shape="triangle"];425 -> 450[label="",style="solid", color="black", weight=3]; 426[label="Pos (Succ xv40)",fontsize=16,color="green",shape="box"];862[label="primDivNatS0 (Succ xv102) (Succ xv103) (primGEqNatS (Succ xv1040) (Succ xv1050))",fontsize=16,color="black",shape="box"];862 -> 876[label="",style="solid", color="black", weight=3]; 863[label="primDivNatS0 (Succ xv102) (Succ xv103) (primGEqNatS (Succ xv1040) Zero)",fontsize=16,color="black",shape="box"];863 -> 877[label="",style="solid", color="black", weight=3]; 864[label="primDivNatS0 (Succ xv102) (Succ xv103) (primGEqNatS Zero (Succ xv1050))",fontsize=16,color="black",shape="box"];864 -> 878[label="",style="solid", color="black", weight=3]; 865[label="primDivNatS0 (Succ xv102) (Succ xv103) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];865 -> 879[label="",style="solid", color="black", weight=3]; 1243[label="Zero",fontsize=16,color="green",shape="box"];1244[label="Zero",fontsize=16,color="green",shape="box"];1245[label="Succ xv720",fontsize=16,color="green",shape="box"];1242[label="primDivNatS (primMinusNatS xv146 xv147) (Succ xv148)",fontsize=16,color="burlywood",shape="triangle"];1486[label="xv146/Succ xv1460",fontsize=10,color="white",style="solid",shape="box"];1242 -> 1486[label="",style="solid", color="burlywood", weight=9]; 1486 -> 1276[label="",style="solid", color="burlywood", weight=3]; 1487[label="xv146/Zero",fontsize=10,color="white",style="solid",shape="box"];1242 -> 1487[label="",style="solid", color="burlywood", weight=9]; 1487 -> 1277[label="",style="solid", color="burlywood", weight=3]; 1246[label="Zero",fontsize=16,color="green",shape="box"];1247[label="Zero",fontsize=16,color="green",shape="box"];1248[label="Zero",fontsize=16,color="green",shape="box"];570 -> 466[label="",style="dashed", color="red", weight=0]; 570[label="primQuotInt (Pos (Succ xv83)) (fromIntMyInt (Pos (Succ xv84)))",fontsize=16,color="magenta"];570 -> 578[label="",style="dashed", color="magenta", weight=3]; 570 -> 579[label="",style="dashed", color="magenta", weight=3]; 569[label="primPlusInt (Pos (Succ xv81)) (showInt1D0 xv82 (Pos (Succ xv83)) (Tup2 xv85 (primRemInt (Pos (Succ xv83)) (fromIntMyInt (Pos (Succ xv84))))))",fontsize=16,color="black",shape="triangle"];569 -> 580[label="",style="solid", color="black", weight=3]; 450[label="Succ xv36",fontsize=16,color="green",shape="box"];876 -> 819[label="",style="dashed", color="red", weight=0]; 876[label="primDivNatS0 (Succ xv102) (Succ xv103) (primGEqNatS xv1040 xv1050)",fontsize=16,color="magenta"];876 -> 893[label="",style="dashed", color="magenta", weight=3]; 876 -> 894[label="",style="dashed", color="magenta", weight=3]; 877[label="primDivNatS0 (Succ xv102) (Succ xv103) MyTrue",fontsize=16,color="black",shape="triangle"];877 -> 895[label="",style="solid", color="black", weight=3]; 878[label="primDivNatS0 (Succ xv102) (Succ xv103) MyFalse",fontsize=16,color="black",shape="box"];878 -> 896[label="",style="solid", color="black", weight=3]; 879 -> 877[label="",style="dashed", color="red", weight=0]; 879[label="primDivNatS0 (Succ xv102) (Succ xv103) MyTrue",fontsize=16,color="magenta"];1276[label="primDivNatS (primMinusNatS (Succ xv1460) xv147) (Succ xv148)",fontsize=16,color="burlywood",shape="box"];1488[label="xv147/Succ xv1470",fontsize=10,color="white",style="solid",shape="box"];1276 -> 1488[label="",style="solid", color="burlywood", weight=9]; 1488 -> 1292[label="",style="solid", color="burlywood", weight=3]; 1489[label="xv147/Zero",fontsize=10,color="white",style="solid",shape="box"];1276 -> 1489[label="",style="solid", color="burlywood", weight=9]; 1489 -> 1293[label="",style="solid", color="burlywood", weight=3]; 1277[label="primDivNatS (primMinusNatS Zero xv147) (Succ xv148)",fontsize=16,color="burlywood",shape="box"];1490[label="xv147/Succ xv1470",fontsize=10,color="white",style="solid",shape="box"];1277 -> 1490[label="",style="solid", color="burlywood", weight=9]; 1490 -> 1294[label="",style="solid", color="burlywood", weight=3]; 1491[label="xv147/Zero",fontsize=10,color="white",style="solid",shape="box"];1277 -> 1491[label="",style="solid", color="burlywood", weight=9]; 1491 -> 1295[label="",style="solid", color="burlywood", weight=3]; 578[label="xv84",fontsize=16,color="green",shape="box"];579[label="xv83",fontsize=16,color="green",shape="box"];580[label="primPlusInt (Pos (Succ xv81)) (primRemInt (Pos (Succ xv83)) (fromIntMyInt (Pos (Succ xv84))))",fontsize=16,color="black",shape="box"];580 -> 590[label="",style="solid", color="black", weight=3]; 893[label="xv1040",fontsize=16,color="green",shape="box"];894[label="xv1050",fontsize=16,color="green",shape="box"];895[label="Succ (primDivNatS (primMinusNatS (Succ xv102) (Succ xv103)) (Succ (Succ xv103)))",fontsize=16,color="green",shape="box"];895 -> 905[label="",style="dashed", color="green", weight=3]; 896[label="Zero",fontsize=16,color="green",shape="box"];1292[label="primDivNatS (primMinusNatS (Succ xv1460) (Succ xv1470)) (Succ xv148)",fontsize=16,color="black",shape="box"];1292 -> 1327[label="",style="solid", color="black", weight=3]; 1293[label="primDivNatS (primMinusNatS (Succ xv1460) Zero) (Succ xv148)",fontsize=16,color="black",shape="box"];1293 -> 1328[label="",style="solid", color="black", weight=3]; 1294[label="primDivNatS (primMinusNatS Zero (Succ xv1470)) (Succ xv148)",fontsize=16,color="black",shape="box"];1294 -> 1329[label="",style="solid", color="black", weight=3]; 1295[label="primDivNatS (primMinusNatS Zero Zero) (Succ xv148)",fontsize=16,color="black",shape="box"];1295 -> 1330[label="",style="solid", color="black", weight=3]; 590[label="primPlusInt (Pos (Succ xv81)) (primRemInt (Pos (Succ xv83)) (Pos (Succ xv84)))",fontsize=16,color="black",shape="box"];590 -> 599[label="",style="solid", color="black", weight=3]; 905 -> 1242[label="",style="dashed", color="red", weight=0]; 905[label="primDivNatS (primMinusNatS (Succ xv102) (Succ xv103)) (Succ (Succ xv103))",fontsize=16,color="magenta"];905 -> 1249[label="",style="dashed", color="magenta", weight=3]; 905 -> 1250[label="",style="dashed", color="magenta", weight=3]; 905 -> 1251[label="",style="dashed", color="magenta", weight=3]; 1327 -> 1242[label="",style="dashed", color="red", weight=0]; 1327[label="primDivNatS (primMinusNatS xv1460 xv1470) (Succ xv148)",fontsize=16,color="magenta"];1327 -> 1338[label="",style="dashed", color="magenta", weight=3]; 1327 -> 1339[label="",style="dashed", color="magenta", weight=3]; 1328 -> 535[label="",style="dashed", color="red", weight=0]; 1328[label="primDivNatS (Succ xv1460) (Succ xv148)",fontsize=16,color="magenta"];1328 -> 1340[label="",style="dashed", color="magenta", weight=3]; 1328 -> 1341[label="",style="dashed", color="magenta", weight=3]; 1329[label="primDivNatS Zero (Succ xv148)",fontsize=16,color="black",shape="triangle"];1329 -> 1342[label="",style="solid", color="black", weight=3]; 1330 -> 1329[label="",style="dashed", color="red", weight=0]; 1330[label="primDivNatS Zero (Succ xv148)",fontsize=16,color="magenta"];599[label="primPlusInt (Pos (Succ xv81)) (Pos (primModNatS (Succ xv83) (Succ xv84)))",fontsize=16,color="black",shape="box"];599 -> 611[label="",style="solid", color="black", weight=3]; 1249[label="Succ xv103",fontsize=16,color="green",shape="box"];1250[label="Succ xv103",fontsize=16,color="green",shape="box"];1251[label="Succ xv102",fontsize=16,color="green",shape="box"];1338[label="xv1470",fontsize=16,color="green",shape="box"];1339[label="xv1460",fontsize=16,color="green",shape="box"];1340[label="xv148",fontsize=16,color="green",shape="box"];1341[label="xv1460",fontsize=16,color="green",shape="box"];1342[label="Zero",fontsize=16,color="green",shape="box"];611[label="Pos (primPlusNat (Succ xv81) (primModNatS (Succ xv83) (Succ xv84)))",fontsize=16,color="green",shape="box"];611 -> 619[label="",style="dashed", color="green", weight=3]; 619[label="primPlusNat (Succ xv81) (primModNatS (Succ xv83) (Succ xv84))",fontsize=16,color="burlywood",shape="triangle"];1492[label="xv84/Succ xv840",fontsize=10,color="white",style="solid",shape="box"];619 -> 1492[label="",style="solid", color="burlywood", weight=9]; 1492 -> 629[label="",style="solid", color="burlywood", weight=3]; 1493[label="xv84/Zero",fontsize=10,color="white",style="solid",shape="box"];619 -> 1493[label="",style="solid", color="burlywood", weight=9]; 1493 -> 630[label="",style="solid", color="burlywood", weight=3]; 629[label="primPlusNat (Succ xv81) (primModNatS (Succ xv83) (Succ (Succ xv840)))",fontsize=16,color="black",shape="box"];629 -> 638[label="",style="solid", color="black", weight=3]; 630[label="primPlusNat (Succ xv81) (primModNatS (Succ xv83) (Succ Zero))",fontsize=16,color="black",shape="box"];630 -> 639[label="",style="solid", color="black", weight=3]; 638[label="primPlusNat (Succ xv81) (primModNatS0 xv83 xv840 (primGEqNatS xv83 (Succ xv840)))",fontsize=16,color="burlywood",shape="box"];1494[label="xv83/Succ xv830",fontsize=10,color="white",style="solid",shape="box"];638 -> 1494[label="",style="solid", color="burlywood", weight=9]; 1494 -> 649[label="",style="solid", color="burlywood", weight=3]; 1495[label="xv83/Zero",fontsize=10,color="white",style="solid",shape="box"];638 -> 1495[label="",style="solid", color="burlywood", weight=9]; 1495 -> 650[label="",style="solid", color="burlywood", weight=3]; 639 -> 425[label="",style="dashed", color="red", weight=0]; 639[label="primPlusNat (Succ xv81) Zero",fontsize=16,color="magenta"];639 -> 651[label="",style="dashed", color="magenta", weight=3]; 649[label="primPlusNat (Succ xv81) (primModNatS0 (Succ xv830) xv840 (primGEqNatS (Succ xv830) (Succ xv840)))",fontsize=16,color="black",shape="box"];649 -> 658[label="",style="solid", color="black", weight=3]; 650[label="primPlusNat (Succ xv81) (primModNatS0 Zero xv840 (primGEqNatS Zero (Succ xv840)))",fontsize=16,color="black",shape="box"];650 -> 659[label="",style="solid", color="black", weight=3]; 651[label="xv81",fontsize=16,color="green",shape="box"];658[label="primPlusNat (Succ xv81) (primModNatS0 (Succ xv830) xv840 (primGEqNatS xv830 xv840))",fontsize=16,color="burlywood",shape="box"];1496[label="xv830/Succ xv8300",fontsize=10,color="white",style="solid",shape="box"];658 -> 1496[label="",style="solid", color="burlywood", weight=9]; 1496 -> 667[label="",style="solid", color="burlywood", weight=3]; 1497[label="xv830/Zero",fontsize=10,color="white",style="solid",shape="box"];658 -> 1497[label="",style="solid", color="burlywood", weight=9]; 1497 -> 668[label="",style="solid", color="burlywood", weight=3]; 659[label="primPlusNat (Succ xv81) (primModNatS0 Zero xv840 MyFalse)",fontsize=16,color="black",shape="box"];659 -> 669[label="",style="solid", color="black", weight=3]; 667[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ xv8300)) xv840 (primGEqNatS (Succ xv8300) xv840))",fontsize=16,color="burlywood",shape="box"];1498[label="xv840/Succ xv8400",fontsize=10,color="white",style="solid",shape="box"];667 -> 1498[label="",style="solid", color="burlywood", weight=9]; 1498 -> 678[label="",style="solid", color="burlywood", weight=3]; 1499[label="xv840/Zero",fontsize=10,color="white",style="solid",shape="box"];667 -> 1499[label="",style="solid", color="burlywood", weight=9]; 1499 -> 679[label="",style="solid", color="burlywood", weight=3]; 668[label="primPlusNat (Succ xv81) (primModNatS0 (Succ Zero) xv840 (primGEqNatS Zero xv840))",fontsize=16,color="burlywood",shape="box"];1500[label="xv840/Succ xv8400",fontsize=10,color="white",style="solid",shape="box"];668 -> 1500[label="",style="solid", color="burlywood", weight=9]; 1500 -> 680[label="",style="solid", color="burlywood", weight=3]; 1501[label="xv840/Zero",fontsize=10,color="white",style="solid",shape="box"];668 -> 1501[label="",style="solid", color="burlywood", weight=9]; 1501 -> 681[label="",style="solid", color="burlywood", weight=3]; 669 -> 969[label="",style="dashed", color="red", weight=0]; 669[label="primPlusNat (Succ xv81) (Succ Zero)",fontsize=16,color="magenta"];669 -> 970[label="",style="dashed", color="magenta", weight=3]; 669 -> 971[label="",style="dashed", color="magenta", weight=3]; 678[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ xv8300)) (Succ xv8400) (primGEqNatS (Succ xv8300) (Succ xv8400)))",fontsize=16,color="black",shape="box"];678 -> 692[label="",style="solid", color="black", weight=3]; 679[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ xv8300)) Zero (primGEqNatS (Succ xv8300) Zero))",fontsize=16,color="black",shape="box"];679 -> 693[label="",style="solid", color="black", weight=3]; 680[label="primPlusNat (Succ xv81) (primModNatS0 (Succ Zero) (Succ xv8400) (primGEqNatS Zero (Succ xv8400)))",fontsize=16,color="black",shape="box"];680 -> 694[label="",style="solid", color="black", weight=3]; 681[label="primPlusNat (Succ xv81) (primModNatS0 (Succ Zero) Zero (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];681 -> 695[label="",style="solid", color="black", weight=3]; 970[label="xv81",fontsize=16,color="green",shape="box"];971[label="Zero",fontsize=16,color="green",shape="box"];969[label="primPlusNat (Succ xv110) (Succ xv111)",fontsize=16,color="black",shape="triangle"];969 -> 988[label="",style="solid", color="black", weight=3]; 692[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ xv8300)) (Succ xv8400) (primGEqNatS xv8300 xv8400))",fontsize=16,color="burlywood",shape="box"];1502[label="xv8300/Succ xv83000",fontsize=10,color="white",style="solid",shape="box"];692 -> 1502[label="",style="solid", color="burlywood", weight=9]; 1502 -> 704[label="",style="solid", color="burlywood", weight=3]; 1503[label="xv8300/Zero",fontsize=10,color="white",style="solid",shape="box"];692 -> 1503[label="",style="solid", color="burlywood", weight=9]; 1503 -> 705[label="",style="solid", color="burlywood", weight=3]; 693[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ xv8300)) Zero MyTrue)",fontsize=16,color="black",shape="box"];693 -> 706[label="",style="solid", color="black", weight=3]; 694[label="primPlusNat (Succ xv81) (primModNatS0 (Succ Zero) (Succ xv8400) MyFalse)",fontsize=16,color="black",shape="box"];694 -> 707[label="",style="solid", color="black", weight=3]; 695[label="primPlusNat (Succ xv81) (primModNatS0 (Succ Zero) Zero MyTrue)",fontsize=16,color="black",shape="box"];695 -> 708[label="",style="solid", color="black", weight=3]; 988[label="Succ (Succ (primPlusNat xv110 xv111))",fontsize=16,color="green",shape="box"];988 -> 1000[label="",style="dashed", color="green", weight=3]; 704[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ xv83000))) (Succ xv8400) (primGEqNatS (Succ xv83000) xv8400))",fontsize=16,color="burlywood",shape="box"];1504[label="xv8400/Succ xv84000",fontsize=10,color="white",style="solid",shape="box"];704 -> 1504[label="",style="solid", color="burlywood", weight=9]; 1504 -> 719[label="",style="solid", color="burlywood", weight=3]; 1505[label="xv8400/Zero",fontsize=10,color="white",style="solid",shape="box"];704 -> 1505[label="",style="solid", color="burlywood", weight=9]; 1505 -> 720[label="",style="solid", color="burlywood", weight=3]; 705[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ Zero)) (Succ xv8400) (primGEqNatS Zero xv8400))",fontsize=16,color="burlywood",shape="box"];1506[label="xv8400/Succ xv84000",fontsize=10,color="white",style="solid",shape="box"];705 -> 1506[label="",style="solid", color="burlywood", weight=9]; 1506 -> 721[label="",style="solid", color="burlywood", weight=3]; 1507[label="xv8400/Zero",fontsize=10,color="white",style="solid",shape="box"];705 -> 1507[label="",style="solid", color="burlywood", weight=9]; 1507 -> 722[label="",style="solid", color="burlywood", weight=3]; 706[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ xv8300)) (Succ Zero)) (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];706 -> 723[label="",style="solid", color="black", weight=3]; 707 -> 969[label="",style="dashed", color="red", weight=0]; 707[label="primPlusNat (Succ xv81) (Succ (Succ Zero))",fontsize=16,color="magenta"];707 -> 972[label="",style="dashed", color="magenta", weight=3]; 707 -> 973[label="",style="dashed", color="magenta", weight=3]; 708[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ Zero) (Succ Zero)) (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];708 -> 725[label="",style="solid", color="black", weight=3]; 1000[label="primPlusNat xv110 xv111",fontsize=16,color="burlywood",shape="triangle"];1508[label="xv110/Succ xv1100",fontsize=10,color="white",style="solid",shape="box"];1000 -> 1508[label="",style="solid", color="burlywood", weight=9]; 1508 -> 1016[label="",style="solid", color="burlywood", weight=3]; 1509[label="xv110/Zero",fontsize=10,color="white",style="solid",shape="box"];1000 -> 1509[label="",style="solid", color="burlywood", weight=9]; 1509 -> 1017[label="",style="solid", color="burlywood", weight=3]; 719[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ xv83000))) (Succ (Succ xv84000)) (primGEqNatS (Succ xv83000) (Succ xv84000)))",fontsize=16,color="black",shape="box"];719 -> 736[label="",style="solid", color="black", weight=3]; 720[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ xv83000))) (Succ Zero) (primGEqNatS (Succ xv83000) Zero))",fontsize=16,color="black",shape="box"];720 -> 737[label="",style="solid", color="black", weight=3]; 721[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ Zero)) (Succ (Succ xv84000)) (primGEqNatS Zero (Succ xv84000)))",fontsize=16,color="black",shape="box"];721 -> 738[label="",style="solid", color="black", weight=3]; 722[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ Zero)) (Succ Zero) (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];722 -> 739[label="",style="solid", color="black", weight=3]; 723[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ xv8300) Zero) (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];723 -> 740[label="",style="solid", color="black", weight=3]; 972[label="xv81",fontsize=16,color="green",shape="box"];973[label="Succ Zero",fontsize=16,color="green",shape="box"];725[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS Zero Zero) (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];725 -> 742[label="",style="solid", color="black", weight=3]; 1016[label="primPlusNat (Succ xv1100) xv111",fontsize=16,color="burlywood",shape="box"];1510[label="xv111/Succ xv1110",fontsize=10,color="white",style="solid",shape="box"];1016 -> 1510[label="",style="solid", color="burlywood", weight=9]; 1510 -> 1038[label="",style="solid", color="burlywood", weight=3]; 1511[label="xv111/Zero",fontsize=10,color="white",style="solid",shape="box"];1016 -> 1511[label="",style="solid", color="burlywood", weight=9]; 1511 -> 1039[label="",style="solid", color="burlywood", weight=3]; 1017[label="primPlusNat Zero xv111",fontsize=16,color="burlywood",shape="box"];1512[label="xv111/Succ xv1110",fontsize=10,color="white",style="solid",shape="box"];1017 -> 1512[label="",style="solid", color="burlywood", weight=9]; 1512 -> 1040[label="",style="solid", color="burlywood", weight=3]; 1513[label="xv111/Zero",fontsize=10,color="white",style="solid",shape="box"];1017 -> 1513[label="",style="solid", color="burlywood", weight=9]; 1513 -> 1041[label="",style="solid", color="burlywood", weight=3]; 736[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ xv83000))) (Succ (Succ xv84000)) (primGEqNatS xv83000 xv84000))",fontsize=16,color="burlywood",shape="box"];1514[label="xv83000/Succ xv830000",fontsize=10,color="white",style="solid",shape="box"];736 -> 1514[label="",style="solid", color="burlywood", weight=9]; 1514 -> 793[label="",style="solid", color="burlywood", weight=3]; 1515[label="xv83000/Zero",fontsize=10,color="white",style="solid",shape="box"];736 -> 1515[label="",style="solid", color="burlywood", weight=9]; 1515 -> 794[label="",style="solid", color="burlywood", weight=3]; 737[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ xv83000))) (Succ Zero) MyTrue)",fontsize=16,color="black",shape="box"];737 -> 795[label="",style="solid", color="black", weight=3]; 738[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ Zero)) (Succ (Succ xv84000)) MyFalse)",fontsize=16,color="black",shape="box"];738 -> 796[label="",style="solid", color="black", weight=3]; 739[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ Zero)) (Succ Zero) MyTrue)",fontsize=16,color="black",shape="box"];739 -> 797[label="",style="solid", color="black", weight=3]; 740 -> 619[label="",style="dashed", color="red", weight=0]; 740[label="primPlusNat (Succ xv81) (primModNatS (Succ xv8300) (Succ (Succ Zero)))",fontsize=16,color="magenta"];740 -> 798[label="",style="dashed", color="magenta", weight=3]; 740 -> 799[label="",style="dashed", color="magenta", weight=3]; 742 -> 405[label="",style="dashed", color="red", weight=0]; 742[label="primPlusNat (Succ xv81) (primModNatS Zero (Succ (Succ Zero)))",fontsize=16,color="magenta"];742 -> 802[label="",style="dashed", color="magenta", weight=3]; 742 -> 803[label="",style="dashed", color="magenta", weight=3]; 1038[label="primPlusNat (Succ xv1100) (Succ xv1110)",fontsize=16,color="black",shape="box"];1038 -> 1051[label="",style="solid", color="black", weight=3]; 1039[label="primPlusNat (Succ xv1100) Zero",fontsize=16,color="black",shape="box"];1039 -> 1052[label="",style="solid", color="black", weight=3]; 1040[label="primPlusNat Zero (Succ xv1110)",fontsize=16,color="black",shape="box"];1040 -> 1053[label="",style="solid", color="black", weight=3]; 1041[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];1041 -> 1054[label="",style="solid", color="black", weight=3]; 793[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ xv830000)))) (Succ (Succ xv84000)) (primGEqNatS (Succ xv830000) xv84000))",fontsize=16,color="burlywood",shape="box"];1516[label="xv84000/Succ xv840000",fontsize=10,color="white",style="solid",shape="box"];793 -> 1516[label="",style="solid", color="burlywood", weight=9]; 1516 -> 809[label="",style="solid", color="burlywood", weight=3]; 1517[label="xv84000/Zero",fontsize=10,color="white",style="solid",shape="box"];793 -> 1517[label="",style="solid", color="burlywood", weight=9]; 1517 -> 810[label="",style="solid", color="burlywood", weight=3]; 794[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ Zero))) (Succ (Succ xv84000)) (primGEqNatS Zero xv84000))",fontsize=16,color="burlywood",shape="box"];1518[label="xv84000/Succ xv840000",fontsize=10,color="white",style="solid",shape="box"];794 -> 1518[label="",style="solid", color="burlywood", weight=9]; 1518 -> 811[label="",style="solid", color="burlywood", weight=3]; 1519[label="xv84000/Zero",fontsize=10,color="white",style="solid",shape="box"];794 -> 1519[label="",style="solid", color="burlywood", weight=9]; 1519 -> 812[label="",style="solid", color="burlywood", weight=3]; 795[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ (Succ xv83000))) (Succ (Succ Zero))) (Succ (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];795 -> 813[label="",style="solid", color="black", weight=3]; 796 -> 969[label="",style="dashed", color="red", weight=0]; 796[label="primPlusNat (Succ xv81) (Succ (Succ (Succ Zero)))",fontsize=16,color="magenta"];796 -> 974[label="",style="dashed", color="magenta", weight=3]; 796 -> 975[label="",style="dashed", color="magenta", weight=3]; 797[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ Zero)) (Succ (Succ Zero))) (Succ (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];797 -> 815[label="",style="solid", color="black", weight=3]; 798[label="Succ Zero",fontsize=16,color="green",shape="box"];799[label="xv8300",fontsize=16,color="green",shape="box"];802[label="Succ Zero",fontsize=16,color="green",shape="box"];803[label="xv81",fontsize=16,color="green",shape="box"];1051[label="Succ (Succ (primPlusNat xv1100 xv1110))",fontsize=16,color="green",shape="box"];1051 -> 1069[label="",style="dashed", color="green", weight=3]; 1052[label="Succ xv1100",fontsize=16,color="green",shape="box"];1053[label="Succ xv1110",fontsize=16,color="green",shape="box"];1054[label="Zero",fontsize=16,color="green",shape="box"];809[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ xv830000)))) (Succ (Succ (Succ xv840000))) (primGEqNatS (Succ xv830000) (Succ xv840000)))",fontsize=16,color="black",shape="box"];809 -> 854[label="",style="solid", color="black", weight=3]; 810[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ xv830000)))) (Succ (Succ Zero)) (primGEqNatS (Succ xv830000) Zero))",fontsize=16,color="black",shape="box"];810 -> 855[label="",style="solid", color="black", weight=3]; 811[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ Zero))) (Succ (Succ (Succ xv840000))) (primGEqNatS Zero (Succ xv840000)))",fontsize=16,color="black",shape="box"];811 -> 856[label="",style="solid", color="black", weight=3]; 812[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ Zero))) (Succ (Succ Zero)) (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];812 -> 857[label="",style="solid", color="black", weight=3]; 813[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ xv83000)) (Succ Zero)) (Succ (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];813 -> 858[label="",style="solid", color="black", weight=3]; 974[label="xv81",fontsize=16,color="green",shape="box"];975[label="Succ (Succ Zero)",fontsize=16,color="green",shape="box"];815[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ Zero) (Succ Zero)) (Succ (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];815 -> 860[label="",style="solid", color="black", weight=3]; 1069 -> 1000[label="",style="dashed", color="red", weight=0]; 1069[label="primPlusNat xv1100 xv1110",fontsize=16,color="magenta"];1069 -> 1087[label="",style="dashed", color="magenta", weight=3]; 1069 -> 1088[label="",style="dashed", color="magenta", weight=3]; 854[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ xv830000)))) (Succ (Succ (Succ xv840000))) (primGEqNatS xv830000 xv840000))",fontsize=16,color="burlywood",shape="box"];1520[label="xv830000/Succ xv8300000",fontsize=10,color="white",style="solid",shape="box"];854 -> 1520[label="",style="solid", color="burlywood", weight=9]; 1520 -> 866[label="",style="solid", color="burlywood", weight=3]; 1521[label="xv830000/Zero",fontsize=10,color="white",style="solid",shape="box"];854 -> 1521[label="",style="solid", color="burlywood", weight=9]; 1521 -> 867[label="",style="solid", color="burlywood", weight=3]; 855[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ xv830000)))) (Succ (Succ Zero)) MyTrue)",fontsize=16,color="black",shape="box"];855 -> 868[label="",style="solid", color="black", weight=3]; 856[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ Zero))) (Succ (Succ (Succ xv840000))) MyFalse)",fontsize=16,color="black",shape="box"];856 -> 869[label="",style="solid", color="black", weight=3]; 857[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ Zero))) (Succ (Succ Zero)) MyTrue)",fontsize=16,color="black",shape="box"];857 -> 870[label="",style="solid", color="black", weight=3]; 858[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ xv83000) Zero) (Succ (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];858 -> 871[label="",style="solid", color="black", weight=3]; 860[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS Zero Zero) (Succ (Succ (Succ Zero))))",fontsize=16,color="black",shape="box"];860 -> 874[label="",style="solid", color="black", weight=3]; 1087[label="xv1100",fontsize=16,color="green",shape="box"];1088[label="xv1110",fontsize=16,color="green",shape="box"];866[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ xv8300000))))) (Succ (Succ (Succ xv840000))) (primGEqNatS (Succ xv8300000) xv840000))",fontsize=16,color="burlywood",shape="box"];1522[label="xv840000/Succ xv8400000",fontsize=10,color="white",style="solid",shape="box"];866 -> 1522[label="",style="solid", color="burlywood", weight=9]; 1522 -> 880[label="",style="solid", color="burlywood", weight=3]; 1523[label="xv840000/Zero",fontsize=10,color="white",style="solid",shape="box"];866 -> 1523[label="",style="solid", color="burlywood", weight=9]; 1523 -> 881[label="",style="solid", color="burlywood", weight=3]; 867[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ xv840000))) (primGEqNatS Zero xv840000))",fontsize=16,color="burlywood",shape="box"];1524[label="xv840000/Succ xv8400000",fontsize=10,color="white",style="solid",shape="box"];867 -> 1524[label="",style="solid", color="burlywood", weight=9]; 1524 -> 882[label="",style="solid", color="burlywood", weight=3]; 1525[label="xv840000/Zero",fontsize=10,color="white",style="solid",shape="box"];867 -> 1525[label="",style="solid", color="burlywood", weight=9]; 1525 -> 883[label="",style="solid", color="burlywood", weight=3]; 868[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ (Succ (Succ xv830000)))) (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];868 -> 884[label="",style="solid", color="black", weight=3]; 869 -> 969[label="",style="dashed", color="red", weight=0]; 869[label="primPlusNat (Succ xv81) (Succ (Succ (Succ (Succ Zero))))",fontsize=16,color="magenta"];869 -> 976[label="",style="dashed", color="magenta", weight=3]; 869 -> 977[label="",style="dashed", color="magenta", weight=3]; 870[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ (Succ Zero))) (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];870 -> 886[label="",style="solid", color="black", weight=3]; 871 -> 619[label="",style="dashed", color="red", weight=0]; 871[label="primPlusNat (Succ xv81) (primModNatS (Succ xv83000) (Succ (Succ (Succ Zero))))",fontsize=16,color="magenta"];871 -> 887[label="",style="dashed", color="magenta", weight=3]; 871 -> 888[label="",style="dashed", color="magenta", weight=3]; 874 -> 405[label="",style="dashed", color="red", weight=0]; 874[label="primPlusNat (Succ xv81) (primModNatS Zero (Succ (Succ (Succ Zero))))",fontsize=16,color="magenta"];874 -> 891[label="",style="dashed", color="magenta", weight=3]; 874 -> 892[label="",style="dashed", color="magenta", weight=3]; 880[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ xv8300000))))) (Succ (Succ (Succ (Succ xv8400000)))) (primGEqNatS (Succ xv8300000) (Succ xv8400000)))",fontsize=16,color="black",shape="box"];880 -> 897[label="",style="solid", color="black", weight=3]; 881[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ xv8300000))))) (Succ (Succ (Succ Zero))) (primGEqNatS (Succ xv8300000) Zero))",fontsize=16,color="black",shape="box"];881 -> 898[label="",style="solid", color="black", weight=3]; 882[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ xv8400000)))) (primGEqNatS Zero (Succ xv8400000)))",fontsize=16,color="black",shape="box"];882 -> 899[label="",style="solid", color="black", weight=3]; 883[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ Zero))) (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];883 -> 900[label="",style="solid", color="black", weight=3]; 884[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ (Succ xv830000))) (Succ (Succ Zero))) (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];884 -> 901[label="",style="solid", color="black", weight=3]; 976[label="xv81",fontsize=16,color="green",shape="box"];977[label="Succ (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];886[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ Zero)) (Succ (Succ Zero))) (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];886 -> 903[label="",style="solid", color="black", weight=3]; 887[label="Succ (Succ Zero)",fontsize=16,color="green",shape="box"];888[label="xv83000",fontsize=16,color="green",shape="box"];891[label="Succ (Succ Zero)",fontsize=16,color="green",shape="box"];892[label="xv81",fontsize=16,color="green",shape="box"];897[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ xv8300000))))) (Succ (Succ (Succ (Succ xv8400000)))) (primGEqNatS xv8300000 xv8400000))",fontsize=16,color="burlywood",shape="box"];1526[label="xv8300000/Succ xv83000000",fontsize=10,color="white",style="solid",shape="box"];897 -> 1526[label="",style="solid", color="burlywood", weight=9]; 1526 -> 906[label="",style="solid", color="burlywood", weight=3]; 1527[label="xv8300000/Zero",fontsize=10,color="white",style="solid",shape="box"];897 -> 1527[label="",style="solid", color="burlywood", weight=9]; 1527 -> 907[label="",style="solid", color="burlywood", weight=3]; 898[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ xv8300000))))) (Succ (Succ (Succ Zero))) MyTrue)",fontsize=16,color="black",shape="box"];898 -> 908[label="",style="solid", color="black", weight=3]; 899[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ xv8400000)))) MyFalse)",fontsize=16,color="black",shape="box"];899 -> 909[label="",style="solid", color="black", weight=3]; 900[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ Zero))) MyTrue)",fontsize=16,color="black",shape="box"];900 -> 910[label="",style="solid", color="black", weight=3]; 901[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ xv830000)) (Succ Zero)) (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];901 -> 911[label="",style="solid", color="black", weight=3]; 903[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ Zero) (Succ Zero)) (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];903 -> 914[label="",style="solid", color="black", weight=3]; 906[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ xv83000000)))))) (Succ (Succ (Succ (Succ xv8400000)))) (primGEqNatS (Succ xv83000000) xv8400000))",fontsize=16,color="burlywood",shape="box"];1528[label="xv8400000/Succ xv84000000",fontsize=10,color="white",style="solid",shape="box"];906 -> 1528[label="",style="solid", color="burlywood", weight=9]; 1528 -> 917[label="",style="solid", color="burlywood", weight=3]; 1529[label="xv8400000/Zero",fontsize=10,color="white",style="solid",shape="box"];906 -> 1529[label="",style="solid", color="burlywood", weight=9]; 1529 -> 918[label="",style="solid", color="burlywood", weight=3]; 907[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ Zero))))) (Succ (Succ (Succ (Succ xv8400000)))) (primGEqNatS Zero xv8400000))",fontsize=16,color="burlywood",shape="box"];1530[label="xv8400000/Succ xv84000000",fontsize=10,color="white",style="solid",shape="box"];907 -> 1530[label="",style="solid", color="burlywood", weight=9]; 1530 -> 919[label="",style="solid", color="burlywood", weight=3]; 1531[label="xv8400000/Zero",fontsize=10,color="white",style="solid",shape="box"];907 -> 1531[label="",style="solid", color="burlywood", weight=9]; 1531 -> 920[label="",style="solid", color="burlywood", weight=3]; 908[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ (Succ (Succ (Succ xv8300000))))) (Succ (Succ (Succ (Succ Zero))))) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];908 -> 921[label="",style="solid", color="black", weight=3]; 909 -> 969[label="",style="dashed", color="red", weight=0]; 909[label="primPlusNat (Succ xv81) (Succ (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="magenta"];909 -> 978[label="",style="dashed", color="magenta", weight=3]; 909 -> 979[label="",style="dashed", color="magenta", weight=3]; 910[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero))))) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];910 -> 923[label="",style="solid", color="black", weight=3]; 911[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ xv830000) Zero) (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];911 -> 924[label="",style="solid", color="black", weight=3]; 914[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS Zero Zero) (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="black",shape="box"];914 -> 927[label="",style="solid", color="black", weight=3]; 917[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ xv83000000)))))) (Succ (Succ (Succ (Succ (Succ xv84000000))))) (primGEqNatS (Succ xv83000000) (Succ xv84000000)))",fontsize=16,color="black",shape="box"];917 -> 930[label="",style="solid", color="black", weight=3]; 918[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ xv83000000)))))) (Succ (Succ (Succ (Succ Zero)))) (primGEqNatS (Succ xv83000000) Zero))",fontsize=16,color="black",shape="box"];918 -> 931[label="",style="solid", color="black", weight=3]; 919[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ Zero))))) (Succ (Succ (Succ (Succ (Succ xv84000000))))) (primGEqNatS Zero (Succ xv84000000)))",fontsize=16,color="black",shape="box"];919 -> 932[label="",style="solid", color="black", weight=3]; 920[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ Zero))))) (Succ (Succ (Succ (Succ Zero)))) (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];920 -> 933[label="",style="solid", color="black", weight=3]; 921[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ (Succ (Succ xv8300000)))) (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];921 -> 934[label="",style="solid", color="black", weight=3]; 978[label="xv81",fontsize=16,color="green",shape="box"];979[label="Succ (Succ (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];923[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ (Succ Zero))) (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];923 -> 936[label="",style="solid", color="black", weight=3]; 924 -> 619[label="",style="dashed", color="red", weight=0]; 924[label="primPlusNat (Succ xv81) (primModNatS (Succ xv830000) (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="magenta"];924 -> 937[label="",style="dashed", color="magenta", weight=3]; 924 -> 938[label="",style="dashed", color="magenta", weight=3]; 927 -> 405[label="",style="dashed", color="red", weight=0]; 927[label="primPlusNat (Succ xv81) (primModNatS Zero (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="magenta"];927 -> 940[label="",style="dashed", color="magenta", weight=3]; 927 -> 941[label="",style="dashed", color="magenta", weight=3]; 930[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ xv83000000)))))) (Succ (Succ (Succ (Succ (Succ xv84000000))))) (primGEqNatS xv83000000 xv84000000))",fontsize=16,color="burlywood",shape="box"];1532[label="xv83000000/Succ xv830000000",fontsize=10,color="white",style="solid",shape="box"];930 -> 1532[label="",style="solid", color="burlywood", weight=9]; 1532 -> 946[label="",style="solid", color="burlywood", weight=3]; 1533[label="xv83000000/Zero",fontsize=10,color="white",style="solid",shape="box"];930 -> 1533[label="",style="solid", color="burlywood", weight=9]; 1533 -> 947[label="",style="solid", color="burlywood", weight=3]; 931 -> 950[label="",style="dashed", color="red", weight=0]; 931[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ xv83000000)))))) (Succ (Succ (Succ (Succ Zero)))) MyTrue)",fontsize=16,color="magenta"];931 -> 951[label="",style="dashed", color="magenta", weight=3]; 931 -> 952[label="",style="dashed", color="magenta", weight=3]; 932[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ Zero))))) (Succ (Succ (Succ (Succ (Succ xv84000000))))) MyFalse)",fontsize=16,color="black",shape="box"];932 -> 949[label="",style="solid", color="black", weight=3]; 933 -> 950[label="",style="dashed", color="red", weight=0]; 933[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ Zero))))) (Succ (Succ (Succ (Succ Zero)))) MyTrue)",fontsize=16,color="magenta"];933 -> 953[label="",style="dashed", color="magenta", weight=3]; 933 -> 954[label="",style="dashed", color="magenta", weight=3]; 934[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ (Succ xv8300000))) (Succ (Succ Zero))) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];934 -> 959[label="",style="solid", color="black", weight=3]; 936[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ Zero)) (Succ (Succ Zero))) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];936 -> 962[label="",style="solid", color="black", weight=3]; 937[label="Succ (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];938[label="xv830000",fontsize=16,color="green",shape="box"];940[label="Succ (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];941[label="xv81",fontsize=16,color="green",shape="box"];946[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv830000000))))))) (Succ (Succ (Succ (Succ (Succ xv84000000))))) (primGEqNatS (Succ xv830000000) xv84000000))",fontsize=16,color="burlywood",shape="box"];1534[label="xv84000000/Succ xv840000000",fontsize=10,color="white",style="solid",shape="box"];946 -> 1534[label="",style="solid", color="burlywood", weight=9]; 1534 -> 964[label="",style="solid", color="burlywood", weight=3]; 1535[label="xv84000000/Zero",fontsize=10,color="white",style="solid",shape="box"];946 -> 1535[label="",style="solid", color="burlywood", weight=9]; 1535 -> 965[label="",style="solid", color="burlywood", weight=3]; 947[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) (Succ (Succ (Succ (Succ (Succ xv84000000))))) (primGEqNatS Zero xv84000000))",fontsize=16,color="burlywood",shape="box"];1536[label="xv84000000/Succ xv840000000",fontsize=10,color="white",style="solid",shape="box"];947 -> 1536[label="",style="solid", color="burlywood", weight=9]; 1536 -> 966[label="",style="solid", color="burlywood", weight=3]; 1537[label="xv84000000/Zero",fontsize=10,color="white",style="solid",shape="box"];947 -> 1537[label="",style="solid", color="burlywood", weight=9]; 1537 -> 967[label="",style="solid", color="burlywood", weight=3]; 951[label="Succ (Succ (Succ (Succ (Succ xv83000000))))",fontsize=16,color="green",shape="box"];952[label="xv81",fontsize=16,color="green",shape="box"];950[label="primPlusNat (Succ xv107) (primModNatS0 (Succ xv108) (Succ (Succ (Succ (Succ Zero)))) MyTrue)",fontsize=16,color="black",shape="triangle"];950 -> 968[label="",style="solid", color="black", weight=3]; 949 -> 969[label="",style="dashed", color="red", weight=0]; 949[label="primPlusNat (Succ xv81) (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="magenta"];949 -> 980[label="",style="dashed", color="magenta", weight=3]; 949 -> 981[label="",style="dashed", color="magenta", weight=3]; 953[label="Succ (Succ (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];954[label="xv81",fontsize=16,color="green",shape="box"];959[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ (Succ xv8300000)) (Succ Zero)) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];959 -> 989[label="",style="solid", color="black", weight=3]; 962[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ Zero) (Succ Zero)) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];962 -> 990[label="",style="solid", color="black", weight=3]; 964[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv830000000))))))) (Succ (Succ (Succ (Succ (Succ (Succ xv840000000)))))) (primGEqNatS (Succ xv830000000) (Succ xv840000000)))",fontsize=16,color="black",shape="box"];964 -> 991[label="",style="solid", color="black", weight=3]; 965[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv830000000))))))) (Succ (Succ (Succ (Succ (Succ Zero))))) (primGEqNatS (Succ xv830000000) Zero))",fontsize=16,color="black",shape="box"];965 -> 992[label="",style="solid", color="black", weight=3]; 966[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) (Succ (Succ (Succ (Succ (Succ (Succ xv840000000)))))) (primGEqNatS Zero (Succ xv840000000)))",fontsize=16,color="black",shape="box"];966 -> 993[label="",style="solid", color="black", weight=3]; 967[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) (Succ (Succ (Succ (Succ (Succ Zero))))) (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];967 -> 994[label="",style="solid", color="black", weight=3]; 968[label="primPlusNat (Succ xv107) (primModNatS (primMinusNatS (Succ xv108) (Succ (Succ (Succ (Succ (Succ Zero)))))) (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))",fontsize=16,color="black",shape="box"];968 -> 995[label="",style="solid", color="black", weight=3]; 980[label="xv81",fontsize=16,color="green",shape="box"];981[label="Succ (Succ (Succ (Succ (Succ Zero))))",fontsize=16,color="green",shape="box"];989[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS (Succ xv8300000) Zero) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];989 -> 1001[label="",style="solid", color="black", weight=3]; 990[label="primPlusNat (Succ xv81) (primModNatS (primMinusNatS Zero Zero) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="black",shape="box"];990 -> 1002[label="",style="solid", color="black", weight=3]; 991[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv830000000))))))) (Succ (Succ (Succ (Succ (Succ (Succ xv840000000)))))) (primGEqNatS xv830000000 xv840000000))",fontsize=16,color="burlywood",shape="box"];1538[label="xv830000000/Succ xv8300000000",fontsize=10,color="white",style="solid",shape="box"];991 -> 1538[label="",style="solid", color="burlywood", weight=9]; 1538 -> 1003[label="",style="solid", color="burlywood", weight=3]; 1539[label="xv830000000/Zero",fontsize=10,color="white",style="solid",shape="box"];991 -> 1539[label="",style="solid", color="burlywood", weight=9]; 1539 -> 1004[label="",style="solid", color="burlywood", weight=3]; 992 -> 1007[label="",style="dashed", color="red", weight=0]; 992[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv830000000))))))) (Succ (Succ (Succ (Succ (Succ Zero))))) MyTrue)",fontsize=16,color="magenta"];992 -> 1008[label="",style="dashed", color="magenta", weight=3]; 992 -> 1009[label="",style="dashed", color="magenta", weight=3]; 993[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) (Succ (Succ (Succ (Succ (Succ (Succ xv840000000)))))) MyFalse)",fontsize=16,color="black",shape="box"];993 -> 1006[label="",style="solid", color="black", weight=3]; 994 -> 1007[label="",style="dashed", color="red", weight=0]; 994[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) (Succ (Succ (Succ (Succ (Succ Zero))))) MyTrue)",fontsize=16,color="magenta"];994 -> 1010[label="",style="dashed", color="magenta", weight=3]; 994 -> 1011[label="",style="dashed", color="magenta", weight=3]; 995 -> 1000[label="",style="dashed", color="red", weight=0]; 995[label="primPlusNat (Succ xv107) (primModNatS (primMinusNatS xv108 (Succ (Succ (Succ (Succ Zero))))) (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))",fontsize=16,color="magenta"];995 -> 1018[label="",style="dashed", color="magenta", weight=3]; 995 -> 1019[label="",style="dashed", color="magenta", weight=3]; 1001 -> 1000[label="",style="dashed", color="red", weight=0]; 1001[label="primPlusNat (Succ xv81) (primModNatS (Succ xv8300000) (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="magenta"];1001 -> 1020[label="",style="dashed", color="magenta", weight=3]; 1001 -> 1021[label="",style="dashed", color="magenta", weight=3]; 1002 -> 1000[label="",style="dashed", color="red", weight=0]; 1002[label="primPlusNat (Succ xv81) (primModNatS Zero (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="magenta"];1002 -> 1022[label="",style="dashed", color="magenta", weight=3]; 1002 -> 1023[label="",style="dashed", color="magenta", weight=3]; 1003[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8300000000)))))))) (Succ (Succ (Succ (Succ (Succ (Succ xv840000000)))))) (primGEqNatS (Succ xv8300000000) xv840000000))",fontsize=16,color="burlywood",shape="box"];1540[label="xv840000000/Succ xv8400000000",fontsize=10,color="white",style="solid",shape="box"];1003 -> 1540[label="",style="solid", color="burlywood", weight=9]; 1540 -> 1024[label="",style="solid", color="burlywood", weight=3]; 1541[label="xv840000000/Zero",fontsize=10,color="white",style="solid",shape="box"];1003 -> 1541[label="",style="solid", color="burlywood", weight=9]; 1541 -> 1025[label="",style="solid", color="burlywood", weight=3]; 1004[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) (Succ (Succ (Succ (Succ (Succ (Succ xv840000000)))))) (primGEqNatS Zero xv840000000))",fontsize=16,color="burlywood",shape="box"];1542[label="xv840000000/Succ xv8400000000",fontsize=10,color="white",style="solid",shape="box"];1004 -> 1542[label="",style="solid", color="burlywood", weight=9]; 1542 -> 1026[label="",style="solid", color="burlywood", weight=3]; 1543[label="xv840000000/Zero",fontsize=10,color="white",style="solid",shape="box"];1004 -> 1543[label="",style="solid", color="burlywood", weight=9]; 1543 -> 1027[label="",style="solid", color="burlywood", weight=3]; 1008[label="Succ (Succ (Succ (Succ (Succ (Succ xv830000000)))))",fontsize=16,color="green",shape="box"];1009[label="xv81",fontsize=16,color="green",shape="box"];1007 -> 1000[label="",style="dashed", color="red", weight=0]; 1007[label="primPlusNat (Succ xv113) (primModNatS0 (Succ xv114) (Succ (Succ (Succ (Succ (Succ Zero))))) MyTrue)",fontsize=16,color="magenta"];1007 -> 1028[label="",style="dashed", color="magenta", weight=3]; 1007 -> 1029[label="",style="dashed", color="magenta", weight=3]; 1006 -> 1000[label="",style="dashed", color="red", weight=0]; 1006[label="primPlusNat (Succ xv81) (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))",fontsize=16,color="magenta"];1006 -> 1030[label="",style="dashed", color="magenta", weight=3]; 1006 -> 1031[label="",style="dashed", color="magenta", weight=3]; 1010[label="Succ (Succ (Succ (Succ (Succ Zero))))",fontsize=16,color="green",shape="box"];1011[label="xv81",fontsize=16,color="green",shape="box"];1018[label="Succ xv107",fontsize=16,color="green",shape="box"];1019 -> 1397[label="",style="dashed", color="red", weight=0]; 1019[label="primModNatS (primMinusNatS xv108 (Succ (Succ (Succ (Succ Zero))))) (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="magenta"];1019 -> 1398[label="",style="dashed", color="magenta", weight=3]; 1019 -> 1399[label="",style="dashed", color="magenta", weight=3]; 1019 -> 1400[label="",style="dashed", color="magenta", weight=3]; 1020[label="Succ xv81",fontsize=16,color="green",shape="box"];1021 -> 1044[label="",style="dashed", color="red", weight=0]; 1021[label="primModNatS (Succ xv8300000) (Succ (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="magenta"];1021 -> 1045[label="",style="dashed", color="magenta", weight=3]; 1021 -> 1046[label="",style="dashed", color="magenta", weight=3]; 1022[label="Succ xv81",fontsize=16,color="green",shape="box"];1023 -> 1091[label="",style="dashed", color="red", weight=0]; 1023[label="primModNatS Zero (Succ (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="magenta"];1023 -> 1092[label="",style="dashed", color="magenta", weight=3]; 1024[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8300000000)))))))) (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8400000000))))))) (primGEqNatS (Succ xv8300000000) (Succ xv8400000000)))",fontsize=16,color="black",shape="box"];1024 -> 1056[label="",style="solid", color="black", weight=3]; 1025[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8300000000)))))))) (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) (primGEqNatS (Succ xv8300000000) Zero))",fontsize=16,color="black",shape="box"];1025 -> 1057[label="",style="solid", color="black", weight=3]; 1026[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8400000000))))))) (primGEqNatS Zero (Succ xv8400000000)))",fontsize=16,color="black",shape="box"];1026 -> 1058[label="",style="solid", color="black", weight=3]; 1027[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];1027 -> 1059[label="",style="solid", color="black", weight=3]; 1028[label="Succ xv113",fontsize=16,color="green",shape="box"];1029 -> 1200[label="",style="dashed", color="red", weight=0]; 1029[label="primModNatS0 (Succ xv114) (Succ (Succ (Succ (Succ (Succ Zero))))) MyTrue",fontsize=16,color="magenta"];1029 -> 1201[label="",style="dashed", color="magenta", weight=3]; 1029 -> 1202[label="",style="dashed", color="magenta", weight=3]; 1030[label="Succ xv81",fontsize=16,color="green",shape="box"];1031[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))",fontsize=16,color="green",shape="box"];1398[label="Succ (Succ (Succ (Succ (Succ Zero))))",fontsize=16,color="green",shape="box"];1399[label="Succ (Succ (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];1400[label="xv108",fontsize=16,color="green",shape="box"];1397[label="primModNatS (primMinusNatS xv155 xv156) (Succ xv157)",fontsize=16,color="burlywood",shape="triangle"];1544[label="xv155/Succ xv1550",fontsize=10,color="white",style="solid",shape="box"];1397 -> 1544[label="",style="solid", color="burlywood", weight=9]; 1544 -> 1440[label="",style="solid", color="burlywood", weight=3]; 1545[label="xv155/Zero",fontsize=10,color="white",style="solid",shape="box"];1397 -> 1545[label="",style="solid", color="burlywood", weight=9]; 1545 -> 1441[label="",style="solid", color="burlywood", weight=3]; 1045[label="Succ (Succ (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];1046[label="xv8300000",fontsize=16,color="green",shape="box"];1044[label="primModNatS (Succ xv116) (Succ xv117)",fontsize=16,color="burlywood",shape="triangle"];1546[label="xv117/Succ xv1170",fontsize=10,color="white",style="solid",shape="box"];1044 -> 1546[label="",style="solid", color="burlywood", weight=9]; 1546 -> 1063[label="",style="solid", color="burlywood", weight=3]; 1547[label="xv117/Zero",fontsize=10,color="white",style="solid",shape="box"];1044 -> 1547[label="",style="solid", color="burlywood", weight=9]; 1547 -> 1064[label="",style="solid", color="burlywood", weight=3]; 1092[label="Succ (Succ (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];1091[label="primModNatS Zero (Succ xv122)",fontsize=16,color="black",shape="triangle"];1091 -> 1098[label="",style="solid", color="black", weight=3]; 1056 -> 1000[label="",style="dashed", color="red", weight=0]; 1056[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8300000000)))))))) (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8400000000))))))) (primGEqNatS xv8300000000 xv8400000000))",fontsize=16,color="magenta"];1056 -> 1070[label="",style="dashed", color="magenta", weight=3]; 1056 -> 1071[label="",style="dashed", color="magenta", weight=3]; 1057 -> 1000[label="",style="dashed", color="red", weight=0]; 1057[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8300000000)))))))) (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) MyTrue)",fontsize=16,color="magenta"];1057 -> 1072[label="",style="dashed", color="magenta", weight=3]; 1057 -> 1073[label="",style="dashed", color="magenta", weight=3]; 1058 -> 1000[label="",style="dashed", color="red", weight=0]; 1058[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8400000000))))))) MyFalse)",fontsize=16,color="magenta"];1058 -> 1074[label="",style="dashed", color="magenta", weight=3]; 1058 -> 1075[label="",style="dashed", color="magenta", weight=3]; 1059 -> 1000[label="",style="dashed", color="red", weight=0]; 1059[label="primPlusNat (Succ xv81) (primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) MyTrue)",fontsize=16,color="magenta"];1059 -> 1076[label="",style="dashed", color="magenta", weight=3]; 1059 -> 1077[label="",style="dashed", color="magenta", weight=3]; 1201[label="Succ (Succ (Succ (Succ Zero)))",fontsize=16,color="green",shape="box"];1202[label="xv114",fontsize=16,color="green",shape="box"];1200[label="primModNatS0 (Succ xv139) (Succ xv140) MyTrue",fontsize=16,color="black",shape="triangle"];1200 -> 1219[label="",style="solid", color="black", weight=3]; 1440[label="primModNatS (primMinusNatS (Succ xv1550) xv156) (Succ xv157)",fontsize=16,color="burlywood",shape="box"];1548[label="xv156/Succ xv1560",fontsize=10,color="white",style="solid",shape="box"];1440 -> 1548[label="",style="solid", color="burlywood", weight=9]; 1548 -> 1442[label="",style="solid", color="burlywood", weight=3]; 1549[label="xv156/Zero",fontsize=10,color="white",style="solid",shape="box"];1440 -> 1549[label="",style="solid", color="burlywood", weight=9]; 1549 -> 1443[label="",style="solid", color="burlywood", weight=3]; 1441[label="primModNatS (primMinusNatS Zero xv156) (Succ xv157)",fontsize=16,color="burlywood",shape="box"];1550[label="xv156/Succ xv1560",fontsize=10,color="white",style="solid",shape="box"];1441 -> 1550[label="",style="solid", color="burlywood", weight=9]; 1550 -> 1444[label="",style="solid", color="burlywood", weight=3]; 1551[label="xv156/Zero",fontsize=10,color="white",style="solid",shape="box"];1441 -> 1551[label="",style="solid", color="burlywood", weight=9]; 1551 -> 1445[label="",style="solid", color="burlywood", weight=3]; 1063[label="primModNatS (Succ xv116) (Succ (Succ xv1170))",fontsize=16,color="black",shape="box"];1063 -> 1099[label="",style="solid", color="black", weight=3]; 1064[label="primModNatS (Succ xv116) (Succ Zero)",fontsize=16,color="black",shape="box"];1064 -> 1100[label="",style="solid", color="black", weight=3]; 1098[label="Zero",fontsize=16,color="green",shape="box"];1070[label="Succ xv81",fontsize=16,color="green",shape="box"];1071 -> 1302[label="",style="dashed", color="red", weight=0]; 1071[label="primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8300000000)))))))) (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8400000000))))))) (primGEqNatS xv8300000000 xv8400000000)",fontsize=16,color="magenta"];1071 -> 1303[label="",style="dashed", color="magenta", weight=3]; 1071 -> 1304[label="",style="dashed", color="magenta", weight=3]; 1071 -> 1305[label="",style="dashed", color="magenta", weight=3]; 1071 -> 1306[label="",style="dashed", color="magenta", weight=3]; 1072[label="Succ xv81",fontsize=16,color="green",shape="box"];1073 -> 1200[label="",style="dashed", color="red", weight=0]; 1073[label="primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8300000000)))))))) (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) MyTrue",fontsize=16,color="magenta"];1073 -> 1203[label="",style="dashed", color="magenta", weight=3]; 1073 -> 1204[label="",style="dashed", color="magenta", weight=3]; 1074[label="Succ xv81",fontsize=16,color="green",shape="box"];1075 -> 1110[label="",style="dashed", color="red", weight=0]; 1075[label="primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) (Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8400000000))))))) MyFalse",fontsize=16,color="magenta"];1075 -> 1111[label="",style="dashed", color="magenta", weight=3]; 1076[label="Succ xv81",fontsize=16,color="green",shape="box"];1077 -> 1200[label="",style="dashed", color="red", weight=0]; 1077[label="primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))) MyTrue",fontsize=16,color="magenta"];1077 -> 1205[label="",style="dashed", color="magenta", weight=3]; 1077 -> 1206[label="",style="dashed", color="magenta", weight=3]; 1219 -> 1397[label="",style="dashed", color="red", weight=0]; 1219[label="primModNatS (primMinusNatS (Succ xv139) (Succ (Succ xv140))) (Succ (Succ (Succ xv140)))",fontsize=16,color="magenta"];1219 -> 1404[label="",style="dashed", color="magenta", weight=3]; 1219 -> 1405[label="",style="dashed", color="magenta", weight=3]; 1219 -> 1406[label="",style="dashed", color="magenta", weight=3]; 1442[label="primModNatS (primMinusNatS (Succ xv1550) (Succ xv1560)) (Succ xv157)",fontsize=16,color="black",shape="box"];1442 -> 1446[label="",style="solid", color="black", weight=3]; 1443[label="primModNatS (primMinusNatS (Succ xv1550) Zero) (Succ xv157)",fontsize=16,color="black",shape="box"];1443 -> 1447[label="",style="solid", color="black", weight=3]; 1444[label="primModNatS (primMinusNatS Zero (Succ xv1560)) (Succ xv157)",fontsize=16,color="black",shape="box"];1444 -> 1448[label="",style="solid", color="black", weight=3]; 1445[label="primModNatS (primMinusNatS Zero Zero) (Succ xv157)",fontsize=16,color="black",shape="box"];1445 -> 1449[label="",style="solid", color="black", weight=3]; 1099[label="primModNatS0 xv116 xv1170 (primGEqNatS xv116 (Succ xv1170))",fontsize=16,color="burlywood",shape="box"];1552[label="xv116/Succ xv1160",fontsize=10,color="white",style="solid",shape="box"];1099 -> 1552[label="",style="solid", color="burlywood", weight=9]; 1552 -> 1121[label="",style="solid", color="burlywood", weight=3]; 1553[label="xv116/Zero",fontsize=10,color="white",style="solid",shape="box"];1099 -> 1553[label="",style="solid", color="burlywood", weight=9]; 1553 -> 1122[label="",style="solid", color="burlywood", weight=3]; 1100[label="Zero",fontsize=16,color="green",shape="box"];1303[label="xv8300000000",fontsize=16,color="green",shape="box"];1304[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8300000000))))))",fontsize=16,color="green",shape="box"];1305[label="Succ (Succ (Succ (Succ (Succ (Succ xv8400000000)))))",fontsize=16,color="green",shape="box"];1306[label="xv8400000000",fontsize=16,color="green",shape="box"];1302[label="primModNatS0 (Succ xv150) (Succ xv151) (primGEqNatS xv152 xv153)",fontsize=16,color="burlywood",shape="triangle"];1554[label="xv152/Succ xv1520",fontsize=10,color="white",style="solid",shape="box"];1302 -> 1554[label="",style="solid", color="burlywood", weight=9]; 1554 -> 1331[label="",style="solid", color="burlywood", weight=3]; 1555[label="xv152/Zero",fontsize=10,color="white",style="solid",shape="box"];1302 -> 1555[label="",style="solid", color="burlywood", weight=9]; 1555 -> 1332[label="",style="solid", color="burlywood", weight=3]; 1203[label="Succ (Succ (Succ (Succ (Succ Zero))))",fontsize=16,color="green",shape="box"];1204[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ xv8300000000))))))",fontsize=16,color="green",shape="box"];1111[label="Succ (Succ (Succ (Succ (Succ (Succ xv8400000000)))))",fontsize=16,color="green",shape="box"];1110[label="primModNatS0 (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) (Succ xv126) MyFalse",fontsize=16,color="black",shape="triangle"];1110 -> 1128[label="",style="solid", color="black", weight=3]; 1205[label="Succ (Succ (Succ (Succ (Succ Zero))))",fontsize=16,color="green",shape="box"];1206[label="Succ (Succ (Succ (Succ (Succ (Succ Zero)))))",fontsize=16,color="green",shape="box"];1404[label="Succ (Succ xv140)",fontsize=16,color="green",shape="box"];1405[label="Succ (Succ xv140)",fontsize=16,color="green",shape="box"];1406[label="Succ xv139",fontsize=16,color="green",shape="box"];1446 -> 1397[label="",style="dashed", color="red", weight=0]; 1446[label="primModNatS (primMinusNatS xv1550 xv1560) (Succ xv157)",fontsize=16,color="magenta"];1446 -> 1450[label="",style="dashed", color="magenta", weight=3]; 1446 -> 1451[label="",style="dashed", color="magenta", weight=3]; 1447 -> 1044[label="",style="dashed", color="red", weight=0]; 1447[label="primModNatS (Succ xv1550) (Succ xv157)",fontsize=16,color="magenta"];1447 -> 1452[label="",style="dashed", color="magenta", weight=3]; 1447 -> 1453[label="",style="dashed", color="magenta", weight=3]; 1448 -> 1091[label="",style="dashed", color="red", weight=0]; 1448[label="primModNatS Zero (Succ xv157)",fontsize=16,color="magenta"];1448 -> 1454[label="",style="dashed", color="magenta", weight=3]; 1449 -> 1091[label="",style="dashed", color="red", weight=0]; 1449[label="primModNatS Zero (Succ xv157)",fontsize=16,color="magenta"];1449 -> 1455[label="",style="dashed", color="magenta", weight=3]; 1121[label="primModNatS0 (Succ xv1160) xv1170 (primGEqNatS (Succ xv1160) (Succ xv1170))",fontsize=16,color="black",shape="box"];1121 -> 1138[label="",style="solid", color="black", weight=3]; 1122[label="primModNatS0 Zero xv1170 (primGEqNatS Zero (Succ xv1170))",fontsize=16,color="black",shape="box"];1122 -> 1139[label="",style="solid", color="black", weight=3]; 1331[label="primModNatS0 (Succ xv150) (Succ xv151) (primGEqNatS (Succ xv1520) xv153)",fontsize=16,color="burlywood",shape="box"];1556[label="xv153/Succ xv1530",fontsize=10,color="white",style="solid",shape="box"];1331 -> 1556[label="",style="solid", color="burlywood", weight=9]; 1556 -> 1343[label="",style="solid", color="burlywood", weight=3]; 1557[label="xv153/Zero",fontsize=10,color="white",style="solid",shape="box"];1331 -> 1557[label="",style="solid", color="burlywood", weight=9]; 1557 -> 1344[label="",style="solid", color="burlywood", weight=3]; 1332[label="primModNatS0 (Succ xv150) (Succ xv151) (primGEqNatS Zero xv153)",fontsize=16,color="burlywood",shape="box"];1558[label="xv153/Succ xv1530",fontsize=10,color="white",style="solid",shape="box"];1332 -> 1558[label="",style="solid", color="burlywood", weight=9]; 1558 -> 1345[label="",style="solid", color="burlywood", weight=3]; 1559[label="xv153/Zero",fontsize=10,color="white",style="solid",shape="box"];1332 -> 1559[label="",style="solid", color="burlywood", weight=9]; 1559 -> 1346[label="",style="solid", color="burlywood", weight=3]; 1128[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))",fontsize=16,color="green",shape="box"];1450[label="xv1560",fontsize=16,color="green",shape="box"];1451[label="xv1550",fontsize=16,color="green",shape="box"];1452[label="xv157",fontsize=16,color="green",shape="box"];1453[label="xv1550",fontsize=16,color="green",shape="box"];1454[label="xv157",fontsize=16,color="green",shape="box"];1455[label="xv157",fontsize=16,color="green",shape="box"];1138[label="primModNatS0 (Succ xv1160) xv1170 (primGEqNatS xv1160 xv1170)",fontsize=16,color="burlywood",shape="box"];1560[label="xv1160/Succ xv11600",fontsize=10,color="white",style="solid",shape="box"];1138 -> 1560[label="",style="solid", color="burlywood", weight=9]; 1560 -> 1153[label="",style="solid", color="burlywood", weight=3]; 1561[label="xv1160/Zero",fontsize=10,color="white",style="solid",shape="box"];1138 -> 1561[label="",style="solid", color="burlywood", weight=9]; 1561 -> 1154[label="",style="solid", color="burlywood", weight=3]; 1139[label="primModNatS0 Zero xv1170 MyFalse",fontsize=16,color="black",shape="box"];1139 -> 1155[label="",style="solid", color="black", weight=3]; 1343[label="primModNatS0 (Succ xv150) (Succ xv151) (primGEqNatS (Succ xv1520) (Succ xv1530))",fontsize=16,color="black",shape="box"];1343 -> 1354[label="",style="solid", color="black", weight=3]; 1344[label="primModNatS0 (Succ xv150) (Succ xv151) (primGEqNatS (Succ xv1520) Zero)",fontsize=16,color="black",shape="box"];1344 -> 1355[label="",style="solid", color="black", weight=3]; 1345[label="primModNatS0 (Succ xv150) (Succ xv151) (primGEqNatS Zero (Succ xv1530))",fontsize=16,color="black",shape="box"];1345 -> 1356[label="",style="solid", color="black", weight=3]; 1346[label="primModNatS0 (Succ xv150) (Succ xv151) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1346 -> 1357[label="",style="solid", color="black", weight=3]; 1153[label="primModNatS0 (Succ (Succ xv11600)) xv1170 (primGEqNatS (Succ xv11600) xv1170)",fontsize=16,color="burlywood",shape="box"];1562[label="xv1170/Succ xv11700",fontsize=10,color="white",style="solid",shape="box"];1153 -> 1562[label="",style="solid", color="burlywood", weight=9]; 1562 -> 1194[label="",style="solid", color="burlywood", weight=3]; 1563[label="xv1170/Zero",fontsize=10,color="white",style="solid",shape="box"];1153 -> 1563[label="",style="solid", color="burlywood", weight=9]; 1563 -> 1195[label="",style="solid", color="burlywood", weight=3]; 1154[label="primModNatS0 (Succ Zero) xv1170 (primGEqNatS Zero xv1170)",fontsize=16,color="burlywood",shape="box"];1564[label="xv1170/Succ xv11700",fontsize=10,color="white",style="solid",shape="box"];1154 -> 1564[label="",style="solid", color="burlywood", weight=9]; 1564 -> 1196[label="",style="solid", color="burlywood", weight=3]; 1565[label="xv1170/Zero",fontsize=10,color="white",style="solid",shape="box"];1154 -> 1565[label="",style="solid", color="burlywood", weight=9]; 1565 -> 1197[label="",style="solid", color="burlywood", weight=3]; 1155[label="Succ Zero",fontsize=16,color="green",shape="box"];1354 -> 1302[label="",style="dashed", color="red", weight=0]; 1354[label="primModNatS0 (Succ xv150) (Succ xv151) (primGEqNatS xv1520 xv1530)",fontsize=16,color="magenta"];1354 -> 1362[label="",style="dashed", color="magenta", weight=3]; 1354 -> 1363[label="",style="dashed", color="magenta", weight=3]; 1355 -> 1200[label="",style="dashed", color="red", weight=0]; 1355[label="primModNatS0 (Succ xv150) (Succ xv151) MyTrue",fontsize=16,color="magenta"];1355 -> 1364[label="",style="dashed", color="magenta", weight=3]; 1355 -> 1365[label="",style="dashed", color="magenta", weight=3]; 1356[label="primModNatS0 (Succ xv150) (Succ xv151) MyFalse",fontsize=16,color="black",shape="box"];1356 -> 1366[label="",style="solid", color="black", weight=3]; 1357 -> 1200[label="",style="dashed", color="red", weight=0]; 1357[label="primModNatS0 (Succ xv150) (Succ xv151) MyTrue",fontsize=16,color="magenta"];1357 -> 1367[label="",style="dashed", color="magenta", weight=3]; 1357 -> 1368[label="",style="dashed", color="magenta", weight=3]; 1194[label="primModNatS0 (Succ (Succ xv11600)) (Succ xv11700) (primGEqNatS (Succ xv11600) (Succ xv11700))",fontsize=16,color="black",shape="box"];1194 -> 1223[label="",style="solid", color="black", weight=3]; 1195[label="primModNatS0 (Succ (Succ xv11600)) Zero (primGEqNatS (Succ xv11600) Zero)",fontsize=16,color="black",shape="box"];1195 -> 1224[label="",style="solid", color="black", weight=3]; 1196[label="primModNatS0 (Succ Zero) (Succ xv11700) (primGEqNatS Zero (Succ xv11700))",fontsize=16,color="black",shape="box"];1196 -> 1225[label="",style="solid", color="black", weight=3]; 1197[label="primModNatS0 (Succ Zero) Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1197 -> 1226[label="",style="solid", color="black", weight=3]; 1362[label="xv1520",fontsize=16,color="green",shape="box"];1363[label="xv1530",fontsize=16,color="green",shape="box"];1364[label="xv151",fontsize=16,color="green",shape="box"];1365[label="xv150",fontsize=16,color="green",shape="box"];1366[label="Succ (Succ xv150)",fontsize=16,color="green",shape="box"];1367[label="xv151",fontsize=16,color="green",shape="box"];1368[label="xv150",fontsize=16,color="green",shape="box"];1223 -> 1302[label="",style="dashed", color="red", weight=0]; 1223[label="primModNatS0 (Succ (Succ xv11600)) (Succ xv11700) (primGEqNatS xv11600 xv11700)",fontsize=16,color="magenta"];1223 -> 1315[label="",style="dashed", color="magenta", weight=3]; 1223 -> 1316[label="",style="dashed", color="magenta", weight=3]; 1223 -> 1317[label="",style="dashed", color="magenta", weight=3]; 1223 -> 1318[label="",style="dashed", color="magenta", weight=3]; 1224[label="primModNatS0 (Succ (Succ xv11600)) Zero MyTrue",fontsize=16,color="black",shape="box"];1224 -> 1280[label="",style="solid", color="black", weight=3]; 1225[label="primModNatS0 (Succ Zero) (Succ xv11700) MyFalse",fontsize=16,color="black",shape="box"];1225 -> 1281[label="",style="solid", color="black", weight=3]; 1226[label="primModNatS0 (Succ Zero) Zero MyTrue",fontsize=16,color="black",shape="box"];1226 -> 1282[label="",style="solid", color="black", weight=3]; 1315[label="xv11600",fontsize=16,color="green",shape="box"];1316[label="Succ xv11600",fontsize=16,color="green",shape="box"];1317[label="xv11700",fontsize=16,color="green",shape="box"];1318[label="xv11700",fontsize=16,color="green",shape="box"];1280 -> 1397[label="",style="dashed", color="red", weight=0]; 1280[label="primModNatS (primMinusNatS (Succ (Succ xv11600)) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="magenta"];1280 -> 1428[label="",style="dashed", color="magenta", weight=3]; 1280 -> 1429[label="",style="dashed", color="magenta", weight=3]; 1280 -> 1430[label="",style="dashed", color="magenta", weight=3]; 1281[label="Succ (Succ Zero)",fontsize=16,color="green",shape="box"];1282 -> 1397[label="",style="dashed", color="red", weight=0]; 1282[label="primModNatS (primMinusNatS (Succ Zero) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="magenta"];1282 -> 1431[label="",style="dashed", color="magenta", weight=3]; 1282 -> 1432[label="",style="dashed", color="magenta", weight=3]; 1282 -> 1433[label="",style="dashed", color="magenta", weight=3]; 1428[label="Succ Zero",fontsize=16,color="green",shape="box"];1429[label="Succ Zero",fontsize=16,color="green",shape="box"];1430[label="Succ (Succ xv11600)",fontsize=16,color="green",shape="box"];1431[label="Succ Zero",fontsize=16,color="green",shape="box"];1432[label="Succ Zero",fontsize=16,color="green",shape="box"];1433[label="Succ Zero",fontsize=16,color="green",shape="box"];} ---------------------------------------- (174) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt02(xv12, xv130, []) -> new_showInt(new_showInt1N'0(xv12, Main.Succ(xv130), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char), []), new_showInt1R'(xv12, xv130, []), []) new_showInt1ShowInt0(xv12, Main.Zero, Main.Zero, []) -> new_showInt(new_showInt1N'0(xv12, Main.Zero, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char), []), new_showInt1R'0(xv12, []), []) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero, []) -> new_showInt1ShowInt01(xv75, xv76, xv77, []) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero, []) -> new_showInt(new_showInt1N'0(xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char), []), new_showInt1R'1(xv75, xv76, []), []) new_showInt1ShowInt0(xv12, Main.Succ(xv130), Main.Succ(xv140), []) -> new_showInt1ShowInt00(xv12, Main.Succ(xv130), xv140, xv130, xv140, []) new_showInt1ShowInt0(xv12, Main.Succ(xv130), Main.Zero, []) -> new_showInt(new_showInt1N'0(xv12, Main.Succ(xv130), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char), []), new_showInt1R'(xv12, xv130, []), []) new_showInt(Main.Pos(Main.Succ(xv300)), xv4, []) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), []) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790), []) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790, []) new_showInt1ShowInt01(xv75, xv76, xv77, []) -> new_showInt(new_showInt1N'0(xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char), []), new_showInt1R'1(xv75, xv76, []), []) The TRS R consists of the following rules: new_primPlusNat3(xv81, xv83, Main.Zero, []) -> new_primPlusNat7(xv81, []) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h, []) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84, [])) new_primModNatS02(xv126, []) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat1(xv113, xv114, []) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), []), []) new_showInt1R'0(xv12, []) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv12, Main.Zero, app(ty_List, ty_Main.Char), []), xv12) new_primDivNatS3(Main.Zero, Main.Zero, []) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero, [])) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050), []) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530), []) -> new_primModNatS03(xv150, xv151, xv1520, xv1530, []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), []) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), []), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), []) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), []) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), []), []) new_primPlusNat2(Main.Zero, Main.Zero, []) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), []) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), []) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157, []) -> new_primModNatS2(xv157, []) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero, []) -> new_primDivNatS01(xv102, xv103, []) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148, []) -> new_primDivNatS4(xv148, []) new_primDivNatS01(xv102, xv103, []) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103), [])) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000))))))), []) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), []) new_primQuotInt(xv72, xv73, []) -> Main.Pos(new_primDivNatS3(xv72, xv73, [])) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000)))), []) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))), []) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000, []), []) new_showInt1N'0(xv71, xv72, xv73, bb, []) -> new_primQuotInt(xv72, xv73, []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero), []) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero), []) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero, []) -> new_primModNatS01(xv150, xv151, []) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840), []) -> new_primPlusNat5(xv81, Main.Zero, []) new_primPlusNat5(xv110, xv111, []) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111, []))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148, []) -> new_primDivNatS2(xv1460, xv1470, xv148, []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), []) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000)))))), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))), []) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), []), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), []) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000)))))), []) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), []) new_primDivNatS2(Main.Zero, Main.Zero, xv148, []) -> new_primDivNatS4(xv148, []) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400)), []) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero), []) new_primModNatS4(xv116, Main.Zero, []) -> Main.Zero new_primPlusNat7(xv36, []) -> Main.Succ(xv36) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530), []) -> Main.Succ(Main.Succ(xv150)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), []) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), []), []) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero), []) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero), []) new_primModNatS01(xv139, xv140, []) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140)), []) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700)), []) -> Main.Succ(Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), []) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), []), []) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero, []) -> new_primDivNatS01(xv102, xv103, []) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148, []) -> new_primDivNatS3(xv1460, xv148, []) new_showInt1R'1(xv56, xv57, []) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv56, xv57, app(ty_List, ty_Main.Char), []), xv56) new_toEnumChar(xv67, xv68, xv69, ba, []) -> Main.Char(new_primPlusInt(xv67, xv68, xv69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), ba, [])) new_primPlusInt(xv81, xv82, xv83, xv84, h, []) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84, []), xv84, h, []) new_primDivNatS3(Main.Zero, Main.Succ(xv730), []) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero, []) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero, [])) new_showInt1R'(xv12, xv130, []) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv12, Main.Succ(xv130), app(ty_List, ty_Main.Char), []), xv12) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), []) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero)), []) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero)), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), []) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero)), []) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero)), []) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157, []) -> new_primModNatS4(xv1550, xv157, []) new_primPlusNat6(xv36, xv38, []) -> new_primPlusNat7(xv36, []) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157, []) -> new_primModNatS3(xv1550, xv1560, xv157, []) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero, []) -> new_primModNatS01(xv150, xv151, []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000))))), []) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), []) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000))))), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000))), []) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero)), []) new_primPlusNat2(Main.Succ(xv1100), Main.Zero, []) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110), []) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110), []) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110, []))) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700)), []) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700, []) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050), []) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050, []) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero), []) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero), []) new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730), []) -> new_primDivNatS02(xv720, xv730, xv720, xv730, []) new_primPlusNat4(xv107, xv108, []) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), []), []) new_primModNatS3(Main.Zero, Main.Zero, xv157, []) -> new_primModNatS2(xv157, []) new_primModNatS4(Main.Zero, Main.Succ(xv1170), []) -> Main.Succ(Main.Zero) new_primDivNatS4(xv148, []) -> Main.Zero new_primModNatS2(xv122, []) -> Main.Zero Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (175) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. ---------------------------------------- (176) Obligation: Q DP problem: The TRS P consists of the following rules: new_showInt1ShowInt01(xv75, xv76, xv77, []) -> new_showInt(new_showInt1N'0(xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char), []), new_showInt1R'1(xv75, xv76, []), []) new_showInt(Main.Pos(Main.Succ(xv300)), xv4, []) -> new_showInt1ShowInt0(xv4, xv300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), []) new_showInt1ShowInt0(xv12, Main.Succ(xv130), Main.Succ(xv140), []) -> new_showInt1ShowInt00(xv12, Main.Succ(xv130), xv140, xv130, xv140, []) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Zero, Main.Zero, []) -> new_showInt1ShowInt01(xv75, xv76, xv77, []) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Zero, []) -> new_showInt(new_showInt1N'0(xv75, xv76, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), app(ty_List, ty_Main.Char), []), new_showInt1R'1(xv75, xv76, []), []) new_showInt1ShowInt00(xv75, xv76, xv77, Main.Succ(xv780), Main.Succ(xv790), []) -> new_showInt1ShowInt00(xv75, xv76, xv77, xv780, xv790, []) The TRS R consists of the following rules: new_primPlusNat3(xv81, xv83, Main.Zero, []) -> new_primPlusNat7(xv81, []) new_primPlusInt0(xv81, xv82, xv83, xv85, xv84, h, []) -> Main.Pos(new_primPlusNat3(xv81, xv83, xv84, [])) new_primModNatS02(xv126, []) -> Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) new_primPlusNat1(xv113, xv114, []) -> new_primPlusNat2(Main.Succ(xv113), new_primModNatS01(xv114, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), []), []) new_showInt1R'0(xv12, []) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv12, Main.Zero, app(ty_List, ty_Main.Char), []), xv12) new_primDivNatS3(Main.Zero, Main.Zero, []) -> Main.Succ(new_primDivNatS2(Main.Zero, Main.Zero, Main.Zero, [])) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Succ(xv1050), []) -> Main.Zero new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Succ(xv1530), []) -> new_primModNatS03(xv150, xv151, xv1520, xv1530, []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), []) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), []), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000)))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), []) -> new_primPlusNat3(xv81, xv830000, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), []) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS2(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), []), []) new_primPlusNat2(Main.Zero, Main.Zero, []) -> Main.Zero new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), []) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), []) new_primModNatS3(Main.Zero, Main.Succ(xv1560), xv157, []) -> new_primModNatS2(xv157, []) new_primDivNatS02(xv102, xv103, Main.Zero, Main.Zero, []) -> new_primDivNatS01(xv102, xv103, []) new_primDivNatS2(Main.Zero, Main.Succ(xv1470), xv148, []) -> new_primDivNatS4(xv148, []) new_primDivNatS01(xv102, xv103, []) -> Main.Succ(new_primDivNatS2(Main.Succ(xv102), Main.Succ(xv103), Main.Succ(xv103), [])) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000000))))))), []) -> new_primPlusNat2(Main.Succ(xv81), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), []) new_primQuotInt(xv72, xv73, []) -> Main.Pos(new_primDivNatS3(xv72, xv73, [])) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv840000)))), []) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000)))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))), []) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS03(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), xv8300000000, xv8400000000, []), []) new_showInt1N'0(xv71, xv72, xv73, bb, []) -> new_primQuotInt(xv72, xv73, []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(xv8300)), Main.Succ(Main.Zero), []) -> new_primPlusNat3(xv81, xv8300, Main.Succ(Main.Zero), []) new_primModNatS03(xv150, xv151, Main.Succ(xv1520), Main.Zero, []) -> new_primModNatS01(xv150, xv151, []) new_primPlusNat3(xv81, Main.Zero, Main.Succ(xv840), []) -> new_primPlusNat5(xv81, Main.Zero, []) new_primPlusNat5(xv110, xv111, []) -> Main.Succ(Main.Succ(new_primPlusNat2(xv110, xv111, []))) new_primDivNatS2(Main.Succ(xv1460), Main.Succ(xv1470), xv148, []) -> new_primDivNatS2(xv1460, xv1470, xv148, []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), []) -> new_primPlusNat1(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv830000000)))))), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))))), []) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000000)))))), []), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), []) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv84000000)))))), []) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), []) new_primDivNatS2(Main.Zero, Main.Zero, xv148, []) -> new_primDivNatS4(xv148, []) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv8400)), []) -> new_primPlusNat5(xv81, Main.Succ(Main.Zero), []) new_primModNatS4(xv116, Main.Zero, []) -> Main.Zero new_primPlusNat7(xv36, []) -> Main.Succ(xv36) new_primModNatS03(xv150, xv151, Main.Zero, Main.Succ(xv1530), []) -> Main.Succ(Main.Succ(xv150)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))), []) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), []), []) new_primPlusNat3(xv81, Main.Succ(Main.Zero), Main.Succ(Main.Zero), []) -> new_primPlusNat6(xv81, Main.Succ(Main.Zero), []) new_primModNatS01(xv139, xv140, []) -> new_primModNatS3(Main.Succ(xv139), Main.Succ(Main.Succ(xv140)), Main.Succ(Main.Succ(xv140)), []) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Succ(xv11700)), []) -> Main.Succ(Main.Succ(Main.Zero)) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8300000))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), []) -> new_primPlusNat2(Main.Succ(xv81), new_primModNatS4(xv8300000, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), []), []) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Zero, []) -> new_primDivNatS01(xv102, xv103, []) new_primDivNatS2(Main.Succ(xv1460), Main.Zero, xv148, []) -> new_primDivNatS3(xv1460, xv148, []) new_showInt1R'1(xv56, xv57, []) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv56, xv57, app(ty_List, ty_Main.Char), []), xv56) new_toEnumChar(xv67, xv68, xv69, ba, []) -> Main.Char(new_primPlusInt(xv67, xv68, xv69, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))), ba, [])) new_primPlusInt(xv81, xv82, xv83, xv84, h, []) -> new_primPlusInt0(xv81, xv82, xv83, new_primQuotInt(xv83, xv84, []), xv84, h, []) new_primDivNatS3(Main.Zero, Main.Succ(xv730), []) -> Main.Zero new_primDivNatS3(Main.Succ(xv720), Main.Zero, []) -> Main.Succ(new_primDivNatS2(Main.Succ(xv720), Main.Zero, Main.Zero, [])) new_showInt1R'(xv12, xv130, []) -> Cons(new_toEnumChar(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))))))))))))))))))))))))))))))))))))), xv12, Main.Succ(xv130), app(ty_List, ty_Main.Char), []), xv12) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), []) -> new_primModNatS3(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Zero), Main.Succ(Main.Zero), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Zero)), []) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Zero)), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), Main.Succ(Main.Succ(Main.Succ(Main.Zero))), []) -> new_primPlusNat6(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Zero))), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(xv83000))), Main.Succ(Main.Succ(Main.Zero)), []) -> new_primPlusNat3(xv81, xv83000, Main.Succ(Main.Succ(Main.Zero)), []) new_primModNatS3(Main.Succ(xv1550), Main.Zero, xv157, []) -> new_primModNatS4(xv1550, xv157, []) new_primPlusNat6(xv36, xv38, []) -> new_primPlusNat7(xv36, []) new_primModNatS3(Main.Succ(xv1550), Main.Succ(xv1560), xv157, []) -> new_primModNatS3(xv1550, xv1560, xv157, []) new_primModNatS03(xv150, xv151, Main.Zero, Main.Zero, []) -> new_primModNatS01(xv150, xv151, []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv8400000))))), []) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000)))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), []) -> new_primPlusNat4(xv81, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(xv83000000))))), []) new_primPlusNat3(xv81, Main.Succ(Main.Succ(Main.Zero)), Main.Succ(Main.Succ(Main.Succ(xv84000))), []) -> new_primPlusNat5(xv81, Main.Succ(Main.Succ(Main.Zero)), []) new_primPlusNat2(Main.Succ(xv1100), Main.Zero, []) -> Main.Succ(xv1100) new_primPlusNat2(Main.Zero, Main.Succ(xv1110), []) -> Main.Succ(xv1110) new_primPlusNat2(Main.Succ(xv1100), Main.Succ(xv1110), []) -> Main.Succ(Main.Succ(new_primPlusNat2(xv1100, xv1110, []))) new_primModNatS4(Main.Succ(Main.Succ(xv11600)), Main.Succ(Main.Succ(xv11700)), []) -> new_primModNatS03(Main.Succ(xv11600), xv11700, xv11600, xv11700, []) new_primDivNatS02(xv102, xv103, Main.Succ(xv1040), Main.Succ(xv1050), []) -> new_primDivNatS02(xv102, xv103, xv1040, xv1050, []) new_primModNatS4(Main.Succ(Main.Zero), Main.Succ(Main.Zero), []) -> new_primModNatS3(Main.Succ(Main.Zero), Main.Succ(Main.Zero), Main.Succ(Main.Zero), []) new_primDivNatS3(Main.Succ(xv720), Main.Succ(xv730), []) -> new_primDivNatS02(xv720, xv730, xv720, xv730, []) new_primPlusNat4(xv107, xv108, []) -> new_primPlusNat2(Main.Succ(xv107), new_primModNatS3(xv108, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))), []), []) new_primModNatS3(Main.Zero, Main.Zero, xv157, []) -> new_primModNatS2(xv157, []) new_primModNatS4(Main.Zero, Main.Succ(xv1170), []) -> Main.Succ(Main.Zero) new_primDivNatS4(xv148, []) -> Main.Zero new_primModNatS2(xv122, []) -> Main.Zero Q is empty. We have to consider all (P,Q,R)-chains.