/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.hs /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox/benchmark/theBenchmark.hs # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty H-Termination with start terms of the given HASKELL could not be shown: (0) HASKELL (1) BR [EQUIVALENT, 0 ms] (2) HASKELL (3) COR [EQUIVALENT, 0 ms] (4) HASKELL (5) Narrow [SOUND, 0 ms] (6) AND (7) QDP (8) QDPOrderProof [EQUIVALENT, 5 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) QDP (17) QDPOrderProof [EQUIVALENT, 0 ms] (18) QDP (19) DependencyGraphProof [EQUIVALENT, 0 ms] (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) TransformationProof [EQUIVALENT, 0 ms] (30) QDP (31) UsableRulesProof [EQUIVALENT, 0 ms] (32) QDP (33) QReductionProof [EQUIVALENT, 0 ms] (34) QDP (35) MNOCProof [EQUIVALENT, 0 ms] (36) QDP (37) InductionCalculusProof [EQUIVALENT, 0 ms] (38) QDP (39) TransformationProof [EQUIVALENT, 0 ms] (40) QDP (41) DependencyGraphProof [EQUIVALENT, 0 ms] (42) QDP (43) TransformationProof [EQUIVALENT, 0 ms] (44) QDP (45) DependencyGraphProof [EQUIVALENT, 0 ms] (46) QDP (47) TransformationProof [EQUIVALENT, 0 ms] (48) QDP (49) DependencyGraphProof [EQUIVALENT, 0 ms] (50) QDP (51) TransformationProof [EQUIVALENT, 0 ms] (52) QDP (53) DependencyGraphProof [EQUIVALENT, 0 ms] (54) QDP (55) MNOCProof [EQUIVALENT, 0 ms] (56) QDP (57) InductionCalculusProof [EQUIVALENT, 0 ms] (58) QDP (59) Narrow [COMPLETE, 0 ms] (60) TRUE ---------------------------------------- (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 ; divMyInt :: MyInt -> MyInt -> MyInt; divMyInt = primDivInt; error :: a; error = stop MyTrue; modMyInt :: MyInt -> MyInt -> MyInt; modMyInt = primModInt; primDivInt :: MyInt -> MyInt -> MyInt; primDivInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primDivInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatP x (Main.Succ y)); primDivInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatP x (Main.Succ y)); primDivInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primDivInt vw vx = Main.error; primDivNatP :: Main.Nat -> Main.Nat -> Main.Nat; primDivNatP Main.Zero Main.Zero = Main.error; primDivNatP (Main.Succ x) Main.Zero = Main.error; primDivNatP (Main.Succ x) (Main.Succ y) = Main.Succ (primDivNatP (primMinusNatS x y) (Main.Succ y)); primDivNatP Main.Zero (Main.Succ x) = Main.Zero; 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; 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; 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; primModInt :: MyInt -> MyInt -> MyInt; primModInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); primModInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primModNatP x (Main.Succ y)); primModInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Pos (primModNatP x (Main.Succ y)); primModInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); primModInt vy vz = Main.error; primModNatP :: Main.Nat -> Main.Nat -> Main.Nat; primModNatP Main.Zero Main.Zero = Main.error; primModNatP Main.Zero (Main.Succ x) = Main.Zero; primModNatP (Main.Succ x) Main.Zero = Main.error; primModNatP (Main.Succ x) (Main.Succ Main.Zero) = Main.Zero; primModNatP (Main.Succ x) (Main.Succ (Main.Succ y)) = primModNatP0 x y (primGEqNatS x y); primModNatP0 x y MyTrue = primModNatP (primMinusNatS x (Main.Succ y)) (Main.Succ (Main.Succ y)); primModNatP0 x y MyFalse = primMinusNatS (Main.Succ y) 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; primShowInt :: MyInt -> List Main.Char; primShowInt (Main.Pos Main.Zero) = Cons (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)))))))))))))))))))))))))))))))))))))))))))))))))) Nil; primShowInt (Main.Pos (Main.Succ x)) = psPs (primShowInt (divMyInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))) (Cons (toEnumChar (modMyInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))) Nil); primShowInt (Main.Neg x) = Cons (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.Zero))))))))))))))))))))))))))))))))))))))))))))))) (primShowInt (Main.Pos x)); psPs :: List a -> List a -> List a; psPs Nil ys = ys; psPs (Cons x xs) ys = Cons x (psPs xs ys); showMyInt :: MyInt -> List Main.Char; showMyInt = primShowInt; showsMyInt :: MyInt -> List Main.Char -> List Main.Char; showsMyInt = showsPrecMyInt (Main.Pos Main.Zero); showsPrecMyInt :: MyInt -> MyInt -> List Main.Char -> List Main.Char; showsPrecMyInt vv x s = psPs (showMyInt x) s; 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 ; divMyInt :: MyInt -> MyInt -> MyInt; divMyInt = primDivInt; error :: a; error = stop MyTrue; modMyInt :: MyInt -> MyInt -> MyInt; modMyInt = primModInt; primDivInt :: MyInt -> MyInt -> MyInt; primDivInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primDivInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatP x (Main.Succ y)); primDivInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatP x (Main.Succ y)); primDivInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primDivInt vw vx = Main.error; primDivNatP :: Main.Nat -> Main.Nat -> Main.Nat; primDivNatP Main.Zero Main.Zero = Main.error; primDivNatP (Main.Succ x) Main.Zero = Main.error; primDivNatP (Main.Succ x) (Main.Succ y) = Main.Succ (primDivNatP (primMinusNatS x y) (Main.Succ y)); primDivNatP Main.Zero (Main.Succ x) = Main.Zero; 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; 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; 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; primModInt :: MyInt -> MyInt -> MyInt; primModInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); primModInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primModNatP x (Main.Succ y)); primModInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Pos (primModNatP x (Main.Succ y)); primModInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); primModInt vy vz = Main.error; primModNatP :: Main.Nat -> Main.Nat -> Main.Nat; primModNatP Main.Zero Main.Zero = Main.error; primModNatP Main.Zero (Main.Succ x) = Main.Zero; primModNatP (Main.Succ x) Main.Zero = Main.error; primModNatP (Main.Succ x) (Main.Succ Main.Zero) = Main.Zero; primModNatP (Main.Succ x) (Main.Succ (Main.Succ y)) = primModNatP0 x y (primGEqNatS x y); primModNatP0 x y MyTrue = primModNatP (primMinusNatS x (Main.Succ y)) (Main.Succ (Main.Succ y)); primModNatP0 x y MyFalse = primMinusNatS (Main.Succ y) 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; primShowInt :: MyInt -> List Main.Char; primShowInt (Main.Pos Main.Zero) = Cons (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)))))))))))))))))))))))))))))))))))))))))))))))))) Nil; primShowInt (Main.Pos (Main.Succ x)) = psPs (primShowInt (divMyInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))) (Cons (toEnumChar (modMyInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))) Nil); primShowInt (Main.Neg x) = Cons (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.Zero))))))))))))))))))))))))))))))))))))))))))))))) (primShowInt (Main.Pos x)); psPs :: List a -> List a -> List a; psPs Nil ys = ys; psPs (Cons x xs) ys = Cons x (psPs xs ys); showMyInt :: MyInt -> List Main.Char; showMyInt = primShowInt; showsMyInt :: MyInt -> List Main.Char -> List Main.Char; showsMyInt = showsPrecMyInt (Main.Pos Main.Zero); showsPrecMyInt :: MyInt -> MyInt -> List Main.Char -> List Main.Char; showsPrecMyInt vv x s = psPs (showMyInt x) s; 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 ; divMyInt :: MyInt -> MyInt -> MyInt; divMyInt = primDivInt; error :: a; error = stop MyTrue; modMyInt :: MyInt -> MyInt -> MyInt; modMyInt = primModInt; primDivInt :: MyInt -> MyInt -> MyInt; primDivInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primDivInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatP x (Main.Succ y)); primDivInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatP x (Main.Succ y)); primDivInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); primDivInt vw vx = Main.error; primDivNatP :: Main.Nat -> Main.Nat -> Main.Nat; primDivNatP Main.Zero Main.Zero = Main.error; primDivNatP (Main.Succ x) Main.Zero = Main.error; primDivNatP (Main.Succ x) (Main.Succ y) = Main.Succ (primDivNatP (primMinusNatS x y) (Main.Succ y)); primDivNatP Main.Zero (Main.Succ x) = Main.Zero; 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; 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; 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; primModInt :: MyInt -> MyInt -> MyInt; primModInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); primModInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primModNatP x (Main.Succ y)); primModInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Pos (primModNatP x (Main.Succ y)); primModInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); primModInt vy vz = Main.error; primModNatP :: Main.Nat -> Main.Nat -> Main.Nat; primModNatP Main.Zero Main.Zero = Main.error; primModNatP Main.Zero (Main.Succ x) = Main.Zero; primModNatP (Main.Succ x) Main.Zero = Main.error; primModNatP (Main.Succ x) (Main.Succ Main.Zero) = Main.Zero; primModNatP (Main.Succ x) (Main.Succ (Main.Succ y)) = primModNatP0 x y (primGEqNatS x y); primModNatP0 x y MyTrue = primModNatP (primMinusNatS x (Main.Succ y)) (Main.Succ (Main.Succ y)); primModNatP0 x y MyFalse = primMinusNatS (Main.Succ y) 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; primShowInt :: MyInt -> List Main.Char; primShowInt (Main.Pos Main.Zero) = Cons (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)))))))))))))))))))))))))))))))))))))))))))))))))) Nil; primShowInt (Main.Pos (Main.Succ x)) = psPs (primShowInt (divMyInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))) (Cons (toEnumChar (modMyInt (Main.Pos (Main.Succ x)) (Main.Pos (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))) Nil); primShowInt (Main.Neg x) = Cons (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.Zero))))))))))))))))))))))))))))))))))))))))))))))) (primShowInt (Main.Pos x)); psPs :: List a -> List a -> List a; psPs Nil ys = ys; psPs (Cons x xs) ys = Cons x (psPs xs ys); showMyInt :: MyInt -> List Main.Char; showMyInt = primShowInt; showsMyInt :: MyInt -> List Main.Char -> List Main.Char; showsMyInt = showsPrecMyInt (Main.Pos Main.Zero); showsPrecMyInt :: MyInt -> MyInt -> List Main.Char -> List Main.Char; showsPrecMyInt vv x s = psPs (showMyInt x) s; 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="showsMyInt",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="showsMyInt ww3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="showsMyInt ww3 ww4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="showsPrecMyInt (Pos Zero) ww3 ww4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6 -> 36[label="",style="dashed", color="red", weight=0]; 6[label="psPs (showMyInt ww3) ww4",fontsize=16,color="magenta"];6 -> 37[label="",style="dashed", color="magenta", weight=3]; 6 -> 38[label="",style="dashed", color="magenta", weight=3]; 37[label="ww4",fontsize=16,color="green",shape="box"];38[label="showMyInt ww3",fontsize=16,color="black",shape="box"];38 -> 52[label="",style="solid", color="black", weight=3]; 36[label="psPs ww21 ww20",fontsize=16,color="burlywood",shape="triangle"];880[label="ww21/Cons ww210 ww211",fontsize=10,color="white",style="solid",shape="box"];36 -> 880[label="",style="solid", color="burlywood", weight=9]; 880 -> 53[label="",style="solid", color="burlywood", weight=3]; 881[label="ww21/Nil",fontsize=10,color="white",style="solid",shape="box"];36 -> 881[label="",style="solid", color="burlywood", weight=9]; 881 -> 54[label="",style="solid", color="burlywood", weight=3]; 52[label="primShowInt ww3",fontsize=16,color="burlywood",shape="triangle"];882[label="ww3/Pos ww30",fontsize=10,color="white",style="solid",shape="box"];52 -> 882[label="",style="solid", color="burlywood", weight=9]; 882 -> 55[label="",style="solid", color="burlywood", weight=3]; 883[label="ww3/Neg ww30",fontsize=10,color="white",style="solid",shape="box"];52 -> 883[label="",style="solid", color="burlywood", weight=9]; 883 -> 56[label="",style="solid", color="burlywood", weight=3]; 53[label="psPs (Cons ww210 ww211) ww20",fontsize=16,color="black",shape="box"];53 -> 57[label="",style="solid", color="black", weight=3]; 54[label="psPs Nil ww20",fontsize=16,color="black",shape="box"];54 -> 58[label="",style="solid", color="black", weight=3]; 55[label="primShowInt (Pos ww30)",fontsize=16,color="burlywood",shape="box"];884[label="ww30/Succ ww300",fontsize=10,color="white",style="solid",shape="box"];55 -> 884[label="",style="solid", color="burlywood", weight=9]; 884 -> 59[label="",style="solid", color="burlywood", weight=3]; 885[label="ww30/Zero",fontsize=10,color="white",style="solid",shape="box"];55 -> 885[label="",style="solid", color="burlywood", weight=9]; 885 -> 60[label="",style="solid", color="burlywood", weight=3]; 56[label="primShowInt (Neg ww30)",fontsize=16,color="black",shape="box"];56 -> 61[label="",style="solid", color="black", weight=3]; 57[label="Cons ww210 (psPs ww211 ww20)",fontsize=16,color="green",shape="box"];57 -> 62[label="",style="dashed", color="green", weight=3]; 58[label="ww20",fontsize=16,color="green",shape="box"];59[label="primShowInt (Pos (Succ ww300))",fontsize=16,color="black",shape="box"];59 -> 63[label="",style="solid", color="black", weight=3]; 60[label="primShowInt (Pos Zero)",fontsize=16,color="black",shape="box"];60 -> 64[label="",style="solid", color="black", weight=3]; 61[label="Cons (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 Zero))))))))))))))))))))))))))))))))))))))))))))))) (primShowInt (Pos ww30))",fontsize=16,color="green",shape="box"];61 -> 65[label="",style="dashed", color="green", weight=3]; 62 -> 36[label="",style="dashed", color="red", weight=0]; 62[label="psPs ww211 ww20",fontsize=16,color="magenta"];62 -> 66[label="",style="dashed", color="magenta", weight=3]; 63 -> 36[label="",style="dashed", color="red", weight=0]; 63[label="psPs (primShowInt (divMyInt (Pos (Succ ww300)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) (Cons (toEnumChar (modMyInt (Pos (Succ ww300)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) Nil)",fontsize=16,color="magenta"];63 -> 67[label="",style="dashed", color="magenta", weight=3]; 63 -> 68[label="",style="dashed", color="magenta", weight=3]; 64[label="Cons (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)))))))))))))))))))))))))))))))))))))))))))))))))) Nil",fontsize=16,color="green",shape="box"];65 -> 52[label="",style="dashed", color="red", weight=0]; 65[label="primShowInt (Pos ww30)",fontsize=16,color="magenta"];65 -> 69[label="",style="dashed", color="magenta", weight=3]; 66[label="ww211",fontsize=16,color="green",shape="box"];67[label="Cons (toEnumChar (modMyInt (Pos (Succ ww300)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) Nil",fontsize=16,color="green",shape="box"];67 -> 70[label="",style="dashed", color="green", weight=3]; 68 -> 52[label="",style="dashed", color="red", weight=0]; 68[label="primShowInt (divMyInt (Pos (Succ ww300)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))",fontsize=16,color="magenta"];68 -> 71[label="",style="dashed", color="magenta", weight=3]; 69[label="Pos ww30",fontsize=16,color="green",shape="box"];70 -> 72[label="",style="dashed", color="red", weight=0]; 70[label="toEnumChar (modMyInt (Pos (Succ ww300)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))",fontsize=16,color="magenta"];70 -> 73[label="",style="dashed", color="magenta", weight=3]; 70 -> 74[label="",style="dashed", color="magenta", weight=3]; 71 -> 75[label="",style="dashed", color="red", weight=0]; 71[label="divMyInt (Pos (Succ ww300)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))",fontsize=16,color="magenta"];71 -> 76[label="",style="dashed", color="magenta", weight=3]; 71 -> 77[label="",style="dashed", color="magenta", weight=3]; 73[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];74[label="ww300",fontsize=16,color="green",shape="box"];72[label="toEnumChar (modMyInt (Pos (Succ ww23)) (Pos (Succ ww24)))",fontsize=16,color="black",shape="triangle"];72 -> 78[label="",style="solid", color="black", weight=3]; 76[label="ww300",fontsize=16,color="green",shape="box"];77[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];75[label="divMyInt (Pos (Succ ww26)) (Pos (Succ ww27))",fontsize=16,color="black",shape="triangle"];75 -> 79[label="",style="solid", color="black", weight=3]; 78[label="primIntToChar (modMyInt (Pos (Succ ww23)) (Pos (Succ ww24)))",fontsize=16,color="black",shape="box"];78 -> 80[label="",style="solid", color="black", weight=3]; 79[label="primDivInt (Pos (Succ ww26)) (Pos (Succ ww27))",fontsize=16,color="black",shape="box"];79 -> 81[label="",style="solid", color="black", weight=3]; 80[label="Char (modMyInt (Pos (Succ ww23)) (Pos (Succ ww24)))",fontsize=16,color="green",shape="box"];80 -> 82[label="",style="dashed", color="green", weight=3]; 81[label="Pos (primDivNatS (Succ ww26) (Succ ww27))",fontsize=16,color="green",shape="box"];81 -> 83[label="",style="dashed", color="green", weight=3]; 82[label="modMyInt (Pos (Succ ww23)) (Pos (Succ ww24))",fontsize=16,color="black",shape="box"];82 -> 84[label="",style="solid", color="black", weight=3]; 83[label="primDivNatS (Succ ww26) (Succ ww27)",fontsize=16,color="black",shape="triangle"];83 -> 85[label="",style="solid", color="black", weight=3]; 84[label="primModInt (Pos (Succ ww23)) (Pos (Succ ww24))",fontsize=16,color="black",shape="box"];84 -> 86[label="",style="solid", color="black", weight=3]; 85[label="primDivNatS0 ww26 ww27 (primGEqNatS ww26 ww27)",fontsize=16,color="burlywood",shape="box"];886[label="ww26/Succ ww260",fontsize=10,color="white",style="solid",shape="box"];85 -> 886[label="",style="solid", color="burlywood", weight=9]; 886 -> 87[label="",style="solid", color="burlywood", weight=3]; 887[label="ww26/Zero",fontsize=10,color="white",style="solid",shape="box"];85 -> 887[label="",style="solid", color="burlywood", weight=9]; 887 -> 88[label="",style="solid", color="burlywood", weight=3]; 86[label="Pos (primModNatS (Succ ww23) (Succ ww24))",fontsize=16,color="green",shape="box"];86 -> 89[label="",style="dashed", color="green", weight=3]; 87[label="primDivNatS0 (Succ ww260) ww27 (primGEqNatS (Succ ww260) ww27)",fontsize=16,color="burlywood",shape="box"];888[label="ww27/Succ ww270",fontsize=10,color="white",style="solid",shape="box"];87 -> 888[label="",style="solid", color="burlywood", weight=9]; 888 -> 90[label="",style="solid", color="burlywood", weight=3]; 889[label="ww27/Zero",fontsize=10,color="white",style="solid",shape="box"];87 -> 889[label="",style="solid", color="burlywood", weight=9]; 889 -> 91[label="",style="solid", color="burlywood", weight=3]; 88[label="primDivNatS0 Zero ww27 (primGEqNatS Zero ww27)",fontsize=16,color="burlywood",shape="box"];890[label="ww27/Succ ww270",fontsize=10,color="white",style="solid",shape="box"];88 -> 890[label="",style="solid", color="burlywood", weight=9]; 890 -> 92[label="",style="solid", color="burlywood", weight=3]; 891[label="ww27/Zero",fontsize=10,color="white",style="solid",shape="box"];88 -> 891[label="",style="solid", color="burlywood", weight=9]; 891 -> 93[label="",style="solid", color="burlywood", weight=3]; 89[label="primModNatS (Succ ww23) (Succ ww24)",fontsize=16,color="burlywood",shape="triangle"];892[label="ww24/Succ ww240",fontsize=10,color="white",style="solid",shape="box"];89 -> 892[label="",style="solid", color="burlywood", weight=9]; 892 -> 94[label="",style="solid", color="burlywood", weight=3]; 893[label="ww24/Zero",fontsize=10,color="white",style="solid",shape="box"];89 -> 893[label="",style="solid", color="burlywood", weight=9]; 893 -> 95[label="",style="solid", color="burlywood", weight=3]; 90[label="primDivNatS0 (Succ ww260) (Succ ww270) (primGEqNatS (Succ ww260) (Succ ww270))",fontsize=16,color="black",shape="box"];90 -> 96[label="",style="solid", color="black", weight=3]; 91[label="primDivNatS0 (Succ ww260) Zero (primGEqNatS (Succ ww260) Zero)",fontsize=16,color="black",shape="box"];91 -> 97[label="",style="solid", color="black", weight=3]; 92[label="primDivNatS0 Zero (Succ ww270) (primGEqNatS Zero (Succ ww270))",fontsize=16,color="black",shape="box"];92 -> 98[label="",style="solid", color="black", weight=3]; 93[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];93 -> 99[label="",style="solid", color="black", weight=3]; 94[label="primModNatS (Succ ww23) (Succ (Succ ww240))",fontsize=16,color="black",shape="box"];94 -> 100[label="",style="solid", color="black", weight=3]; 95[label="primModNatS (Succ ww23) (Succ Zero)",fontsize=16,color="black",shape="box"];95 -> 101[label="",style="solid", color="black", weight=3]; 96 -> 546[label="",style="dashed", color="red", weight=0]; 96[label="primDivNatS0 (Succ ww260) (Succ ww270) (primGEqNatS ww260 ww270)",fontsize=16,color="magenta"];96 -> 547[label="",style="dashed", color="magenta", weight=3]; 96 -> 548[label="",style="dashed", color="magenta", weight=3]; 96 -> 549[label="",style="dashed", color="magenta", weight=3]; 96 -> 550[label="",style="dashed", color="magenta", weight=3]; 97[label="primDivNatS0 (Succ ww260) Zero MyTrue",fontsize=16,color="black",shape="box"];97 -> 104[label="",style="solid", color="black", weight=3]; 98[label="primDivNatS0 Zero (Succ ww270) MyFalse",fontsize=16,color="black",shape="box"];98 -> 105[label="",style="solid", color="black", weight=3]; 99[label="primDivNatS0 Zero Zero MyTrue",fontsize=16,color="black",shape="box"];99 -> 106[label="",style="solid", color="black", weight=3]; 100[label="primModNatS0 ww23 ww240 (primGEqNatS ww23 (Succ ww240))",fontsize=16,color="burlywood",shape="box"];894[label="ww23/Succ ww230",fontsize=10,color="white",style="solid",shape="box"];100 -> 894[label="",style="solid", color="burlywood", weight=9]; 894 -> 107[label="",style="solid", color="burlywood", weight=3]; 895[label="ww23/Zero",fontsize=10,color="white",style="solid",shape="box"];100 -> 895[label="",style="solid", color="burlywood", weight=9]; 895 -> 108[label="",style="solid", color="burlywood", weight=3]; 101[label="Zero",fontsize=16,color="green",shape="box"];547[label="ww270",fontsize=16,color="green",shape="box"];548[label="ww260",fontsize=16,color="green",shape="box"];549[label="ww260",fontsize=16,color="green",shape="box"];550[label="ww270",fontsize=16,color="green",shape="box"];546[label="primDivNatS0 (Succ ww68) (Succ ww69) (primGEqNatS ww70 ww71)",fontsize=16,color="burlywood",shape="triangle"];896[label="ww70/Succ ww700",fontsize=10,color="white",style="solid",shape="box"];546 -> 896[label="",style="solid", color="burlywood", weight=9]; 896 -> 587[label="",style="solid", color="burlywood", weight=3]; 897[label="ww70/Zero",fontsize=10,color="white",style="solid",shape="box"];546 -> 897[label="",style="solid", color="burlywood", weight=9]; 897 -> 588[label="",style="solid", color="burlywood", weight=3]; 104[label="Succ (primDivNatS (primMinusNatS (Succ ww260) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];104 -> 113[label="",style="dashed", color="green", weight=3]; 105[label="Zero",fontsize=16,color="green",shape="box"];106[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];106 -> 114[label="",style="dashed", color="green", weight=3]; 107[label="primModNatS0 (Succ ww230) ww240 (primGEqNatS (Succ ww230) (Succ ww240))",fontsize=16,color="black",shape="box"];107 -> 115[label="",style="solid", color="black", weight=3]; 108[label="primModNatS0 Zero ww240 (primGEqNatS Zero (Succ ww240))",fontsize=16,color="black",shape="box"];108 -> 116[label="",style="solid", color="black", weight=3]; 587[label="primDivNatS0 (Succ ww68) (Succ ww69) (primGEqNatS (Succ ww700) ww71)",fontsize=16,color="burlywood",shape="box"];898[label="ww71/Succ ww710",fontsize=10,color="white",style="solid",shape="box"];587 -> 898[label="",style="solid", color="burlywood", weight=9]; 898 -> 594[label="",style="solid", color="burlywood", weight=3]; 899[label="ww71/Zero",fontsize=10,color="white",style="solid",shape="box"];587 -> 899[label="",style="solid", color="burlywood", weight=9]; 899 -> 595[label="",style="solid", color="burlywood", weight=3]; 588[label="primDivNatS0 (Succ ww68) (Succ ww69) (primGEqNatS Zero ww71)",fontsize=16,color="burlywood",shape="box"];900[label="ww71/Succ ww710",fontsize=10,color="white",style="solid",shape="box"];588 -> 900[label="",style="solid", color="burlywood", weight=9]; 900 -> 596[label="",style="solid", color="burlywood", weight=3]; 901[label="ww71/Zero",fontsize=10,color="white",style="solid",shape="box"];588 -> 901[label="",style="solid", color="burlywood", weight=9]; 901 -> 597[label="",style="solid", color="burlywood", weight=3]; 113 -> 780[label="",style="dashed", color="red", weight=0]; 113[label="primDivNatS (primMinusNatS (Succ ww260) Zero) (Succ Zero)",fontsize=16,color="magenta"];113 -> 781[label="",style="dashed", color="magenta", weight=3]; 113 -> 782[label="",style="dashed", color="magenta", weight=3]; 113 -> 783[label="",style="dashed", color="magenta", weight=3]; 114 -> 780[label="",style="dashed", color="red", weight=0]; 114[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];114 -> 784[label="",style="dashed", color="magenta", weight=3]; 114 -> 785[label="",style="dashed", color="magenta", weight=3]; 114 -> 786[label="",style="dashed", color="magenta", weight=3]; 115[label="primModNatS0 (Succ ww230) ww240 (primGEqNatS ww230 ww240)",fontsize=16,color="burlywood",shape="box"];902[label="ww230/Succ ww2300",fontsize=10,color="white",style="solid",shape="box"];115 -> 902[label="",style="solid", color="burlywood", weight=9]; 902 -> 123[label="",style="solid", color="burlywood", weight=3]; 903[label="ww230/Zero",fontsize=10,color="white",style="solid",shape="box"];115 -> 903[label="",style="solid", color="burlywood", weight=9]; 903 -> 124[label="",style="solid", color="burlywood", weight=3]; 116[label="primModNatS0 Zero ww240 MyFalse",fontsize=16,color="black",shape="box"];116 -> 125[label="",style="solid", color="black", weight=3]; 594[label="primDivNatS0 (Succ ww68) (Succ ww69) (primGEqNatS (Succ ww700) (Succ ww710))",fontsize=16,color="black",shape="box"];594 -> 604[label="",style="solid", color="black", weight=3]; 595[label="primDivNatS0 (Succ ww68) (Succ ww69) (primGEqNatS (Succ ww700) Zero)",fontsize=16,color="black",shape="box"];595 -> 605[label="",style="solid", color="black", weight=3]; 596[label="primDivNatS0 (Succ ww68) (Succ ww69) (primGEqNatS Zero (Succ ww710))",fontsize=16,color="black",shape="box"];596 -> 606[label="",style="solid", color="black", weight=3]; 597[label="primDivNatS0 (Succ ww68) (Succ ww69) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];597 -> 607[label="",style="solid", color="black", weight=3]; 781[label="Succ ww260",fontsize=16,color="green",shape="box"];782[label="Zero",fontsize=16,color="green",shape="box"];783[label="Zero",fontsize=16,color="green",shape="box"];780[label="primDivNatS (primMinusNatS ww78 ww79) (Succ ww80)",fontsize=16,color="burlywood",shape="triangle"];904[label="ww78/Succ ww780",fontsize=10,color="white",style="solid",shape="box"];780 -> 904[label="",style="solid", color="burlywood", weight=9]; 904 -> 805[label="",style="solid", color="burlywood", weight=3]; 905[label="ww78/Zero",fontsize=10,color="white",style="solid",shape="box"];780 -> 905[label="",style="solid", color="burlywood", weight=9]; 905 -> 806[label="",style="solid", color="burlywood", weight=3]; 784[label="Zero",fontsize=16,color="green",shape="box"];785[label="Zero",fontsize=16,color="green",shape="box"];786[label="Zero",fontsize=16,color="green",shape="box"];123[label="primModNatS0 (Succ (Succ ww2300)) ww240 (primGEqNatS (Succ ww2300) ww240)",fontsize=16,color="burlywood",shape="box"];906[label="ww240/Succ ww2400",fontsize=10,color="white",style="solid",shape="box"];123 -> 906[label="",style="solid", color="burlywood", weight=9]; 906 -> 134[label="",style="solid", color="burlywood", weight=3]; 907[label="ww240/Zero",fontsize=10,color="white",style="solid",shape="box"];123 -> 907[label="",style="solid", color="burlywood", weight=9]; 907 -> 135[label="",style="solid", color="burlywood", weight=3]; 124[label="primModNatS0 (Succ Zero) ww240 (primGEqNatS Zero ww240)",fontsize=16,color="burlywood",shape="box"];908[label="ww240/Succ ww2400",fontsize=10,color="white",style="solid",shape="box"];124 -> 908[label="",style="solid", color="burlywood", weight=9]; 908 -> 136[label="",style="solid", color="burlywood", weight=3]; 909[label="ww240/Zero",fontsize=10,color="white",style="solid",shape="box"];124 -> 909[label="",style="solid", color="burlywood", weight=9]; 909 -> 137[label="",style="solid", color="burlywood", weight=3]; 125[label="Succ Zero",fontsize=16,color="green",shape="box"];604 -> 546[label="",style="dashed", color="red", weight=0]; 604[label="primDivNatS0 (Succ ww68) (Succ ww69) (primGEqNatS ww700 ww710)",fontsize=16,color="magenta"];604 -> 618[label="",style="dashed", color="magenta", weight=3]; 604 -> 619[label="",style="dashed", color="magenta", weight=3]; 605[label="primDivNatS0 (Succ ww68) (Succ ww69) MyTrue",fontsize=16,color="black",shape="triangle"];605 -> 620[label="",style="solid", color="black", weight=3]; 606[label="primDivNatS0 (Succ ww68) (Succ ww69) MyFalse",fontsize=16,color="black",shape="box"];606 -> 621[label="",style="solid", color="black", weight=3]; 607 -> 605[label="",style="dashed", color="red", weight=0]; 607[label="primDivNatS0 (Succ ww68) (Succ ww69) MyTrue",fontsize=16,color="magenta"];805[label="primDivNatS (primMinusNatS (Succ ww780) ww79) (Succ ww80)",fontsize=16,color="burlywood",shape="box"];910[label="ww79/Succ ww790",fontsize=10,color="white",style="solid",shape="box"];805 -> 910[label="",style="solid", color="burlywood", weight=9]; 910 -> 813[label="",style="solid", color="burlywood", weight=3]; 911[label="ww79/Zero",fontsize=10,color="white",style="solid",shape="box"];805 -> 911[label="",style="solid", color="burlywood", weight=9]; 911 -> 814[label="",style="solid", color="burlywood", weight=3]; 806[label="primDivNatS (primMinusNatS Zero ww79) (Succ ww80)",fontsize=16,color="burlywood",shape="box"];912[label="ww79/Succ ww790",fontsize=10,color="white",style="solid",shape="box"];806 -> 912[label="",style="solid", color="burlywood", weight=9]; 912 -> 815[label="",style="solid", color="burlywood", weight=3]; 913[label="ww79/Zero",fontsize=10,color="white",style="solid",shape="box"];806 -> 913[label="",style="solid", color="burlywood", weight=9]; 913 -> 816[label="",style="solid", color="burlywood", weight=3]; 134[label="primModNatS0 (Succ (Succ ww2300)) (Succ ww2400) (primGEqNatS (Succ ww2300) (Succ ww2400))",fontsize=16,color="black",shape="box"];134 -> 144[label="",style="solid", color="black", weight=3]; 135[label="primModNatS0 (Succ (Succ ww2300)) Zero (primGEqNatS (Succ ww2300) Zero)",fontsize=16,color="black",shape="box"];135 -> 145[label="",style="solid", color="black", weight=3]; 136[label="primModNatS0 (Succ Zero) (Succ ww2400) (primGEqNatS Zero (Succ ww2400))",fontsize=16,color="black",shape="box"];136 -> 146[label="",style="solid", color="black", weight=3]; 137[label="primModNatS0 (Succ Zero) Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];137 -> 147[label="",style="solid", color="black", weight=3]; 618[label="ww710",fontsize=16,color="green",shape="box"];619[label="ww700",fontsize=16,color="green",shape="box"];620[label="Succ (primDivNatS (primMinusNatS (Succ ww68) (Succ ww69)) (Succ (Succ ww69)))",fontsize=16,color="green",shape="box"];620 -> 629[label="",style="dashed", color="green", weight=3]; 621[label="Zero",fontsize=16,color="green",shape="box"];813[label="primDivNatS (primMinusNatS (Succ ww780) (Succ ww790)) (Succ ww80)",fontsize=16,color="black",shape="box"];813 -> 821[label="",style="solid", color="black", weight=3]; 814[label="primDivNatS (primMinusNatS (Succ ww780) Zero) (Succ ww80)",fontsize=16,color="black",shape="box"];814 -> 822[label="",style="solid", color="black", weight=3]; 815[label="primDivNatS (primMinusNatS Zero (Succ ww790)) (Succ ww80)",fontsize=16,color="black",shape="box"];815 -> 823[label="",style="solid", color="black", weight=3]; 816[label="primDivNatS (primMinusNatS Zero Zero) (Succ ww80)",fontsize=16,color="black",shape="box"];816 -> 824[label="",style="solid", color="black", weight=3]; 144 -> 643[label="",style="dashed", color="red", weight=0]; 144[label="primModNatS0 (Succ (Succ ww2300)) (Succ ww2400) (primGEqNatS ww2300 ww2400)",fontsize=16,color="magenta"];144 -> 644[label="",style="dashed", color="magenta", weight=3]; 144 -> 645[label="",style="dashed", color="magenta", weight=3]; 144 -> 646[label="",style="dashed", color="magenta", weight=3]; 144 -> 647[label="",style="dashed", color="magenta", weight=3]; 145[label="primModNatS0 (Succ (Succ ww2300)) Zero MyTrue",fontsize=16,color="black",shape="box"];145 -> 156[label="",style="solid", color="black", weight=3]; 146[label="primModNatS0 (Succ Zero) (Succ ww2400) MyFalse",fontsize=16,color="black",shape="box"];146 -> 157[label="",style="solid", color="black", weight=3]; 147[label="primModNatS0 (Succ Zero) Zero MyTrue",fontsize=16,color="black",shape="box"];147 -> 158[label="",style="solid", color="black", weight=3]; 629 -> 780[label="",style="dashed", color="red", weight=0]; 629[label="primDivNatS (primMinusNatS (Succ ww68) (Succ ww69)) (Succ (Succ ww69))",fontsize=16,color="magenta"];629 -> 787[label="",style="dashed", color="magenta", weight=3]; 629 -> 788[label="",style="dashed", color="magenta", weight=3]; 629 -> 789[label="",style="dashed", color="magenta", weight=3]; 821 -> 780[label="",style="dashed", color="red", weight=0]; 821[label="primDivNatS (primMinusNatS ww780 ww790) (Succ ww80)",fontsize=16,color="magenta"];821 -> 829[label="",style="dashed", color="magenta", weight=3]; 821 -> 830[label="",style="dashed", color="magenta", weight=3]; 822 -> 83[label="",style="dashed", color="red", weight=0]; 822[label="primDivNatS (Succ ww780) (Succ ww80)",fontsize=16,color="magenta"];822 -> 831[label="",style="dashed", color="magenta", weight=3]; 822 -> 832[label="",style="dashed", color="magenta", weight=3]; 823[label="primDivNatS Zero (Succ ww80)",fontsize=16,color="black",shape="triangle"];823 -> 833[label="",style="solid", color="black", weight=3]; 824 -> 823[label="",style="dashed", color="red", weight=0]; 824[label="primDivNatS Zero (Succ ww80)",fontsize=16,color="magenta"];644[label="ww2400",fontsize=16,color="green",shape="box"];645[label="ww2300",fontsize=16,color="green",shape="box"];646[label="ww2400",fontsize=16,color="green",shape="box"];647[label="Succ ww2300",fontsize=16,color="green",shape="box"];643[label="primModNatS0 (Succ ww73) (Succ ww74) (primGEqNatS ww75 ww76)",fontsize=16,color="burlywood",shape="triangle"];914[label="ww75/Succ ww750",fontsize=10,color="white",style="solid",shape="box"];643 -> 914[label="",style="solid", color="burlywood", weight=9]; 914 -> 684[label="",style="solid", color="burlywood", weight=3]; 915[label="ww75/Zero",fontsize=10,color="white",style="solid",shape="box"];643 -> 915[label="",style="solid", color="burlywood", weight=9]; 915 -> 685[label="",style="solid", color="burlywood", weight=3]; 156 -> 834[label="",style="dashed", color="red", weight=0]; 156[label="primModNatS (primMinusNatS (Succ (Succ ww2300)) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="magenta"];156 -> 835[label="",style="dashed", color="magenta", weight=3]; 156 -> 836[label="",style="dashed", color="magenta", weight=3]; 156 -> 837[label="",style="dashed", color="magenta", weight=3]; 157[label="Succ (Succ Zero)",fontsize=16,color="green",shape="box"];158 -> 834[label="",style="dashed", color="red", weight=0]; 158[label="primModNatS (primMinusNatS (Succ Zero) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="magenta"];158 -> 838[label="",style="dashed", color="magenta", weight=3]; 158 -> 839[label="",style="dashed", color="magenta", weight=3]; 158 -> 840[label="",style="dashed", color="magenta", weight=3]; 787[label="Succ ww68",fontsize=16,color="green",shape="box"];788[label="Succ ww69",fontsize=16,color="green",shape="box"];789[label="Succ ww69",fontsize=16,color="green",shape="box"];829[label="ww780",fontsize=16,color="green",shape="box"];830[label="ww790",fontsize=16,color="green",shape="box"];831[label="ww780",fontsize=16,color="green",shape="box"];832[label="ww80",fontsize=16,color="green",shape="box"];833[label="Zero",fontsize=16,color="green",shape="box"];684[label="primModNatS0 (Succ ww73) (Succ ww74) (primGEqNatS (Succ ww750) ww76)",fontsize=16,color="burlywood",shape="box"];916[label="ww76/Succ ww760",fontsize=10,color="white",style="solid",shape="box"];684 -> 916[label="",style="solid", color="burlywood", weight=9]; 916 -> 688[label="",style="solid", color="burlywood", weight=3]; 917[label="ww76/Zero",fontsize=10,color="white",style="solid",shape="box"];684 -> 917[label="",style="solid", color="burlywood", weight=9]; 917 -> 689[label="",style="solid", color="burlywood", weight=3]; 685[label="primModNatS0 (Succ ww73) (Succ ww74) (primGEqNatS Zero ww76)",fontsize=16,color="burlywood",shape="box"];918[label="ww76/Succ ww760",fontsize=10,color="white",style="solid",shape="box"];685 -> 918[label="",style="solid", color="burlywood", weight=9]; 918 -> 690[label="",style="solid", color="burlywood", weight=3]; 919[label="ww76/Zero",fontsize=10,color="white",style="solid",shape="box"];685 -> 919[label="",style="solid", color="burlywood", weight=9]; 919 -> 691[label="",style="solid", color="burlywood", weight=3]; 835[label="Succ Zero",fontsize=16,color="green",shape="box"];836[label="Succ Zero",fontsize=16,color="green",shape="box"];837[label="Succ (Succ ww2300)",fontsize=16,color="green",shape="box"];834[label="primModNatS (primMinusNatS ww82 ww83) (Succ ww84)",fontsize=16,color="burlywood",shape="triangle"];920[label="ww82/Succ ww820",fontsize=10,color="white",style="solid",shape="box"];834 -> 920[label="",style="solid", color="burlywood", weight=9]; 920 -> 865[label="",style="solid", color="burlywood", weight=3]; 921[label="ww82/Zero",fontsize=10,color="white",style="solid",shape="box"];834 -> 921[label="",style="solid", color="burlywood", weight=9]; 921 -> 866[label="",style="solid", color="burlywood", weight=3]; 838[label="Succ Zero",fontsize=16,color="green",shape="box"];839[label="Succ Zero",fontsize=16,color="green",shape="box"];840[label="Succ Zero",fontsize=16,color="green",shape="box"];688[label="primModNatS0 (Succ ww73) (Succ ww74) (primGEqNatS (Succ ww750) (Succ ww760))",fontsize=16,color="black",shape="box"];688 -> 696[label="",style="solid", color="black", weight=3]; 689[label="primModNatS0 (Succ ww73) (Succ ww74) (primGEqNatS (Succ ww750) Zero)",fontsize=16,color="black",shape="box"];689 -> 697[label="",style="solid", color="black", weight=3]; 690[label="primModNatS0 (Succ ww73) (Succ ww74) (primGEqNatS Zero (Succ ww760))",fontsize=16,color="black",shape="box"];690 -> 698[label="",style="solid", color="black", weight=3]; 691[label="primModNatS0 (Succ ww73) (Succ ww74) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];691 -> 699[label="",style="solid", color="black", weight=3]; 865[label="primModNatS (primMinusNatS (Succ ww820) ww83) (Succ ww84)",fontsize=16,color="burlywood",shape="box"];922[label="ww83/Succ ww830",fontsize=10,color="white",style="solid",shape="box"];865 -> 922[label="",style="solid", color="burlywood", weight=9]; 922 -> 867[label="",style="solid", color="burlywood", weight=3]; 923[label="ww83/Zero",fontsize=10,color="white",style="solid",shape="box"];865 -> 923[label="",style="solid", color="burlywood", weight=9]; 923 -> 868[label="",style="solid", color="burlywood", weight=3]; 866[label="primModNatS (primMinusNatS Zero ww83) (Succ ww84)",fontsize=16,color="burlywood",shape="box"];924[label="ww83/Succ ww830",fontsize=10,color="white",style="solid",shape="box"];866 -> 924[label="",style="solid", color="burlywood", weight=9]; 924 -> 869[label="",style="solid", color="burlywood", weight=3]; 925[label="ww83/Zero",fontsize=10,color="white",style="solid",shape="box"];866 -> 925[label="",style="solid", color="burlywood", weight=9]; 925 -> 870[label="",style="solid", color="burlywood", weight=3]; 696 -> 643[label="",style="dashed", color="red", weight=0]; 696[label="primModNatS0 (Succ ww73) (Succ ww74) (primGEqNatS ww750 ww760)",fontsize=16,color="magenta"];696 -> 704[label="",style="dashed", color="magenta", weight=3]; 696 -> 705[label="",style="dashed", color="magenta", weight=3]; 697[label="primModNatS0 (Succ ww73) (Succ ww74) MyTrue",fontsize=16,color="black",shape="triangle"];697 -> 706[label="",style="solid", color="black", weight=3]; 698[label="primModNatS0 (Succ ww73) (Succ ww74) MyFalse",fontsize=16,color="black",shape="box"];698 -> 707[label="",style="solid", color="black", weight=3]; 699 -> 697[label="",style="dashed", color="red", weight=0]; 699[label="primModNatS0 (Succ ww73) (Succ ww74) MyTrue",fontsize=16,color="magenta"];867[label="primModNatS (primMinusNatS (Succ ww820) (Succ ww830)) (Succ ww84)",fontsize=16,color="black",shape="box"];867 -> 871[label="",style="solid", color="black", weight=3]; 868[label="primModNatS (primMinusNatS (Succ ww820) Zero) (Succ ww84)",fontsize=16,color="black",shape="box"];868 -> 872[label="",style="solid", color="black", weight=3]; 869[label="primModNatS (primMinusNatS Zero (Succ ww830)) (Succ ww84)",fontsize=16,color="black",shape="box"];869 -> 873[label="",style="solid", color="black", weight=3]; 870[label="primModNatS (primMinusNatS Zero Zero) (Succ ww84)",fontsize=16,color="black",shape="box"];870 -> 874[label="",style="solid", color="black", weight=3]; 704[label="ww750",fontsize=16,color="green",shape="box"];705[label="ww760",fontsize=16,color="green",shape="box"];706 -> 834[label="",style="dashed", color="red", weight=0]; 706[label="primModNatS (primMinusNatS (Succ ww73) (Succ (Succ ww74))) (Succ (Succ (Succ ww74)))",fontsize=16,color="magenta"];706 -> 847[label="",style="dashed", color="magenta", weight=3]; 706 -> 848[label="",style="dashed", color="magenta", weight=3]; 706 -> 849[label="",style="dashed", color="magenta", weight=3]; 707[label="Succ (Succ ww73)",fontsize=16,color="green",shape="box"];871 -> 834[label="",style="dashed", color="red", weight=0]; 871[label="primModNatS (primMinusNatS ww820 ww830) (Succ ww84)",fontsize=16,color="magenta"];871 -> 875[label="",style="dashed", color="magenta", weight=3]; 871 -> 876[label="",style="dashed", color="magenta", weight=3]; 872 -> 89[label="",style="dashed", color="red", weight=0]; 872[label="primModNatS (Succ ww820) (Succ ww84)",fontsize=16,color="magenta"];872 -> 877[label="",style="dashed", color="magenta", weight=3]; 872 -> 878[label="",style="dashed", color="magenta", weight=3]; 873[label="primModNatS Zero (Succ ww84)",fontsize=16,color="black",shape="triangle"];873 -> 879[label="",style="solid", color="black", weight=3]; 874 -> 873[label="",style="dashed", color="red", weight=0]; 874[label="primModNatS Zero (Succ ww84)",fontsize=16,color="magenta"];847[label="Succ (Succ ww74)",fontsize=16,color="green",shape="box"];848[label="Succ (Succ ww74)",fontsize=16,color="green",shape="box"];849[label="Succ ww73",fontsize=16,color="green",shape="box"];875[label="ww830",fontsize=16,color="green",shape="box"];876[label="ww820",fontsize=16,color="green",shape="box"];877[label="ww84",fontsize=16,color="green",shape="box"];878[label="ww820",fontsize=16,color="green",shape="box"];879[label="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(ww73, ww74, Main.Zero, Main.Zero) -> new_primModNatS00(ww73, ww74) new_primModNatS1(Main.Succ(Main.Succ(ww2300)), Main.Succ(Main.Succ(ww2400))) -> new_primModNatS0(Main.Succ(ww2300), ww2400, ww2300, ww2400) 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(ww73, ww74, Main.Succ(ww750), Main.Succ(ww760)) -> new_primModNatS0(ww73, ww74, ww750, ww760) new_primModNatS(Main.Succ(ww820), Main.Succ(ww830), ww84) -> new_primModNatS(ww820, ww830, ww84) new_primModNatS(Main.Succ(ww820), Main.Zero, ww84) -> new_primModNatS1(ww820, ww84) new_primModNatS0(ww73, ww74, Main.Succ(ww750), Main.Zero) -> new_primModNatS(Main.Succ(ww73), Main.Succ(Main.Succ(ww74)), Main.Succ(Main.Succ(ww74))) new_primModNatS1(Main.Succ(Main.Succ(ww2300)), Main.Succ(Main.Zero)) -> new_primModNatS(Main.Succ(Main.Succ(ww2300)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS00(ww73, ww74) -> new_primModNatS(Main.Succ(ww73), Main.Succ(Main.Succ(ww74)), Main.Succ(Main.Succ(ww74))) 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_primModNatS(Main.Succ(ww820), Main.Succ(ww830), ww84) -> new_primModNatS(ww820, ww830, ww84) new_primModNatS(Main.Succ(ww820), Main.Zero, ww84) -> new_primModNatS1(ww820, ww84) 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)) = 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(ww73, ww74, Main.Zero, Main.Zero) -> new_primModNatS00(ww73, ww74) new_primModNatS1(Main.Succ(Main.Succ(ww2300)), Main.Succ(Main.Succ(ww2400))) -> new_primModNatS0(Main.Succ(ww2300), ww2400, ww2300, ww2400) 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(ww73, ww74, Main.Succ(ww750), Main.Succ(ww760)) -> new_primModNatS0(ww73, ww74, ww750, ww760) new_primModNatS0(ww73, ww74, Main.Succ(ww750), Main.Zero) -> new_primModNatS(Main.Succ(ww73), Main.Succ(Main.Succ(ww74)), Main.Succ(Main.Succ(ww74))) new_primModNatS1(Main.Succ(Main.Succ(ww2300)), Main.Succ(Main.Zero)) -> new_primModNatS(Main.Succ(Main.Succ(ww2300)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS00(ww73, ww74) -> new_primModNatS(Main.Succ(ww73), Main.Succ(Main.Succ(ww74)), Main.Succ(Main.Succ(ww74))) 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 6 less nodes. ---------------------------------------- (11) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(ww73, ww74, Main.Succ(ww750), Main.Succ(ww760)) -> new_primModNatS0(ww73, ww74, ww750, ww760) 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(ww73, ww74, Main.Succ(ww750), Main.Succ(ww760)) -> new_primModNatS0(ww73, ww74, ww750, ww760) 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_primDivNatS(Main.Succ(ww780), Main.Succ(ww790), ww80) -> new_primDivNatS(ww780, ww790, ww80) new_primDivNatS1(Main.Succ(ww260), Main.Succ(ww270)) -> new_primDivNatS0(ww260, ww270, ww260, ww270) new_primDivNatS0(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS0(ww68, ww69, ww700, ww710) new_primDivNatS1(Main.Zero, Main.Zero) -> new_primDivNatS(Main.Zero, Main.Zero, Main.Zero) new_primDivNatS00(ww68, ww69) -> new_primDivNatS(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69)) new_primDivNatS(Main.Succ(ww780), Main.Zero, ww80) -> new_primDivNatS1(ww780, ww80) new_primDivNatS1(Main.Succ(ww260), Main.Zero) -> new_primDivNatS(Main.Succ(ww260), Main.Zero, Main.Zero) new_primDivNatS0(ww68, ww69, Main.Succ(ww700), Main.Zero) -> new_primDivNatS(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69)) new_primDivNatS0(ww68, ww69, Main.Zero, Main.Zero) -> new_primDivNatS00(ww68, ww69) 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 1 SCC with 1 less node. ---------------------------------------- (16) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Main.Succ(ww780), Main.Zero, ww80) -> new_primDivNatS1(ww780, ww80) new_primDivNatS1(Main.Succ(ww260), Main.Succ(ww270)) -> new_primDivNatS0(ww260, ww270, ww260, ww270) new_primDivNatS0(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS0(ww68, ww69, ww700, ww710) new_primDivNatS0(ww68, ww69, Main.Succ(ww700), Main.Zero) -> new_primDivNatS(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69)) new_primDivNatS(Main.Succ(ww780), Main.Succ(ww790), ww80) -> new_primDivNatS(ww780, ww790, ww80) new_primDivNatS0(ww68, ww69, Main.Zero, Main.Zero) -> new_primDivNatS00(ww68, ww69) new_primDivNatS00(ww68, ww69) -> new_primDivNatS(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69)) new_primDivNatS1(Main.Succ(ww260), Main.Zero) -> new_primDivNatS(Main.Succ(ww260), Main.Zero, Main.Zero) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (17) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_primDivNatS(Main.Succ(ww780), Main.Zero, ww80) -> new_primDivNatS1(ww780, ww80) new_primDivNatS(Main.Succ(ww780), Main.Succ(ww790), ww80) -> new_primDivNatS(ww780, ww790, ww80) 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 ---------------------------------------- (18) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS1(Main.Succ(ww260), Main.Succ(ww270)) -> new_primDivNatS0(ww260, ww270, ww260, ww270) new_primDivNatS0(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS0(ww68, ww69, ww700, ww710) new_primDivNatS0(ww68, ww69, Main.Succ(ww700), Main.Zero) -> new_primDivNatS(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69)) new_primDivNatS0(ww68, ww69, Main.Zero, Main.Zero) -> new_primDivNatS00(ww68, ww69) new_primDivNatS00(ww68, ww69) -> new_primDivNatS(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69)) new_primDivNatS1(Main.Succ(ww260), Main.Zero) -> new_primDivNatS(Main.Succ(ww260), Main.Zero, Main.Zero) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (19) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 5 less nodes. ---------------------------------------- (20) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS0(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS0(ww68, ww69, ww700, ww710) 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_primDivNatS0(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS0(ww68, ww69, ww700, ww710) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 ---------------------------------------- (22) YES ---------------------------------------- (23) Obligation: Q DP problem: The TRS P consists of the following rules: new_psPs(Cons(ww210, ww211), ww20) -> new_psPs(ww211, ww20) 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_psPs(Cons(ww210, ww211), ww20) -> new_psPs(ww211, ww20) The graph contains the following edges 1 > 1, 2 >= 2 ---------------------------------------- (25) YES ---------------------------------------- (26) Obligation: Q DP problem: The TRS P consists of the following rules: new_primShowInt(Main.Neg(ww30)) -> new_primShowInt(Main.Pos(ww30)) new_primShowInt(Main.Pos(Main.Succ(ww300))) -> new_primShowInt(new_divMyInt(ww300, Main.Succ(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_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS01(ww68, ww69, ww700, ww710) new_divMyInt(ww26, ww27) -> Main.Pos(new_primDivNatS2(ww26, ww27)) new_primDivNatS3(ww80) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Zero, Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS2(Main.Succ(ww260), Main.Succ(ww270)) -> new_primDivNatS01(ww260, ww270, ww260, ww270) new_primDivNatS4(Main.Succ(ww780), Main.Zero, ww80) -> new_primDivNatS2(ww780, ww80) new_primDivNatS4(Main.Zero, Main.Zero, ww80) -> new_primDivNatS3(ww80) new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS4(Main.Zero, Main.Succ(ww790), ww80) -> new_primDivNatS3(ww80) new_primDivNatS4(Main.Succ(ww780), Main.Succ(ww790), ww80) -> new_primDivNatS4(ww780, ww790, ww80) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Succ(ww710)) -> Main.Zero new_primDivNatS02(ww68, ww69) -> Main.Succ(new_primDivNatS4(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69))) new_primDivNatS2(Main.Zero, Main.Succ(ww270)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS2(Main.Succ(ww260), Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Succ(ww260), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS4(Main.Succ(x0), Main.Zero, x1) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_primDivNatS4(Main.Zero, Main.Zero, x0) new_primDivNatS4(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS4(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(x0) new_divMyInt(x0, x1) 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_primShowInt(Main.Pos(Main.Succ(ww300))) -> new_primShowInt(new_divMyInt(ww300, Main.Succ(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_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS01(ww68, ww69, ww700, ww710) new_divMyInt(ww26, ww27) -> Main.Pos(new_primDivNatS2(ww26, ww27)) new_primDivNatS3(ww80) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Zero, Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS2(Main.Succ(ww260), Main.Succ(ww270)) -> new_primDivNatS01(ww260, ww270, ww260, ww270) new_primDivNatS4(Main.Succ(ww780), Main.Zero, ww80) -> new_primDivNatS2(ww780, ww80) new_primDivNatS4(Main.Zero, Main.Zero, ww80) -> new_primDivNatS3(ww80) new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS4(Main.Zero, Main.Succ(ww790), ww80) -> new_primDivNatS3(ww80) new_primDivNatS4(Main.Succ(ww780), Main.Succ(ww790), ww80) -> new_primDivNatS4(ww780, ww790, ww80) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Succ(ww710)) -> Main.Zero new_primDivNatS02(ww68, ww69) -> Main.Succ(new_primDivNatS4(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69))) new_primDivNatS2(Main.Zero, Main.Succ(ww270)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS2(Main.Succ(ww260), Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Succ(ww260), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS4(Main.Succ(x0), Main.Zero, x1) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_primDivNatS4(Main.Zero, Main.Zero, x0) new_primDivNatS4(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS4(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(x0) new_divMyInt(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (29) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_primShowInt(Main.Pos(Main.Succ(ww300))) -> new_primShowInt(new_divMyInt(ww300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) at position [0] we obtained the following new rules [LPAR04]: (new_primShowInt(Main.Pos(Main.Succ(ww300))) -> new_primShowInt(Main.Pos(new_primDivNatS2(ww300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))),new_primShowInt(Main.Pos(Main.Succ(ww300))) -> new_primShowInt(Main.Pos(new_primDivNatS2(ww300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))) ---------------------------------------- (30) Obligation: Q DP problem: The TRS P consists of the following rules: new_primShowInt(Main.Pos(Main.Succ(ww300))) -> new_primShowInt(Main.Pos(new_primDivNatS2(ww300, Main.Succ(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_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS01(ww68, ww69, ww700, ww710) new_divMyInt(ww26, ww27) -> Main.Pos(new_primDivNatS2(ww26, ww27)) new_primDivNatS3(ww80) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Zero, Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS2(Main.Succ(ww260), Main.Succ(ww270)) -> new_primDivNatS01(ww260, ww270, ww260, ww270) new_primDivNatS4(Main.Succ(ww780), Main.Zero, ww80) -> new_primDivNatS2(ww780, ww80) new_primDivNatS4(Main.Zero, Main.Zero, ww80) -> new_primDivNatS3(ww80) new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS4(Main.Zero, Main.Succ(ww790), ww80) -> new_primDivNatS3(ww80) new_primDivNatS4(Main.Succ(ww780), Main.Succ(ww790), ww80) -> new_primDivNatS4(ww780, ww790, ww80) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Succ(ww710)) -> Main.Zero new_primDivNatS02(ww68, ww69) -> Main.Succ(new_primDivNatS4(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69))) new_primDivNatS2(Main.Zero, Main.Succ(ww270)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS2(Main.Succ(ww260), Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Succ(ww260), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS4(Main.Succ(x0), Main.Zero, x1) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_primDivNatS4(Main.Zero, Main.Zero, x0) new_primDivNatS4(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS4(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(x0) new_divMyInt(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (31) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (32) Obligation: Q DP problem: The TRS P consists of the following rules: new_primShowInt(Main.Pos(Main.Succ(ww300))) -> new_primShowInt(Main.Pos(new_primDivNatS2(ww300, Main.Succ(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_primDivNatS2(Main.Succ(ww260), Main.Succ(ww270)) -> new_primDivNatS01(ww260, ww270, ww260, ww270) new_primDivNatS2(Main.Zero, Main.Succ(ww270)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS01(ww68, ww69, ww700, ww710) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Succ(ww710)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS02(ww68, ww69) -> Main.Succ(new_primDivNatS4(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69))) new_primDivNatS4(Main.Succ(ww780), Main.Succ(ww790), ww80) -> new_primDivNatS4(ww780, ww790, ww80) new_primDivNatS4(Main.Succ(ww780), Main.Zero, ww80) -> new_primDivNatS2(ww780, ww80) new_primDivNatS4(Main.Zero, Main.Zero, ww80) -> new_primDivNatS3(ww80) new_primDivNatS4(Main.Zero, Main.Succ(ww790), ww80) -> new_primDivNatS3(ww80) new_primDivNatS3(ww80) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww260), Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Succ(ww260), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS4(Main.Succ(x0), Main.Zero, x1) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_primDivNatS4(Main.Zero, Main.Zero, x0) new_primDivNatS4(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS4(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(x0) new_divMyInt(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (33) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_divMyInt(x0, x1) ---------------------------------------- (34) Obligation: Q DP problem: The TRS P consists of the following rules: new_primShowInt(Main.Pos(Main.Succ(ww300))) -> new_primShowInt(Main.Pos(new_primDivNatS2(ww300, Main.Succ(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_primDivNatS2(Main.Succ(ww260), Main.Succ(ww270)) -> new_primDivNatS01(ww260, ww270, ww260, ww270) new_primDivNatS2(Main.Zero, Main.Succ(ww270)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS01(ww68, ww69, ww700, ww710) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Succ(ww710)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS02(ww68, ww69) -> Main.Succ(new_primDivNatS4(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69))) new_primDivNatS4(Main.Succ(ww780), Main.Succ(ww790), ww80) -> new_primDivNatS4(ww780, ww790, ww80) new_primDivNatS4(Main.Succ(ww780), Main.Zero, ww80) -> new_primDivNatS2(ww780, ww80) new_primDivNatS4(Main.Zero, Main.Zero, ww80) -> new_primDivNatS3(ww80) new_primDivNatS4(Main.Zero, Main.Succ(ww790), ww80) -> new_primDivNatS3(ww80) new_primDivNatS3(ww80) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww260), Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Succ(ww260), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS4(Main.Succ(x0), Main.Zero, x1) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_primDivNatS4(Main.Zero, Main.Zero, x0) new_primDivNatS4(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS4(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (35) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (36) Obligation: Q DP problem: The TRS P consists of the following rules: new_primShowInt(Main.Pos(Main.Succ(ww300))) -> new_primShowInt(Main.Pos(new_primDivNatS2(ww300, Main.Succ(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_primDivNatS2(Main.Succ(ww260), Main.Succ(ww270)) -> new_primDivNatS01(ww260, ww270, ww260, ww270) new_primDivNatS2(Main.Zero, Main.Succ(ww270)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS01(ww68, ww69, ww700, ww710) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Succ(ww710)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS02(ww68, ww69) -> Main.Succ(new_primDivNatS4(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69))) new_primDivNatS4(Main.Succ(ww780), Main.Succ(ww790), ww80) -> new_primDivNatS4(ww780, ww790, ww80) new_primDivNatS4(Main.Succ(ww780), Main.Zero, ww80) -> new_primDivNatS2(ww780, ww80) new_primDivNatS4(Main.Zero, Main.Zero, ww80) -> new_primDivNatS3(ww80) new_primDivNatS4(Main.Zero, Main.Succ(ww790), ww80) -> new_primDivNatS3(ww80) new_primDivNatS3(ww80) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww260), Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Succ(ww260), Main.Zero, Main.Zero)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (37) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_primShowInt(Main.Pos(Main.Succ(ww300))) -> new_primShowInt(Main.Pos(new_primDivNatS2(ww300, 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_primShowInt(Main.Pos(Main.Succ(x0))) -> new_primShowInt(Main.Pos(new_primDivNatS2(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))), new_primShowInt(Main.Pos(Main.Succ(x1))) -> new_primShowInt(Main.Pos(new_primDivNatS2(x1, 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_primShowInt(Main.Pos(new_primDivNatS2(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))=new_primShowInt(Main.Pos(Main.Succ(x1))) ==> new_primShowInt(Main.Pos(Main.Succ(x0)))_>=_new_primShowInt(Main.Pos(new_primDivNatS2(x0, 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), (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)))))))))=x2 & new_primDivNatS2(x0, x2)=Main.Succ(x1) ==> new_primShowInt(Main.Pos(Main.Succ(x0)))_>=_new_primShowInt(Main.Pos(new_primDivNatS2(x0, Main.Succ(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 new_primDivNatS2(x0, x2)=Main.Succ(x1) which results in the following new constraints: (3) (new_primDivNatS01(x4, x3, x4, x3)=Main.Succ(x1) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))=Main.Succ(x3) ==> new_primShowInt(Main.Pos(Main.Succ(Main.Succ(x4))))_>=_new_primShowInt(Main.Pos(new_primDivNatS2(Main.Succ(x4), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))) (4) (Main.Succ(new_primDivNatS4(Main.Zero, Main.Zero, Main.Zero))=Main.Succ(x1) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))=Main.Zero ==> new_primShowInt(Main.Pos(Main.Succ(Main.Zero)))_>=_new_primShowInt(Main.Pos(new_primDivNatS2(Main.Zero, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))) (5) (Main.Succ(new_primDivNatS4(Main.Succ(x6), Main.Zero, Main.Zero))=Main.Succ(x1) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))=Main.Zero ==> new_primShowInt(Main.Pos(Main.Succ(Main.Succ(x6))))_>=_new_primShowInt(Main.Pos(new_primDivNatS2(Main.Succ(x6), Main.Succ(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), (VII) which results in the following new constraint: (6) (x4=x7 & x3=x8 & new_primDivNatS01(x4, x3, x7, x8)=Main.Succ(x1) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x3 ==> new_primShowInt(Main.Pos(Main.Succ(Main.Succ(x4))))_>=_new_primShowInt(Main.Pos(new_primDivNatS2(Main.Succ(x4), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(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_primDivNatS01(x4, x3, x7, x8)=Main.Succ(x1) which results in the following new constraints: (7) (new_primDivNatS01(x12, x11, x10, x9)=Main.Succ(x1) & x12=Main.Succ(x10) & x11=Main.Succ(x9) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x11 & (\/x13:new_primDivNatS01(x12, x11, x10, x9)=Main.Succ(x13) & x12=x10 & x11=x9 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x11 ==> new_primShowInt(Main.Pos(Main.Succ(Main.Succ(x12))))_>=_new_primShowInt(Main.Pos(new_primDivNatS2(Main.Succ(x12), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))) ==> new_primShowInt(Main.Pos(Main.Succ(Main.Succ(x12))))_>=_new_primShowInt(Main.Pos(new_primDivNatS2(Main.Succ(x12), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))) (8) (new_primDivNatS02(x15, x14)=Main.Succ(x1) & x15=Main.Zero & x14=Main.Zero & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x14 ==> new_primShowInt(Main.Pos(Main.Succ(Main.Succ(x15))))_>=_new_primShowInt(Main.Pos(new_primDivNatS2(Main.Succ(x15), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))) (9) (new_primDivNatS02(x21, x20)=Main.Succ(x1) & x21=Main.Succ(x19) & x20=Main.Zero & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x20 ==> new_primShowInt(Main.Pos(Main.Succ(Main.Succ(x21))))_>=_new_primShowInt(Main.Pos(new_primDivNatS2(Main.Succ(x21), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x10)))))_>=_new_primShowInt(Main.Pos(new_primDivNatS2(Main.Succ(Main.Succ(x10)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))) 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_primShowInt(Main.Pos(Main.Succ(ww300))) -> new_primShowInt(Main.Pos(new_primDivNatS2(ww300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))) *(new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x10)))))_>=_new_primShowInt(Main.Pos(new_primDivNatS2(Main.Succ(Main.Succ(x10)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (38) Obligation: Q DP problem: The TRS P consists of the following rules: new_primShowInt(Main.Pos(Main.Succ(ww300))) -> new_primShowInt(Main.Pos(new_primDivNatS2(ww300, Main.Succ(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_primDivNatS2(Main.Succ(ww260), Main.Succ(ww270)) -> new_primDivNatS01(ww260, ww270, ww260, ww270) new_primDivNatS2(Main.Zero, Main.Succ(ww270)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS01(ww68, ww69, ww700, ww710) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Succ(ww710)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS02(ww68, ww69) -> Main.Succ(new_primDivNatS4(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69))) new_primDivNatS4(Main.Succ(ww780), Main.Succ(ww790), ww80) -> new_primDivNatS4(ww780, ww790, ww80) new_primDivNatS4(Main.Succ(ww780), Main.Zero, ww80) -> new_primDivNatS2(ww780, ww80) new_primDivNatS4(Main.Zero, Main.Zero, ww80) -> new_primDivNatS3(ww80) new_primDivNatS4(Main.Zero, Main.Succ(ww790), ww80) -> new_primDivNatS3(ww80) new_primDivNatS3(ww80) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww260), Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Succ(ww260), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS4(Main.Succ(x0), Main.Zero, x1) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_primDivNatS4(Main.Zero, Main.Zero, x0) new_primDivNatS4(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS4(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (39) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_primShowInt(Main.Pos(Main.Succ(ww300))) -> new_primShowInt(Main.Pos(new_primDivNatS2(ww300, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))) at position [0,0] we obtained the following new rules [LPAR04]: (new_primShowInt(Main.Pos(Main.Succ(Main.Succ(x0)))) -> new_primShowInt(Main.Pos(new_primDivNatS01(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))),new_primShowInt(Main.Pos(Main.Succ(Main.Succ(x0)))) -> new_primShowInt(Main.Pos(new_primDivNatS01(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))))) (new_primShowInt(Main.Pos(Main.Succ(Main.Zero))) -> new_primShowInt(Main.Pos(Main.Zero)),new_primShowInt(Main.Pos(Main.Succ(Main.Zero))) -> new_primShowInt(Main.Pos(Main.Zero))) ---------------------------------------- (40) Obligation: Q DP problem: The TRS P consists of the following rules: new_primShowInt(Main.Pos(Main.Succ(Main.Succ(x0)))) -> new_primShowInt(Main.Pos(new_primDivNatS01(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) new_primShowInt(Main.Pos(Main.Succ(Main.Zero))) -> new_primShowInt(Main.Pos(Main.Zero)) The TRS R consists of the following rules: new_primDivNatS2(Main.Succ(ww260), Main.Succ(ww270)) -> new_primDivNatS01(ww260, ww270, ww260, ww270) new_primDivNatS2(Main.Zero, Main.Succ(ww270)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS01(ww68, ww69, ww700, ww710) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Succ(ww710)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS02(ww68, ww69) -> Main.Succ(new_primDivNatS4(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69))) new_primDivNatS4(Main.Succ(ww780), Main.Succ(ww790), ww80) -> new_primDivNatS4(ww780, ww790, ww80) new_primDivNatS4(Main.Succ(ww780), Main.Zero, ww80) -> new_primDivNatS2(ww780, ww80) new_primDivNatS4(Main.Zero, Main.Zero, ww80) -> new_primDivNatS3(ww80) new_primDivNatS4(Main.Zero, Main.Succ(ww790), ww80) -> new_primDivNatS3(ww80) new_primDivNatS3(ww80) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww260), Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Succ(ww260), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS4(Main.Succ(x0), Main.Zero, x1) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_primDivNatS4(Main.Zero, Main.Zero, x0) new_primDivNatS4(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS4(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (41) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (42) Obligation: Q DP problem: The TRS P consists of the following rules: new_primShowInt(Main.Pos(Main.Succ(Main.Succ(x0)))) -> new_primShowInt(Main.Pos(new_primDivNatS01(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x0, 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_primDivNatS2(Main.Succ(ww260), Main.Succ(ww270)) -> new_primDivNatS01(ww260, ww270, ww260, ww270) new_primDivNatS2(Main.Zero, Main.Succ(ww270)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS01(ww68, ww69, ww700, ww710) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Succ(ww710)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS02(ww68, ww69) -> Main.Succ(new_primDivNatS4(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69))) new_primDivNatS4(Main.Succ(ww780), Main.Succ(ww790), ww80) -> new_primDivNatS4(ww780, ww790, ww80) new_primDivNatS4(Main.Succ(ww780), Main.Zero, ww80) -> new_primDivNatS2(ww780, ww80) new_primDivNatS4(Main.Zero, Main.Zero, ww80) -> new_primDivNatS3(ww80) new_primDivNatS4(Main.Zero, Main.Succ(ww790), ww80) -> new_primDivNatS3(ww80) new_primDivNatS3(ww80) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww260), Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Succ(ww260), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS4(Main.Succ(x0), Main.Zero, x1) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_primDivNatS4(Main.Zero, Main.Zero, x0) new_primDivNatS4(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS4(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (43) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_primShowInt(Main.Pos(Main.Succ(Main.Succ(x0)))) -> new_primShowInt(Main.Pos(new_primDivNatS01(x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) at position [0,0] we obtained the following new rules [LPAR04]: (new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_primShowInt(Main.Pos(new_primDivNatS01(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)))))))))),new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_primShowInt(Main.Pos(new_primDivNatS01(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))))))))))) (new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_primShowInt(Main.Pos(Main.Zero)),new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_primShowInt(Main.Pos(Main.Zero))) ---------------------------------------- (44) Obligation: Q DP problem: The TRS P consists of the following rules: new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_primShowInt(Main.Pos(new_primDivNatS01(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)))))))))) new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Zero)))) -> new_primShowInt(Main.Pos(Main.Zero)) The TRS R consists of the following rules: new_primDivNatS2(Main.Succ(ww260), Main.Succ(ww270)) -> new_primDivNatS01(ww260, ww270, ww260, ww270) new_primDivNatS2(Main.Zero, Main.Succ(ww270)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS01(ww68, ww69, ww700, ww710) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Succ(ww710)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS02(ww68, ww69) -> Main.Succ(new_primDivNatS4(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69))) new_primDivNatS4(Main.Succ(ww780), Main.Succ(ww790), ww80) -> new_primDivNatS4(ww780, ww790, ww80) new_primDivNatS4(Main.Succ(ww780), Main.Zero, ww80) -> new_primDivNatS2(ww780, ww80) new_primDivNatS4(Main.Zero, Main.Zero, ww80) -> new_primDivNatS3(ww80) new_primDivNatS4(Main.Zero, Main.Succ(ww790), ww80) -> new_primDivNatS3(ww80) new_primDivNatS3(ww80) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww260), Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Succ(ww260), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS4(Main.Succ(x0), Main.Zero, x1) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_primDivNatS4(Main.Zero, Main.Zero, x0) new_primDivNatS4(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS4(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (45) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (46) Obligation: Q DP problem: The TRS P consists of the following rules: new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_primShowInt(Main.Pos(new_primDivNatS01(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)))))))))) The TRS R consists of the following rules: new_primDivNatS2(Main.Succ(ww260), Main.Succ(ww270)) -> new_primDivNatS01(ww260, ww270, ww260, ww270) new_primDivNatS2(Main.Zero, Main.Succ(ww270)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS01(ww68, ww69, ww700, ww710) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Succ(ww710)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS02(ww68, ww69) -> Main.Succ(new_primDivNatS4(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69))) new_primDivNatS4(Main.Succ(ww780), Main.Succ(ww790), ww80) -> new_primDivNatS4(ww780, ww790, ww80) new_primDivNatS4(Main.Succ(ww780), Main.Zero, ww80) -> new_primDivNatS2(ww780, ww80) new_primDivNatS4(Main.Zero, Main.Zero, ww80) -> new_primDivNatS3(ww80) new_primDivNatS4(Main.Zero, Main.Succ(ww790), ww80) -> new_primDivNatS3(ww80) new_primDivNatS3(ww80) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww260), Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Succ(ww260), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS4(Main.Succ(x0), Main.Zero, x1) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_primDivNatS4(Main.Zero, Main.Zero, x0) new_primDivNatS4(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS4(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (47) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_primShowInt(Main.Pos(new_primDivNatS01(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)))))))))) at position [0,0] we obtained the following new rules [LPAR04]: (new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_primShowInt(Main.Pos(new_primDivNatS01(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))))))))),new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_primShowInt(Main.Pos(new_primDivNatS01(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)))))))))) (new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primShowInt(Main.Pos(Main.Zero)),new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primShowInt(Main.Pos(Main.Zero))) ---------------------------------------- (48) Obligation: Q DP problem: The TRS P consists of the following rules: new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_primShowInt(Main.Pos(new_primDivNatS01(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))))))))) new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))) -> new_primShowInt(Main.Pos(Main.Zero)) The TRS R consists of the following rules: new_primDivNatS2(Main.Succ(ww260), Main.Succ(ww270)) -> new_primDivNatS01(ww260, ww270, ww260, ww270) new_primDivNatS2(Main.Zero, Main.Succ(ww270)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS01(ww68, ww69, ww700, ww710) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Succ(ww710)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS02(ww68, ww69) -> Main.Succ(new_primDivNatS4(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69))) new_primDivNatS4(Main.Succ(ww780), Main.Succ(ww790), ww80) -> new_primDivNatS4(ww780, ww790, ww80) new_primDivNatS4(Main.Succ(ww780), Main.Zero, ww80) -> new_primDivNatS2(ww780, ww80) new_primDivNatS4(Main.Zero, Main.Zero, ww80) -> new_primDivNatS3(ww80) new_primDivNatS4(Main.Zero, Main.Succ(ww790), ww80) -> new_primDivNatS3(ww80) new_primDivNatS3(ww80) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww260), Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Succ(ww260), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS4(Main.Succ(x0), Main.Zero, x1) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_primDivNatS4(Main.Zero, Main.Zero, x0) new_primDivNatS4(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS4(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (49) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (50) Obligation: Q DP problem: The TRS P consists of the following rules: new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_primShowInt(Main.Pos(new_primDivNatS01(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))))))))) The TRS R consists of the following rules: new_primDivNatS2(Main.Succ(ww260), Main.Succ(ww270)) -> new_primDivNatS01(ww260, ww270, ww260, ww270) new_primDivNatS2(Main.Zero, Main.Succ(ww270)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS01(ww68, ww69, ww700, ww710) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Succ(ww710)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS02(ww68, ww69) -> Main.Succ(new_primDivNatS4(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69))) new_primDivNatS4(Main.Succ(ww780), Main.Succ(ww790), ww80) -> new_primDivNatS4(ww780, ww790, ww80) new_primDivNatS4(Main.Succ(ww780), Main.Zero, ww80) -> new_primDivNatS2(ww780, ww80) new_primDivNatS4(Main.Zero, Main.Zero, ww80) -> new_primDivNatS3(ww80) new_primDivNatS4(Main.Zero, Main.Succ(ww790), ww80) -> new_primDivNatS3(ww80) new_primDivNatS3(ww80) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww260), Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Succ(ww260), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS4(Main.Succ(x0), Main.Zero, x1) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_primDivNatS4(Main.Zero, Main.Zero, x0) new_primDivNatS4(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS4(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (51) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_primShowInt(Main.Pos(new_primDivNatS01(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))))))))) at position [0,0] we obtained the following new rules [LPAR04]: (new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_primShowInt(Main.Pos(new_primDivNatS01(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)))))))),new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_primShowInt(Main.Pos(new_primDivNatS01(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))))))))) (new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primShowInt(Main.Pos(Main.Zero)),new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primShowInt(Main.Pos(Main.Zero))) ---------------------------------------- (52) Obligation: Q DP problem: The TRS P consists of the following rules: new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_primShowInt(Main.Pos(new_primDivNatS01(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)))))))) new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))) -> new_primShowInt(Main.Pos(Main.Zero)) The TRS R consists of the following rules: new_primDivNatS2(Main.Succ(ww260), Main.Succ(ww270)) -> new_primDivNatS01(ww260, ww270, ww260, ww270) new_primDivNatS2(Main.Zero, Main.Succ(ww270)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS01(ww68, ww69, ww700, ww710) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Succ(ww710)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS02(ww68, ww69) -> Main.Succ(new_primDivNatS4(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69))) new_primDivNatS4(Main.Succ(ww780), Main.Succ(ww790), ww80) -> new_primDivNatS4(ww780, ww790, ww80) new_primDivNatS4(Main.Succ(ww780), Main.Zero, ww80) -> new_primDivNatS2(ww780, ww80) new_primDivNatS4(Main.Zero, Main.Zero, ww80) -> new_primDivNatS3(ww80) new_primDivNatS4(Main.Zero, Main.Succ(ww790), ww80) -> new_primDivNatS3(ww80) new_primDivNatS3(ww80) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww260), Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Succ(ww260), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS4(Main.Succ(x0), Main.Zero, x1) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_primDivNatS4(Main.Zero, Main.Zero, x0) new_primDivNatS4(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS4(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (53) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (54) Obligation: Q DP problem: The TRS P consists of the following rules: new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_primShowInt(Main.Pos(new_primDivNatS01(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)))))))) The TRS R consists of the following rules: new_primDivNatS2(Main.Succ(ww260), Main.Succ(ww270)) -> new_primDivNatS01(ww260, ww270, ww260, ww270) new_primDivNatS2(Main.Zero, Main.Succ(ww270)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS01(ww68, ww69, ww700, ww710) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Succ(ww710)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS02(ww68, ww69) -> Main.Succ(new_primDivNatS4(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69))) new_primDivNatS4(Main.Succ(ww780), Main.Succ(ww790), ww80) -> new_primDivNatS4(ww780, ww790, ww80) new_primDivNatS4(Main.Succ(ww780), Main.Zero, ww80) -> new_primDivNatS2(ww780, ww80) new_primDivNatS4(Main.Zero, Main.Zero, ww80) -> new_primDivNatS3(ww80) new_primDivNatS4(Main.Zero, Main.Succ(ww790), ww80) -> new_primDivNatS3(ww80) new_primDivNatS3(ww80) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww260), Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Succ(ww260), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS4(Main.Succ(x0), Main.Zero, x1) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_primDivNatS4(Main.Zero, Main.Zero, x0) new_primDivNatS4(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS4(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (55) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (56) Obligation: Q DP problem: The TRS P consists of the following rules: new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_primShowInt(Main.Pos(new_primDivNatS01(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)))))))) The TRS R consists of the following rules: new_primDivNatS2(Main.Succ(ww260), Main.Succ(ww270)) -> new_primDivNatS01(ww260, ww270, ww260, ww270) new_primDivNatS2(Main.Zero, Main.Succ(ww270)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS01(ww68, ww69, ww700, ww710) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Succ(ww710)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS02(ww68, ww69) -> Main.Succ(new_primDivNatS4(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69))) new_primDivNatS4(Main.Succ(ww780), Main.Succ(ww790), ww80) -> new_primDivNatS4(ww780, ww790, ww80) new_primDivNatS4(Main.Succ(ww780), Main.Zero, ww80) -> new_primDivNatS2(ww780, ww80) new_primDivNatS4(Main.Zero, Main.Zero, ww80) -> new_primDivNatS3(ww80) new_primDivNatS4(Main.Zero, Main.Succ(ww790), ww80) -> new_primDivNatS3(ww80) new_primDivNatS3(ww80) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww260), Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Succ(ww260), Main.Zero, Main.Zero)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (57) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_primShowInt(Main.Pos(new_primDivNatS01(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)))))))) the following chains were created: *We consider the chain new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0))))))) -> new_primShowInt(Main.Pos(new_primDivNatS01(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)))))))), x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) -> new_primShowInt(Main.Pos(new_primDivNatS01(Main.Succ(Main.Succ(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.Zero)))))))) which results in the following constraint: (1) (new_primShowInt(Main.Pos(new_primDivNatS01(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)))))))), x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))))) ==> new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))_>=_new_primShowInt(Main.Pos(new_primDivNatS01(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)))))))), x0, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Main.Succ(Main.Succ(Main.Succ(x0)))=x2 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x3 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))=x4 & new_primDivNatS01(x2, x3, x0, x4)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) ==> new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x0)))))))_>=_new_primShowInt(Main.Pos(new_primDivNatS01(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)))))))), x0, 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 new_primDivNatS01(x2, x3, x0, x4)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) which results in the following new constraints: (3) (new_primDivNatS01(x8, x7, x6, x5)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x6))))=x8 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x7 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))=Main.Succ(x5) & (\/x9:new_primDivNatS01(x8, x7, x6, x5)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x9))))) & Main.Succ(Main.Succ(Main.Succ(x6)))=x8 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x7 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))=x5 ==> new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x6)))))))_>=_new_primShowInt(Main.Pos(new_primDivNatS01(Main.Succ(Main.Succ(Main.Succ(x6))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x6, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) ==> new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x6))))))))_>=_new_primShowInt(Main.Pos(new_primDivNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x6)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x6), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) (4) (new_primDivNatS02(x11, x10)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) & Main.Succ(Main.Succ(Main.Succ(Main.Zero)))=x11 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x10 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))=Main.Zero ==> new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))_>=_new_primShowInt(Main.Pos(new_primDivNatS01(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.Succ(Main.Zero))))))))) (5) (new_primDivNatS02(x17, x16)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x15))))=x17 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x16 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))=Main.Zero ==> new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x15))))))))_>=_new_primShowInt(Main.Pos(new_primDivNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x15)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x15), Main.Succ(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_primDivNatS01(x8, x7, x6, x5)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x6))))=x8 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x7 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=x5 ==> new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x6))))))))_>=_new_primShowInt(Main.Pos(new_primDivNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x6)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x6), Main.Succ(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_primDivNatS01(x8, x7, x6, x5)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) which results in the following new constraints: (7) (new_primDivNatS01(x21, x20, x19, x18)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x19)))))=x21 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x20 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=Main.Succ(x18) & (\/x22:new_primDivNatS01(x21, x20, x19, x18)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x22))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x19))))=x21 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x20 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=x18 ==> new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x19))))))))_>=_new_primShowInt(Main.Pos(new_primDivNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x19)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x19), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) ==> new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x19)))))))))_>=_new_primShowInt(Main.Pos(new_primDivNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x19))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Succ(x19)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) (8) (new_primDivNatS02(x24, x23)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=x24 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x23 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=Main.Zero ==> new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))_>=_new_primShowInt(Main.Pos(new_primDivNatS01(Main.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.Succ(Main.Zero))))))))) (9) (new_primDivNatS02(x30, x29)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x28)))))=x30 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x29 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))=Main.Zero ==> new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x28)))))))))_>=_new_primShowInt(Main.Pos(new_primDivNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x28))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Succ(x28)), Main.Succ(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_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x19)))))))))_>=_new_primShowInt(Main.Pos(new_primDivNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x19))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Succ(x19)), Main.Succ(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). To summarize, we get the following constraints P__>=_ for the following pairs. *new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_primShowInt(Main.Pos(new_primDivNatS01(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)))))))) *(new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x19)))))))))_>=_new_primShowInt(Main.Pos(new_primDivNatS01(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x19))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Succ(x19)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (58) Obligation: Q DP problem: The TRS P consists of the following rules: new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_primShowInt(Main.Pos(new_primDivNatS01(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)))))))) The TRS R consists of the following rules: new_primDivNatS2(Main.Succ(ww260), Main.Succ(ww270)) -> new_primDivNatS01(ww260, ww270, ww260, ww270) new_primDivNatS2(Main.Zero, Main.Succ(ww270)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Succ(ww710)) -> new_primDivNatS01(ww68, ww69, ww700, ww710) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS01(ww68, ww69, Main.Zero, Main.Succ(ww710)) -> Main.Zero new_primDivNatS01(ww68, ww69, Main.Succ(ww700), Main.Zero) -> new_primDivNatS02(ww68, ww69) new_primDivNatS02(ww68, ww69) -> Main.Succ(new_primDivNatS4(Main.Succ(ww68), Main.Succ(ww69), Main.Succ(ww69))) new_primDivNatS4(Main.Succ(ww780), Main.Succ(ww790), ww80) -> new_primDivNatS4(ww780, ww790, ww80) new_primDivNatS4(Main.Succ(ww780), Main.Zero, ww80) -> new_primDivNatS2(ww780, ww80) new_primDivNatS4(Main.Zero, Main.Zero, ww80) -> new_primDivNatS3(ww80) new_primDivNatS4(Main.Zero, Main.Succ(ww790), ww80) -> new_primDivNatS3(ww80) new_primDivNatS3(ww80) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww260), Main.Zero) -> Main.Succ(new_primDivNatS4(Main.Succ(ww260), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS4(Main.Succ(x0), Main.Zero, x1) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Succ(x2)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS01(x0, x1, Main.Zero, Main.Zero) new_primDivNatS4(Main.Zero, Main.Zero, x0) new_primDivNatS4(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS01(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS4(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(x0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (59) Narrow (COMPLETE) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="showsMyInt",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="showsMyInt ww3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="showsMyInt ww3 ww4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="showsPrecMyInt (Pos Zero) ww3 ww4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6 -> 36[label="",style="dashed", color="red", weight=0]; 6[label="psPs (showMyInt ww3) ww4",fontsize=16,color="magenta"];6 -> 37[label="",style="dashed", color="magenta", weight=3]; 6 -> 38[label="",style="dashed", color="magenta", weight=3]; 37[label="ww4",fontsize=16,color="green",shape="box"];38[label="showMyInt ww3",fontsize=16,color="black",shape="box"];38 -> 52[label="",style="solid", color="black", weight=3]; 36[label="psPs ww21 ww20",fontsize=16,color="burlywood",shape="triangle"];880[label="ww21/Cons ww210 ww211",fontsize=10,color="white",style="solid",shape="box"];36 -> 880[label="",style="solid", color="burlywood", weight=9]; 880 -> 53[label="",style="solid", color="burlywood", weight=3]; 881[label="ww21/Nil",fontsize=10,color="white",style="solid",shape="box"];36 -> 881[label="",style="solid", color="burlywood", weight=9]; 881 -> 54[label="",style="solid", color="burlywood", weight=3]; 52[label="primShowInt ww3",fontsize=16,color="burlywood",shape="triangle"];882[label="ww3/Pos ww30",fontsize=10,color="white",style="solid",shape="box"];52 -> 882[label="",style="solid", color="burlywood", weight=9]; 882 -> 55[label="",style="solid", color="burlywood", weight=3]; 883[label="ww3/Neg ww30",fontsize=10,color="white",style="solid",shape="box"];52 -> 883[label="",style="solid", color="burlywood", weight=9]; 883 -> 56[label="",style="solid", color="burlywood", weight=3]; 53[label="psPs (Cons ww210 ww211) ww20",fontsize=16,color="black",shape="box"];53 -> 57[label="",style="solid", color="black", weight=3]; 54[label="psPs Nil ww20",fontsize=16,color="black",shape="box"];54 -> 58[label="",style="solid", color="black", weight=3]; 55[label="primShowInt (Pos ww30)",fontsize=16,color="burlywood",shape="box"];884[label="ww30/Succ ww300",fontsize=10,color="white",style="solid",shape="box"];55 -> 884[label="",style="solid", color="burlywood", weight=9]; 884 -> 59[label="",style="solid", color="burlywood", weight=3]; 885[label="ww30/Zero",fontsize=10,color="white",style="solid",shape="box"];55 -> 885[label="",style="solid", color="burlywood", weight=9]; 885 -> 60[label="",style="solid", color="burlywood", weight=3]; 56[label="primShowInt (Neg ww30)",fontsize=16,color="black",shape="box"];56 -> 61[label="",style="solid", color="black", weight=3]; 57[label="Cons ww210 (psPs ww211 ww20)",fontsize=16,color="green",shape="box"];57 -> 62[label="",style="dashed", color="green", weight=3]; 58[label="ww20",fontsize=16,color="green",shape="box"];59[label="primShowInt (Pos (Succ ww300))",fontsize=16,color="black",shape="box"];59 -> 63[label="",style="solid", color="black", weight=3]; 60[label="primShowInt (Pos Zero)",fontsize=16,color="black",shape="box"];60 -> 64[label="",style="solid", color="black", weight=3]; 61[label="Cons (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 Zero))))))))))))))))))))))))))))))))))))))))))))))) (primShowInt (Pos ww30))",fontsize=16,color="green",shape="box"];61 -> 65[label="",style="dashed", color="green", weight=3]; 62 -> 36[label="",style="dashed", color="red", weight=0]; 62[label="psPs ww211 ww20",fontsize=16,color="magenta"];62 -> 66[label="",style="dashed", color="magenta", weight=3]; 63 -> 36[label="",style="dashed", color="red", weight=0]; 63[label="psPs (primShowInt (divMyInt (Pos (Succ ww300)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) (Cons (toEnumChar (modMyInt (Pos (Succ ww300)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) Nil)",fontsize=16,color="magenta"];63 -> 67[label="",style="dashed", color="magenta", weight=3]; 63 -> 68[label="",style="dashed", color="magenta", weight=3]; 64[label="Cons (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)))))))))))))))))))))))))))))))))))))))))))))))))) Nil",fontsize=16,color="green",shape="box"];65 -> 52[label="",style="dashed", color="red", weight=0]; 65[label="primShowInt (Pos ww30)",fontsize=16,color="magenta"];65 -> 69[label="",style="dashed", color="magenta", weight=3]; 66[label="ww211",fontsize=16,color="green",shape="box"];67[label="Cons (toEnumChar (modMyInt (Pos (Succ ww300)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) Nil",fontsize=16,color="green",shape="box"];67 -> 70[label="",style="dashed", color="green", weight=3]; 68 -> 52[label="",style="dashed", color="red", weight=0]; 68[label="primShowInt (divMyInt (Pos (Succ ww300)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))",fontsize=16,color="magenta"];68 -> 71[label="",style="dashed", color="magenta", weight=3]; 69[label="Pos ww30",fontsize=16,color="green",shape="box"];70 -> 72[label="",style="dashed", color="red", weight=0]; 70[label="toEnumChar (modMyInt (Pos (Succ ww300)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))",fontsize=16,color="magenta"];70 -> 73[label="",style="dashed", color="magenta", weight=3]; 70 -> 74[label="",style="dashed", color="magenta", weight=3]; 71 -> 75[label="",style="dashed", color="red", weight=0]; 71[label="divMyInt (Pos (Succ ww300)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))",fontsize=16,color="magenta"];71 -> 76[label="",style="dashed", color="magenta", weight=3]; 71 -> 77[label="",style="dashed", color="magenta", weight=3]; 73[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];74[label="ww300",fontsize=16,color="green",shape="box"];72[label="toEnumChar (modMyInt (Pos (Succ ww23)) (Pos (Succ ww24)))",fontsize=16,color="black",shape="triangle"];72 -> 78[label="",style="solid", color="black", weight=3]; 76[label="ww300",fontsize=16,color="green",shape="box"];77[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];75[label="divMyInt (Pos (Succ ww26)) (Pos (Succ ww27))",fontsize=16,color="black",shape="triangle"];75 -> 79[label="",style="solid", color="black", weight=3]; 78[label="primIntToChar (modMyInt (Pos (Succ ww23)) (Pos (Succ ww24)))",fontsize=16,color="black",shape="box"];78 -> 80[label="",style="solid", color="black", weight=3]; 79[label="primDivInt (Pos (Succ ww26)) (Pos (Succ ww27))",fontsize=16,color="black",shape="box"];79 -> 81[label="",style="solid", color="black", weight=3]; 80[label="Char (modMyInt (Pos (Succ ww23)) (Pos (Succ ww24)))",fontsize=16,color="green",shape="box"];80 -> 82[label="",style="dashed", color="green", weight=3]; 81[label="Pos (primDivNatS (Succ ww26) (Succ ww27))",fontsize=16,color="green",shape="box"];81 -> 83[label="",style="dashed", color="green", weight=3]; 82[label="modMyInt (Pos (Succ ww23)) (Pos (Succ ww24))",fontsize=16,color="black",shape="box"];82 -> 84[label="",style="solid", color="black", weight=3]; 83[label="primDivNatS (Succ ww26) (Succ ww27)",fontsize=16,color="black",shape="triangle"];83 -> 85[label="",style="solid", color="black", weight=3]; 84[label="primModInt (Pos (Succ ww23)) (Pos (Succ ww24))",fontsize=16,color="black",shape="box"];84 -> 86[label="",style="solid", color="black", weight=3]; 85[label="primDivNatS0 ww26 ww27 (primGEqNatS ww26 ww27)",fontsize=16,color="burlywood",shape="box"];886[label="ww26/Succ ww260",fontsize=10,color="white",style="solid",shape="box"];85 -> 886[label="",style="solid", color="burlywood", weight=9]; 886 -> 87[label="",style="solid", color="burlywood", weight=3]; 887[label="ww26/Zero",fontsize=10,color="white",style="solid",shape="box"];85 -> 887[label="",style="solid", color="burlywood", weight=9]; 887 -> 88[label="",style="solid", color="burlywood", weight=3]; 86[label="Pos (primModNatS (Succ ww23) (Succ ww24))",fontsize=16,color="green",shape="box"];86 -> 89[label="",style="dashed", color="green", weight=3]; 87[label="primDivNatS0 (Succ ww260) ww27 (primGEqNatS (Succ ww260) ww27)",fontsize=16,color="burlywood",shape="box"];888[label="ww27/Succ ww270",fontsize=10,color="white",style="solid",shape="box"];87 -> 888[label="",style="solid", color="burlywood", weight=9]; 888 -> 90[label="",style="solid", color="burlywood", weight=3]; 889[label="ww27/Zero",fontsize=10,color="white",style="solid",shape="box"];87 -> 889[label="",style="solid", color="burlywood", weight=9]; 889 -> 91[label="",style="solid", color="burlywood", weight=3]; 88[label="primDivNatS0 Zero ww27 (primGEqNatS Zero ww27)",fontsize=16,color="burlywood",shape="box"];890[label="ww27/Succ ww270",fontsize=10,color="white",style="solid",shape="box"];88 -> 890[label="",style="solid", color="burlywood", weight=9]; 890 -> 92[label="",style="solid", color="burlywood", weight=3]; 891[label="ww27/Zero",fontsize=10,color="white",style="solid",shape="box"];88 -> 891[label="",style="solid", color="burlywood", weight=9]; 891 -> 93[label="",style="solid", color="burlywood", weight=3]; 89[label="primModNatS (Succ ww23) (Succ ww24)",fontsize=16,color="burlywood",shape="triangle"];892[label="ww24/Succ ww240",fontsize=10,color="white",style="solid",shape="box"];89 -> 892[label="",style="solid", color="burlywood", weight=9]; 892 -> 94[label="",style="solid", color="burlywood", weight=3]; 893[label="ww24/Zero",fontsize=10,color="white",style="solid",shape="box"];89 -> 893[label="",style="solid", color="burlywood", weight=9]; 893 -> 95[label="",style="solid", color="burlywood", weight=3]; 90[label="primDivNatS0 (Succ ww260) (Succ ww270) (primGEqNatS (Succ ww260) (Succ ww270))",fontsize=16,color="black",shape="box"];90 -> 96[label="",style="solid", color="black", weight=3]; 91[label="primDivNatS0 (Succ ww260) Zero (primGEqNatS (Succ ww260) Zero)",fontsize=16,color="black",shape="box"];91 -> 97[label="",style="solid", color="black", weight=3]; 92[label="primDivNatS0 Zero (Succ ww270) (primGEqNatS Zero (Succ ww270))",fontsize=16,color="black",shape="box"];92 -> 98[label="",style="solid", color="black", weight=3]; 93[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];93 -> 99[label="",style="solid", color="black", weight=3]; 94[label="primModNatS (Succ ww23) (Succ (Succ ww240))",fontsize=16,color="black",shape="box"];94 -> 100[label="",style="solid", color="black", weight=3]; 95[label="primModNatS (Succ ww23) (Succ Zero)",fontsize=16,color="black",shape="box"];95 -> 101[label="",style="solid", color="black", weight=3]; 96 -> 546[label="",style="dashed", color="red", weight=0]; 96[label="primDivNatS0 (Succ ww260) (Succ ww270) (primGEqNatS ww260 ww270)",fontsize=16,color="magenta"];96 -> 547[label="",style="dashed", color="magenta", weight=3]; 96 -> 548[label="",style="dashed", color="magenta", weight=3]; 96 -> 549[label="",style="dashed", color="magenta", weight=3]; 96 -> 550[label="",style="dashed", color="magenta", weight=3]; 97[label="primDivNatS0 (Succ ww260) Zero MyTrue",fontsize=16,color="black",shape="box"];97 -> 104[label="",style="solid", color="black", weight=3]; 98[label="primDivNatS0 Zero (Succ ww270) MyFalse",fontsize=16,color="black",shape="box"];98 -> 105[label="",style="solid", color="black", weight=3]; 99[label="primDivNatS0 Zero Zero MyTrue",fontsize=16,color="black",shape="box"];99 -> 106[label="",style="solid", color="black", weight=3]; 100[label="primModNatS0 ww23 ww240 (primGEqNatS ww23 (Succ ww240))",fontsize=16,color="burlywood",shape="box"];894[label="ww23/Succ ww230",fontsize=10,color="white",style="solid",shape="box"];100 -> 894[label="",style="solid", color="burlywood", weight=9]; 894 -> 107[label="",style="solid", color="burlywood", weight=3]; 895[label="ww23/Zero",fontsize=10,color="white",style="solid",shape="box"];100 -> 895[label="",style="solid", color="burlywood", weight=9]; 895 -> 108[label="",style="solid", color="burlywood", weight=3]; 101[label="Zero",fontsize=16,color="green",shape="box"];547[label="ww270",fontsize=16,color="green",shape="box"];548[label="ww260",fontsize=16,color="green",shape="box"];549[label="ww260",fontsize=16,color="green",shape="box"];550[label="ww270",fontsize=16,color="green",shape="box"];546[label="primDivNatS0 (Succ ww68) (Succ ww69) (primGEqNatS ww70 ww71)",fontsize=16,color="burlywood",shape="triangle"];896[label="ww70/Succ ww700",fontsize=10,color="white",style="solid",shape="box"];546 -> 896[label="",style="solid", color="burlywood", weight=9]; 896 -> 587[label="",style="solid", color="burlywood", weight=3]; 897[label="ww70/Zero",fontsize=10,color="white",style="solid",shape="box"];546 -> 897[label="",style="solid", color="burlywood", weight=9]; 897 -> 588[label="",style="solid", color="burlywood", weight=3]; 104[label="Succ (primDivNatS (primMinusNatS (Succ ww260) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];104 -> 113[label="",style="dashed", color="green", weight=3]; 105[label="Zero",fontsize=16,color="green",shape="box"];106[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];106 -> 114[label="",style="dashed", color="green", weight=3]; 107[label="primModNatS0 (Succ ww230) ww240 (primGEqNatS (Succ ww230) (Succ ww240))",fontsize=16,color="black",shape="box"];107 -> 115[label="",style="solid", color="black", weight=3]; 108[label="primModNatS0 Zero ww240 (primGEqNatS Zero (Succ ww240))",fontsize=16,color="black",shape="box"];108 -> 116[label="",style="solid", color="black", weight=3]; 587[label="primDivNatS0 (Succ ww68) (Succ ww69) (primGEqNatS (Succ ww700) ww71)",fontsize=16,color="burlywood",shape="box"];898[label="ww71/Succ ww710",fontsize=10,color="white",style="solid",shape="box"];587 -> 898[label="",style="solid", color="burlywood", weight=9]; 898 -> 594[label="",style="solid", color="burlywood", weight=3]; 899[label="ww71/Zero",fontsize=10,color="white",style="solid",shape="box"];587 -> 899[label="",style="solid", color="burlywood", weight=9]; 899 -> 595[label="",style="solid", color="burlywood", weight=3]; 588[label="primDivNatS0 (Succ ww68) (Succ ww69) (primGEqNatS Zero ww71)",fontsize=16,color="burlywood",shape="box"];900[label="ww71/Succ ww710",fontsize=10,color="white",style="solid",shape="box"];588 -> 900[label="",style="solid", color="burlywood", weight=9]; 900 -> 596[label="",style="solid", color="burlywood", weight=3]; 901[label="ww71/Zero",fontsize=10,color="white",style="solid",shape="box"];588 -> 901[label="",style="solid", color="burlywood", weight=9]; 901 -> 597[label="",style="solid", color="burlywood", weight=3]; 113 -> 780[label="",style="dashed", color="red", weight=0]; 113[label="primDivNatS (primMinusNatS (Succ ww260) Zero) (Succ Zero)",fontsize=16,color="magenta"];113 -> 781[label="",style="dashed", color="magenta", weight=3]; 113 -> 782[label="",style="dashed", color="magenta", weight=3]; 113 -> 783[label="",style="dashed", color="magenta", weight=3]; 114 -> 780[label="",style="dashed", color="red", weight=0]; 114[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];114 -> 784[label="",style="dashed", color="magenta", weight=3]; 114 -> 785[label="",style="dashed", color="magenta", weight=3]; 114 -> 786[label="",style="dashed", color="magenta", weight=3]; 115[label="primModNatS0 (Succ ww230) ww240 (primGEqNatS ww230 ww240)",fontsize=16,color="burlywood",shape="box"];902[label="ww230/Succ ww2300",fontsize=10,color="white",style="solid",shape="box"];115 -> 902[label="",style="solid", color="burlywood", weight=9]; 902 -> 123[label="",style="solid", color="burlywood", weight=3]; 903[label="ww230/Zero",fontsize=10,color="white",style="solid",shape="box"];115 -> 903[label="",style="solid", color="burlywood", weight=9]; 903 -> 124[label="",style="solid", color="burlywood", weight=3]; 116[label="primModNatS0 Zero ww240 MyFalse",fontsize=16,color="black",shape="box"];116 -> 125[label="",style="solid", color="black", weight=3]; 594[label="primDivNatS0 (Succ ww68) (Succ ww69) (primGEqNatS (Succ ww700) (Succ ww710))",fontsize=16,color="black",shape="box"];594 -> 604[label="",style="solid", color="black", weight=3]; 595[label="primDivNatS0 (Succ ww68) (Succ ww69) (primGEqNatS (Succ ww700) Zero)",fontsize=16,color="black",shape="box"];595 -> 605[label="",style="solid", color="black", weight=3]; 596[label="primDivNatS0 (Succ ww68) (Succ ww69) (primGEqNatS Zero (Succ ww710))",fontsize=16,color="black",shape="box"];596 -> 606[label="",style="solid", color="black", weight=3]; 597[label="primDivNatS0 (Succ ww68) (Succ ww69) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];597 -> 607[label="",style="solid", color="black", weight=3]; 781[label="Succ ww260",fontsize=16,color="green",shape="box"];782[label="Zero",fontsize=16,color="green",shape="box"];783[label="Zero",fontsize=16,color="green",shape="box"];780[label="primDivNatS (primMinusNatS ww78 ww79) (Succ ww80)",fontsize=16,color="burlywood",shape="triangle"];904[label="ww78/Succ ww780",fontsize=10,color="white",style="solid",shape="box"];780 -> 904[label="",style="solid", color="burlywood", weight=9]; 904 -> 805[label="",style="solid", color="burlywood", weight=3]; 905[label="ww78/Zero",fontsize=10,color="white",style="solid",shape="box"];780 -> 905[label="",style="solid", color="burlywood", weight=9]; 905 -> 806[label="",style="solid", color="burlywood", weight=3]; 784[label="Zero",fontsize=16,color="green",shape="box"];785[label="Zero",fontsize=16,color="green",shape="box"];786[label="Zero",fontsize=16,color="green",shape="box"];123[label="primModNatS0 (Succ (Succ ww2300)) ww240 (primGEqNatS (Succ ww2300) ww240)",fontsize=16,color="burlywood",shape="box"];906[label="ww240/Succ ww2400",fontsize=10,color="white",style="solid",shape="box"];123 -> 906[label="",style="solid", color="burlywood", weight=9]; 906 -> 134[label="",style="solid", color="burlywood", weight=3]; 907[label="ww240/Zero",fontsize=10,color="white",style="solid",shape="box"];123 -> 907[label="",style="solid", color="burlywood", weight=9]; 907 -> 135[label="",style="solid", color="burlywood", weight=3]; 124[label="primModNatS0 (Succ Zero) ww240 (primGEqNatS Zero ww240)",fontsize=16,color="burlywood",shape="box"];908[label="ww240/Succ ww2400",fontsize=10,color="white",style="solid",shape="box"];124 -> 908[label="",style="solid", color="burlywood", weight=9]; 908 -> 136[label="",style="solid", color="burlywood", weight=3]; 909[label="ww240/Zero",fontsize=10,color="white",style="solid",shape="box"];124 -> 909[label="",style="solid", color="burlywood", weight=9]; 909 -> 137[label="",style="solid", color="burlywood", weight=3]; 125[label="Succ Zero",fontsize=16,color="green",shape="box"];604 -> 546[label="",style="dashed", color="red", weight=0]; 604[label="primDivNatS0 (Succ ww68) (Succ ww69) (primGEqNatS ww700 ww710)",fontsize=16,color="magenta"];604 -> 618[label="",style="dashed", color="magenta", weight=3]; 604 -> 619[label="",style="dashed", color="magenta", weight=3]; 605[label="primDivNatS0 (Succ ww68) (Succ ww69) MyTrue",fontsize=16,color="black",shape="triangle"];605 -> 620[label="",style="solid", color="black", weight=3]; 606[label="primDivNatS0 (Succ ww68) (Succ ww69) MyFalse",fontsize=16,color="black",shape="box"];606 -> 621[label="",style="solid", color="black", weight=3]; 607 -> 605[label="",style="dashed", color="red", weight=0]; 607[label="primDivNatS0 (Succ ww68) (Succ ww69) MyTrue",fontsize=16,color="magenta"];805[label="primDivNatS (primMinusNatS (Succ ww780) ww79) (Succ ww80)",fontsize=16,color="burlywood",shape="box"];910[label="ww79/Succ ww790",fontsize=10,color="white",style="solid",shape="box"];805 -> 910[label="",style="solid", color="burlywood", weight=9]; 910 -> 813[label="",style="solid", color="burlywood", weight=3]; 911[label="ww79/Zero",fontsize=10,color="white",style="solid",shape="box"];805 -> 911[label="",style="solid", color="burlywood", weight=9]; 911 -> 814[label="",style="solid", color="burlywood", weight=3]; 806[label="primDivNatS (primMinusNatS Zero ww79) (Succ ww80)",fontsize=16,color="burlywood",shape="box"];912[label="ww79/Succ ww790",fontsize=10,color="white",style="solid",shape="box"];806 -> 912[label="",style="solid", color="burlywood", weight=9]; 912 -> 815[label="",style="solid", color="burlywood", weight=3]; 913[label="ww79/Zero",fontsize=10,color="white",style="solid",shape="box"];806 -> 913[label="",style="solid", color="burlywood", weight=9]; 913 -> 816[label="",style="solid", color="burlywood", weight=3]; 134[label="primModNatS0 (Succ (Succ ww2300)) (Succ ww2400) (primGEqNatS (Succ ww2300) (Succ ww2400))",fontsize=16,color="black",shape="box"];134 -> 144[label="",style="solid", color="black", weight=3]; 135[label="primModNatS0 (Succ (Succ ww2300)) Zero (primGEqNatS (Succ ww2300) Zero)",fontsize=16,color="black",shape="box"];135 -> 145[label="",style="solid", color="black", weight=3]; 136[label="primModNatS0 (Succ Zero) (Succ ww2400) (primGEqNatS Zero (Succ ww2400))",fontsize=16,color="black",shape="box"];136 -> 146[label="",style="solid", color="black", weight=3]; 137[label="primModNatS0 (Succ Zero) Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];137 -> 147[label="",style="solid", color="black", weight=3]; 618[label="ww710",fontsize=16,color="green",shape="box"];619[label="ww700",fontsize=16,color="green",shape="box"];620[label="Succ (primDivNatS (primMinusNatS (Succ ww68) (Succ ww69)) (Succ (Succ ww69)))",fontsize=16,color="green",shape="box"];620 -> 629[label="",style="dashed", color="green", weight=3]; 621[label="Zero",fontsize=16,color="green",shape="box"];813[label="primDivNatS (primMinusNatS (Succ ww780) (Succ ww790)) (Succ ww80)",fontsize=16,color="black",shape="box"];813 -> 821[label="",style="solid", color="black", weight=3]; 814[label="primDivNatS (primMinusNatS (Succ ww780) Zero) (Succ ww80)",fontsize=16,color="black",shape="box"];814 -> 822[label="",style="solid", color="black", weight=3]; 815[label="primDivNatS (primMinusNatS Zero (Succ ww790)) (Succ ww80)",fontsize=16,color="black",shape="box"];815 -> 823[label="",style="solid", color="black", weight=3]; 816[label="primDivNatS (primMinusNatS Zero Zero) (Succ ww80)",fontsize=16,color="black",shape="box"];816 -> 824[label="",style="solid", color="black", weight=3]; 144 -> 643[label="",style="dashed", color="red", weight=0]; 144[label="primModNatS0 (Succ (Succ ww2300)) (Succ ww2400) (primGEqNatS ww2300 ww2400)",fontsize=16,color="magenta"];144 -> 644[label="",style="dashed", color="magenta", weight=3]; 144 -> 645[label="",style="dashed", color="magenta", weight=3]; 144 -> 646[label="",style="dashed", color="magenta", weight=3]; 144 -> 647[label="",style="dashed", color="magenta", weight=3]; 145[label="primModNatS0 (Succ (Succ ww2300)) Zero MyTrue",fontsize=16,color="black",shape="box"];145 -> 156[label="",style="solid", color="black", weight=3]; 146[label="primModNatS0 (Succ Zero) (Succ ww2400) MyFalse",fontsize=16,color="black",shape="box"];146 -> 157[label="",style="solid", color="black", weight=3]; 147[label="primModNatS0 (Succ Zero) Zero MyTrue",fontsize=16,color="black",shape="box"];147 -> 158[label="",style="solid", color="black", weight=3]; 629 -> 780[label="",style="dashed", color="red", weight=0]; 629[label="primDivNatS (primMinusNatS (Succ ww68) (Succ ww69)) (Succ (Succ ww69))",fontsize=16,color="magenta"];629 -> 787[label="",style="dashed", color="magenta", weight=3]; 629 -> 788[label="",style="dashed", color="magenta", weight=3]; 629 -> 789[label="",style="dashed", color="magenta", weight=3]; 821 -> 780[label="",style="dashed", color="red", weight=0]; 821[label="primDivNatS (primMinusNatS ww780 ww790) (Succ ww80)",fontsize=16,color="magenta"];821 -> 829[label="",style="dashed", color="magenta", weight=3]; 821 -> 830[label="",style="dashed", color="magenta", weight=3]; 822 -> 83[label="",style="dashed", color="red", weight=0]; 822[label="primDivNatS (Succ ww780) (Succ ww80)",fontsize=16,color="magenta"];822 -> 831[label="",style="dashed", color="magenta", weight=3]; 822 -> 832[label="",style="dashed", color="magenta", weight=3]; 823[label="primDivNatS Zero (Succ ww80)",fontsize=16,color="black",shape="triangle"];823 -> 833[label="",style="solid", color="black", weight=3]; 824 -> 823[label="",style="dashed", color="red", weight=0]; 824[label="primDivNatS Zero (Succ ww80)",fontsize=16,color="magenta"];644[label="ww2400",fontsize=16,color="green",shape="box"];645[label="ww2300",fontsize=16,color="green",shape="box"];646[label="ww2400",fontsize=16,color="green",shape="box"];647[label="Succ ww2300",fontsize=16,color="green",shape="box"];643[label="primModNatS0 (Succ ww73) (Succ ww74) (primGEqNatS ww75 ww76)",fontsize=16,color="burlywood",shape="triangle"];914[label="ww75/Succ ww750",fontsize=10,color="white",style="solid",shape="box"];643 -> 914[label="",style="solid", color="burlywood", weight=9]; 914 -> 684[label="",style="solid", color="burlywood", weight=3]; 915[label="ww75/Zero",fontsize=10,color="white",style="solid",shape="box"];643 -> 915[label="",style="solid", color="burlywood", weight=9]; 915 -> 685[label="",style="solid", color="burlywood", weight=3]; 156 -> 834[label="",style="dashed", color="red", weight=0]; 156[label="primModNatS (primMinusNatS (Succ (Succ ww2300)) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="magenta"];156 -> 835[label="",style="dashed", color="magenta", weight=3]; 156 -> 836[label="",style="dashed", color="magenta", weight=3]; 156 -> 837[label="",style="dashed", color="magenta", weight=3]; 157[label="Succ (Succ Zero)",fontsize=16,color="green",shape="box"];158 -> 834[label="",style="dashed", color="red", weight=0]; 158[label="primModNatS (primMinusNatS (Succ Zero) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="magenta"];158 -> 838[label="",style="dashed", color="magenta", weight=3]; 158 -> 839[label="",style="dashed", color="magenta", weight=3]; 158 -> 840[label="",style="dashed", color="magenta", weight=3]; 787[label="Succ ww68",fontsize=16,color="green",shape="box"];788[label="Succ ww69",fontsize=16,color="green",shape="box"];789[label="Succ ww69",fontsize=16,color="green",shape="box"];829[label="ww780",fontsize=16,color="green",shape="box"];830[label="ww790",fontsize=16,color="green",shape="box"];831[label="ww780",fontsize=16,color="green",shape="box"];832[label="ww80",fontsize=16,color="green",shape="box"];833[label="Zero",fontsize=16,color="green",shape="box"];684[label="primModNatS0 (Succ ww73) (Succ ww74) (primGEqNatS (Succ ww750) ww76)",fontsize=16,color="burlywood",shape="box"];916[label="ww76/Succ ww760",fontsize=10,color="white",style="solid",shape="box"];684 -> 916[label="",style="solid", color="burlywood", weight=9]; 916 -> 688[label="",style="solid", color="burlywood", weight=3]; 917[label="ww76/Zero",fontsize=10,color="white",style="solid",shape="box"];684 -> 917[label="",style="solid", color="burlywood", weight=9]; 917 -> 689[label="",style="solid", color="burlywood", weight=3]; 685[label="primModNatS0 (Succ ww73) (Succ ww74) (primGEqNatS Zero ww76)",fontsize=16,color="burlywood",shape="box"];918[label="ww76/Succ ww760",fontsize=10,color="white",style="solid",shape="box"];685 -> 918[label="",style="solid", color="burlywood", weight=9]; 918 -> 690[label="",style="solid", color="burlywood", weight=3]; 919[label="ww76/Zero",fontsize=10,color="white",style="solid",shape="box"];685 -> 919[label="",style="solid", color="burlywood", weight=9]; 919 -> 691[label="",style="solid", color="burlywood", weight=3]; 835[label="Succ Zero",fontsize=16,color="green",shape="box"];836[label="Succ Zero",fontsize=16,color="green",shape="box"];837[label="Succ (Succ ww2300)",fontsize=16,color="green",shape="box"];834[label="primModNatS (primMinusNatS ww82 ww83) (Succ ww84)",fontsize=16,color="burlywood",shape="triangle"];920[label="ww82/Succ ww820",fontsize=10,color="white",style="solid",shape="box"];834 -> 920[label="",style="solid", color="burlywood", weight=9]; 920 -> 865[label="",style="solid", color="burlywood", weight=3]; 921[label="ww82/Zero",fontsize=10,color="white",style="solid",shape="box"];834 -> 921[label="",style="solid", color="burlywood", weight=9]; 921 -> 866[label="",style="solid", color="burlywood", weight=3]; 838[label="Succ Zero",fontsize=16,color="green",shape="box"];839[label="Succ Zero",fontsize=16,color="green",shape="box"];840[label="Succ Zero",fontsize=16,color="green",shape="box"];688[label="primModNatS0 (Succ ww73) (Succ ww74) (primGEqNatS (Succ ww750) (Succ ww760))",fontsize=16,color="black",shape="box"];688 -> 696[label="",style="solid", color="black", weight=3]; 689[label="primModNatS0 (Succ ww73) (Succ ww74) (primGEqNatS (Succ ww750) Zero)",fontsize=16,color="black",shape="box"];689 -> 697[label="",style="solid", color="black", weight=3]; 690[label="primModNatS0 (Succ ww73) (Succ ww74) (primGEqNatS Zero (Succ ww760))",fontsize=16,color="black",shape="box"];690 -> 698[label="",style="solid", color="black", weight=3]; 691[label="primModNatS0 (Succ ww73) (Succ ww74) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];691 -> 699[label="",style="solid", color="black", weight=3]; 865[label="primModNatS (primMinusNatS (Succ ww820) ww83) (Succ ww84)",fontsize=16,color="burlywood",shape="box"];922[label="ww83/Succ ww830",fontsize=10,color="white",style="solid",shape="box"];865 -> 922[label="",style="solid", color="burlywood", weight=9]; 922 -> 867[label="",style="solid", color="burlywood", weight=3]; 923[label="ww83/Zero",fontsize=10,color="white",style="solid",shape="box"];865 -> 923[label="",style="solid", color="burlywood", weight=9]; 923 -> 868[label="",style="solid", color="burlywood", weight=3]; 866[label="primModNatS (primMinusNatS Zero ww83) (Succ ww84)",fontsize=16,color="burlywood",shape="box"];924[label="ww83/Succ ww830",fontsize=10,color="white",style="solid",shape="box"];866 -> 924[label="",style="solid", color="burlywood", weight=9]; 924 -> 869[label="",style="solid", color="burlywood", weight=3]; 925[label="ww83/Zero",fontsize=10,color="white",style="solid",shape="box"];866 -> 925[label="",style="solid", color="burlywood", weight=9]; 925 -> 870[label="",style="solid", color="burlywood", weight=3]; 696 -> 643[label="",style="dashed", color="red", weight=0]; 696[label="primModNatS0 (Succ ww73) (Succ ww74) (primGEqNatS ww750 ww760)",fontsize=16,color="magenta"];696 -> 704[label="",style="dashed", color="magenta", weight=3]; 696 -> 705[label="",style="dashed", color="magenta", weight=3]; 697[label="primModNatS0 (Succ ww73) (Succ ww74) MyTrue",fontsize=16,color="black",shape="triangle"];697 -> 706[label="",style="solid", color="black", weight=3]; 698[label="primModNatS0 (Succ ww73) (Succ ww74) MyFalse",fontsize=16,color="black",shape="box"];698 -> 707[label="",style="solid", color="black", weight=3]; 699 -> 697[label="",style="dashed", color="red", weight=0]; 699[label="primModNatS0 (Succ ww73) (Succ ww74) MyTrue",fontsize=16,color="magenta"];867[label="primModNatS (primMinusNatS (Succ ww820) (Succ ww830)) (Succ ww84)",fontsize=16,color="black",shape="box"];867 -> 871[label="",style="solid", color="black", weight=3]; 868[label="primModNatS (primMinusNatS (Succ ww820) Zero) (Succ ww84)",fontsize=16,color="black",shape="box"];868 -> 872[label="",style="solid", color="black", weight=3]; 869[label="primModNatS (primMinusNatS Zero (Succ ww830)) (Succ ww84)",fontsize=16,color="black",shape="box"];869 -> 873[label="",style="solid", color="black", weight=3]; 870[label="primModNatS (primMinusNatS Zero Zero) (Succ ww84)",fontsize=16,color="black",shape="box"];870 -> 874[label="",style="solid", color="black", weight=3]; 704[label="ww750",fontsize=16,color="green",shape="box"];705[label="ww760",fontsize=16,color="green",shape="box"];706 -> 834[label="",style="dashed", color="red", weight=0]; 706[label="primModNatS (primMinusNatS (Succ ww73) (Succ (Succ ww74))) (Succ (Succ (Succ ww74)))",fontsize=16,color="magenta"];706 -> 847[label="",style="dashed", color="magenta", weight=3]; 706 -> 848[label="",style="dashed", color="magenta", weight=3]; 706 -> 849[label="",style="dashed", color="magenta", weight=3]; 707[label="Succ (Succ ww73)",fontsize=16,color="green",shape="box"];871 -> 834[label="",style="dashed", color="red", weight=0]; 871[label="primModNatS (primMinusNatS ww820 ww830) (Succ ww84)",fontsize=16,color="magenta"];871 -> 875[label="",style="dashed", color="magenta", weight=3]; 871 -> 876[label="",style="dashed", color="magenta", weight=3]; 872 -> 89[label="",style="dashed", color="red", weight=0]; 872[label="primModNatS (Succ ww820) (Succ ww84)",fontsize=16,color="magenta"];872 -> 877[label="",style="dashed", color="magenta", weight=3]; 872 -> 878[label="",style="dashed", color="magenta", weight=3]; 873[label="primModNatS Zero (Succ ww84)",fontsize=16,color="black",shape="triangle"];873 -> 879[label="",style="solid", color="black", weight=3]; 874 -> 873[label="",style="dashed", color="red", weight=0]; 874[label="primModNatS Zero (Succ ww84)",fontsize=16,color="magenta"];847[label="Succ (Succ ww74)",fontsize=16,color="green",shape="box"];848[label="Succ (Succ ww74)",fontsize=16,color="green",shape="box"];849[label="Succ ww73",fontsize=16,color="green",shape="box"];875[label="ww830",fontsize=16,color="green",shape="box"];876[label="ww820",fontsize=16,color="green",shape="box"];877[label="ww84",fontsize=16,color="green",shape="box"];878[label="ww820",fontsize=16,color="green",shape="box"];879[label="Zero",fontsize=16,color="green",shape="box"];} ---------------------------------------- (60) TRUE