9.44/4.13 YES 11.53/4.74 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 11.53/4.74 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 11.53/4.74 11.53/4.74 11.53/4.74 H-Termination with start terms of the given HASKELL could be proven: 11.53/4.74 11.53/4.74 (0) HASKELL 11.53/4.74 (1) BR [EQUIVALENT, 0 ms] 11.53/4.74 (2) HASKELL 11.53/4.74 (3) COR [EQUIVALENT, 0 ms] 11.53/4.74 (4) HASKELL 11.53/4.74 (5) Narrow [SOUND, 0 ms] 11.53/4.74 (6) AND 11.53/4.74 (7) QDP 11.53/4.74 (8) QDPSizeChangeProof [EQUIVALENT, 0 ms] 11.53/4.74 (9) YES 11.53/4.74 (10) QDP 11.53/4.74 (11) QDPSizeChangeProof [EQUIVALENT, 0 ms] 11.53/4.74 (12) YES 11.53/4.74 (13) QDP 11.53/4.74 (14) QDPSizeChangeProof [EQUIVALENT, 0 ms] 11.53/4.74 (15) YES 11.53/4.74 11.53/4.74 11.53/4.74 ---------------------------------------- 11.53/4.74 11.53/4.74 (0) 11.53/4.74 Obligation: 11.53/4.74 mainModule Main 11.53/4.74 module Main where { 11.53/4.74 import qualified Prelude; 11.53/4.74 data Main.Char = Char MyInt ; 11.53/4.74 11.53/4.74 data MyBool = MyTrue | MyFalse ; 11.53/4.74 11.53/4.74 data MyInt = Pos Main.Nat | Neg Main.Nat ; 11.53/4.74 11.53/4.74 data Main.Nat = Succ Main.Nat | Zero ; 11.53/4.74 11.53/4.74 data Ordering = LT | EQ | GT ; 11.53/4.74 11.53/4.74 asAs :: MyBool -> MyBool -> MyBool; 11.53/4.74 asAs MyFalse x = MyFalse; 11.53/4.74 asAs MyTrue x = x; 11.53/4.74 11.53/4.74 compareChar :: Main.Char -> Main.Char -> Ordering; 11.53/4.74 compareChar = primCmpChar; 11.53/4.74 11.53/4.74 esEsOrdering :: Ordering -> Ordering -> MyBool; 11.53/4.74 esEsOrdering LT LT = MyTrue; 11.53/4.74 esEsOrdering LT EQ = MyFalse; 11.53/4.74 esEsOrdering LT GT = MyFalse; 11.53/4.74 esEsOrdering EQ LT = MyFalse; 11.53/4.74 esEsOrdering EQ EQ = MyTrue; 11.53/4.74 esEsOrdering EQ GT = MyFalse; 11.53/4.74 esEsOrdering GT LT = MyFalse; 11.53/4.74 esEsOrdering GT EQ = MyFalse; 11.53/4.74 esEsOrdering GT GT = MyTrue; 11.53/4.74 11.53/4.74 fsEsOrdering :: Ordering -> Ordering -> MyBool; 11.53/4.74 fsEsOrdering x y = not (esEsOrdering x y); 11.53/4.74 11.53/4.74 gtEsChar :: Main.Char -> Main.Char -> MyBool; 11.53/4.74 gtEsChar x y = fsEsOrdering (compareChar x y) LT; 11.53/4.74 11.53/4.74 isControl :: Main.Char -> MyBool; 11.53/4.74 isControl c = pePe (ltChar c (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.Zero))))))))))))))))))))))))))))))))))) (asAs (gtEsChar c (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.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar c (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.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 11.53/4.74 11.53/4.74 ltChar :: Main.Char -> Main.Char -> MyBool; 11.53/4.74 ltChar x y = esEsOrdering (compareChar x y) LT; 11.53/4.74 11.53/4.74 ltEsChar :: Main.Char -> Main.Char -> MyBool; 11.53/4.74 ltEsChar x y = fsEsOrdering (compareChar x y) GT; 11.53/4.74 11.53/4.74 not :: MyBool -> MyBool; 11.53/4.74 not MyTrue = MyFalse; 11.53/4.74 not MyFalse = MyTrue; 11.53/4.74 11.53/4.74 pePe :: MyBool -> MyBool -> MyBool; 11.53/4.74 pePe MyFalse x = x; 11.53/4.74 pePe MyTrue x = MyTrue; 11.53/4.74 11.53/4.74 primCmpChar :: Main.Char -> Main.Char -> Ordering; 11.53/4.74 primCmpChar (Main.Char x) (Main.Char y) = primCmpInt x y; 11.53/4.74 11.53/4.74 primCmpInt :: MyInt -> MyInt -> Ordering; 11.53/4.74 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 11.53/4.74 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 11.53/4.74 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 11.53/4.74 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 11.53/4.74 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 11.53/4.74 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 11.53/4.74 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 11.53/4.74 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 11.53/4.74 11.53/4.74 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 11.53/4.74 primCmpNat Main.Zero Main.Zero = EQ; 11.53/4.74 primCmpNat Main.Zero (Main.Succ y) = LT; 11.53/4.74 primCmpNat (Main.Succ x) Main.Zero = GT; 11.53/4.74 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 11.53/4.74 11.53/4.74 } 11.53/4.74 11.53/4.74 ---------------------------------------- 11.53/4.74 11.53/4.74 (1) BR (EQUIVALENT) 11.53/4.74 Replaced joker patterns by fresh variables and removed binding patterns. 11.53/4.74 ---------------------------------------- 11.53/4.74 11.53/4.74 (2) 11.53/4.74 Obligation: 11.53/4.74 mainModule Main 11.53/4.74 module Main where { 11.53/4.74 import qualified Prelude; 11.53/4.74 data Main.Char = Char MyInt ; 11.53/4.74 11.53/4.74 data MyBool = MyTrue | MyFalse ; 11.53/4.74 11.53/4.74 data MyInt = Pos Main.Nat | Neg Main.Nat ; 11.53/4.74 11.53/4.74 data Main.Nat = Succ Main.Nat | Zero ; 11.53/4.74 11.53/4.74 data Ordering = LT | EQ | GT ; 11.53/4.74 11.53/4.74 asAs :: MyBool -> MyBool -> MyBool; 11.53/4.74 asAs MyFalse x = MyFalse; 11.53/4.74 asAs MyTrue x = x; 11.53/4.74 11.53/4.74 compareChar :: Main.Char -> Main.Char -> Ordering; 11.53/4.74 compareChar = primCmpChar; 11.53/4.74 11.53/4.74 esEsOrdering :: Ordering -> Ordering -> MyBool; 11.53/4.74 esEsOrdering LT LT = MyTrue; 11.53/4.74 esEsOrdering LT EQ = MyFalse; 11.53/4.74 esEsOrdering LT GT = MyFalse; 11.53/4.74 esEsOrdering EQ LT = MyFalse; 11.53/4.74 esEsOrdering EQ EQ = MyTrue; 11.53/4.74 esEsOrdering EQ GT = MyFalse; 11.53/4.74 esEsOrdering GT LT = MyFalse; 11.53/4.74 esEsOrdering GT EQ = MyFalse; 11.53/4.74 esEsOrdering GT GT = MyTrue; 11.53/4.74 11.53/4.74 fsEsOrdering :: Ordering -> Ordering -> MyBool; 11.53/4.74 fsEsOrdering x y = not (esEsOrdering x y); 11.53/4.74 11.53/4.74 gtEsChar :: Main.Char -> Main.Char -> MyBool; 11.53/4.74 gtEsChar x y = fsEsOrdering (compareChar x y) LT; 11.53/4.74 11.53/4.74 isControl :: Main.Char -> MyBool; 11.53/4.74 isControl c = pePe (ltChar c (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.Zero))))))))))))))))))))))))))))))))))) (asAs (gtEsChar c (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.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar c (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.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 11.53/4.74 11.53/4.74 ltChar :: Main.Char -> Main.Char -> MyBool; 11.53/4.74 ltChar x y = esEsOrdering (compareChar x y) LT; 11.53/4.74 11.53/4.74 ltEsChar :: Main.Char -> Main.Char -> MyBool; 11.53/4.74 ltEsChar x y = fsEsOrdering (compareChar x y) GT; 11.53/4.74 11.53/4.74 not :: MyBool -> MyBool; 11.53/4.74 not MyTrue = MyFalse; 11.53/4.74 not MyFalse = MyTrue; 11.53/4.74 11.53/4.74 pePe :: MyBool -> MyBool -> MyBool; 11.53/4.74 pePe MyFalse x = x; 11.53/4.74 pePe MyTrue x = MyTrue; 11.53/4.74 11.53/4.74 primCmpChar :: Main.Char -> Main.Char -> Ordering; 11.53/4.74 primCmpChar (Main.Char x) (Main.Char y) = primCmpInt x y; 11.53/4.74 11.53/4.74 primCmpInt :: MyInt -> MyInt -> Ordering; 11.53/4.74 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 11.53/4.74 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 11.53/4.74 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 11.53/4.74 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 11.53/4.74 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 11.53/4.74 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 11.53/4.74 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 11.53/4.74 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 11.53/4.74 11.53/4.74 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 11.53/4.74 primCmpNat Main.Zero Main.Zero = EQ; 11.53/4.74 primCmpNat Main.Zero (Main.Succ y) = LT; 11.53/4.74 primCmpNat (Main.Succ x) Main.Zero = GT; 11.53/4.74 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 11.53/4.74 11.53/4.74 } 11.53/4.74 11.53/4.74 ---------------------------------------- 11.53/4.74 11.53/4.74 (3) COR (EQUIVALENT) 11.53/4.74 Cond Reductions: 11.53/4.74 The following Function with conditions 11.53/4.74 "undefined |Falseundefined; 11.53/4.74 " 11.53/4.74 is transformed to 11.53/4.74 "undefined = undefined1; 11.53/4.74 " 11.53/4.74 "undefined0 True = undefined; 11.53/4.74 " 11.53/4.74 "undefined1 = undefined0 False; 11.53/4.74 " 11.53/4.74 11.53/4.74 ---------------------------------------- 11.53/4.74 11.53/4.74 (4) 11.53/4.74 Obligation: 11.53/4.74 mainModule Main 11.53/4.74 module Main where { 11.53/4.74 import qualified Prelude; 11.53/4.74 data Main.Char = Char MyInt ; 11.53/4.74 11.53/4.74 data MyBool = MyTrue | MyFalse ; 11.53/4.74 11.53/4.74 data MyInt = Pos Main.Nat | Neg Main.Nat ; 11.53/4.74 11.53/4.74 data Main.Nat = Succ Main.Nat | Zero ; 11.53/4.74 11.53/4.74 data Ordering = LT | EQ | GT ; 11.53/4.74 11.53/4.74 asAs :: MyBool -> MyBool -> MyBool; 11.53/4.74 asAs MyFalse x = MyFalse; 11.53/4.74 asAs MyTrue x = x; 11.53/4.74 11.53/4.74 compareChar :: Main.Char -> Main.Char -> Ordering; 11.53/4.74 compareChar = primCmpChar; 11.53/4.74 11.53/4.74 esEsOrdering :: Ordering -> Ordering -> MyBool; 11.53/4.74 esEsOrdering LT LT = MyTrue; 11.53/4.74 esEsOrdering LT EQ = MyFalse; 11.53/4.74 esEsOrdering LT GT = MyFalse; 11.53/4.74 esEsOrdering EQ LT = MyFalse; 11.53/4.74 esEsOrdering EQ EQ = MyTrue; 11.53/4.74 esEsOrdering EQ GT = MyFalse; 11.53/4.74 esEsOrdering GT LT = MyFalse; 11.53/4.74 esEsOrdering GT EQ = MyFalse; 11.53/4.74 esEsOrdering GT GT = MyTrue; 11.53/4.74 11.53/4.74 fsEsOrdering :: Ordering -> Ordering -> MyBool; 11.53/4.74 fsEsOrdering x y = not (esEsOrdering x y); 11.53/4.74 11.53/4.74 gtEsChar :: Main.Char -> Main.Char -> MyBool; 11.53/4.74 gtEsChar x y = fsEsOrdering (compareChar x y) LT; 11.53/4.74 11.53/4.74 isControl :: Main.Char -> MyBool; 11.53/4.74 isControl c = pePe (ltChar c (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.Zero))))))))))))))))))))))))))))))))))) (asAs (gtEsChar c (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.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar c (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.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ (Main.Succ Main.Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 11.53/4.74 11.53/4.74 ltChar :: Main.Char -> Main.Char -> MyBool; 11.53/4.74 ltChar x y = esEsOrdering (compareChar x y) LT; 11.53/4.74 11.53/4.74 ltEsChar :: Main.Char -> Main.Char -> MyBool; 11.53/4.74 ltEsChar x y = fsEsOrdering (compareChar x y) GT; 11.53/4.74 11.53/4.74 not :: MyBool -> MyBool; 11.53/4.74 not MyTrue = MyFalse; 11.53/4.74 not MyFalse = MyTrue; 11.53/4.74 11.53/4.74 pePe :: MyBool -> MyBool -> MyBool; 11.53/4.74 pePe MyFalse x = x; 11.53/4.74 pePe MyTrue x = MyTrue; 11.53/4.74 11.53/4.74 primCmpChar :: Main.Char -> Main.Char -> Ordering; 11.53/4.74 primCmpChar (Main.Char x) (Main.Char y) = primCmpInt x y; 11.53/4.74 11.53/4.74 primCmpInt :: MyInt -> MyInt -> Ordering; 11.53/4.74 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 11.53/4.74 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 11.53/4.74 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 11.53/4.74 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 11.53/4.74 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 11.53/4.74 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 11.53/4.74 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 11.53/4.74 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 11.53/4.74 11.53/4.74 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 11.53/4.74 primCmpNat Main.Zero Main.Zero = EQ; 11.53/4.74 primCmpNat Main.Zero (Main.Succ y) = LT; 11.53/4.74 primCmpNat (Main.Succ x) Main.Zero = GT; 11.53/4.74 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 11.53/4.74 11.53/4.74 } 11.53/4.74 11.53/4.74 ---------------------------------------- 11.53/4.74 11.53/4.74 (5) Narrow (SOUND) 11.53/4.74 Haskell To QDPs 11.53/4.74 11.53/4.74 digraph dp_graph { 11.53/4.74 node [outthreshold=100, inthreshold=100];1[label="isControl",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 11.53/4.74 3[label="isControl vx3",fontsize=16,color="black",shape="triangle"];3 -> 4[label="",style="solid", color="black", weight=3]; 11.53/4.74 4 -> 15[label="",style="dashed", color="red", weight=0]; 11.53/4.74 4[label="pePe (ltChar vx3 (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 Zero))))))))))))))))))))))))))))))))))) (asAs (gtEsChar vx3 (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 (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (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)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (ltEsChar vx3 (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 (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="magenta"];4 -> 16[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 4 -> 17[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 4 -> 18[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 4 -> 19[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 16[label="vx3",fontsize=16,color="green",shape="box"];17[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];18[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];19[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];15[label="pePe (ltChar vx12 (Char (Pos (Succ vx13)))) (asAs (gtEsChar vx12 (Char (Pos (Succ vx14)))) (ltEsChar vx12 (Char (Pos (Succ vx15)))))",fontsize=16,color="black",shape="triangle"];15 -> 24[label="",style="solid", color="black", weight=3]; 11.53/4.74 24[label="pePe (esEsOrdering (compareChar vx12 (Char (Pos (Succ vx13)))) LT) (asAs (gtEsChar vx12 (Char (Pos (Succ vx14)))) (ltEsChar vx12 (Char (Pos (Succ vx15)))))",fontsize=16,color="black",shape="box"];24 -> 25[label="",style="solid", color="black", weight=3]; 11.53/4.74 25[label="pePe (esEsOrdering (primCmpChar vx12 (Char (Pos (Succ vx13)))) LT) (asAs (gtEsChar vx12 (Char (Pos (Succ vx14)))) (ltEsChar vx12 (Char (Pos (Succ vx15)))))",fontsize=16,color="burlywood",shape="box"];243[label="vx12/Char vx120",fontsize=10,color="white",style="solid",shape="box"];25 -> 243[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 243 -> 26[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 26[label="pePe (esEsOrdering (primCmpChar (Char vx120) (Char (Pos (Succ vx13)))) LT) (asAs (gtEsChar (Char vx120) (Char (Pos (Succ vx14)))) (ltEsChar (Char vx120) (Char (Pos (Succ vx15)))))",fontsize=16,color="black",shape="box"];26 -> 27[label="",style="solid", color="black", weight=3]; 11.53/4.74 27[label="pePe (esEsOrdering (primCmpInt vx120 (Pos (Succ vx13))) LT) (asAs (gtEsChar (Char vx120) (Char (Pos (Succ vx14)))) (ltEsChar (Char vx120) (Char (Pos (Succ vx15)))))",fontsize=16,color="burlywood",shape="box"];244[label="vx120/Pos vx1200",fontsize=10,color="white",style="solid",shape="box"];27 -> 244[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 244 -> 28[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 245[label="vx120/Neg vx1200",fontsize=10,color="white",style="solid",shape="box"];27 -> 245[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 245 -> 29[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 28[label="pePe (esEsOrdering (primCmpInt (Pos vx1200) (Pos (Succ vx13))) LT) (asAs (gtEsChar (Char (Pos vx1200)) (Char (Pos (Succ vx14)))) (ltEsChar (Char (Pos vx1200)) (Char (Pos (Succ vx15)))))",fontsize=16,color="burlywood",shape="box"];246[label="vx1200/Succ vx12000",fontsize=10,color="white",style="solid",shape="box"];28 -> 246[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 246 -> 30[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 247[label="vx1200/Zero",fontsize=10,color="white",style="solid",shape="box"];28 -> 247[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 247 -> 31[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 29[label="pePe (esEsOrdering (primCmpInt (Neg vx1200) (Pos (Succ vx13))) LT) (asAs (gtEsChar (Char (Neg vx1200)) (Char (Pos (Succ vx14)))) (ltEsChar (Char (Neg vx1200)) (Char (Pos (Succ vx15)))))",fontsize=16,color="burlywood",shape="box"];248[label="vx1200/Succ vx12000",fontsize=10,color="white",style="solid",shape="box"];29 -> 248[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 248 -> 32[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 249[label="vx1200/Zero",fontsize=10,color="white",style="solid",shape="box"];29 -> 249[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 249 -> 33[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 30[label="pePe (esEsOrdering (primCmpInt (Pos (Succ vx12000)) (Pos (Succ vx13))) LT) (asAs (gtEsChar (Char (Pos (Succ vx12000))) (Char (Pos (Succ vx14)))) (ltEsChar (Char (Pos (Succ vx12000))) (Char (Pos (Succ vx15)))))",fontsize=16,color="black",shape="box"];30 -> 34[label="",style="solid", color="black", weight=3]; 11.53/4.74 31[label="pePe (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ vx13))) LT) (asAs (gtEsChar (Char (Pos Zero)) (Char (Pos (Succ vx14)))) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx15)))))",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 11.53/4.74 32[label="pePe (esEsOrdering (primCmpInt (Neg (Succ vx12000)) (Pos (Succ vx13))) LT) (asAs (gtEsChar (Char (Neg (Succ vx12000))) (Char (Pos (Succ vx14)))) (ltEsChar (Char (Neg (Succ vx12000))) (Char (Pos (Succ vx15)))))",fontsize=16,color="black",shape="box"];32 -> 36[label="",style="solid", color="black", weight=3]; 11.53/4.74 33[label="pePe (esEsOrdering (primCmpInt (Neg Zero) (Pos (Succ vx13))) LT) (asAs (gtEsChar (Char (Neg Zero)) (Char (Pos (Succ vx14)))) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx15)))))",fontsize=16,color="black",shape="box"];33 -> 37[label="",style="solid", color="black", weight=3]; 11.53/4.74 34 -> 74[label="",style="dashed", color="red", weight=0]; 11.53/4.74 34[label="pePe (esEsOrdering (primCmpNat (Succ vx12000) (Succ vx13)) LT) (asAs (gtEsChar (Char (Pos (Succ vx12000))) (Char (Pos (Succ vx14)))) (ltEsChar (Char (Pos (Succ vx12000))) (Char (Pos (Succ vx15)))))",fontsize=16,color="magenta"];34 -> 75[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 34 -> 76[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 34 -> 77[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 35 -> 74[label="",style="dashed", color="red", weight=0]; 11.53/4.74 35[label="pePe (esEsOrdering (primCmpNat Zero (Succ vx13)) LT) (asAs (gtEsChar (Char (Pos Zero)) (Char (Pos (Succ vx14)))) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx15)))))",fontsize=16,color="magenta"];35 -> 78[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 35 -> 79[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 35 -> 80[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 36[label="pePe (esEsOrdering LT LT) (asAs (gtEsChar (Char (Neg (Succ vx12000))) (Char (Pos (Succ vx14)))) (ltEsChar (Char (Neg (Succ vx12000))) (Char (Pos (Succ vx15)))))",fontsize=16,color="black",shape="box"];36 -> 40[label="",style="solid", color="black", weight=3]; 11.53/4.74 37[label="pePe (esEsOrdering LT LT) (asAs (gtEsChar (Char (Neg Zero)) (Char (Pos (Succ vx14)))) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx15)))))",fontsize=16,color="black",shape="box"];37 -> 41[label="",style="solid", color="black", weight=3]; 11.53/4.74 75[label="Succ vx13",fontsize=16,color="green",shape="box"];76[label="Succ vx12000",fontsize=16,color="green",shape="box"];77[label="asAs (gtEsChar (Char (Pos (Succ vx12000))) (Char (Pos (Succ vx14)))) (ltEsChar (Char (Pos (Succ vx12000))) (Char (Pos (Succ vx15))))",fontsize=16,color="black",shape="box"];77 -> 88[label="",style="solid", color="black", weight=3]; 11.53/4.74 74[label="pePe (esEsOrdering (primCmpNat vx1200000 vx1300) LT) vx16",fontsize=16,color="burlywood",shape="triangle"];250[label="vx1200000/Succ vx12000000",fontsize=10,color="white",style="solid",shape="box"];74 -> 250[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 250 -> 89[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 251[label="vx1200000/Zero",fontsize=10,color="white",style="solid",shape="box"];74 -> 251[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 251 -> 90[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 78[label="Succ vx13",fontsize=16,color="green",shape="box"];79[label="Zero",fontsize=16,color="green",shape="box"];80[label="asAs (gtEsChar (Char (Pos Zero)) (Char (Pos (Succ vx14)))) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx15))))",fontsize=16,color="black",shape="box"];80 -> 91[label="",style="solid", color="black", weight=3]; 11.53/4.74 40[label="pePe MyTrue (asAs (gtEsChar (Char (Neg (Succ vx12000))) (Char (Pos (Succ vx14)))) (ltEsChar (Char (Neg (Succ vx12000))) (Char (Pos (Succ vx15)))))",fontsize=16,color="black",shape="box"];40 -> 45[label="",style="solid", color="black", weight=3]; 11.53/4.74 41[label="pePe MyTrue (asAs (gtEsChar (Char (Neg Zero)) (Char (Pos (Succ vx14)))) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx15)))))",fontsize=16,color="black",shape="box"];41 -> 46[label="",style="solid", color="black", weight=3]; 11.53/4.74 88[label="asAs (fsEsOrdering (compareChar (Char (Pos (Succ vx12000))) (Char (Pos (Succ vx14)))) LT) (ltEsChar (Char (Pos (Succ vx12000))) (Char (Pos (Succ vx15))))",fontsize=16,color="black",shape="box"];88 -> 92[label="",style="solid", color="black", weight=3]; 11.53/4.74 89[label="pePe (esEsOrdering (primCmpNat (Succ vx12000000) vx1300) LT) vx16",fontsize=16,color="burlywood",shape="box"];252[label="vx1300/Succ vx13000",fontsize=10,color="white",style="solid",shape="box"];89 -> 252[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 252 -> 93[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 253[label="vx1300/Zero",fontsize=10,color="white",style="solid",shape="box"];89 -> 253[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 253 -> 94[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 90[label="pePe (esEsOrdering (primCmpNat Zero vx1300) LT) vx16",fontsize=16,color="burlywood",shape="box"];254[label="vx1300/Succ vx13000",fontsize=10,color="white",style="solid",shape="box"];90 -> 254[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 254 -> 95[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 255[label="vx1300/Zero",fontsize=10,color="white",style="solid",shape="box"];90 -> 255[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 255 -> 96[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 91[label="asAs (fsEsOrdering (compareChar (Char (Pos Zero)) (Char (Pos (Succ vx14)))) LT) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx15))))",fontsize=16,color="black",shape="box"];91 -> 97[label="",style="solid", color="black", weight=3]; 11.53/4.74 45[label="MyTrue",fontsize=16,color="green",shape="box"];46[label="MyTrue",fontsize=16,color="green",shape="box"];92[label="asAs (not (esEsOrdering (compareChar (Char (Pos (Succ vx12000))) (Char (Pos (Succ vx14)))) LT)) (ltEsChar (Char (Pos (Succ vx12000))) (Char (Pos (Succ vx15))))",fontsize=16,color="black",shape="box"];92 -> 98[label="",style="solid", color="black", weight=3]; 11.53/4.74 93[label="pePe (esEsOrdering (primCmpNat (Succ vx12000000) (Succ vx13000)) LT) vx16",fontsize=16,color="black",shape="box"];93 -> 99[label="",style="solid", color="black", weight=3]; 11.53/4.74 94[label="pePe (esEsOrdering (primCmpNat (Succ vx12000000) Zero) LT) vx16",fontsize=16,color="black",shape="box"];94 -> 100[label="",style="solid", color="black", weight=3]; 11.53/4.74 95[label="pePe (esEsOrdering (primCmpNat Zero (Succ vx13000)) LT) vx16",fontsize=16,color="black",shape="box"];95 -> 101[label="",style="solid", color="black", weight=3]; 11.53/4.74 96[label="pePe (esEsOrdering (primCmpNat Zero Zero) LT) vx16",fontsize=16,color="black",shape="box"];96 -> 102[label="",style="solid", color="black", weight=3]; 11.53/4.74 97[label="asAs (not (esEsOrdering (compareChar (Char (Pos Zero)) (Char (Pos (Succ vx14)))) LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx15))))",fontsize=16,color="black",shape="box"];97 -> 103[label="",style="solid", color="black", weight=3]; 11.53/4.74 98[label="asAs (not (esEsOrdering (primCmpChar (Char (Pos (Succ vx12000))) (Char (Pos (Succ vx14)))) LT)) (ltEsChar (Char (Pos (Succ vx12000))) (Char (Pos (Succ vx15))))",fontsize=16,color="black",shape="box"];98 -> 104[label="",style="solid", color="black", weight=3]; 11.53/4.74 99 -> 74[label="",style="dashed", color="red", weight=0]; 11.53/4.74 99[label="pePe (esEsOrdering (primCmpNat vx12000000 vx13000) LT) vx16",fontsize=16,color="magenta"];99 -> 105[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 99 -> 106[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 100[label="pePe (esEsOrdering GT LT) vx16",fontsize=16,color="black",shape="box"];100 -> 107[label="",style="solid", color="black", weight=3]; 11.53/4.74 101[label="pePe (esEsOrdering LT LT) vx16",fontsize=16,color="black",shape="box"];101 -> 108[label="",style="solid", color="black", weight=3]; 11.53/4.74 102[label="pePe (esEsOrdering EQ LT) vx16",fontsize=16,color="black",shape="box"];102 -> 109[label="",style="solid", color="black", weight=3]; 11.53/4.74 103[label="asAs (not (esEsOrdering (primCmpChar (Char (Pos Zero)) (Char (Pos (Succ vx14)))) LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx15))))",fontsize=16,color="black",shape="box"];103 -> 110[label="",style="solid", color="black", weight=3]; 11.53/4.74 104[label="asAs (not (esEsOrdering (primCmpInt (Pos (Succ vx12000)) (Pos (Succ vx14))) LT)) (ltEsChar (Char (Pos (Succ vx12000))) (Char (Pos (Succ vx15))))",fontsize=16,color="black",shape="box"];104 -> 111[label="",style="solid", color="black", weight=3]; 11.53/4.74 105[label="vx13000",fontsize=16,color="green",shape="box"];106[label="vx12000000",fontsize=16,color="green",shape="box"];107[label="pePe MyFalse vx16",fontsize=16,color="black",shape="triangle"];107 -> 112[label="",style="solid", color="black", weight=3]; 11.53/4.74 108[label="pePe MyTrue vx16",fontsize=16,color="black",shape="box"];108 -> 113[label="",style="solid", color="black", weight=3]; 11.53/4.74 109 -> 107[label="",style="dashed", color="red", weight=0]; 11.53/4.74 109[label="pePe MyFalse vx16",fontsize=16,color="magenta"];110[label="asAs (not (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ vx14))) LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx15))))",fontsize=16,color="black",shape="box"];110 -> 114[label="",style="solid", color="black", weight=3]; 11.53/4.74 111 -> 178[label="",style="dashed", color="red", weight=0]; 11.53/4.74 111[label="asAs (not (esEsOrdering (primCmpNat (Succ vx12000) (Succ vx14)) LT)) (ltEsChar (Char (Pos (Succ vx12000))) (Char (Pos (Succ vx15))))",fontsize=16,color="magenta"];111 -> 179[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 111 -> 180[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 111 -> 181[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 112[label="vx16",fontsize=16,color="green",shape="box"];113[label="MyTrue",fontsize=16,color="green",shape="box"];114 -> 178[label="",style="dashed", color="red", weight=0]; 11.53/4.74 114[label="asAs (not (esEsOrdering (primCmpNat Zero (Succ vx14)) LT)) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx15))))",fontsize=16,color="magenta"];114 -> 182[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 114 -> 183[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 114 -> 184[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 179[label="Succ vx14",fontsize=16,color="green",shape="box"];180[label="Succ vx12000",fontsize=16,color="green",shape="box"];181[label="ltEsChar (Char (Pos (Succ vx12000))) (Char (Pos (Succ vx15)))",fontsize=16,color="black",shape="box"];181 -> 195[label="",style="solid", color="black", weight=3]; 11.53/4.74 178[label="asAs (not (esEsOrdering (primCmpNat vx12000000 vx14000) LT)) vx18",fontsize=16,color="burlywood",shape="triangle"];256[label="vx12000000/Succ vx120000000",fontsize=10,color="white",style="solid",shape="box"];178 -> 256[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 256 -> 196[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 257[label="vx12000000/Zero",fontsize=10,color="white",style="solid",shape="box"];178 -> 257[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 257 -> 197[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 182[label="Succ vx14",fontsize=16,color="green",shape="box"];183[label="Zero",fontsize=16,color="green",shape="box"];184[label="ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx15)))",fontsize=16,color="black",shape="box"];184 -> 198[label="",style="solid", color="black", weight=3]; 11.53/4.74 195[label="fsEsOrdering (compareChar (Char (Pos (Succ vx12000))) (Char (Pos (Succ vx15)))) GT",fontsize=16,color="black",shape="box"];195 -> 199[label="",style="solid", color="black", weight=3]; 11.53/4.74 196[label="asAs (not (esEsOrdering (primCmpNat (Succ vx120000000) vx14000) LT)) vx18",fontsize=16,color="burlywood",shape="box"];258[label="vx14000/Succ vx140000",fontsize=10,color="white",style="solid",shape="box"];196 -> 258[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 258 -> 200[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 259[label="vx14000/Zero",fontsize=10,color="white",style="solid",shape="box"];196 -> 259[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 259 -> 201[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 197[label="asAs (not (esEsOrdering (primCmpNat Zero vx14000) LT)) vx18",fontsize=16,color="burlywood",shape="box"];260[label="vx14000/Succ vx140000",fontsize=10,color="white",style="solid",shape="box"];197 -> 260[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 260 -> 202[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 261[label="vx14000/Zero",fontsize=10,color="white",style="solid",shape="box"];197 -> 261[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 261 -> 203[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 198[label="fsEsOrdering (compareChar (Char (Pos Zero)) (Char (Pos (Succ vx15)))) GT",fontsize=16,color="black",shape="box"];198 -> 204[label="",style="solid", color="black", weight=3]; 11.53/4.74 199[label="not (esEsOrdering (compareChar (Char (Pos (Succ vx12000))) (Char (Pos (Succ vx15)))) GT)",fontsize=16,color="black",shape="box"];199 -> 205[label="",style="solid", color="black", weight=3]; 11.53/4.74 200[label="asAs (not (esEsOrdering (primCmpNat (Succ vx120000000) (Succ vx140000)) LT)) vx18",fontsize=16,color="black",shape="box"];200 -> 206[label="",style="solid", color="black", weight=3]; 11.53/4.74 201[label="asAs (not (esEsOrdering (primCmpNat (Succ vx120000000) Zero) LT)) vx18",fontsize=16,color="black",shape="box"];201 -> 207[label="",style="solid", color="black", weight=3]; 11.53/4.74 202[label="asAs (not (esEsOrdering (primCmpNat Zero (Succ vx140000)) LT)) vx18",fontsize=16,color="black",shape="box"];202 -> 208[label="",style="solid", color="black", weight=3]; 11.53/4.74 203[label="asAs (not (esEsOrdering (primCmpNat Zero Zero) LT)) vx18",fontsize=16,color="black",shape="box"];203 -> 209[label="",style="solid", color="black", weight=3]; 11.53/4.74 204[label="not (esEsOrdering (compareChar (Char (Pos Zero)) (Char (Pos (Succ vx15)))) GT)",fontsize=16,color="black",shape="box"];204 -> 210[label="",style="solid", color="black", weight=3]; 11.53/4.74 205[label="not (esEsOrdering (primCmpChar (Char (Pos (Succ vx12000))) (Char (Pos (Succ vx15)))) GT)",fontsize=16,color="black",shape="box"];205 -> 211[label="",style="solid", color="black", weight=3]; 11.53/4.74 206 -> 178[label="",style="dashed", color="red", weight=0]; 11.53/4.74 206[label="asAs (not (esEsOrdering (primCmpNat vx120000000 vx140000) LT)) vx18",fontsize=16,color="magenta"];206 -> 212[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 206 -> 213[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 207[label="asAs (not (esEsOrdering GT LT)) vx18",fontsize=16,color="black",shape="box"];207 -> 214[label="",style="solid", color="black", weight=3]; 11.53/4.74 208[label="asAs (not (esEsOrdering LT LT)) vx18",fontsize=16,color="black",shape="box"];208 -> 215[label="",style="solid", color="black", weight=3]; 11.53/4.74 209[label="asAs (not (esEsOrdering EQ LT)) vx18",fontsize=16,color="black",shape="box"];209 -> 216[label="",style="solid", color="black", weight=3]; 11.53/4.74 210[label="not (esEsOrdering (primCmpChar (Char (Pos Zero)) (Char (Pos (Succ vx15)))) GT)",fontsize=16,color="black",shape="box"];210 -> 217[label="",style="solid", color="black", weight=3]; 11.53/4.74 211[label="not (esEsOrdering (primCmpInt (Pos (Succ vx12000)) (Pos (Succ vx15))) GT)",fontsize=16,color="black",shape="box"];211 -> 218[label="",style="solid", color="black", weight=3]; 11.53/4.74 212[label="vx140000",fontsize=16,color="green",shape="box"];213[label="vx120000000",fontsize=16,color="green",shape="box"];214[label="asAs (not MyFalse) vx18",fontsize=16,color="black",shape="triangle"];214 -> 219[label="",style="solid", color="black", weight=3]; 11.53/4.74 215[label="asAs (not MyTrue) vx18",fontsize=16,color="black",shape="box"];215 -> 220[label="",style="solid", color="black", weight=3]; 11.53/4.74 216 -> 214[label="",style="dashed", color="red", weight=0]; 11.53/4.74 216[label="asAs (not MyFalse) vx18",fontsize=16,color="magenta"];217[label="not (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ vx15))) GT)",fontsize=16,color="black",shape="box"];217 -> 221[label="",style="solid", color="black", weight=3]; 11.53/4.74 218[label="not (esEsOrdering (primCmpNat (Succ vx12000) (Succ vx15)) GT)",fontsize=16,color="black",shape="box"];218 -> 222[label="",style="solid", color="black", weight=3]; 11.53/4.74 219[label="asAs MyTrue vx18",fontsize=16,color="black",shape="box"];219 -> 223[label="",style="solid", color="black", weight=3]; 11.53/4.74 220[label="asAs MyFalse vx18",fontsize=16,color="black",shape="box"];220 -> 224[label="",style="solid", color="black", weight=3]; 11.53/4.74 221[label="not (esEsOrdering (primCmpNat Zero (Succ vx15)) GT)",fontsize=16,color="black",shape="box"];221 -> 225[label="",style="solid", color="black", weight=3]; 11.53/4.74 222[label="not (esEsOrdering (primCmpNat vx12000 vx15) GT)",fontsize=16,color="burlywood",shape="triangle"];262[label="vx12000/Succ vx120000",fontsize=10,color="white",style="solid",shape="box"];222 -> 262[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 262 -> 226[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 263[label="vx12000/Zero",fontsize=10,color="white",style="solid",shape="box"];222 -> 263[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 263 -> 227[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 223[label="vx18",fontsize=16,color="green",shape="box"];224[label="MyFalse",fontsize=16,color="green",shape="box"];225[label="not (esEsOrdering LT GT)",fontsize=16,color="black",shape="triangle"];225 -> 228[label="",style="solid", color="black", weight=3]; 11.53/4.74 226[label="not (esEsOrdering (primCmpNat (Succ vx120000) vx15) GT)",fontsize=16,color="burlywood",shape="box"];264[label="vx15/Succ vx150",fontsize=10,color="white",style="solid",shape="box"];226 -> 264[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 264 -> 229[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 265[label="vx15/Zero",fontsize=10,color="white",style="solid",shape="box"];226 -> 265[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 265 -> 230[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 227[label="not (esEsOrdering (primCmpNat Zero vx15) GT)",fontsize=16,color="burlywood",shape="box"];266[label="vx15/Succ vx150",fontsize=10,color="white",style="solid",shape="box"];227 -> 266[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 266 -> 231[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 267[label="vx15/Zero",fontsize=10,color="white",style="solid",shape="box"];227 -> 267[label="",style="solid", color="burlywood", weight=9]; 11.53/4.74 267 -> 232[label="",style="solid", color="burlywood", weight=3]; 11.53/4.74 228[label="not MyFalse",fontsize=16,color="black",shape="triangle"];228 -> 233[label="",style="solid", color="black", weight=3]; 11.53/4.74 229[label="not (esEsOrdering (primCmpNat (Succ vx120000) (Succ vx150)) GT)",fontsize=16,color="black",shape="box"];229 -> 234[label="",style="solid", color="black", weight=3]; 11.53/4.74 230[label="not (esEsOrdering (primCmpNat (Succ vx120000) Zero) GT)",fontsize=16,color="black",shape="box"];230 -> 235[label="",style="solid", color="black", weight=3]; 11.53/4.74 231[label="not (esEsOrdering (primCmpNat Zero (Succ vx150)) GT)",fontsize=16,color="black",shape="box"];231 -> 236[label="",style="solid", color="black", weight=3]; 11.53/4.74 232[label="not (esEsOrdering (primCmpNat Zero Zero) GT)",fontsize=16,color="black",shape="box"];232 -> 237[label="",style="solid", color="black", weight=3]; 11.53/4.74 233[label="MyTrue",fontsize=16,color="green",shape="box"];234 -> 222[label="",style="dashed", color="red", weight=0]; 11.53/4.74 234[label="not (esEsOrdering (primCmpNat vx120000 vx150) GT)",fontsize=16,color="magenta"];234 -> 238[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 234 -> 239[label="",style="dashed", color="magenta", weight=3]; 11.53/4.74 235[label="not (esEsOrdering GT GT)",fontsize=16,color="black",shape="box"];235 -> 240[label="",style="solid", color="black", weight=3]; 11.53/4.74 236 -> 225[label="",style="dashed", color="red", weight=0]; 11.53/4.74 236[label="not (esEsOrdering LT GT)",fontsize=16,color="magenta"];237[label="not (esEsOrdering EQ GT)",fontsize=16,color="black",shape="box"];237 -> 241[label="",style="solid", color="black", weight=3]; 11.53/4.74 238[label="vx150",fontsize=16,color="green",shape="box"];239[label="vx120000",fontsize=16,color="green",shape="box"];240[label="not MyTrue",fontsize=16,color="black",shape="box"];240 -> 242[label="",style="solid", color="black", weight=3]; 11.53/4.74 241 -> 228[label="",style="dashed", color="red", weight=0]; 11.53/4.74 241[label="not MyFalse",fontsize=16,color="magenta"];242[label="MyFalse",fontsize=16,color="green",shape="box"];} 11.53/4.74 11.53/4.74 ---------------------------------------- 11.53/4.74 11.53/4.74 (6) 11.53/4.74 Complex Obligation (AND) 11.53/4.74 11.53/4.74 ---------------------------------------- 11.53/4.74 11.53/4.74 (7) 11.53/4.74 Obligation: 11.53/4.74 Q DP problem: 11.53/4.74 The TRS P consists of the following rules: 11.53/4.74 11.53/4.74 new_asAs(Main.Succ(vx120000000), Main.Succ(vx140000), vx18) -> new_asAs(vx120000000, vx140000, vx18) 11.53/4.74 11.53/4.74 R is empty. 11.53/4.74 Q is empty. 11.53/4.74 We have to consider all minimal (P,Q,R)-chains. 11.53/4.74 ---------------------------------------- 11.53/4.74 11.53/4.74 (8) QDPSizeChangeProof (EQUIVALENT) 11.53/4.74 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. 11.53/4.74 11.53/4.74 From the DPs we obtained the following set of size-change graphs: 11.53/4.74 *new_asAs(Main.Succ(vx120000000), Main.Succ(vx140000), vx18) -> new_asAs(vx120000000, vx140000, vx18) 11.53/4.74 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 11.53/4.74 11.53/4.74 11.53/4.74 ---------------------------------------- 11.53/4.74 11.53/4.74 (9) 11.53/4.74 YES 11.53/4.74 11.53/4.74 ---------------------------------------- 11.53/4.74 11.53/4.74 (10) 11.53/4.74 Obligation: 11.53/4.74 Q DP problem: 11.53/4.74 The TRS P consists of the following rules: 11.53/4.74 11.53/4.74 new_pePe(Main.Succ(vx12000000), Main.Succ(vx13000), vx16) -> new_pePe(vx12000000, vx13000, vx16) 11.53/4.74 11.53/4.74 R is empty. 11.53/4.74 Q is empty. 11.53/4.74 We have to consider all minimal (P,Q,R)-chains. 11.53/4.74 ---------------------------------------- 11.53/4.74 11.53/4.74 (11) QDPSizeChangeProof (EQUIVALENT) 11.53/4.74 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. 11.53/4.74 11.53/4.74 From the DPs we obtained the following set of size-change graphs: 11.53/4.74 *new_pePe(Main.Succ(vx12000000), Main.Succ(vx13000), vx16) -> new_pePe(vx12000000, vx13000, vx16) 11.53/4.74 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 11.53/4.74 11.53/4.74 11.53/4.74 ---------------------------------------- 11.53/4.74 11.53/4.74 (12) 11.53/4.74 YES 11.53/4.74 11.53/4.74 ---------------------------------------- 11.53/4.74 11.53/4.74 (13) 11.53/4.74 Obligation: 11.53/4.74 Q DP problem: 11.53/4.74 The TRS P consists of the following rules: 11.53/4.74 11.53/4.74 new_not(Main.Succ(vx120000), Main.Succ(vx150)) -> new_not(vx120000, vx150) 11.53/4.74 11.53/4.74 R is empty. 11.53/4.74 Q is empty. 11.53/4.74 We have to consider all minimal (P,Q,R)-chains. 11.53/4.74 ---------------------------------------- 11.53/4.74 11.53/4.74 (14) QDPSizeChangeProof (EQUIVALENT) 11.53/4.74 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. 11.53/4.74 11.53/4.74 From the DPs we obtained the following set of size-change graphs: 11.53/4.74 *new_not(Main.Succ(vx120000), Main.Succ(vx150)) -> new_not(vx120000, vx150) 11.53/4.74 The graph contains the following edges 1 > 1, 2 > 2 11.53/4.74 11.53/4.74 11.53/4.74 ---------------------------------------- 11.53/4.74 11.53/4.74 (15) 11.53/4.74 YES 11.70/4.80 EOF