/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: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 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, 46 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, 11 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; 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; 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; 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="showsPrecMyInt",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="showsPrecMyInt ww3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="showsPrecMyInt ww3 ww4",fontsize=16,color="grey",shape="box"];4 -> 5[label="",style="dashed", color="grey", weight=3]; 5[label="showsPrecMyInt ww3 ww4 ww5",fontsize=16,color="black",shape="triangle"];5 -> 6[label="",style="solid", color="black", weight=3]; 6 -> 36[label="",style="dashed", color="red", weight=0]; 6[label="psPs (showMyInt ww4) ww5",fontsize=16,color="magenta"];6 -> 37[label="",style="dashed", color="magenta", weight=3]; 6 -> 38[label="",style="dashed", color="magenta", weight=3]; 37[label="showMyInt ww4",fontsize=16,color="black",shape="box"];37 -> 52[label="",style="solid", color="black", weight=3]; 38[label="ww5",fontsize=16,color="green",shape="box"];36[label="psPs ww22 ww21",fontsize=16,color="burlywood",shape="triangle"];904[label="ww22/Cons ww220 ww221",fontsize=10,color="white",style="solid",shape="box"];36 -> 904[label="",style="solid", color="burlywood", weight=9]; 904 -> 53[label="",style="solid", color="burlywood", weight=3]; 905[label="ww22/Nil",fontsize=10,color="white",style="solid",shape="box"];36 -> 905[label="",style="solid", color="burlywood", weight=9]; 905 -> 54[label="",style="solid", color="burlywood", weight=3]; 52[label="primShowInt ww4",fontsize=16,color="burlywood",shape="triangle"];906[label="ww4/Pos ww40",fontsize=10,color="white",style="solid",shape="box"];52 -> 906[label="",style="solid", color="burlywood", weight=9]; 906 -> 55[label="",style="solid", color="burlywood", weight=3]; 907[label="ww4/Neg ww40",fontsize=10,color="white",style="solid",shape="box"];52 -> 907[label="",style="solid", color="burlywood", weight=9]; 907 -> 56[label="",style="solid", color="burlywood", weight=3]; 53[label="psPs (Cons ww220 ww221) ww21",fontsize=16,color="black",shape="box"];53 -> 57[label="",style="solid", color="black", weight=3]; 54[label="psPs Nil ww21",fontsize=16,color="black",shape="box"];54 -> 58[label="",style="solid", color="black", weight=3]; 55[label="primShowInt (Pos ww40)",fontsize=16,color="burlywood",shape="box"];908[label="ww40/Succ ww400",fontsize=10,color="white",style="solid",shape="box"];55 -> 908[label="",style="solid", color="burlywood", weight=9]; 908 -> 59[label="",style="solid", color="burlywood", weight=3]; 909[label="ww40/Zero",fontsize=10,color="white",style="solid",shape="box"];55 -> 909[label="",style="solid", color="burlywood", weight=9]; 909 -> 60[label="",style="solid", color="burlywood", weight=3]; 56[label="primShowInt (Neg ww40)",fontsize=16,color="black",shape="box"];56 -> 61[label="",style="solid", color="black", weight=3]; 57[label="Cons ww220 (psPs ww221 ww21)",fontsize=16,color="green",shape="box"];57 -> 62[label="",style="dashed", color="green", weight=3]; 58[label="ww21",fontsize=16,color="green",shape="box"];59[label="primShowInt (Pos (Succ ww400))",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 ww40))",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 ww221 ww21",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 ww400)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) (Cons (toEnumChar (modMyInt (Pos (Succ ww400)) (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 ww40)",fontsize=16,color="magenta"];65 -> 69[label="",style="dashed", color="magenta", weight=3]; 66[label="ww221",fontsize=16,color="green",shape="box"];67 -> 52[label="",style="dashed", color="red", weight=0]; 67[label="primShowInt (divMyInt (Pos (Succ ww400)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))",fontsize=16,color="magenta"];67 -> 70[label="",style="dashed", color="magenta", weight=3]; 68[label="Cons (toEnumChar (modMyInt (Pos (Succ ww400)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) Nil",fontsize=16,color="green",shape="box"];68 -> 71[label="",style="dashed", color="green", weight=3]; 69[label="Pos ww40",fontsize=16,color="green",shape="box"];70 -> 72[label="",style="dashed", color="red", weight=0]; 70[label="divMyInt (Pos (Succ ww400)) (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="toEnumChar (modMyInt (Pos (Succ ww400)) (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="ww400",fontsize=16,color="green",shape="box"];72[label="divMyInt (Pos (Succ ww24)) (Pos (Succ ww25))",fontsize=16,color="black",shape="triangle"];72 -> 78[label="",style="solid", color="black", weight=3]; 76[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];77[label="ww400",fontsize=16,color="green",shape="box"];75[label="toEnumChar (modMyInt (Pos (Succ ww27)) (Pos (Succ ww28)))",fontsize=16,color="black",shape="triangle"];75 -> 79[label="",style="solid", color="black", weight=3]; 78[label="primDivInt (Pos (Succ ww24)) (Pos (Succ ww25))",fontsize=16,color="black",shape="box"];78 -> 80[label="",style="solid", color="black", weight=3]; 79[label="primIntToChar (modMyInt (Pos (Succ ww27)) (Pos (Succ ww28)))",fontsize=16,color="black",shape="box"];79 -> 81[label="",style="solid", color="black", weight=3]; 80[label="Pos (primDivNatS (Succ ww24) (Succ ww25))",fontsize=16,color="green",shape="box"];80 -> 82[label="",style="dashed", color="green", weight=3]; 81[label="Char (modMyInt (Pos (Succ ww27)) (Pos (Succ ww28)))",fontsize=16,color="green",shape="box"];81 -> 83[label="",style="dashed", color="green", weight=3]; 82[label="primDivNatS (Succ ww24) (Succ ww25)",fontsize=16,color="black",shape="triangle"];82 -> 84[label="",style="solid", color="black", weight=3]; 83[label="modMyInt (Pos (Succ ww27)) (Pos (Succ ww28))",fontsize=16,color="black",shape="box"];83 -> 85[label="",style="solid", color="black", weight=3]; 84[label="primDivNatS0 ww24 ww25 (primGEqNatS ww24 ww25)",fontsize=16,color="burlywood",shape="box"];910[label="ww24/Succ ww240",fontsize=10,color="white",style="solid",shape="box"];84 -> 910[label="",style="solid", color="burlywood", weight=9]; 910 -> 86[label="",style="solid", color="burlywood", weight=3]; 911[label="ww24/Zero",fontsize=10,color="white",style="solid",shape="box"];84 -> 911[label="",style="solid", color="burlywood", weight=9]; 911 -> 87[label="",style="solid", color="burlywood", weight=3]; 85[label="primModInt (Pos (Succ ww27)) (Pos (Succ ww28))",fontsize=16,color="black",shape="box"];85 -> 88[label="",style="solid", color="black", weight=3]; 86[label="primDivNatS0 (Succ ww240) ww25 (primGEqNatS (Succ ww240) ww25)",fontsize=16,color="burlywood",shape="box"];912[label="ww25/Succ ww250",fontsize=10,color="white",style="solid",shape="box"];86 -> 912[label="",style="solid", color="burlywood", weight=9]; 912 -> 89[label="",style="solid", color="burlywood", weight=3]; 913[label="ww25/Zero",fontsize=10,color="white",style="solid",shape="box"];86 -> 913[label="",style="solid", color="burlywood", weight=9]; 913 -> 90[label="",style="solid", color="burlywood", weight=3]; 87[label="primDivNatS0 Zero ww25 (primGEqNatS Zero ww25)",fontsize=16,color="burlywood",shape="box"];914[label="ww25/Succ ww250",fontsize=10,color="white",style="solid",shape="box"];87 -> 914[label="",style="solid", color="burlywood", weight=9]; 914 -> 91[label="",style="solid", color="burlywood", weight=3]; 915[label="ww25/Zero",fontsize=10,color="white",style="solid",shape="box"];87 -> 915[label="",style="solid", color="burlywood", weight=9]; 915 -> 92[label="",style="solid", color="burlywood", weight=3]; 88[label="Pos (primModNatS (Succ ww27) (Succ ww28))",fontsize=16,color="green",shape="box"];88 -> 93[label="",style="dashed", color="green", weight=3]; 89[label="primDivNatS0 (Succ ww240) (Succ ww250) (primGEqNatS (Succ ww240) (Succ ww250))",fontsize=16,color="black",shape="box"];89 -> 94[label="",style="solid", color="black", weight=3]; 90[label="primDivNatS0 (Succ ww240) Zero (primGEqNatS (Succ ww240) Zero)",fontsize=16,color="black",shape="box"];90 -> 95[label="",style="solid", color="black", weight=3]; 91[label="primDivNatS0 Zero (Succ ww250) (primGEqNatS Zero (Succ ww250))",fontsize=16,color="black",shape="box"];91 -> 96[label="",style="solid", color="black", weight=3]; 92[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];92 -> 97[label="",style="solid", color="black", weight=3]; 93[label="primModNatS (Succ ww27) (Succ ww28)",fontsize=16,color="burlywood",shape="triangle"];916[label="ww28/Succ ww280",fontsize=10,color="white",style="solid",shape="box"];93 -> 916[label="",style="solid", color="burlywood", weight=9]; 916 -> 98[label="",style="solid", color="burlywood", weight=3]; 917[label="ww28/Zero",fontsize=10,color="white",style="solid",shape="box"];93 -> 917[label="",style="solid", color="burlywood", weight=9]; 917 -> 99[label="",style="solid", color="burlywood", weight=3]; 94 -> 509[label="",style="dashed", color="red", weight=0]; 94[label="primDivNatS0 (Succ ww240) (Succ ww250) (primGEqNatS ww240 ww250)",fontsize=16,color="magenta"];94 -> 510[label="",style="dashed", color="magenta", weight=3]; 94 -> 511[label="",style="dashed", color="magenta", weight=3]; 94 -> 512[label="",style="dashed", color="magenta", weight=3]; 94 -> 513[label="",style="dashed", color="magenta", weight=3]; 95[label="primDivNatS0 (Succ ww240) Zero MyTrue",fontsize=16,color="black",shape="box"];95 -> 102[label="",style="solid", color="black", weight=3]; 96[label="primDivNatS0 Zero (Succ ww250) MyFalse",fontsize=16,color="black",shape="box"];96 -> 103[label="",style="solid", color="black", weight=3]; 97[label="primDivNatS0 Zero Zero MyTrue",fontsize=16,color="black",shape="box"];97 -> 104[label="",style="solid", color="black", weight=3]; 98[label="primModNatS (Succ ww27) (Succ (Succ ww280))",fontsize=16,color="black",shape="box"];98 -> 105[label="",style="solid", color="black", weight=3]; 99[label="primModNatS (Succ ww27) (Succ Zero)",fontsize=16,color="black",shape="box"];99 -> 106[label="",style="solid", color="black", weight=3]; 510[label="ww250",fontsize=16,color="green",shape="box"];511[label="ww240",fontsize=16,color="green",shape="box"];512[label="ww250",fontsize=16,color="green",shape="box"];513[label="ww240",fontsize=16,color="green",shape="box"];509[label="primDivNatS0 (Succ ww66) (Succ ww67) (primGEqNatS ww68 ww69)",fontsize=16,color="burlywood",shape="triangle"];918[label="ww68/Succ ww680",fontsize=10,color="white",style="solid",shape="box"];509 -> 918[label="",style="solid", color="burlywood", weight=9]; 918 -> 550[label="",style="solid", color="burlywood", weight=3]; 919[label="ww68/Zero",fontsize=10,color="white",style="solid",shape="box"];509 -> 919[label="",style="solid", color="burlywood", weight=9]; 919 -> 551[label="",style="solid", color="burlywood", weight=3]; 102[label="Succ (primDivNatS (primMinusNatS (Succ ww240) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];102 -> 111[label="",style="dashed", color="green", weight=3]; 103[label="Zero",fontsize=16,color="green",shape="box"];104[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];104 -> 112[label="",style="dashed", color="green", weight=3]; 105[label="primModNatS0 ww27 ww280 (primGEqNatS ww27 (Succ ww280))",fontsize=16,color="burlywood",shape="box"];920[label="ww27/Succ ww270",fontsize=10,color="white",style="solid",shape="box"];105 -> 920[label="",style="solid", color="burlywood", weight=9]; 920 -> 113[label="",style="solid", color="burlywood", weight=3]; 921[label="ww27/Zero",fontsize=10,color="white",style="solid",shape="box"];105 -> 921[label="",style="solid", color="burlywood", weight=9]; 921 -> 114[label="",style="solid", color="burlywood", weight=3]; 106[label="Zero",fontsize=16,color="green",shape="box"];550[label="primDivNatS0 (Succ ww66) (Succ ww67) (primGEqNatS (Succ ww680) ww69)",fontsize=16,color="burlywood",shape="box"];922[label="ww69/Succ ww690",fontsize=10,color="white",style="solid",shape="box"];550 -> 922[label="",style="solid", color="burlywood", weight=9]; 922 -> 574[label="",style="solid", color="burlywood", weight=3]; 923[label="ww69/Zero",fontsize=10,color="white",style="solid",shape="box"];550 -> 923[label="",style="solid", color="burlywood", weight=9]; 923 -> 575[label="",style="solid", color="burlywood", weight=3]; 551[label="primDivNatS0 (Succ ww66) (Succ ww67) (primGEqNatS Zero ww69)",fontsize=16,color="burlywood",shape="box"];924[label="ww69/Succ ww690",fontsize=10,color="white",style="solid",shape="box"];551 -> 924[label="",style="solid", color="burlywood", weight=9]; 924 -> 576[label="",style="solid", color="burlywood", weight=3]; 925[label="ww69/Zero",fontsize=10,color="white",style="solid",shape="box"];551 -> 925[label="",style="solid", color="burlywood", weight=9]; 925 -> 577[label="",style="solid", color="burlywood", weight=3]; 111 -> 800[label="",style="dashed", color="red", weight=0]; 111[label="primDivNatS (primMinusNatS (Succ ww240) Zero) (Succ Zero)",fontsize=16,color="magenta"];111 -> 801[label="",style="dashed", color="magenta", weight=3]; 111 -> 802[label="",style="dashed", color="magenta", weight=3]; 111 -> 803[label="",style="dashed", color="magenta", weight=3]; 112 -> 800[label="",style="dashed", color="red", weight=0]; 112[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];112 -> 804[label="",style="dashed", color="magenta", weight=3]; 112 -> 805[label="",style="dashed", color="magenta", weight=3]; 112 -> 806[label="",style="dashed", color="magenta", weight=3]; 113[label="primModNatS0 (Succ ww270) ww280 (primGEqNatS (Succ ww270) (Succ ww280))",fontsize=16,color="black",shape="box"];113 -> 121[label="",style="solid", color="black", weight=3]; 114[label="primModNatS0 Zero ww280 (primGEqNatS Zero (Succ ww280))",fontsize=16,color="black",shape="box"];114 -> 122[label="",style="solid", color="black", weight=3]; 574[label="primDivNatS0 (Succ ww66) (Succ ww67) (primGEqNatS (Succ ww680) (Succ ww690))",fontsize=16,color="black",shape="box"];574 -> 589[label="",style="solid", color="black", weight=3]; 575[label="primDivNatS0 (Succ ww66) (Succ ww67) (primGEqNatS (Succ ww680) Zero)",fontsize=16,color="black",shape="box"];575 -> 590[label="",style="solid", color="black", weight=3]; 576[label="primDivNatS0 (Succ ww66) (Succ ww67) (primGEqNatS Zero (Succ ww690))",fontsize=16,color="black",shape="box"];576 -> 591[label="",style="solid", color="black", weight=3]; 577[label="primDivNatS0 (Succ ww66) (Succ ww67) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];577 -> 592[label="",style="solid", color="black", weight=3]; 801[label="Zero",fontsize=16,color="green",shape="box"];802[label="Succ ww240",fontsize=16,color="green",shape="box"];803[label="Zero",fontsize=16,color="green",shape="box"];800[label="primDivNatS (primMinusNatS ww82 ww83) (Succ ww84)",fontsize=16,color="burlywood",shape="triangle"];926[label="ww82/Succ ww820",fontsize=10,color="white",style="solid",shape="box"];800 -> 926[label="",style="solid", color="burlywood", weight=9]; 926 -> 825[label="",style="solid", color="burlywood", weight=3]; 927[label="ww82/Zero",fontsize=10,color="white",style="solid",shape="box"];800 -> 927[label="",style="solid", color="burlywood", weight=9]; 927 -> 826[label="",style="solid", color="burlywood", weight=3]; 804[label="Zero",fontsize=16,color="green",shape="box"];805[label="Zero",fontsize=16,color="green",shape="box"];806[label="Zero",fontsize=16,color="green",shape="box"];121[label="primModNatS0 (Succ ww270) ww280 (primGEqNatS ww270 ww280)",fontsize=16,color="burlywood",shape="box"];928[label="ww270/Succ ww2700",fontsize=10,color="white",style="solid",shape="box"];121 -> 928[label="",style="solid", color="burlywood", weight=9]; 928 -> 131[label="",style="solid", color="burlywood", weight=3]; 929[label="ww270/Zero",fontsize=10,color="white",style="solid",shape="box"];121 -> 929[label="",style="solid", color="burlywood", weight=9]; 929 -> 132[label="",style="solid", color="burlywood", weight=3]; 122[label="primModNatS0 Zero ww280 MyFalse",fontsize=16,color="black",shape="box"];122 -> 133[label="",style="solid", color="black", weight=3]; 589 -> 509[label="",style="dashed", color="red", weight=0]; 589[label="primDivNatS0 (Succ ww66) (Succ ww67) (primGEqNatS ww680 ww690)",fontsize=16,color="magenta"];589 -> 604[label="",style="dashed", color="magenta", weight=3]; 589 -> 605[label="",style="dashed", color="magenta", weight=3]; 590[label="primDivNatS0 (Succ ww66) (Succ ww67) MyTrue",fontsize=16,color="black",shape="triangle"];590 -> 606[label="",style="solid", color="black", weight=3]; 591[label="primDivNatS0 (Succ ww66) (Succ ww67) MyFalse",fontsize=16,color="black",shape="box"];591 -> 607[label="",style="solid", color="black", weight=3]; 592 -> 590[label="",style="dashed", color="red", weight=0]; 592[label="primDivNatS0 (Succ ww66) (Succ ww67) MyTrue",fontsize=16,color="magenta"];825[label="primDivNatS (primMinusNatS (Succ ww820) ww83) (Succ ww84)",fontsize=16,color="burlywood",shape="box"];930[label="ww83/Succ ww830",fontsize=10,color="white",style="solid",shape="box"];825 -> 930[label="",style="solid", color="burlywood", weight=9]; 930 -> 831[label="",style="solid", color="burlywood", weight=3]; 931[label="ww83/Zero",fontsize=10,color="white",style="solid",shape="box"];825 -> 931[label="",style="solid", color="burlywood", weight=9]; 931 -> 832[label="",style="solid", color="burlywood", weight=3]; 826[label="primDivNatS (primMinusNatS Zero ww83) (Succ ww84)",fontsize=16,color="burlywood",shape="box"];932[label="ww83/Succ ww830",fontsize=10,color="white",style="solid",shape="box"];826 -> 932[label="",style="solid", color="burlywood", weight=9]; 932 -> 833[label="",style="solid", color="burlywood", weight=3]; 933[label="ww83/Zero",fontsize=10,color="white",style="solid",shape="box"];826 -> 933[label="",style="solid", color="burlywood", weight=9]; 933 -> 834[label="",style="solid", color="burlywood", weight=3]; 131[label="primModNatS0 (Succ (Succ ww2700)) ww280 (primGEqNatS (Succ ww2700) ww280)",fontsize=16,color="burlywood",shape="box"];934[label="ww280/Succ ww2800",fontsize=10,color="white",style="solid",shape="box"];131 -> 934[label="",style="solid", color="burlywood", weight=9]; 934 -> 140[label="",style="solid", color="burlywood", weight=3]; 935[label="ww280/Zero",fontsize=10,color="white",style="solid",shape="box"];131 -> 935[label="",style="solid", color="burlywood", weight=9]; 935 -> 141[label="",style="solid", color="burlywood", weight=3]; 132[label="primModNatS0 (Succ Zero) ww280 (primGEqNatS Zero ww280)",fontsize=16,color="burlywood",shape="box"];936[label="ww280/Succ ww2800",fontsize=10,color="white",style="solid",shape="box"];132 -> 936[label="",style="solid", color="burlywood", weight=9]; 936 -> 142[label="",style="solid", color="burlywood", weight=3]; 937[label="ww280/Zero",fontsize=10,color="white",style="solid",shape="box"];132 -> 937[label="",style="solid", color="burlywood", weight=9]; 937 -> 143[label="",style="solid", color="burlywood", weight=3]; 133[label="Succ Zero",fontsize=16,color="green",shape="box"];604[label="ww690",fontsize=16,color="green",shape="box"];605[label="ww680",fontsize=16,color="green",shape="box"];606[label="Succ (primDivNatS (primMinusNatS (Succ ww66) (Succ ww67)) (Succ (Succ ww67)))",fontsize=16,color="green",shape="box"];606 -> 650[label="",style="dashed", color="green", weight=3]; 607[label="Zero",fontsize=16,color="green",shape="box"];831[label="primDivNatS (primMinusNatS (Succ ww820) (Succ ww830)) (Succ ww84)",fontsize=16,color="black",shape="box"];831 -> 841[label="",style="solid", color="black", weight=3]; 832[label="primDivNatS (primMinusNatS (Succ ww820) Zero) (Succ ww84)",fontsize=16,color="black",shape="box"];832 -> 842[label="",style="solid", color="black", weight=3]; 833[label="primDivNatS (primMinusNatS Zero (Succ ww830)) (Succ ww84)",fontsize=16,color="black",shape="box"];833 -> 843[label="",style="solid", color="black", weight=3]; 834[label="primDivNatS (primMinusNatS Zero Zero) (Succ ww84)",fontsize=16,color="black",shape="box"];834 -> 844[label="",style="solid", color="black", weight=3]; 140[label="primModNatS0 (Succ (Succ ww2700)) (Succ ww2800) (primGEqNatS (Succ ww2700) (Succ ww2800))",fontsize=16,color="black",shape="box"];140 -> 150[label="",style="solid", color="black", weight=3]; 141[label="primModNatS0 (Succ (Succ ww2700)) Zero (primGEqNatS (Succ ww2700) Zero)",fontsize=16,color="black",shape="box"];141 -> 151[label="",style="solid", color="black", weight=3]; 142[label="primModNatS0 (Succ Zero) (Succ ww2800) (primGEqNatS Zero (Succ ww2800))",fontsize=16,color="black",shape="box"];142 -> 152[label="",style="solid", color="black", weight=3]; 143[label="primModNatS0 (Succ Zero) Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];143 -> 153[label="",style="solid", color="black", weight=3]; 650 -> 800[label="",style="dashed", color="red", weight=0]; 650[label="primDivNatS (primMinusNatS (Succ ww66) (Succ ww67)) (Succ (Succ ww67))",fontsize=16,color="magenta"];650 -> 807[label="",style="dashed", color="magenta", weight=3]; 650 -> 808[label="",style="dashed", color="magenta", weight=3]; 650 -> 809[label="",style="dashed", color="magenta", weight=3]; 841 -> 800[label="",style="dashed", color="red", weight=0]; 841[label="primDivNatS (primMinusNatS ww820 ww830) (Succ ww84)",fontsize=16,color="magenta"];841 -> 849[label="",style="dashed", color="magenta", weight=3]; 841 -> 850[label="",style="dashed", color="magenta", weight=3]; 842 -> 82[label="",style="dashed", color="red", weight=0]; 842[label="primDivNatS (Succ ww820) (Succ ww84)",fontsize=16,color="magenta"];842 -> 851[label="",style="dashed", color="magenta", weight=3]; 842 -> 852[label="",style="dashed", color="magenta", weight=3]; 843[label="primDivNatS Zero (Succ ww84)",fontsize=16,color="black",shape="triangle"];843 -> 853[label="",style="solid", color="black", weight=3]; 844 -> 843[label="",style="dashed", color="red", weight=0]; 844[label="primDivNatS Zero (Succ ww84)",fontsize=16,color="magenta"];150 -> 668[label="",style="dashed", color="red", weight=0]; 150[label="primModNatS0 (Succ (Succ ww2700)) (Succ ww2800) (primGEqNatS ww2700 ww2800)",fontsize=16,color="magenta"];150 -> 669[label="",style="dashed", color="magenta", weight=3]; 150 -> 670[label="",style="dashed", color="magenta", weight=3]; 150 -> 671[label="",style="dashed", color="magenta", weight=3]; 150 -> 672[label="",style="dashed", color="magenta", weight=3]; 151[label="primModNatS0 (Succ (Succ ww2700)) Zero MyTrue",fontsize=16,color="black",shape="box"];151 -> 163[label="",style="solid", color="black", weight=3]; 152 -> 555[label="",style="dashed", color="red", weight=0]; 152[label="primModNatS0 (Succ Zero) (Succ ww2800) MyFalse",fontsize=16,color="magenta"];152 -> 556[label="",style="dashed", color="magenta", weight=3]; 152 -> 557[label="",style="dashed", color="magenta", weight=3]; 153[label="primModNatS0 (Succ Zero) Zero MyTrue",fontsize=16,color="black",shape="box"];153 -> 165[label="",style="solid", color="black", weight=3]; 807[label="Succ ww67",fontsize=16,color="green",shape="box"];808[label="Succ ww66",fontsize=16,color="green",shape="box"];809[label="Succ ww67",fontsize=16,color="green",shape="box"];849[label="ww830",fontsize=16,color="green",shape="box"];850[label="ww820",fontsize=16,color="green",shape="box"];851[label="ww84",fontsize=16,color="green",shape="box"];852[label="ww820",fontsize=16,color="green",shape="box"];853[label="Zero",fontsize=16,color="green",shape="box"];669[label="ww2800",fontsize=16,color="green",shape="box"];670[label="ww2800",fontsize=16,color="green",shape="box"];671[label="ww2700",fontsize=16,color="green",shape="box"];672[label="Succ ww2700",fontsize=16,color="green",shape="box"];668[label="primModNatS0 (Succ ww77) (Succ ww78) (primGEqNatS ww79 ww80)",fontsize=16,color="burlywood",shape="triangle"];938[label="ww79/Succ ww790",fontsize=10,color="white",style="solid",shape="box"];668 -> 938[label="",style="solid", color="burlywood", weight=9]; 938 -> 709[label="",style="solid", color="burlywood", weight=3]; 939[label="ww79/Zero",fontsize=10,color="white",style="solid",shape="box"];668 -> 939[label="",style="solid", color="burlywood", weight=9]; 939 -> 710[label="",style="solid", color="burlywood", weight=3]; 163 -> 858[label="",style="dashed", color="red", weight=0]; 163[label="primModNatS (primMinusNatS (Succ (Succ ww2700)) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="magenta"];163 -> 859[label="",style="dashed", color="magenta", weight=3]; 163 -> 860[label="",style="dashed", color="magenta", weight=3]; 163 -> 861[label="",style="dashed", color="magenta", weight=3]; 556[label="Zero",fontsize=16,color="green",shape="box"];557[label="ww2800",fontsize=16,color="green",shape="box"];555[label="primModNatS0 (Succ ww71) (Succ ww72) MyFalse",fontsize=16,color="black",shape="triangle"];555 -> 578[label="",style="solid", color="black", weight=3]; 165 -> 858[label="",style="dashed", color="red", weight=0]; 165[label="primModNatS (primMinusNatS (Succ Zero) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="magenta"];165 -> 862[label="",style="dashed", color="magenta", weight=3]; 165 -> 863[label="",style="dashed", color="magenta", weight=3]; 165 -> 864[label="",style="dashed", color="magenta", weight=3]; 709[label="primModNatS0 (Succ ww77) (Succ ww78) (primGEqNatS (Succ ww790) ww80)",fontsize=16,color="burlywood",shape="box"];940[label="ww80/Succ ww800",fontsize=10,color="white",style="solid",shape="box"];709 -> 940[label="",style="solid", color="burlywood", weight=9]; 940 -> 715[label="",style="solid", color="burlywood", weight=3]; 941[label="ww80/Zero",fontsize=10,color="white",style="solid",shape="box"];709 -> 941[label="",style="solid", color="burlywood", weight=9]; 941 -> 716[label="",style="solid", color="burlywood", weight=3]; 710[label="primModNatS0 (Succ ww77) (Succ ww78) (primGEqNatS Zero ww80)",fontsize=16,color="burlywood",shape="box"];942[label="ww80/Succ ww800",fontsize=10,color="white",style="solid",shape="box"];710 -> 942[label="",style="solid", color="burlywood", weight=9]; 942 -> 717[label="",style="solid", color="burlywood", weight=3]; 943[label="ww80/Zero",fontsize=10,color="white",style="solid",shape="box"];710 -> 943[label="",style="solid", color="burlywood", weight=9]; 943 -> 718[label="",style="solid", color="burlywood", weight=3]; 859[label="Succ Zero",fontsize=16,color="green",shape="box"];860[label="Succ Zero",fontsize=16,color="green",shape="box"];861[label="Succ (Succ ww2700)",fontsize=16,color="green",shape="box"];858[label="primModNatS (primMinusNatS ww86 ww87) (Succ ww88)",fontsize=16,color="burlywood",shape="triangle"];944[label="ww86/Succ ww860",fontsize=10,color="white",style="solid",shape="box"];858 -> 944[label="",style="solid", color="burlywood", weight=9]; 944 -> 889[label="",style="solid", color="burlywood", weight=3]; 945[label="ww86/Zero",fontsize=10,color="white",style="solid",shape="box"];858 -> 945[label="",style="solid", color="burlywood", weight=9]; 945 -> 890[label="",style="solid", color="burlywood", weight=3]; 578[label="Succ (Succ ww71)",fontsize=16,color="green",shape="box"];862[label="Succ Zero",fontsize=16,color="green",shape="box"];863[label="Succ Zero",fontsize=16,color="green",shape="box"];864[label="Succ Zero",fontsize=16,color="green",shape="box"];715[label="primModNatS0 (Succ ww77) (Succ ww78) (primGEqNatS (Succ ww790) (Succ ww800))",fontsize=16,color="black",shape="box"];715 -> 723[label="",style="solid", color="black", weight=3]; 716[label="primModNatS0 (Succ ww77) (Succ ww78) (primGEqNatS (Succ ww790) Zero)",fontsize=16,color="black",shape="box"];716 -> 724[label="",style="solid", color="black", weight=3]; 717[label="primModNatS0 (Succ ww77) (Succ ww78) (primGEqNatS Zero (Succ ww800))",fontsize=16,color="black",shape="box"];717 -> 725[label="",style="solid", color="black", weight=3]; 718[label="primModNatS0 (Succ ww77) (Succ ww78) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];718 -> 726[label="",style="solid", color="black", weight=3]; 889[label="primModNatS (primMinusNatS (Succ ww860) ww87) (Succ ww88)",fontsize=16,color="burlywood",shape="box"];946[label="ww87/Succ ww870",fontsize=10,color="white",style="solid",shape="box"];889 -> 946[label="",style="solid", color="burlywood", weight=9]; 946 -> 891[label="",style="solid", color="burlywood", weight=3]; 947[label="ww87/Zero",fontsize=10,color="white",style="solid",shape="box"];889 -> 947[label="",style="solid", color="burlywood", weight=9]; 947 -> 892[label="",style="solid", color="burlywood", weight=3]; 890[label="primModNatS (primMinusNatS Zero ww87) (Succ ww88)",fontsize=16,color="burlywood",shape="box"];948[label="ww87/Succ ww870",fontsize=10,color="white",style="solid",shape="box"];890 -> 948[label="",style="solid", color="burlywood", weight=9]; 948 -> 893[label="",style="solid", color="burlywood", weight=3]; 949[label="ww87/Zero",fontsize=10,color="white",style="solid",shape="box"];890 -> 949[label="",style="solid", color="burlywood", weight=9]; 949 -> 894[label="",style="solid", color="burlywood", weight=3]; 723 -> 668[label="",style="dashed", color="red", weight=0]; 723[label="primModNatS0 (Succ ww77) (Succ ww78) (primGEqNatS ww790 ww800)",fontsize=16,color="magenta"];723 -> 733[label="",style="dashed", color="magenta", weight=3]; 723 -> 734[label="",style="dashed", color="magenta", weight=3]; 724[label="primModNatS0 (Succ ww77) (Succ ww78) MyTrue",fontsize=16,color="black",shape="triangle"];724 -> 735[label="",style="solid", color="black", weight=3]; 725 -> 555[label="",style="dashed", color="red", weight=0]; 725[label="primModNatS0 (Succ ww77) (Succ ww78) MyFalse",fontsize=16,color="magenta"];725 -> 736[label="",style="dashed", color="magenta", weight=3]; 725 -> 737[label="",style="dashed", color="magenta", weight=3]; 726 -> 724[label="",style="dashed", color="red", weight=0]; 726[label="primModNatS0 (Succ ww77) (Succ ww78) MyTrue",fontsize=16,color="magenta"];891[label="primModNatS (primMinusNatS (Succ ww860) (Succ ww870)) (Succ ww88)",fontsize=16,color="black",shape="box"];891 -> 895[label="",style="solid", color="black", weight=3]; 892[label="primModNatS (primMinusNatS (Succ ww860) Zero) (Succ ww88)",fontsize=16,color="black",shape="box"];892 -> 896[label="",style="solid", color="black", weight=3]; 893[label="primModNatS (primMinusNatS Zero (Succ ww870)) (Succ ww88)",fontsize=16,color="black",shape="box"];893 -> 897[label="",style="solid", color="black", weight=3]; 894[label="primModNatS (primMinusNatS Zero Zero) (Succ ww88)",fontsize=16,color="black",shape="box"];894 -> 898[label="",style="solid", color="black", weight=3]; 733[label="ww800",fontsize=16,color="green",shape="box"];734[label="ww790",fontsize=16,color="green",shape="box"];735 -> 858[label="",style="dashed", color="red", weight=0]; 735[label="primModNatS (primMinusNatS (Succ ww77) (Succ (Succ ww78))) (Succ (Succ (Succ ww78)))",fontsize=16,color="magenta"];735 -> 871[label="",style="dashed", color="magenta", weight=3]; 735 -> 872[label="",style="dashed", color="magenta", weight=3]; 735 -> 873[label="",style="dashed", color="magenta", weight=3]; 736[label="ww77",fontsize=16,color="green",shape="box"];737[label="ww78",fontsize=16,color="green",shape="box"];895 -> 858[label="",style="dashed", color="red", weight=0]; 895[label="primModNatS (primMinusNatS ww860 ww870) (Succ ww88)",fontsize=16,color="magenta"];895 -> 899[label="",style="dashed", color="magenta", weight=3]; 895 -> 900[label="",style="dashed", color="magenta", weight=3]; 896 -> 93[label="",style="dashed", color="red", weight=0]; 896[label="primModNatS (Succ ww860) (Succ ww88)",fontsize=16,color="magenta"];896 -> 901[label="",style="dashed", color="magenta", weight=3]; 896 -> 902[label="",style="dashed", color="magenta", weight=3]; 897[label="primModNatS Zero (Succ ww88)",fontsize=16,color="black",shape="triangle"];897 -> 903[label="",style="solid", color="black", weight=3]; 898 -> 897[label="",style="dashed", color="red", weight=0]; 898[label="primModNatS Zero (Succ ww88)",fontsize=16,color="magenta"];871[label="Succ (Succ ww78)",fontsize=16,color="green",shape="box"];872[label="Succ (Succ ww78)",fontsize=16,color="green",shape="box"];873[label="Succ ww77",fontsize=16,color="green",shape="box"];899[label="ww870",fontsize=16,color="green",shape="box"];900[label="ww860",fontsize=16,color="green",shape="box"];901[label="ww88",fontsize=16,color="green",shape="box"];902[label="ww860",fontsize=16,color="green",shape="box"];903[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(ww77, ww78, Main.Zero, Main.Zero) -> new_primModNatS00(ww77, ww78) new_primModNatS1(Main.Succ(Main.Succ(ww2700)), Main.Succ(Main.Succ(ww2800))) -> new_primModNatS0(Main.Succ(ww2700), ww2800, ww2700, ww2800) 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(ww77, ww78, Main.Succ(ww790), Main.Succ(ww800)) -> new_primModNatS0(ww77, ww78, ww790, ww800) new_primModNatS(Main.Succ(ww860), Main.Succ(ww870), ww88) -> new_primModNatS(ww860, ww870, ww88) new_primModNatS(Main.Succ(ww860), Main.Zero, ww88) -> new_primModNatS1(ww860, ww88) new_primModNatS0(ww77, ww78, Main.Succ(ww790), Main.Zero) -> new_primModNatS(Main.Succ(ww77), Main.Succ(Main.Succ(ww78)), Main.Succ(Main.Succ(ww78))) new_primModNatS1(Main.Succ(Main.Succ(ww2700)), Main.Succ(Main.Zero)) -> new_primModNatS(Main.Succ(Main.Succ(ww2700)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS00(ww77, ww78) -> new_primModNatS(Main.Succ(ww77), Main.Succ(Main.Succ(ww78)), Main.Succ(Main.Succ(ww78))) 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(ww860), Main.Succ(ww870), ww88) -> new_primModNatS(ww860, ww870, ww88) new_primModNatS(Main.Succ(ww860), Main.Zero, ww88) -> new_primModNatS1(ww860, ww88) 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(ww77, ww78, Main.Zero, Main.Zero) -> new_primModNatS00(ww77, ww78) new_primModNatS1(Main.Succ(Main.Succ(ww2700)), Main.Succ(Main.Succ(ww2800))) -> new_primModNatS0(Main.Succ(ww2700), ww2800, ww2700, ww2800) 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(ww77, ww78, Main.Succ(ww790), Main.Succ(ww800)) -> new_primModNatS0(ww77, ww78, ww790, ww800) new_primModNatS0(ww77, ww78, Main.Succ(ww790), Main.Zero) -> new_primModNatS(Main.Succ(ww77), Main.Succ(Main.Succ(ww78)), Main.Succ(Main.Succ(ww78))) new_primModNatS1(Main.Succ(Main.Succ(ww2700)), Main.Succ(Main.Zero)) -> new_primModNatS(Main.Succ(Main.Succ(ww2700)), Main.Succ(Main.Zero), Main.Succ(Main.Zero)) new_primModNatS00(ww77, ww78) -> new_primModNatS(Main.Succ(ww77), Main.Succ(Main.Succ(ww78)), Main.Succ(Main.Succ(ww78))) 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(ww77, ww78, Main.Succ(ww790), Main.Succ(ww800)) -> new_primModNatS0(ww77, ww78, ww790, ww800) 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(ww77, ww78, Main.Succ(ww790), Main.Succ(ww800)) -> new_primModNatS0(ww77, ww78, ww790, ww800) 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(ww820), Main.Succ(ww830), ww84) -> new_primDivNatS(ww820, ww830, ww84) new_primDivNatS1(Main.Succ(ww240), Main.Succ(ww250)) -> new_primDivNatS0(ww240, ww250, ww240, ww250) new_primDivNatS0(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS0(ww66, ww67, ww680, ww690) new_primDivNatS1(Main.Zero, Main.Zero) -> new_primDivNatS(Main.Zero, Main.Zero, Main.Zero) new_primDivNatS00(ww66, ww67) -> new_primDivNatS(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67)) new_primDivNatS(Main.Succ(ww820), Main.Zero, ww84) -> new_primDivNatS1(ww820, ww84) new_primDivNatS1(Main.Succ(ww240), Main.Zero) -> new_primDivNatS(Main.Succ(ww240), Main.Zero, Main.Zero) new_primDivNatS0(ww66, ww67, Main.Succ(ww680), Main.Zero) -> new_primDivNatS(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67)) new_primDivNatS0(ww66, ww67, Main.Zero, Main.Zero) -> new_primDivNatS00(ww66, ww67) 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(ww820), Main.Zero, ww84) -> new_primDivNatS1(ww820, ww84) new_primDivNatS1(Main.Succ(ww240), Main.Succ(ww250)) -> new_primDivNatS0(ww240, ww250, ww240, ww250) new_primDivNatS0(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS0(ww66, ww67, ww680, ww690) new_primDivNatS0(ww66, ww67, Main.Succ(ww680), Main.Zero) -> new_primDivNatS(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67)) new_primDivNatS(Main.Succ(ww820), Main.Succ(ww830), ww84) -> new_primDivNatS(ww820, ww830, ww84) new_primDivNatS0(ww66, ww67, Main.Zero, Main.Zero) -> new_primDivNatS00(ww66, ww67) new_primDivNatS00(ww66, ww67) -> new_primDivNatS(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67)) new_primDivNatS1(Main.Succ(ww240), Main.Zero) -> new_primDivNatS(Main.Succ(ww240), 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(ww820), Main.Zero, ww84) -> new_primDivNatS1(ww820, ww84) new_primDivNatS(Main.Succ(ww820), Main.Succ(ww830), ww84) -> new_primDivNatS(ww820, ww830, 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_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(ww240), Main.Succ(ww250)) -> new_primDivNatS0(ww240, ww250, ww240, ww250) new_primDivNatS0(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS0(ww66, ww67, ww680, ww690) new_primDivNatS0(ww66, ww67, Main.Succ(ww680), Main.Zero) -> new_primDivNatS(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67)) new_primDivNatS0(ww66, ww67, Main.Zero, Main.Zero) -> new_primDivNatS00(ww66, ww67) new_primDivNatS00(ww66, ww67) -> new_primDivNatS(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67)) new_primDivNatS1(Main.Succ(ww240), Main.Zero) -> new_primDivNatS(Main.Succ(ww240), 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(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS0(ww66, ww67, ww680, ww690) 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(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS0(ww66, ww67, ww680, ww690) 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(ww220, ww221), ww21) -> new_psPs(ww221, ww21) 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(ww220, ww221), ww21) -> new_psPs(ww221, ww21) 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(ww40)) -> new_primShowInt(Main.Pos(ww40)) new_primShowInt(Main.Pos(Main.Succ(ww400))) -> new_primShowInt(new_divMyInt(ww400, 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_primDivNatS3(Main.Succ(ww820), Main.Zero, ww84) -> new_primDivNatS2(ww820, ww84) new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS02(ww66, ww67, ww680, ww690) new_primDivNatS4(ww84) -> Main.Zero new_primDivNatS02(ww66, ww67, Main.Zero, Main.Zero) -> new_primDivNatS01(ww66, ww67) new_divMyInt(ww24, ww25) -> Main.Pos(new_primDivNatS2(ww24, ww25)) new_primDivNatS2(Main.Succ(ww240), Main.Succ(ww250)) -> new_primDivNatS02(ww240, ww250, ww240, ww250) new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS3(Main.Zero, Main.Succ(ww830), ww84) -> new_primDivNatS4(ww84) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Succ(ww690)) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero, ww84) -> new_primDivNatS4(ww84) new_primDivNatS3(Main.Succ(ww820), Main.Succ(ww830), ww84) -> new_primDivNatS3(ww820, ww830, ww84) new_primDivNatS2(Main.Succ(ww240), Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Succ(ww240), Main.Zero, Main.Zero)) new_primDivNatS01(ww66, ww67) -> Main.Succ(new_primDivNatS3(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67))) new_primDivNatS2(Main.Zero, Main.Succ(ww250)) -> Main.Zero The set Q consists of the following terms: new_primDivNatS3(Main.Succ(x0), Main.Zero, x1) new_primDivNatS3(Main.Zero, Main.Zero, x0) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS3(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_divMyInt(x0, x1) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS4(x0) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) 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(ww400))) -> new_primShowInt(new_divMyInt(ww400, 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_primDivNatS3(Main.Succ(ww820), Main.Zero, ww84) -> new_primDivNatS2(ww820, ww84) new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS02(ww66, ww67, ww680, ww690) new_primDivNatS4(ww84) -> Main.Zero new_primDivNatS02(ww66, ww67, Main.Zero, Main.Zero) -> new_primDivNatS01(ww66, ww67) new_divMyInt(ww24, ww25) -> Main.Pos(new_primDivNatS2(ww24, ww25)) new_primDivNatS2(Main.Succ(ww240), Main.Succ(ww250)) -> new_primDivNatS02(ww240, ww250, ww240, ww250) new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS3(Main.Zero, Main.Succ(ww830), ww84) -> new_primDivNatS4(ww84) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Succ(ww690)) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero, ww84) -> new_primDivNatS4(ww84) new_primDivNatS3(Main.Succ(ww820), Main.Succ(ww830), ww84) -> new_primDivNatS3(ww820, ww830, ww84) new_primDivNatS2(Main.Succ(ww240), Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Succ(ww240), Main.Zero, Main.Zero)) new_primDivNatS01(ww66, ww67) -> Main.Succ(new_primDivNatS3(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67))) new_primDivNatS2(Main.Zero, Main.Succ(ww250)) -> Main.Zero The set Q consists of the following terms: new_primDivNatS3(Main.Succ(x0), Main.Zero, x1) new_primDivNatS3(Main.Zero, Main.Zero, x0) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS3(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_divMyInt(x0, x1) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS4(x0) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (29) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_primShowInt(Main.Pos(Main.Succ(ww400))) -> new_primShowInt(new_divMyInt(ww400, 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(ww400))) -> new_primShowInt(Main.Pos(new_primDivNatS2(ww400, 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(ww400))) -> new_primShowInt(Main.Pos(new_primDivNatS2(ww400, 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(ww400))) -> new_primShowInt(Main.Pos(new_primDivNatS2(ww400, 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_primDivNatS3(Main.Succ(ww820), Main.Zero, ww84) -> new_primDivNatS2(ww820, ww84) new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS02(ww66, ww67, ww680, ww690) new_primDivNatS4(ww84) -> Main.Zero new_primDivNatS02(ww66, ww67, Main.Zero, Main.Zero) -> new_primDivNatS01(ww66, ww67) new_divMyInt(ww24, ww25) -> Main.Pos(new_primDivNatS2(ww24, ww25)) new_primDivNatS2(Main.Succ(ww240), Main.Succ(ww250)) -> new_primDivNatS02(ww240, ww250, ww240, ww250) new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS3(Main.Zero, Main.Succ(ww830), ww84) -> new_primDivNatS4(ww84) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Succ(ww690)) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS3(Main.Zero, Main.Zero, ww84) -> new_primDivNatS4(ww84) new_primDivNatS3(Main.Succ(ww820), Main.Succ(ww830), ww84) -> new_primDivNatS3(ww820, ww830, ww84) new_primDivNatS2(Main.Succ(ww240), Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Succ(ww240), Main.Zero, Main.Zero)) new_primDivNatS01(ww66, ww67) -> Main.Succ(new_primDivNatS3(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67))) new_primDivNatS2(Main.Zero, Main.Succ(ww250)) -> Main.Zero The set Q consists of the following terms: new_primDivNatS3(Main.Succ(x0), Main.Zero, x1) new_primDivNatS3(Main.Zero, Main.Zero, x0) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS3(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_divMyInt(x0, x1) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS4(x0) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) 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(ww400))) -> new_primShowInt(Main.Pos(new_primDivNatS2(ww400, 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(ww240), Main.Succ(ww250)) -> new_primDivNatS02(ww240, ww250, ww240, ww250) new_primDivNatS2(Main.Zero, Main.Succ(ww250)) -> Main.Zero new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS02(ww66, ww67, ww680, ww690) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Succ(ww690)) -> Main.Zero new_primDivNatS01(ww66, ww67) -> Main.Succ(new_primDivNatS3(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67))) new_primDivNatS3(Main.Succ(ww820), Main.Succ(ww830), ww84) -> new_primDivNatS3(ww820, ww830, ww84) new_primDivNatS3(Main.Succ(ww820), Main.Zero, ww84) -> new_primDivNatS2(ww820, ww84) new_primDivNatS3(Main.Zero, Main.Succ(ww830), ww84) -> new_primDivNatS4(ww84) new_primDivNatS3(Main.Zero, Main.Zero, ww84) -> new_primDivNatS4(ww84) new_primDivNatS4(ww84) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww240), Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Succ(ww240), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS3(Main.Succ(x0), Main.Zero, x1) new_primDivNatS3(Main.Zero, Main.Zero, x0) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS3(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_divMyInt(x0, x1) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS4(x0) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) 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(ww400))) -> new_primShowInt(Main.Pos(new_primDivNatS2(ww400, 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(ww240), Main.Succ(ww250)) -> new_primDivNatS02(ww240, ww250, ww240, ww250) new_primDivNatS2(Main.Zero, Main.Succ(ww250)) -> Main.Zero new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS02(ww66, ww67, ww680, ww690) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Succ(ww690)) -> Main.Zero new_primDivNatS01(ww66, ww67) -> Main.Succ(new_primDivNatS3(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67))) new_primDivNatS3(Main.Succ(ww820), Main.Succ(ww830), ww84) -> new_primDivNatS3(ww820, ww830, ww84) new_primDivNatS3(Main.Succ(ww820), Main.Zero, ww84) -> new_primDivNatS2(ww820, ww84) new_primDivNatS3(Main.Zero, Main.Succ(ww830), ww84) -> new_primDivNatS4(ww84) new_primDivNatS3(Main.Zero, Main.Zero, ww84) -> new_primDivNatS4(ww84) new_primDivNatS4(ww84) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww240), Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Succ(ww240), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS3(Main.Succ(x0), Main.Zero, x1) new_primDivNatS3(Main.Zero, Main.Zero, x0) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS3(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS4(x0) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) 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(ww400))) -> new_primShowInt(Main.Pos(new_primDivNatS2(ww400, 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(ww240), Main.Succ(ww250)) -> new_primDivNatS02(ww240, ww250, ww240, ww250) new_primDivNatS2(Main.Zero, Main.Succ(ww250)) -> Main.Zero new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS02(ww66, ww67, ww680, ww690) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Succ(ww690)) -> Main.Zero new_primDivNatS01(ww66, ww67) -> Main.Succ(new_primDivNatS3(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67))) new_primDivNatS3(Main.Succ(ww820), Main.Succ(ww830), ww84) -> new_primDivNatS3(ww820, ww830, ww84) new_primDivNatS3(Main.Succ(ww820), Main.Zero, ww84) -> new_primDivNatS2(ww820, ww84) new_primDivNatS3(Main.Zero, Main.Succ(ww830), ww84) -> new_primDivNatS4(ww84) new_primDivNatS3(Main.Zero, Main.Zero, ww84) -> new_primDivNatS4(ww84) new_primDivNatS4(ww84) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww240), Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Succ(ww240), 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(ww400))) -> new_primShowInt(Main.Pos(new_primDivNatS2(ww400, 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_primDivNatS02(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_primDivNatS3(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_primDivNatS3(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_primDivNatS02(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_primDivNatS02(x4, x3, x7, x8)=Main.Succ(x1) which results in the following new constraints: (7) (new_primDivNatS02(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_primDivNatS02(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_primDivNatS01(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_primDivNatS01(x18, x17)=Main.Succ(x1) & x18=Main.Succ(x16) & x17=Main.Zero & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x17 ==> new_primShowInt(Main.Pos(Main.Succ(Main.Succ(x18))))_>=_new_primShowInt(Main.Pos(new_primDivNatS2(Main.Succ(x18), 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(ww400))) -> new_primShowInt(Main.Pos(new_primDivNatS2(ww400, 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(ww400))) -> new_primShowInt(Main.Pos(new_primDivNatS2(ww400, 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(ww240), Main.Succ(ww250)) -> new_primDivNatS02(ww240, ww250, ww240, ww250) new_primDivNatS2(Main.Zero, Main.Succ(ww250)) -> Main.Zero new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS02(ww66, ww67, ww680, ww690) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Succ(ww690)) -> Main.Zero new_primDivNatS01(ww66, ww67) -> Main.Succ(new_primDivNatS3(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67))) new_primDivNatS3(Main.Succ(ww820), Main.Succ(ww830), ww84) -> new_primDivNatS3(ww820, ww830, ww84) new_primDivNatS3(Main.Succ(ww820), Main.Zero, ww84) -> new_primDivNatS2(ww820, ww84) new_primDivNatS3(Main.Zero, Main.Succ(ww830), ww84) -> new_primDivNatS4(ww84) new_primDivNatS3(Main.Zero, Main.Zero, ww84) -> new_primDivNatS4(ww84) new_primDivNatS4(ww84) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww240), Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Succ(ww240), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS3(Main.Succ(x0), Main.Zero, x1) new_primDivNatS3(Main.Zero, Main.Zero, x0) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS3(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS4(x0) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (39) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_primShowInt(Main.Pos(Main.Succ(ww400))) -> new_primShowInt(Main.Pos(new_primDivNatS2(ww400, 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_primDivNatS02(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_primDivNatS02(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_primDivNatS02(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(ww240), Main.Succ(ww250)) -> new_primDivNatS02(ww240, ww250, ww240, ww250) new_primDivNatS2(Main.Zero, Main.Succ(ww250)) -> Main.Zero new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS02(ww66, ww67, ww680, ww690) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Succ(ww690)) -> Main.Zero new_primDivNatS01(ww66, ww67) -> Main.Succ(new_primDivNatS3(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67))) new_primDivNatS3(Main.Succ(ww820), Main.Succ(ww830), ww84) -> new_primDivNatS3(ww820, ww830, ww84) new_primDivNatS3(Main.Succ(ww820), Main.Zero, ww84) -> new_primDivNatS2(ww820, ww84) new_primDivNatS3(Main.Zero, Main.Succ(ww830), ww84) -> new_primDivNatS4(ww84) new_primDivNatS3(Main.Zero, Main.Zero, ww84) -> new_primDivNatS4(ww84) new_primDivNatS4(ww84) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww240), Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Succ(ww240), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS3(Main.Succ(x0), Main.Zero, x1) new_primDivNatS3(Main.Zero, Main.Zero, x0) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS3(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS4(x0) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) 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_primDivNatS02(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(ww240), Main.Succ(ww250)) -> new_primDivNatS02(ww240, ww250, ww240, ww250) new_primDivNatS2(Main.Zero, Main.Succ(ww250)) -> Main.Zero new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS02(ww66, ww67, ww680, ww690) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Succ(ww690)) -> Main.Zero new_primDivNatS01(ww66, ww67) -> Main.Succ(new_primDivNatS3(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67))) new_primDivNatS3(Main.Succ(ww820), Main.Succ(ww830), ww84) -> new_primDivNatS3(ww820, ww830, ww84) new_primDivNatS3(Main.Succ(ww820), Main.Zero, ww84) -> new_primDivNatS2(ww820, ww84) new_primDivNatS3(Main.Zero, Main.Succ(ww830), ww84) -> new_primDivNatS4(ww84) new_primDivNatS3(Main.Zero, Main.Zero, ww84) -> new_primDivNatS4(ww84) new_primDivNatS4(ww84) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww240), Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Succ(ww240), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS3(Main.Succ(x0), Main.Zero, x1) new_primDivNatS3(Main.Zero, Main.Zero, x0) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS3(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS4(x0) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) 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_primDivNatS02(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_primDivNatS02(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))),new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(x2))))) -> new_primShowInt(Main.Pos(new_primDivNatS02(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))))) (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_primDivNatS02(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) 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(ww240), Main.Succ(ww250)) -> new_primDivNatS02(ww240, ww250, ww240, ww250) new_primDivNatS2(Main.Zero, Main.Succ(ww250)) -> Main.Zero new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS02(ww66, ww67, ww680, ww690) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Succ(ww690)) -> Main.Zero new_primDivNatS01(ww66, ww67) -> Main.Succ(new_primDivNatS3(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67))) new_primDivNatS3(Main.Succ(ww820), Main.Succ(ww830), ww84) -> new_primDivNatS3(ww820, ww830, ww84) new_primDivNatS3(Main.Succ(ww820), Main.Zero, ww84) -> new_primDivNatS2(ww820, ww84) new_primDivNatS3(Main.Zero, Main.Succ(ww830), ww84) -> new_primDivNatS4(ww84) new_primDivNatS3(Main.Zero, Main.Zero, ww84) -> new_primDivNatS4(ww84) new_primDivNatS4(ww84) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww240), Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Succ(ww240), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS3(Main.Succ(x0), Main.Zero, x1) new_primDivNatS3(Main.Zero, Main.Zero, x0) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS3(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS4(x0) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) 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_primDivNatS02(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) The TRS R consists of the following rules: new_primDivNatS2(Main.Succ(ww240), Main.Succ(ww250)) -> new_primDivNatS02(ww240, ww250, ww240, ww250) new_primDivNatS2(Main.Zero, Main.Succ(ww250)) -> Main.Zero new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS02(ww66, ww67, ww680, ww690) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Succ(ww690)) -> Main.Zero new_primDivNatS01(ww66, ww67) -> Main.Succ(new_primDivNatS3(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67))) new_primDivNatS3(Main.Succ(ww820), Main.Succ(ww830), ww84) -> new_primDivNatS3(ww820, ww830, ww84) new_primDivNatS3(Main.Succ(ww820), Main.Zero, ww84) -> new_primDivNatS2(ww820, ww84) new_primDivNatS3(Main.Zero, Main.Succ(ww830), ww84) -> new_primDivNatS4(ww84) new_primDivNatS3(Main.Zero, Main.Zero, ww84) -> new_primDivNatS4(ww84) new_primDivNatS4(ww84) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww240), Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Succ(ww240), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS3(Main.Succ(x0), Main.Zero, x1) new_primDivNatS3(Main.Zero, Main.Zero, x0) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS3(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS4(x0) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) 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_primDivNatS02(Main.Succ(x2), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) 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_primDivNatS02(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))),new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2)))))) -> new_primShowInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))))) (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_primDivNatS02(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) 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(ww240), Main.Succ(ww250)) -> new_primDivNatS02(ww240, ww250, ww240, ww250) new_primDivNatS2(Main.Zero, Main.Succ(ww250)) -> Main.Zero new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS02(ww66, ww67, ww680, ww690) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Succ(ww690)) -> Main.Zero new_primDivNatS01(ww66, ww67) -> Main.Succ(new_primDivNatS3(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67))) new_primDivNatS3(Main.Succ(ww820), Main.Succ(ww830), ww84) -> new_primDivNatS3(ww820, ww830, ww84) new_primDivNatS3(Main.Succ(ww820), Main.Zero, ww84) -> new_primDivNatS2(ww820, ww84) new_primDivNatS3(Main.Zero, Main.Succ(ww830), ww84) -> new_primDivNatS4(ww84) new_primDivNatS3(Main.Zero, Main.Zero, ww84) -> new_primDivNatS4(ww84) new_primDivNatS4(ww84) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww240), Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Succ(ww240), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS3(Main.Succ(x0), Main.Zero, x1) new_primDivNatS3(Main.Zero, Main.Zero, x0) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS3(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS4(x0) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) 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_primDivNatS02(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) The TRS R consists of the following rules: new_primDivNatS2(Main.Succ(ww240), Main.Succ(ww250)) -> new_primDivNatS02(ww240, ww250, ww240, ww250) new_primDivNatS2(Main.Zero, Main.Succ(ww250)) -> Main.Zero new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS02(ww66, ww67, ww680, ww690) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Succ(ww690)) -> Main.Zero new_primDivNatS01(ww66, ww67) -> Main.Succ(new_primDivNatS3(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67))) new_primDivNatS3(Main.Succ(ww820), Main.Succ(ww830), ww84) -> new_primDivNatS3(ww820, ww830, ww84) new_primDivNatS3(Main.Succ(ww820), Main.Zero, ww84) -> new_primDivNatS2(ww820, ww84) new_primDivNatS3(Main.Zero, Main.Succ(ww830), ww84) -> new_primDivNatS4(ww84) new_primDivNatS3(Main.Zero, Main.Zero, ww84) -> new_primDivNatS4(ww84) new_primDivNatS4(ww84) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww240), Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Succ(ww240), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS3(Main.Succ(x0), Main.Zero, x1) new_primDivNatS3(Main.Zero, Main.Zero, x0) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS3(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS4(x0) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) 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_primDivNatS02(Main.Succ(Main.Succ(x2)), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) 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_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))),new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x2))))))) -> new_primShowInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) (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_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) 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(ww240), Main.Succ(ww250)) -> new_primDivNatS02(ww240, ww250, ww240, ww250) new_primDivNatS2(Main.Zero, Main.Succ(ww250)) -> Main.Zero new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS02(ww66, ww67, ww680, ww690) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Succ(ww690)) -> Main.Zero new_primDivNatS01(ww66, ww67) -> Main.Succ(new_primDivNatS3(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67))) new_primDivNatS3(Main.Succ(ww820), Main.Succ(ww830), ww84) -> new_primDivNatS3(ww820, ww830, ww84) new_primDivNatS3(Main.Succ(ww820), Main.Zero, ww84) -> new_primDivNatS2(ww820, ww84) new_primDivNatS3(Main.Zero, Main.Succ(ww830), ww84) -> new_primDivNatS4(ww84) new_primDivNatS3(Main.Zero, Main.Zero, ww84) -> new_primDivNatS4(ww84) new_primDivNatS4(ww84) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww240), Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Succ(ww240), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS3(Main.Succ(x0), Main.Zero, x1) new_primDivNatS3(Main.Zero, Main.Zero, x0) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS3(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS4(x0) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) 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_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) The TRS R consists of the following rules: new_primDivNatS2(Main.Succ(ww240), Main.Succ(ww250)) -> new_primDivNatS02(ww240, ww250, ww240, ww250) new_primDivNatS2(Main.Zero, Main.Succ(ww250)) -> Main.Zero new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS02(ww66, ww67, ww680, ww690) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Succ(ww690)) -> Main.Zero new_primDivNatS01(ww66, ww67) -> Main.Succ(new_primDivNatS3(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67))) new_primDivNatS3(Main.Succ(ww820), Main.Succ(ww830), ww84) -> new_primDivNatS3(ww820, ww830, ww84) new_primDivNatS3(Main.Succ(ww820), Main.Zero, ww84) -> new_primDivNatS2(ww820, ww84) new_primDivNatS3(Main.Zero, Main.Succ(ww830), ww84) -> new_primDivNatS4(ww84) new_primDivNatS3(Main.Zero, Main.Zero, ww84) -> new_primDivNatS4(ww84) new_primDivNatS4(ww84) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww240), Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Succ(ww240), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS3(Main.Succ(x0), Main.Zero, x1) new_primDivNatS3(Main.Zero, Main.Zero, x0) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS3(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS4(x0) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) 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_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) The TRS R consists of the following rules: new_primDivNatS2(Main.Succ(ww240), Main.Succ(ww250)) -> new_primDivNatS02(ww240, ww250, ww240, ww250) new_primDivNatS2(Main.Zero, Main.Succ(ww250)) -> Main.Zero new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS02(ww66, ww67, ww680, ww690) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Succ(ww690)) -> Main.Zero new_primDivNatS01(ww66, ww67) -> Main.Succ(new_primDivNatS3(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67))) new_primDivNatS3(Main.Succ(ww820), Main.Succ(ww830), ww84) -> new_primDivNatS3(ww820, ww830, ww84) new_primDivNatS3(Main.Succ(ww820), Main.Zero, ww84) -> new_primDivNatS2(ww820, ww84) new_primDivNatS3(Main.Zero, Main.Succ(ww830), ww84) -> new_primDivNatS4(ww84) new_primDivNatS3(Main.Zero, Main.Zero, ww84) -> new_primDivNatS4(ww84) new_primDivNatS4(ww84) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww240), Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Succ(ww240), 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_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) 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_primDivNatS02(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_primDivNatS02(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_primDivNatS02(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_primDivNatS02(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_primDivNatS02(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_primDivNatS02(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_primDivNatS02(x2, x3, x0, x4)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) which results in the following new constraints: (3) (new_primDivNatS02(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_primDivNatS02(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_primDivNatS02(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_primDivNatS02(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_primDivNatS01(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_primDivNatS02(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_primDivNatS01(x14, x13)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(x12))))=x14 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x13 & 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(x12))))))))_>=_new_primShowInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x12)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(x12), 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_primDivNatS02(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_primDivNatS02(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_primDivNatS02(x8, x7, x6, x5)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) which results in the following new constraints: (7) (new_primDivNatS02(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_primDivNatS02(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_primDivNatS02(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_primDivNatS02(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_primDivNatS01(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_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Zero), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))) (9) (new_primDivNatS01(x27, x26)=Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x1))))) & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x25)))))=x27 & Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero))))))))=x26 & 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(x25)))))))))_>=_new_primShowInt(Main.Pos(new_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x25))))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), Main.Succ(Main.Succ(x25)), 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_primDivNatS02(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_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) *(new_primShowInt(Main.Pos(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(x19)))))))))_>=_new_primShowInt(Main.Pos(new_primDivNatS02(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_primDivNatS02(Main.Succ(Main.Succ(Main.Succ(x2))), Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))), x2, Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Succ(Main.Zero)))))))) The TRS R consists of the following rules: new_primDivNatS2(Main.Succ(ww240), Main.Succ(ww250)) -> new_primDivNatS02(ww240, ww250, ww240, ww250) new_primDivNatS2(Main.Zero, Main.Succ(ww250)) -> Main.Zero new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Succ(ww690)) -> new_primDivNatS02(ww66, ww67, ww680, ww690) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Succ(ww680), Main.Zero) -> new_primDivNatS01(ww66, ww67) new_primDivNatS02(ww66, ww67, Main.Zero, Main.Succ(ww690)) -> Main.Zero new_primDivNatS01(ww66, ww67) -> Main.Succ(new_primDivNatS3(Main.Succ(ww66), Main.Succ(ww67), Main.Succ(ww67))) new_primDivNatS3(Main.Succ(ww820), Main.Succ(ww830), ww84) -> new_primDivNatS3(ww820, ww830, ww84) new_primDivNatS3(Main.Succ(ww820), Main.Zero, ww84) -> new_primDivNatS2(ww820, ww84) new_primDivNatS3(Main.Zero, Main.Succ(ww830), ww84) -> new_primDivNatS4(ww84) new_primDivNatS3(Main.Zero, Main.Zero, ww84) -> new_primDivNatS4(ww84) new_primDivNatS4(ww84) -> Main.Zero new_primDivNatS2(Main.Zero, Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Zero, Main.Zero, Main.Zero)) new_primDivNatS2(Main.Succ(ww240), Main.Zero) -> Main.Succ(new_primDivNatS3(Main.Succ(ww240), Main.Zero, Main.Zero)) The set Q consists of the following terms: new_primDivNatS3(Main.Succ(x0), Main.Zero, x1) new_primDivNatS3(Main.Zero, Main.Zero, x0) new_primDivNatS2(Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Zero) new_primDivNatS01(x0, x1) new_primDivNatS2(Main.Succ(x0), Main.Succ(x1)) new_primDivNatS3(Main.Succ(x0), Main.Succ(x1), x2) new_primDivNatS3(Main.Zero, Main.Succ(x0), x1) new_primDivNatS2(Main.Zero, Main.Succ(x0)) new_primDivNatS02(x0, x1, Main.Zero, Main.Zero) new_primDivNatS02(x0, x1, Main.Succ(x2), Main.Succ(x3)) new_primDivNatS2(Main.Succ(x0), Main.Zero) new_primDivNatS4(x0) new_primDivNatS02(x0, x1, Main.Zero, Main.Succ(x2)) 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="showsPrecMyInt",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="showsPrecMyInt ww3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="showsPrecMyInt ww3 ww4",fontsize=16,color="grey",shape="box"];4 -> 5[label="",style="dashed", color="grey", weight=3]; 5[label="showsPrecMyInt ww3 ww4 ww5",fontsize=16,color="black",shape="triangle"];5 -> 6[label="",style="solid", color="black", weight=3]; 6 -> 36[label="",style="dashed", color="red", weight=0]; 6[label="psPs (showMyInt ww4) ww5",fontsize=16,color="magenta"];6 -> 37[label="",style="dashed", color="magenta", weight=3]; 6 -> 38[label="",style="dashed", color="magenta", weight=3]; 37[label="showMyInt ww4",fontsize=16,color="black",shape="box"];37 -> 52[label="",style="solid", color="black", weight=3]; 38[label="ww5",fontsize=16,color="green",shape="box"];36[label="psPs ww22 ww21",fontsize=16,color="burlywood",shape="triangle"];904[label="ww22/Cons ww220 ww221",fontsize=10,color="white",style="solid",shape="box"];36 -> 904[label="",style="solid", color="burlywood", weight=9]; 904 -> 53[label="",style="solid", color="burlywood", weight=3]; 905[label="ww22/Nil",fontsize=10,color="white",style="solid",shape="box"];36 -> 905[label="",style="solid", color="burlywood", weight=9]; 905 -> 54[label="",style="solid", color="burlywood", weight=3]; 52[label="primShowInt ww4",fontsize=16,color="burlywood",shape="triangle"];906[label="ww4/Pos ww40",fontsize=10,color="white",style="solid",shape="box"];52 -> 906[label="",style="solid", color="burlywood", weight=9]; 906 -> 55[label="",style="solid", color="burlywood", weight=3]; 907[label="ww4/Neg ww40",fontsize=10,color="white",style="solid",shape="box"];52 -> 907[label="",style="solid", color="burlywood", weight=9]; 907 -> 56[label="",style="solid", color="burlywood", weight=3]; 53[label="psPs (Cons ww220 ww221) ww21",fontsize=16,color="black",shape="box"];53 -> 57[label="",style="solid", color="black", weight=3]; 54[label="psPs Nil ww21",fontsize=16,color="black",shape="box"];54 -> 58[label="",style="solid", color="black", weight=3]; 55[label="primShowInt (Pos ww40)",fontsize=16,color="burlywood",shape="box"];908[label="ww40/Succ ww400",fontsize=10,color="white",style="solid",shape="box"];55 -> 908[label="",style="solid", color="burlywood", weight=9]; 908 -> 59[label="",style="solid", color="burlywood", weight=3]; 909[label="ww40/Zero",fontsize=10,color="white",style="solid",shape="box"];55 -> 909[label="",style="solid", color="burlywood", weight=9]; 909 -> 60[label="",style="solid", color="burlywood", weight=3]; 56[label="primShowInt (Neg ww40)",fontsize=16,color="black",shape="box"];56 -> 61[label="",style="solid", color="black", weight=3]; 57[label="Cons ww220 (psPs ww221 ww21)",fontsize=16,color="green",shape="box"];57 -> 62[label="",style="dashed", color="green", weight=3]; 58[label="ww21",fontsize=16,color="green",shape="box"];59[label="primShowInt (Pos (Succ ww400))",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 ww40))",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 ww221 ww21",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 ww400)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) (Cons (toEnumChar (modMyInt (Pos (Succ ww400)) (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 ww40)",fontsize=16,color="magenta"];65 -> 69[label="",style="dashed", color="magenta", weight=3]; 66[label="ww221",fontsize=16,color="green",shape="box"];67 -> 52[label="",style="dashed", color="red", weight=0]; 67[label="primShowInt (divMyInt (Pos (Succ ww400)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))",fontsize=16,color="magenta"];67 -> 70[label="",style="dashed", color="magenta", weight=3]; 68[label="Cons (toEnumChar (modMyInt (Pos (Succ ww400)) (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) Nil",fontsize=16,color="green",shape="box"];68 -> 71[label="",style="dashed", color="green", weight=3]; 69[label="Pos ww40",fontsize=16,color="green",shape="box"];70 -> 72[label="",style="dashed", color="red", weight=0]; 70[label="divMyInt (Pos (Succ ww400)) (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="toEnumChar (modMyInt (Pos (Succ ww400)) (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="ww400",fontsize=16,color="green",shape="box"];72[label="divMyInt (Pos (Succ ww24)) (Pos (Succ ww25))",fontsize=16,color="black",shape="triangle"];72 -> 78[label="",style="solid", color="black", weight=3]; 76[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];77[label="ww400",fontsize=16,color="green",shape="box"];75[label="toEnumChar (modMyInt (Pos (Succ ww27)) (Pos (Succ ww28)))",fontsize=16,color="black",shape="triangle"];75 -> 79[label="",style="solid", color="black", weight=3]; 78[label="primDivInt (Pos (Succ ww24)) (Pos (Succ ww25))",fontsize=16,color="black",shape="box"];78 -> 80[label="",style="solid", color="black", weight=3]; 79[label="primIntToChar (modMyInt (Pos (Succ ww27)) (Pos (Succ ww28)))",fontsize=16,color="black",shape="box"];79 -> 81[label="",style="solid", color="black", weight=3]; 80[label="Pos (primDivNatS (Succ ww24) (Succ ww25))",fontsize=16,color="green",shape="box"];80 -> 82[label="",style="dashed", color="green", weight=3]; 81[label="Char (modMyInt (Pos (Succ ww27)) (Pos (Succ ww28)))",fontsize=16,color="green",shape="box"];81 -> 83[label="",style="dashed", color="green", weight=3]; 82[label="primDivNatS (Succ ww24) (Succ ww25)",fontsize=16,color="black",shape="triangle"];82 -> 84[label="",style="solid", color="black", weight=3]; 83[label="modMyInt (Pos (Succ ww27)) (Pos (Succ ww28))",fontsize=16,color="black",shape="box"];83 -> 85[label="",style="solid", color="black", weight=3]; 84[label="primDivNatS0 ww24 ww25 (primGEqNatS ww24 ww25)",fontsize=16,color="burlywood",shape="box"];910[label="ww24/Succ ww240",fontsize=10,color="white",style="solid",shape="box"];84 -> 910[label="",style="solid", color="burlywood", weight=9]; 910 -> 86[label="",style="solid", color="burlywood", weight=3]; 911[label="ww24/Zero",fontsize=10,color="white",style="solid",shape="box"];84 -> 911[label="",style="solid", color="burlywood", weight=9]; 911 -> 87[label="",style="solid", color="burlywood", weight=3]; 85[label="primModInt (Pos (Succ ww27)) (Pos (Succ ww28))",fontsize=16,color="black",shape="box"];85 -> 88[label="",style="solid", color="black", weight=3]; 86[label="primDivNatS0 (Succ ww240) ww25 (primGEqNatS (Succ ww240) ww25)",fontsize=16,color="burlywood",shape="box"];912[label="ww25/Succ ww250",fontsize=10,color="white",style="solid",shape="box"];86 -> 912[label="",style="solid", color="burlywood", weight=9]; 912 -> 89[label="",style="solid", color="burlywood", weight=3]; 913[label="ww25/Zero",fontsize=10,color="white",style="solid",shape="box"];86 -> 913[label="",style="solid", color="burlywood", weight=9]; 913 -> 90[label="",style="solid", color="burlywood", weight=3]; 87[label="primDivNatS0 Zero ww25 (primGEqNatS Zero ww25)",fontsize=16,color="burlywood",shape="box"];914[label="ww25/Succ ww250",fontsize=10,color="white",style="solid",shape="box"];87 -> 914[label="",style="solid", color="burlywood", weight=9]; 914 -> 91[label="",style="solid", color="burlywood", weight=3]; 915[label="ww25/Zero",fontsize=10,color="white",style="solid",shape="box"];87 -> 915[label="",style="solid", color="burlywood", weight=9]; 915 -> 92[label="",style="solid", color="burlywood", weight=3]; 88[label="Pos (primModNatS (Succ ww27) (Succ ww28))",fontsize=16,color="green",shape="box"];88 -> 93[label="",style="dashed", color="green", weight=3]; 89[label="primDivNatS0 (Succ ww240) (Succ ww250) (primGEqNatS (Succ ww240) (Succ ww250))",fontsize=16,color="black",shape="box"];89 -> 94[label="",style="solid", color="black", weight=3]; 90[label="primDivNatS0 (Succ ww240) Zero (primGEqNatS (Succ ww240) Zero)",fontsize=16,color="black",shape="box"];90 -> 95[label="",style="solid", color="black", weight=3]; 91[label="primDivNatS0 Zero (Succ ww250) (primGEqNatS Zero (Succ ww250))",fontsize=16,color="black",shape="box"];91 -> 96[label="",style="solid", color="black", weight=3]; 92[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];92 -> 97[label="",style="solid", color="black", weight=3]; 93[label="primModNatS (Succ ww27) (Succ ww28)",fontsize=16,color="burlywood",shape="triangle"];916[label="ww28/Succ ww280",fontsize=10,color="white",style="solid",shape="box"];93 -> 916[label="",style="solid", color="burlywood", weight=9]; 916 -> 98[label="",style="solid", color="burlywood", weight=3]; 917[label="ww28/Zero",fontsize=10,color="white",style="solid",shape="box"];93 -> 917[label="",style="solid", color="burlywood", weight=9]; 917 -> 99[label="",style="solid", color="burlywood", weight=3]; 94 -> 509[label="",style="dashed", color="red", weight=0]; 94[label="primDivNatS0 (Succ ww240) (Succ ww250) (primGEqNatS ww240 ww250)",fontsize=16,color="magenta"];94 -> 510[label="",style="dashed", color="magenta", weight=3]; 94 -> 511[label="",style="dashed", color="magenta", weight=3]; 94 -> 512[label="",style="dashed", color="magenta", weight=3]; 94 -> 513[label="",style="dashed", color="magenta", weight=3]; 95[label="primDivNatS0 (Succ ww240) Zero MyTrue",fontsize=16,color="black",shape="box"];95 -> 102[label="",style="solid", color="black", weight=3]; 96[label="primDivNatS0 Zero (Succ ww250) MyFalse",fontsize=16,color="black",shape="box"];96 -> 103[label="",style="solid", color="black", weight=3]; 97[label="primDivNatS0 Zero Zero MyTrue",fontsize=16,color="black",shape="box"];97 -> 104[label="",style="solid", color="black", weight=3]; 98[label="primModNatS (Succ ww27) (Succ (Succ ww280))",fontsize=16,color="black",shape="box"];98 -> 105[label="",style="solid", color="black", weight=3]; 99[label="primModNatS (Succ ww27) (Succ Zero)",fontsize=16,color="black",shape="box"];99 -> 106[label="",style="solid", color="black", weight=3]; 510[label="ww250",fontsize=16,color="green",shape="box"];511[label="ww240",fontsize=16,color="green",shape="box"];512[label="ww250",fontsize=16,color="green",shape="box"];513[label="ww240",fontsize=16,color="green",shape="box"];509[label="primDivNatS0 (Succ ww66) (Succ ww67) (primGEqNatS ww68 ww69)",fontsize=16,color="burlywood",shape="triangle"];918[label="ww68/Succ ww680",fontsize=10,color="white",style="solid",shape="box"];509 -> 918[label="",style="solid", color="burlywood", weight=9]; 918 -> 550[label="",style="solid", color="burlywood", weight=3]; 919[label="ww68/Zero",fontsize=10,color="white",style="solid",shape="box"];509 -> 919[label="",style="solid", color="burlywood", weight=9]; 919 -> 551[label="",style="solid", color="burlywood", weight=3]; 102[label="Succ (primDivNatS (primMinusNatS (Succ ww240) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];102 -> 111[label="",style="dashed", color="green", weight=3]; 103[label="Zero",fontsize=16,color="green",shape="box"];104[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];104 -> 112[label="",style="dashed", color="green", weight=3]; 105[label="primModNatS0 ww27 ww280 (primGEqNatS ww27 (Succ ww280))",fontsize=16,color="burlywood",shape="box"];920[label="ww27/Succ ww270",fontsize=10,color="white",style="solid",shape="box"];105 -> 920[label="",style="solid", color="burlywood", weight=9]; 920 -> 113[label="",style="solid", color="burlywood", weight=3]; 921[label="ww27/Zero",fontsize=10,color="white",style="solid",shape="box"];105 -> 921[label="",style="solid", color="burlywood", weight=9]; 921 -> 114[label="",style="solid", color="burlywood", weight=3]; 106[label="Zero",fontsize=16,color="green",shape="box"];550[label="primDivNatS0 (Succ ww66) (Succ ww67) (primGEqNatS (Succ ww680) ww69)",fontsize=16,color="burlywood",shape="box"];922[label="ww69/Succ ww690",fontsize=10,color="white",style="solid",shape="box"];550 -> 922[label="",style="solid", color="burlywood", weight=9]; 922 -> 574[label="",style="solid", color="burlywood", weight=3]; 923[label="ww69/Zero",fontsize=10,color="white",style="solid",shape="box"];550 -> 923[label="",style="solid", color="burlywood", weight=9]; 923 -> 575[label="",style="solid", color="burlywood", weight=3]; 551[label="primDivNatS0 (Succ ww66) (Succ ww67) (primGEqNatS Zero ww69)",fontsize=16,color="burlywood",shape="box"];924[label="ww69/Succ ww690",fontsize=10,color="white",style="solid",shape="box"];551 -> 924[label="",style="solid", color="burlywood", weight=9]; 924 -> 576[label="",style="solid", color="burlywood", weight=3]; 925[label="ww69/Zero",fontsize=10,color="white",style="solid",shape="box"];551 -> 925[label="",style="solid", color="burlywood", weight=9]; 925 -> 577[label="",style="solid", color="burlywood", weight=3]; 111 -> 800[label="",style="dashed", color="red", weight=0]; 111[label="primDivNatS (primMinusNatS (Succ ww240) Zero) (Succ Zero)",fontsize=16,color="magenta"];111 -> 801[label="",style="dashed", color="magenta", weight=3]; 111 -> 802[label="",style="dashed", color="magenta", weight=3]; 111 -> 803[label="",style="dashed", color="magenta", weight=3]; 112 -> 800[label="",style="dashed", color="red", weight=0]; 112[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];112 -> 804[label="",style="dashed", color="magenta", weight=3]; 112 -> 805[label="",style="dashed", color="magenta", weight=3]; 112 -> 806[label="",style="dashed", color="magenta", weight=3]; 113[label="primModNatS0 (Succ ww270) ww280 (primGEqNatS (Succ ww270) (Succ ww280))",fontsize=16,color="black",shape="box"];113 -> 121[label="",style="solid", color="black", weight=3]; 114[label="primModNatS0 Zero ww280 (primGEqNatS Zero (Succ ww280))",fontsize=16,color="black",shape="box"];114 -> 122[label="",style="solid", color="black", weight=3]; 574[label="primDivNatS0 (Succ ww66) (Succ ww67) (primGEqNatS (Succ ww680) (Succ ww690))",fontsize=16,color="black",shape="box"];574 -> 589[label="",style="solid", color="black", weight=3]; 575[label="primDivNatS0 (Succ ww66) (Succ ww67) (primGEqNatS (Succ ww680) Zero)",fontsize=16,color="black",shape="box"];575 -> 590[label="",style="solid", color="black", weight=3]; 576[label="primDivNatS0 (Succ ww66) (Succ ww67) (primGEqNatS Zero (Succ ww690))",fontsize=16,color="black",shape="box"];576 -> 591[label="",style="solid", color="black", weight=3]; 577[label="primDivNatS0 (Succ ww66) (Succ ww67) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];577 -> 592[label="",style="solid", color="black", weight=3]; 801[label="Zero",fontsize=16,color="green",shape="box"];802[label="Succ ww240",fontsize=16,color="green",shape="box"];803[label="Zero",fontsize=16,color="green",shape="box"];800[label="primDivNatS (primMinusNatS ww82 ww83) (Succ ww84)",fontsize=16,color="burlywood",shape="triangle"];926[label="ww82/Succ ww820",fontsize=10,color="white",style="solid",shape="box"];800 -> 926[label="",style="solid", color="burlywood", weight=9]; 926 -> 825[label="",style="solid", color="burlywood", weight=3]; 927[label="ww82/Zero",fontsize=10,color="white",style="solid",shape="box"];800 -> 927[label="",style="solid", color="burlywood", weight=9]; 927 -> 826[label="",style="solid", color="burlywood", weight=3]; 804[label="Zero",fontsize=16,color="green",shape="box"];805[label="Zero",fontsize=16,color="green",shape="box"];806[label="Zero",fontsize=16,color="green",shape="box"];121[label="primModNatS0 (Succ ww270) ww280 (primGEqNatS ww270 ww280)",fontsize=16,color="burlywood",shape="box"];928[label="ww270/Succ ww2700",fontsize=10,color="white",style="solid",shape="box"];121 -> 928[label="",style="solid", color="burlywood", weight=9]; 928 -> 131[label="",style="solid", color="burlywood", weight=3]; 929[label="ww270/Zero",fontsize=10,color="white",style="solid",shape="box"];121 -> 929[label="",style="solid", color="burlywood", weight=9]; 929 -> 132[label="",style="solid", color="burlywood", weight=3]; 122[label="primModNatS0 Zero ww280 MyFalse",fontsize=16,color="black",shape="box"];122 -> 133[label="",style="solid", color="black", weight=3]; 589 -> 509[label="",style="dashed", color="red", weight=0]; 589[label="primDivNatS0 (Succ ww66) (Succ ww67) (primGEqNatS ww680 ww690)",fontsize=16,color="magenta"];589 -> 604[label="",style="dashed", color="magenta", weight=3]; 589 -> 605[label="",style="dashed", color="magenta", weight=3]; 590[label="primDivNatS0 (Succ ww66) (Succ ww67) MyTrue",fontsize=16,color="black",shape="triangle"];590 -> 606[label="",style="solid", color="black", weight=3]; 591[label="primDivNatS0 (Succ ww66) (Succ ww67) MyFalse",fontsize=16,color="black",shape="box"];591 -> 607[label="",style="solid", color="black", weight=3]; 592 -> 590[label="",style="dashed", color="red", weight=0]; 592[label="primDivNatS0 (Succ ww66) (Succ ww67) MyTrue",fontsize=16,color="magenta"];825[label="primDivNatS (primMinusNatS (Succ ww820) ww83) (Succ ww84)",fontsize=16,color="burlywood",shape="box"];930[label="ww83/Succ ww830",fontsize=10,color="white",style="solid",shape="box"];825 -> 930[label="",style="solid", color="burlywood", weight=9]; 930 -> 831[label="",style="solid", color="burlywood", weight=3]; 931[label="ww83/Zero",fontsize=10,color="white",style="solid",shape="box"];825 -> 931[label="",style="solid", color="burlywood", weight=9]; 931 -> 832[label="",style="solid", color="burlywood", weight=3]; 826[label="primDivNatS (primMinusNatS Zero ww83) (Succ ww84)",fontsize=16,color="burlywood",shape="box"];932[label="ww83/Succ ww830",fontsize=10,color="white",style="solid",shape="box"];826 -> 932[label="",style="solid", color="burlywood", weight=9]; 932 -> 833[label="",style="solid", color="burlywood", weight=3]; 933[label="ww83/Zero",fontsize=10,color="white",style="solid",shape="box"];826 -> 933[label="",style="solid", color="burlywood", weight=9]; 933 -> 834[label="",style="solid", color="burlywood", weight=3]; 131[label="primModNatS0 (Succ (Succ ww2700)) ww280 (primGEqNatS (Succ ww2700) ww280)",fontsize=16,color="burlywood",shape="box"];934[label="ww280/Succ ww2800",fontsize=10,color="white",style="solid",shape="box"];131 -> 934[label="",style="solid", color="burlywood", weight=9]; 934 -> 140[label="",style="solid", color="burlywood", weight=3]; 935[label="ww280/Zero",fontsize=10,color="white",style="solid",shape="box"];131 -> 935[label="",style="solid", color="burlywood", weight=9]; 935 -> 141[label="",style="solid", color="burlywood", weight=3]; 132[label="primModNatS0 (Succ Zero) ww280 (primGEqNatS Zero ww280)",fontsize=16,color="burlywood",shape="box"];936[label="ww280/Succ ww2800",fontsize=10,color="white",style="solid",shape="box"];132 -> 936[label="",style="solid", color="burlywood", weight=9]; 936 -> 142[label="",style="solid", color="burlywood", weight=3]; 937[label="ww280/Zero",fontsize=10,color="white",style="solid",shape="box"];132 -> 937[label="",style="solid", color="burlywood", weight=9]; 937 -> 143[label="",style="solid", color="burlywood", weight=3]; 133[label="Succ Zero",fontsize=16,color="green",shape="box"];604[label="ww690",fontsize=16,color="green",shape="box"];605[label="ww680",fontsize=16,color="green",shape="box"];606[label="Succ (primDivNatS (primMinusNatS (Succ ww66) (Succ ww67)) (Succ (Succ ww67)))",fontsize=16,color="green",shape="box"];606 -> 650[label="",style="dashed", color="green", weight=3]; 607[label="Zero",fontsize=16,color="green",shape="box"];831[label="primDivNatS (primMinusNatS (Succ ww820) (Succ ww830)) (Succ ww84)",fontsize=16,color="black",shape="box"];831 -> 841[label="",style="solid", color="black", weight=3]; 832[label="primDivNatS (primMinusNatS (Succ ww820) Zero) (Succ ww84)",fontsize=16,color="black",shape="box"];832 -> 842[label="",style="solid", color="black", weight=3]; 833[label="primDivNatS (primMinusNatS Zero (Succ ww830)) (Succ ww84)",fontsize=16,color="black",shape="box"];833 -> 843[label="",style="solid", color="black", weight=3]; 834[label="primDivNatS (primMinusNatS Zero Zero) (Succ ww84)",fontsize=16,color="black",shape="box"];834 -> 844[label="",style="solid", color="black", weight=3]; 140[label="primModNatS0 (Succ (Succ ww2700)) (Succ ww2800) (primGEqNatS (Succ ww2700) (Succ ww2800))",fontsize=16,color="black",shape="box"];140 -> 150[label="",style="solid", color="black", weight=3]; 141[label="primModNatS0 (Succ (Succ ww2700)) Zero (primGEqNatS (Succ ww2700) Zero)",fontsize=16,color="black",shape="box"];141 -> 151[label="",style="solid", color="black", weight=3]; 142[label="primModNatS0 (Succ Zero) (Succ ww2800) (primGEqNatS Zero (Succ ww2800))",fontsize=16,color="black",shape="box"];142 -> 152[label="",style="solid", color="black", weight=3]; 143[label="primModNatS0 (Succ Zero) Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];143 -> 153[label="",style="solid", color="black", weight=3]; 650 -> 800[label="",style="dashed", color="red", weight=0]; 650[label="primDivNatS (primMinusNatS (Succ ww66) (Succ ww67)) (Succ (Succ ww67))",fontsize=16,color="magenta"];650 -> 807[label="",style="dashed", color="magenta", weight=3]; 650 -> 808[label="",style="dashed", color="magenta", weight=3]; 650 -> 809[label="",style="dashed", color="magenta", weight=3]; 841 -> 800[label="",style="dashed", color="red", weight=0]; 841[label="primDivNatS (primMinusNatS ww820 ww830) (Succ ww84)",fontsize=16,color="magenta"];841 -> 849[label="",style="dashed", color="magenta", weight=3]; 841 -> 850[label="",style="dashed", color="magenta", weight=3]; 842 -> 82[label="",style="dashed", color="red", weight=0]; 842[label="primDivNatS (Succ ww820) (Succ ww84)",fontsize=16,color="magenta"];842 -> 851[label="",style="dashed", color="magenta", weight=3]; 842 -> 852[label="",style="dashed", color="magenta", weight=3]; 843[label="primDivNatS Zero (Succ ww84)",fontsize=16,color="black",shape="triangle"];843 -> 853[label="",style="solid", color="black", weight=3]; 844 -> 843[label="",style="dashed", color="red", weight=0]; 844[label="primDivNatS Zero (Succ ww84)",fontsize=16,color="magenta"];150 -> 668[label="",style="dashed", color="red", weight=0]; 150[label="primModNatS0 (Succ (Succ ww2700)) (Succ ww2800) (primGEqNatS ww2700 ww2800)",fontsize=16,color="magenta"];150 -> 669[label="",style="dashed", color="magenta", weight=3]; 150 -> 670[label="",style="dashed", color="magenta", weight=3]; 150 -> 671[label="",style="dashed", color="magenta", weight=3]; 150 -> 672[label="",style="dashed", color="magenta", weight=3]; 151[label="primModNatS0 (Succ (Succ ww2700)) Zero MyTrue",fontsize=16,color="black",shape="box"];151 -> 163[label="",style="solid", color="black", weight=3]; 152 -> 555[label="",style="dashed", color="red", weight=0]; 152[label="primModNatS0 (Succ Zero) (Succ ww2800) MyFalse",fontsize=16,color="magenta"];152 -> 556[label="",style="dashed", color="magenta", weight=3]; 152 -> 557[label="",style="dashed", color="magenta", weight=3]; 153[label="primModNatS0 (Succ Zero) Zero MyTrue",fontsize=16,color="black",shape="box"];153 -> 165[label="",style="solid", color="black", weight=3]; 807[label="Succ ww67",fontsize=16,color="green",shape="box"];808[label="Succ ww66",fontsize=16,color="green",shape="box"];809[label="Succ ww67",fontsize=16,color="green",shape="box"];849[label="ww830",fontsize=16,color="green",shape="box"];850[label="ww820",fontsize=16,color="green",shape="box"];851[label="ww84",fontsize=16,color="green",shape="box"];852[label="ww820",fontsize=16,color="green",shape="box"];853[label="Zero",fontsize=16,color="green",shape="box"];669[label="ww2800",fontsize=16,color="green",shape="box"];670[label="ww2800",fontsize=16,color="green",shape="box"];671[label="ww2700",fontsize=16,color="green",shape="box"];672[label="Succ ww2700",fontsize=16,color="green",shape="box"];668[label="primModNatS0 (Succ ww77) (Succ ww78) (primGEqNatS ww79 ww80)",fontsize=16,color="burlywood",shape="triangle"];938[label="ww79/Succ ww790",fontsize=10,color="white",style="solid",shape="box"];668 -> 938[label="",style="solid", color="burlywood", weight=9]; 938 -> 709[label="",style="solid", color="burlywood", weight=3]; 939[label="ww79/Zero",fontsize=10,color="white",style="solid",shape="box"];668 -> 939[label="",style="solid", color="burlywood", weight=9]; 939 -> 710[label="",style="solid", color="burlywood", weight=3]; 163 -> 858[label="",style="dashed", color="red", weight=0]; 163[label="primModNatS (primMinusNatS (Succ (Succ ww2700)) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="magenta"];163 -> 859[label="",style="dashed", color="magenta", weight=3]; 163 -> 860[label="",style="dashed", color="magenta", weight=3]; 163 -> 861[label="",style="dashed", color="magenta", weight=3]; 556[label="Zero",fontsize=16,color="green",shape="box"];557[label="ww2800",fontsize=16,color="green",shape="box"];555[label="primModNatS0 (Succ ww71) (Succ ww72) MyFalse",fontsize=16,color="black",shape="triangle"];555 -> 578[label="",style="solid", color="black", weight=3]; 165 -> 858[label="",style="dashed", color="red", weight=0]; 165[label="primModNatS (primMinusNatS (Succ Zero) (Succ Zero)) (Succ (Succ Zero))",fontsize=16,color="magenta"];165 -> 862[label="",style="dashed", color="magenta", weight=3]; 165 -> 863[label="",style="dashed", color="magenta", weight=3]; 165 -> 864[label="",style="dashed", color="magenta", weight=3]; 709[label="primModNatS0 (Succ ww77) (Succ ww78) (primGEqNatS (Succ ww790) ww80)",fontsize=16,color="burlywood",shape="box"];940[label="ww80/Succ ww800",fontsize=10,color="white",style="solid",shape="box"];709 -> 940[label="",style="solid", color="burlywood", weight=9]; 940 -> 715[label="",style="solid", color="burlywood", weight=3]; 941[label="ww80/Zero",fontsize=10,color="white",style="solid",shape="box"];709 -> 941[label="",style="solid", color="burlywood", weight=9]; 941 -> 716[label="",style="solid", color="burlywood", weight=3]; 710[label="primModNatS0 (Succ ww77) (Succ ww78) (primGEqNatS Zero ww80)",fontsize=16,color="burlywood",shape="box"];942[label="ww80/Succ ww800",fontsize=10,color="white",style="solid",shape="box"];710 -> 942[label="",style="solid", color="burlywood", weight=9]; 942 -> 717[label="",style="solid", color="burlywood", weight=3]; 943[label="ww80/Zero",fontsize=10,color="white",style="solid",shape="box"];710 -> 943[label="",style="solid", color="burlywood", weight=9]; 943 -> 718[label="",style="solid", color="burlywood", weight=3]; 859[label="Succ Zero",fontsize=16,color="green",shape="box"];860[label="Succ Zero",fontsize=16,color="green",shape="box"];861[label="Succ (Succ ww2700)",fontsize=16,color="green",shape="box"];858[label="primModNatS (primMinusNatS ww86 ww87) (Succ ww88)",fontsize=16,color="burlywood",shape="triangle"];944[label="ww86/Succ ww860",fontsize=10,color="white",style="solid",shape="box"];858 -> 944[label="",style="solid", color="burlywood", weight=9]; 944 -> 889[label="",style="solid", color="burlywood", weight=3]; 945[label="ww86/Zero",fontsize=10,color="white",style="solid",shape="box"];858 -> 945[label="",style="solid", color="burlywood", weight=9]; 945 -> 890[label="",style="solid", color="burlywood", weight=3]; 578[label="Succ (Succ ww71)",fontsize=16,color="green",shape="box"];862[label="Succ Zero",fontsize=16,color="green",shape="box"];863[label="Succ Zero",fontsize=16,color="green",shape="box"];864[label="Succ Zero",fontsize=16,color="green",shape="box"];715[label="primModNatS0 (Succ ww77) (Succ ww78) (primGEqNatS (Succ ww790) (Succ ww800))",fontsize=16,color="black",shape="box"];715 -> 723[label="",style="solid", color="black", weight=3]; 716[label="primModNatS0 (Succ ww77) (Succ ww78) (primGEqNatS (Succ ww790) Zero)",fontsize=16,color="black",shape="box"];716 -> 724[label="",style="solid", color="black", weight=3]; 717[label="primModNatS0 (Succ ww77) (Succ ww78) (primGEqNatS Zero (Succ ww800))",fontsize=16,color="black",shape="box"];717 -> 725[label="",style="solid", color="black", weight=3]; 718[label="primModNatS0 (Succ ww77) (Succ ww78) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];718 -> 726[label="",style="solid", color="black", weight=3]; 889[label="primModNatS (primMinusNatS (Succ ww860) ww87) (Succ ww88)",fontsize=16,color="burlywood",shape="box"];946[label="ww87/Succ ww870",fontsize=10,color="white",style="solid",shape="box"];889 -> 946[label="",style="solid", color="burlywood", weight=9]; 946 -> 891[label="",style="solid", color="burlywood", weight=3]; 947[label="ww87/Zero",fontsize=10,color="white",style="solid",shape="box"];889 -> 947[label="",style="solid", color="burlywood", weight=9]; 947 -> 892[label="",style="solid", color="burlywood", weight=3]; 890[label="primModNatS (primMinusNatS Zero ww87) (Succ ww88)",fontsize=16,color="burlywood",shape="box"];948[label="ww87/Succ ww870",fontsize=10,color="white",style="solid",shape="box"];890 -> 948[label="",style="solid", color="burlywood", weight=9]; 948 -> 893[label="",style="solid", color="burlywood", weight=3]; 949[label="ww87/Zero",fontsize=10,color="white",style="solid",shape="box"];890 -> 949[label="",style="solid", color="burlywood", weight=9]; 949 -> 894[label="",style="solid", color="burlywood", weight=3]; 723 -> 668[label="",style="dashed", color="red", weight=0]; 723[label="primModNatS0 (Succ ww77) (Succ ww78) (primGEqNatS ww790 ww800)",fontsize=16,color="magenta"];723 -> 733[label="",style="dashed", color="magenta", weight=3]; 723 -> 734[label="",style="dashed", color="magenta", weight=3]; 724[label="primModNatS0 (Succ ww77) (Succ ww78) MyTrue",fontsize=16,color="black",shape="triangle"];724 -> 735[label="",style="solid", color="black", weight=3]; 725 -> 555[label="",style="dashed", color="red", weight=0]; 725[label="primModNatS0 (Succ ww77) (Succ ww78) MyFalse",fontsize=16,color="magenta"];725 -> 736[label="",style="dashed", color="magenta", weight=3]; 725 -> 737[label="",style="dashed", color="magenta", weight=3]; 726 -> 724[label="",style="dashed", color="red", weight=0]; 726[label="primModNatS0 (Succ ww77) (Succ ww78) MyTrue",fontsize=16,color="magenta"];891[label="primModNatS (primMinusNatS (Succ ww860) (Succ ww870)) (Succ ww88)",fontsize=16,color="black",shape="box"];891 -> 895[label="",style="solid", color="black", weight=3]; 892[label="primModNatS (primMinusNatS (Succ ww860) Zero) (Succ ww88)",fontsize=16,color="black",shape="box"];892 -> 896[label="",style="solid", color="black", weight=3]; 893[label="primModNatS (primMinusNatS Zero (Succ ww870)) (Succ ww88)",fontsize=16,color="black",shape="box"];893 -> 897[label="",style="solid", color="black", weight=3]; 894[label="primModNatS (primMinusNatS Zero Zero) (Succ ww88)",fontsize=16,color="black",shape="box"];894 -> 898[label="",style="solid", color="black", weight=3]; 733[label="ww800",fontsize=16,color="green",shape="box"];734[label="ww790",fontsize=16,color="green",shape="box"];735 -> 858[label="",style="dashed", color="red", weight=0]; 735[label="primModNatS (primMinusNatS (Succ ww77) (Succ (Succ ww78))) (Succ (Succ (Succ ww78)))",fontsize=16,color="magenta"];735 -> 871[label="",style="dashed", color="magenta", weight=3]; 735 -> 872[label="",style="dashed", color="magenta", weight=3]; 735 -> 873[label="",style="dashed", color="magenta", weight=3]; 736[label="ww77",fontsize=16,color="green",shape="box"];737[label="ww78",fontsize=16,color="green",shape="box"];895 -> 858[label="",style="dashed", color="red", weight=0]; 895[label="primModNatS (primMinusNatS ww860 ww870) (Succ ww88)",fontsize=16,color="magenta"];895 -> 899[label="",style="dashed", color="magenta", weight=3]; 895 -> 900[label="",style="dashed", color="magenta", weight=3]; 896 -> 93[label="",style="dashed", color="red", weight=0]; 896[label="primModNatS (Succ ww860) (Succ ww88)",fontsize=16,color="magenta"];896 -> 901[label="",style="dashed", color="magenta", weight=3]; 896 -> 902[label="",style="dashed", color="magenta", weight=3]; 897[label="primModNatS Zero (Succ ww88)",fontsize=16,color="black",shape="triangle"];897 -> 903[label="",style="solid", color="black", weight=3]; 898 -> 897[label="",style="dashed", color="red", weight=0]; 898[label="primModNatS Zero (Succ ww88)",fontsize=16,color="magenta"];871[label="Succ (Succ ww78)",fontsize=16,color="green",shape="box"];872[label="Succ (Succ ww78)",fontsize=16,color="green",shape="box"];873[label="Succ ww77",fontsize=16,color="green",shape="box"];899[label="ww870",fontsize=16,color="green",shape="box"];900[label="ww860",fontsize=16,color="green",shape="box"];901[label="ww88",fontsize=16,color="green",shape="box"];902[label="ww860",fontsize=16,color="green",shape="box"];903[label="Zero",fontsize=16,color="green",shape="box"];} ---------------------------------------- (60) TRUE