10.24/5.03 YES 12.61/6.27 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 12.61/6.27 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 12.61/6.27 12.61/6.27 12.61/6.27 H-Termination with start terms of the given HASKELL could be proven: 12.61/6.27 12.61/6.27 (0) HASKELL 12.61/6.27 (1) BR [EQUIVALENT, 0 ms] 12.61/6.27 (2) HASKELL 12.61/6.27 (3) COR [EQUIVALENT, 0 ms] 12.61/6.27 (4) HASKELL 12.61/6.27 (5) Narrow [SOUND, 0 ms] 12.61/6.27 (6) AND 12.61/6.27 (7) QDP 12.61/6.27 (8) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.61/6.27 (9) YES 12.61/6.27 (10) QDP 12.61/6.27 (11) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.61/6.27 (12) YES 12.61/6.27 (13) QDP 12.61/6.27 (14) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.61/6.27 (15) YES 12.61/6.27 12.61/6.27 12.61/6.27 ---------------------------------------- 12.61/6.27 12.61/6.27 (0) 12.61/6.27 Obligation: 12.61/6.27 mainModule Main 12.61/6.27 module Main where { 12.61/6.27 import qualified Prelude; 12.61/6.27 data Main.Char = Char MyInt ; 12.61/6.27 12.61/6.27 data MyBool = MyTrue | MyFalse ; 12.61/6.27 12.61/6.27 data MyInt = Pos Main.Nat | Neg Main.Nat ; 12.61/6.27 12.61/6.27 data Main.Nat = Succ Main.Nat | Zero ; 12.61/6.27 12.61/6.27 data Ordering = LT | EQ | GT ; 12.61/6.27 12.61/6.27 asAs :: MyBool -> MyBool -> MyBool; 12.61/6.27 asAs MyFalse x = MyFalse; 12.61/6.27 asAs MyTrue x = x; 12.61/6.27 12.61/6.27 compareChar :: Main.Char -> Main.Char -> Ordering; 12.61/6.27 compareChar = primCmpChar; 12.61/6.27 12.61/6.27 esEsOrdering :: Ordering -> Ordering -> MyBool; 12.61/6.27 esEsOrdering LT LT = MyTrue; 12.61/6.27 esEsOrdering LT EQ = MyFalse; 12.61/6.27 esEsOrdering LT GT = MyFalse; 12.61/6.27 esEsOrdering EQ LT = MyFalse; 12.61/6.27 esEsOrdering EQ EQ = MyTrue; 12.61/6.27 esEsOrdering EQ GT = MyFalse; 12.61/6.27 esEsOrdering GT LT = MyFalse; 12.61/6.27 esEsOrdering GT EQ = MyFalse; 12.61/6.27 esEsOrdering GT GT = MyTrue; 12.61/6.27 12.61/6.27 fsEsOrdering :: Ordering -> Ordering -> MyBool; 12.61/6.27 fsEsOrdering x y = not (esEsOrdering x y); 12.61/6.27 12.61/6.27 gtEsChar :: Main.Char -> Main.Char -> MyBool; 12.61/6.27 gtEsChar x y = fsEsOrdering (compareChar x y) LT; 12.61/6.27 12.61/6.27 isControl :: Main.Char -> MyBool; 12.61/6.27 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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 12.61/6.27 12.61/6.27 isPrint :: Main.Char -> MyBool; 12.61/6.27 isPrint c = not (isControl c); 12.61/6.27 12.61/6.27 ltChar :: Main.Char -> Main.Char -> MyBool; 12.61/6.27 ltChar x y = esEsOrdering (compareChar x y) LT; 12.61/6.27 12.61/6.27 ltEsChar :: Main.Char -> Main.Char -> MyBool; 12.61/6.27 ltEsChar x y = fsEsOrdering (compareChar x y) GT; 12.61/6.27 12.61/6.27 not :: MyBool -> MyBool; 12.61/6.27 not MyTrue = MyFalse; 12.61/6.27 not MyFalse = MyTrue; 12.61/6.27 12.61/6.27 pePe :: MyBool -> MyBool -> MyBool; 12.61/6.27 pePe MyFalse x = x; 12.61/6.27 pePe MyTrue x = MyTrue; 12.61/6.27 12.61/6.27 primCmpChar :: Main.Char -> Main.Char -> Ordering; 12.61/6.27 primCmpChar (Main.Char x) (Main.Char y) = primCmpInt x y; 12.61/6.27 12.61/6.27 primCmpInt :: MyInt -> MyInt -> Ordering; 12.61/6.27 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 12.61/6.27 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 12.61/6.27 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 12.61/6.27 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 12.61/6.27 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 12.61/6.27 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 12.61/6.27 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 12.61/6.27 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 12.61/6.27 12.61/6.27 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 12.61/6.27 primCmpNat Main.Zero Main.Zero = EQ; 12.61/6.27 primCmpNat Main.Zero (Main.Succ y) = LT; 12.61/6.27 primCmpNat (Main.Succ x) Main.Zero = GT; 12.61/6.27 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 12.61/6.27 12.61/6.27 } 12.61/6.27 12.61/6.27 ---------------------------------------- 12.61/6.27 12.61/6.27 (1) BR (EQUIVALENT) 12.61/6.27 Replaced joker patterns by fresh variables and removed binding patterns. 12.61/6.27 ---------------------------------------- 12.61/6.27 12.61/6.27 (2) 12.61/6.27 Obligation: 12.61/6.27 mainModule Main 12.61/6.27 module Main where { 12.61/6.27 import qualified Prelude; 12.61/6.27 data Main.Char = Char MyInt ; 12.61/6.27 12.61/6.27 data MyBool = MyTrue | MyFalse ; 12.61/6.27 12.61/6.27 data MyInt = Pos Main.Nat | Neg Main.Nat ; 12.61/6.27 12.61/6.27 data Main.Nat = Succ Main.Nat | Zero ; 12.61/6.27 12.61/6.27 data Ordering = LT | EQ | GT ; 12.61/6.27 12.61/6.27 asAs :: MyBool -> MyBool -> MyBool; 12.61/6.27 asAs MyFalse x = MyFalse; 12.61/6.27 asAs MyTrue x = x; 12.61/6.27 12.61/6.27 compareChar :: Main.Char -> Main.Char -> Ordering; 12.61/6.27 compareChar = primCmpChar; 12.61/6.27 12.61/6.27 esEsOrdering :: Ordering -> Ordering -> MyBool; 12.61/6.27 esEsOrdering LT LT = MyTrue; 12.61/6.27 esEsOrdering LT EQ = MyFalse; 12.61/6.27 esEsOrdering LT GT = MyFalse; 12.61/6.27 esEsOrdering EQ LT = MyFalse; 12.61/6.27 esEsOrdering EQ EQ = MyTrue; 12.61/6.27 esEsOrdering EQ GT = MyFalse; 12.61/6.27 esEsOrdering GT LT = MyFalse; 12.61/6.27 esEsOrdering GT EQ = MyFalse; 12.61/6.27 esEsOrdering GT GT = MyTrue; 12.61/6.27 12.61/6.27 fsEsOrdering :: Ordering -> Ordering -> MyBool; 12.61/6.27 fsEsOrdering x y = not (esEsOrdering x y); 12.61/6.27 12.61/6.27 gtEsChar :: Main.Char -> Main.Char -> MyBool; 12.61/6.27 gtEsChar x y = fsEsOrdering (compareChar x y) LT; 12.61/6.27 12.61/6.27 isControl :: Main.Char -> MyBool; 12.61/6.27 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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 12.61/6.27 12.61/6.27 isPrint :: Main.Char -> MyBool; 12.61/6.27 isPrint c = not (isControl c); 12.61/6.27 12.61/6.27 ltChar :: Main.Char -> Main.Char -> MyBool; 12.61/6.27 ltChar x y = esEsOrdering (compareChar x y) LT; 12.61/6.27 12.61/6.27 ltEsChar :: Main.Char -> Main.Char -> MyBool; 12.61/6.27 ltEsChar x y = fsEsOrdering (compareChar x y) GT; 12.61/6.27 12.61/6.27 not :: MyBool -> MyBool; 12.61/6.27 not MyTrue = MyFalse; 12.61/6.27 not MyFalse = MyTrue; 12.61/6.27 12.61/6.27 pePe :: MyBool -> MyBool -> MyBool; 12.61/6.27 pePe MyFalse x = x; 12.61/6.27 pePe MyTrue x = MyTrue; 12.61/6.27 12.61/6.27 primCmpChar :: Main.Char -> Main.Char -> Ordering; 12.61/6.27 primCmpChar (Main.Char x) (Main.Char y) = primCmpInt x y; 12.61/6.27 12.61/6.27 primCmpInt :: MyInt -> MyInt -> Ordering; 12.61/6.27 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 12.61/6.27 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 12.61/6.27 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 12.61/6.27 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 12.61/6.27 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 12.61/6.27 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 12.61/6.27 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 12.61/6.27 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 12.61/6.27 12.61/6.27 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 12.61/6.27 primCmpNat Main.Zero Main.Zero = EQ; 12.61/6.27 primCmpNat Main.Zero (Main.Succ y) = LT; 12.61/6.27 primCmpNat (Main.Succ x) Main.Zero = GT; 12.61/6.27 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 12.61/6.27 12.61/6.27 } 12.61/6.27 12.61/6.27 ---------------------------------------- 12.61/6.27 12.61/6.27 (3) COR (EQUIVALENT) 12.61/6.27 Cond Reductions: 12.61/6.27 The following Function with conditions 12.61/6.27 "undefined |Falseundefined; 12.61/6.27 " 12.61/6.27 is transformed to 12.61/6.27 "undefined = undefined1; 12.61/6.27 " 12.61/6.27 "undefined0 True = undefined; 12.61/6.27 " 12.61/6.27 "undefined1 = undefined0 False; 12.61/6.27 " 12.61/6.27 12.61/6.27 ---------------------------------------- 12.61/6.27 12.61/6.27 (4) 12.61/6.27 Obligation: 12.61/6.27 mainModule Main 12.61/6.27 module Main where { 12.61/6.27 import qualified Prelude; 12.61/6.27 data Main.Char = Char MyInt ; 12.61/6.27 12.61/6.27 data MyBool = MyTrue | MyFalse ; 12.61/6.27 12.61/6.27 data MyInt = Pos Main.Nat | Neg Main.Nat ; 12.61/6.27 12.61/6.27 data Main.Nat = Succ Main.Nat | Zero ; 12.61/6.27 12.61/6.27 data Ordering = LT | EQ | GT ; 12.61/6.27 12.61/6.27 asAs :: MyBool -> MyBool -> MyBool; 12.61/6.27 asAs MyFalse x = MyFalse; 12.61/6.27 asAs MyTrue x = x; 12.61/6.27 12.61/6.27 compareChar :: Main.Char -> Main.Char -> Ordering; 12.61/6.27 compareChar = primCmpChar; 12.61/6.27 12.61/6.27 esEsOrdering :: Ordering -> Ordering -> MyBool; 12.61/6.27 esEsOrdering LT LT = MyTrue; 12.61/6.27 esEsOrdering LT EQ = MyFalse; 12.61/6.27 esEsOrdering LT GT = MyFalse; 12.61/6.27 esEsOrdering EQ LT = MyFalse; 12.61/6.27 esEsOrdering EQ EQ = MyTrue; 12.61/6.27 esEsOrdering EQ GT = MyFalse; 12.61/6.27 esEsOrdering GT LT = MyFalse; 12.61/6.27 esEsOrdering GT EQ = MyFalse; 12.61/6.27 esEsOrdering GT GT = MyTrue; 12.61/6.27 12.61/6.27 fsEsOrdering :: Ordering -> Ordering -> MyBool; 12.61/6.27 fsEsOrdering x y = not (esEsOrdering x y); 12.61/6.27 12.61/6.27 gtEsChar :: Main.Char -> Main.Char -> MyBool; 12.61/6.27 gtEsChar x y = fsEsOrdering (compareChar x y) LT; 12.61/6.27 12.61/6.27 isControl :: Main.Char -> MyBool; 12.61/6.27 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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 12.61/6.27 12.61/6.27 isPrint :: Main.Char -> MyBool; 12.61/6.27 isPrint c = not (isControl c); 12.61/6.27 12.61/6.27 ltChar :: Main.Char -> Main.Char -> MyBool; 12.61/6.27 ltChar x y = esEsOrdering (compareChar x y) LT; 12.61/6.27 12.61/6.27 ltEsChar :: Main.Char -> Main.Char -> MyBool; 12.61/6.27 ltEsChar x y = fsEsOrdering (compareChar x y) GT; 12.61/6.27 12.61/6.27 not :: MyBool -> MyBool; 12.61/6.27 not MyTrue = MyFalse; 12.61/6.27 not MyFalse = MyTrue; 12.61/6.27 12.61/6.27 pePe :: MyBool -> MyBool -> MyBool; 12.61/6.27 pePe MyFalse x = x; 12.61/6.27 pePe MyTrue x = MyTrue; 12.61/6.27 12.61/6.27 primCmpChar :: Main.Char -> Main.Char -> Ordering; 12.61/6.27 primCmpChar (Main.Char x) (Main.Char y) = primCmpInt x y; 12.61/6.27 12.61/6.27 primCmpInt :: MyInt -> MyInt -> Ordering; 12.61/6.27 primCmpInt (Main.Pos Main.Zero) (Main.Pos Main.Zero) = EQ; 12.61/6.27 primCmpInt (Main.Pos Main.Zero) (Main.Neg Main.Zero) = EQ; 12.61/6.27 primCmpInt (Main.Neg Main.Zero) (Main.Pos Main.Zero) = EQ; 12.61/6.27 primCmpInt (Main.Neg Main.Zero) (Main.Neg Main.Zero) = EQ; 12.61/6.27 primCmpInt (Main.Pos x) (Main.Pos y) = primCmpNat x y; 12.61/6.27 primCmpInt (Main.Pos x) (Main.Neg y) = GT; 12.61/6.27 primCmpInt (Main.Neg x) (Main.Pos y) = LT; 12.61/6.27 primCmpInt (Main.Neg x) (Main.Neg y) = primCmpNat y x; 12.61/6.27 12.61/6.27 primCmpNat :: Main.Nat -> Main.Nat -> Ordering; 12.61/6.27 primCmpNat Main.Zero Main.Zero = EQ; 12.61/6.27 primCmpNat Main.Zero (Main.Succ y) = LT; 12.61/6.27 primCmpNat (Main.Succ x) Main.Zero = GT; 12.61/6.27 primCmpNat (Main.Succ x) (Main.Succ y) = primCmpNat x y; 12.61/6.27 12.61/6.27 } 12.61/6.27 12.61/6.27 ---------------------------------------- 12.61/6.27 12.61/6.27 (5) Narrow (SOUND) 12.61/6.27 Haskell To QDPs 12.61/6.27 12.61/6.27 digraph dp_graph { 12.61/6.27 node [outthreshold=100, inthreshold=100];1[label="isPrint",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 12.61/6.27 3[label="isPrint vx3",fontsize=16,color="black",shape="triangle"];3 -> 4[label="",style="solid", color="black", weight=3]; 12.61/6.27 4 -> 505[label="",style="dashed", color="red", weight=0]; 12.61/6.27 4[label="not (isControl vx3)",fontsize=16,color="magenta"];4 -> 506[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 506[label="isControl vx3",fontsize=16,color="black",shape="box"];506 -> 606[label="",style="solid", color="black", weight=3]; 12.61/6.27 505[label="not vx31",fontsize=16,color="burlywood",shape="triangle"];789[label="vx31/MyTrue",fontsize=10,color="white",style="solid",shape="box"];505 -> 789[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 789 -> 607[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 790[label="vx31/MyFalse",fontsize=10,color="white",style="solid",shape="box"];505 -> 790[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 790 -> 608[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 606 -> 621[label="",style="dashed", color="red", weight=0]; 12.61/6.27 606[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"];606 -> 622[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 606 -> 623[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 606 -> 624[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 606 -> 625[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 607[label="not MyTrue",fontsize=16,color="black",shape="box"];607 -> 612[label="",style="solid", color="black", weight=3]; 12.61/6.27 608[label="not MyFalse",fontsize=16,color="black",shape="box"];608 -> 613[label="",style="solid", color="black", weight=3]; 12.61/6.27 622[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"];623[label="vx3",fontsize=16,color="green",shape="box"];624[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"];625[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"];621[label="pePe (ltChar vx40 (Char (Pos (Succ vx41)))) (asAs (gtEsChar vx40 (Char (Pos (Succ vx42)))) (ltEsChar vx40 (Char (Pos (Succ vx43)))))",fontsize=16,color="black",shape="triangle"];621 -> 630[label="",style="solid", color="black", weight=3]; 12.61/6.27 612[label="MyFalse",fontsize=16,color="green",shape="box"];613[label="MyTrue",fontsize=16,color="green",shape="box"];630[label="pePe (esEsOrdering (compareChar vx40 (Char (Pos (Succ vx41)))) LT) (asAs (gtEsChar vx40 (Char (Pos (Succ vx42)))) (ltEsChar vx40 (Char (Pos (Succ vx43)))))",fontsize=16,color="black",shape="box"];630 -> 631[label="",style="solid", color="black", weight=3]; 12.61/6.27 631[label="pePe (esEsOrdering (primCmpChar vx40 (Char (Pos (Succ vx41)))) LT) (asAs (gtEsChar vx40 (Char (Pos (Succ vx42)))) (ltEsChar vx40 (Char (Pos (Succ vx43)))))",fontsize=16,color="burlywood",shape="box"];791[label="vx40/Char vx400",fontsize=10,color="white",style="solid",shape="box"];631 -> 791[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 791 -> 632[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 632[label="pePe (esEsOrdering (primCmpChar (Char vx400) (Char (Pos (Succ vx41)))) LT) (asAs (gtEsChar (Char vx400) (Char (Pos (Succ vx42)))) (ltEsChar (Char vx400) (Char (Pos (Succ vx43)))))",fontsize=16,color="black",shape="box"];632 -> 633[label="",style="solid", color="black", weight=3]; 12.61/6.27 633[label="pePe (esEsOrdering (primCmpInt vx400 (Pos (Succ vx41))) LT) (asAs (gtEsChar (Char vx400) (Char (Pos (Succ vx42)))) (ltEsChar (Char vx400) (Char (Pos (Succ vx43)))))",fontsize=16,color="burlywood",shape="box"];792[label="vx400/Pos vx4000",fontsize=10,color="white",style="solid",shape="box"];633 -> 792[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 792 -> 634[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 793[label="vx400/Neg vx4000",fontsize=10,color="white",style="solid",shape="box"];633 -> 793[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 793 -> 635[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 634[label="pePe (esEsOrdering (primCmpInt (Pos vx4000) (Pos (Succ vx41))) LT) (asAs (gtEsChar (Char (Pos vx4000)) (Char (Pos (Succ vx42)))) (ltEsChar (Char (Pos vx4000)) (Char (Pos (Succ vx43)))))",fontsize=16,color="burlywood",shape="box"];794[label="vx4000/Succ vx40000",fontsize=10,color="white",style="solid",shape="box"];634 -> 794[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 794 -> 636[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 795[label="vx4000/Zero",fontsize=10,color="white",style="solid",shape="box"];634 -> 795[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 795 -> 637[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 635[label="pePe (esEsOrdering (primCmpInt (Neg vx4000) (Pos (Succ vx41))) LT) (asAs (gtEsChar (Char (Neg vx4000)) (Char (Pos (Succ vx42)))) (ltEsChar (Char (Neg vx4000)) (Char (Pos (Succ vx43)))))",fontsize=16,color="burlywood",shape="box"];796[label="vx4000/Succ vx40000",fontsize=10,color="white",style="solid",shape="box"];635 -> 796[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 796 -> 638[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 797[label="vx4000/Zero",fontsize=10,color="white",style="solid",shape="box"];635 -> 797[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 797 -> 639[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 636[label="pePe (esEsOrdering (primCmpInt (Pos (Succ vx40000)) (Pos (Succ vx41))) LT) (asAs (gtEsChar (Char (Pos (Succ vx40000))) (Char (Pos (Succ vx42)))) (ltEsChar (Char (Pos (Succ vx40000))) (Char (Pos (Succ vx43)))))",fontsize=16,color="black",shape="box"];636 -> 640[label="",style="solid", color="black", weight=3]; 12.61/6.27 637[label="pePe (esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ vx41))) LT) (asAs (gtEsChar (Char (Pos Zero)) (Char (Pos (Succ vx42)))) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx43)))))",fontsize=16,color="black",shape="box"];637 -> 641[label="",style="solid", color="black", weight=3]; 12.61/6.27 638[label="pePe (esEsOrdering (primCmpInt (Neg (Succ vx40000)) (Pos (Succ vx41))) LT) (asAs (gtEsChar (Char (Neg (Succ vx40000))) (Char (Pos (Succ vx42)))) (ltEsChar (Char (Neg (Succ vx40000))) (Char (Pos (Succ vx43)))))",fontsize=16,color="black",shape="box"];638 -> 642[label="",style="solid", color="black", weight=3]; 12.61/6.27 639[label="pePe (esEsOrdering (primCmpInt (Neg Zero) (Pos (Succ vx41))) LT) (asAs (gtEsChar (Char (Neg Zero)) (Char (Pos (Succ vx42)))) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx43)))))",fontsize=16,color="black",shape="box"];639 -> 643[label="",style="solid", color="black", weight=3]; 12.61/6.27 640 -> 680[label="",style="dashed", color="red", weight=0]; 12.61/6.27 640[label="pePe (esEsOrdering (primCmpNat (Succ vx40000) (Succ vx41)) LT) (asAs (gtEsChar (Char (Pos (Succ vx40000))) (Char (Pos (Succ vx42)))) (ltEsChar (Char (Pos (Succ vx40000))) (Char (Pos (Succ vx43)))))",fontsize=16,color="magenta"];640 -> 681[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 640 -> 682[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 640 -> 683[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 641 -> 680[label="",style="dashed", color="red", weight=0]; 12.61/6.27 641[label="pePe (esEsOrdering (primCmpNat Zero (Succ vx41)) LT) (asAs (gtEsChar (Char (Pos Zero)) (Char (Pos (Succ vx42)))) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx43)))))",fontsize=16,color="magenta"];641 -> 684[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 641 -> 685[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 641 -> 686[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 642[label="pePe (esEsOrdering LT LT) (asAs (gtEsChar (Char (Neg (Succ vx40000))) (Char (Pos (Succ vx42)))) (ltEsChar (Char (Neg (Succ vx40000))) (Char (Pos (Succ vx43)))))",fontsize=16,color="black",shape="box"];642 -> 646[label="",style="solid", color="black", weight=3]; 12.61/6.27 643[label="pePe (esEsOrdering LT LT) (asAs (gtEsChar (Char (Neg Zero)) (Char (Pos (Succ vx42)))) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx43)))))",fontsize=16,color="black",shape="box"];643 -> 647[label="",style="solid", color="black", weight=3]; 12.61/6.27 681[label="Succ vx40000",fontsize=16,color="green",shape="box"];682[label="Succ vx41",fontsize=16,color="green",shape="box"];683 -> 704[label="",style="dashed", color="red", weight=0]; 12.61/6.27 683[label="asAs (gtEsChar (Char (Pos (Succ vx40000))) (Char (Pos (Succ vx42)))) (ltEsChar (Char (Pos (Succ vx40000))) (Char (Pos (Succ vx43))))",fontsize=16,color="magenta"];683 -> 705[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 680[label="pePe (esEsOrdering (primCmpNat vx4000000 vx4100) LT) vx44",fontsize=16,color="burlywood",shape="triangle"];798[label="vx4000000/Succ vx40000000",fontsize=10,color="white",style="solid",shape="box"];680 -> 798[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 798 -> 695[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 799[label="vx4000000/Zero",fontsize=10,color="white",style="solid",shape="box"];680 -> 799[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 799 -> 696[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 684[label="Zero",fontsize=16,color="green",shape="box"];685[label="Succ vx41",fontsize=16,color="green",shape="box"];686 -> 715[label="",style="dashed", color="red", weight=0]; 12.61/6.27 686[label="asAs (gtEsChar (Char (Pos Zero)) (Char (Pos (Succ vx42)))) (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx43))))",fontsize=16,color="magenta"];686 -> 716[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 646[label="pePe MyTrue (asAs (gtEsChar (Char (Neg (Succ vx40000))) (Char (Pos (Succ vx42)))) (ltEsChar (Char (Neg (Succ vx40000))) (Char (Pos (Succ vx43)))))",fontsize=16,color="black",shape="box"];646 -> 651[label="",style="solid", color="black", weight=3]; 12.61/6.27 647[label="pePe MyTrue (asAs (gtEsChar (Char (Neg Zero)) (Char (Pos (Succ vx42)))) (ltEsChar (Char (Neg Zero)) (Char (Pos (Succ vx43)))))",fontsize=16,color="black",shape="box"];647 -> 652[label="",style="solid", color="black", weight=3]; 12.61/6.27 705[label="gtEsChar (Char (Pos (Succ vx40000))) (Char (Pos (Succ vx42)))",fontsize=16,color="black",shape="box"];705 -> 708[label="",style="solid", color="black", weight=3]; 12.61/6.27 704[label="asAs vx45 (ltEsChar (Char (Pos (Succ vx40000))) (Char (Pos (Succ vx43))))",fontsize=16,color="burlywood",shape="triangle"];800[label="vx45/MyTrue",fontsize=10,color="white",style="solid",shape="box"];704 -> 800[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 800 -> 709[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 801[label="vx45/MyFalse",fontsize=10,color="white",style="solid",shape="box"];704 -> 801[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 801 -> 710[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 695[label="pePe (esEsOrdering (primCmpNat (Succ vx40000000) vx4100) LT) vx44",fontsize=16,color="burlywood",shape="box"];802[label="vx4100/Succ vx41000",fontsize=10,color="white",style="solid",shape="box"];695 -> 802[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 802 -> 699[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 803[label="vx4100/Zero",fontsize=10,color="white",style="solid",shape="box"];695 -> 803[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 803 -> 700[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 696[label="pePe (esEsOrdering (primCmpNat Zero vx4100) LT) vx44",fontsize=16,color="burlywood",shape="box"];804[label="vx4100/Succ vx41000",fontsize=10,color="white",style="solid",shape="box"];696 -> 804[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 804 -> 701[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 805[label="vx4100/Zero",fontsize=10,color="white",style="solid",shape="box"];696 -> 805[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 805 -> 702[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 716[label="gtEsChar (Char (Pos Zero)) (Char (Pos (Succ vx42)))",fontsize=16,color="black",shape="box"];716 -> 719[label="",style="solid", color="black", weight=3]; 12.61/6.27 715[label="asAs vx46 (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx43))))",fontsize=16,color="burlywood",shape="triangle"];806[label="vx46/MyTrue",fontsize=10,color="white",style="solid",shape="box"];715 -> 806[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 806 -> 720[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 807[label="vx46/MyFalse",fontsize=10,color="white",style="solid",shape="box"];715 -> 807[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 807 -> 721[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 651[label="MyTrue",fontsize=16,color="green",shape="box"];652[label="MyTrue",fontsize=16,color="green",shape="box"];708[label="fsEsOrdering (compareChar (Char (Pos (Succ vx40000))) (Char (Pos (Succ vx42)))) LT",fontsize=16,color="black",shape="box"];708 -> 722[label="",style="solid", color="black", weight=3]; 12.61/6.27 709[label="asAs MyTrue (ltEsChar (Char (Pos (Succ vx40000))) (Char (Pos (Succ vx43))))",fontsize=16,color="black",shape="box"];709 -> 723[label="",style="solid", color="black", weight=3]; 12.61/6.27 710[label="asAs MyFalse (ltEsChar (Char (Pos (Succ vx40000))) (Char (Pos (Succ vx43))))",fontsize=16,color="black",shape="box"];710 -> 724[label="",style="solid", color="black", weight=3]; 12.61/6.27 699[label="pePe (esEsOrdering (primCmpNat (Succ vx40000000) (Succ vx41000)) LT) vx44",fontsize=16,color="black",shape="box"];699 -> 711[label="",style="solid", color="black", weight=3]; 12.61/6.27 700[label="pePe (esEsOrdering (primCmpNat (Succ vx40000000) Zero) LT) vx44",fontsize=16,color="black",shape="box"];700 -> 712[label="",style="solid", color="black", weight=3]; 12.61/6.27 701[label="pePe (esEsOrdering (primCmpNat Zero (Succ vx41000)) LT) vx44",fontsize=16,color="black",shape="box"];701 -> 713[label="",style="solid", color="black", weight=3]; 12.61/6.27 702[label="pePe (esEsOrdering (primCmpNat Zero Zero) LT) vx44",fontsize=16,color="black",shape="box"];702 -> 714[label="",style="solid", color="black", weight=3]; 12.61/6.27 719[label="fsEsOrdering (compareChar (Char (Pos Zero)) (Char (Pos (Succ vx42)))) LT",fontsize=16,color="black",shape="box"];719 -> 730[label="",style="solid", color="black", weight=3]; 12.61/6.27 720[label="asAs MyTrue (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx43))))",fontsize=16,color="black",shape="box"];720 -> 731[label="",style="solid", color="black", weight=3]; 12.61/6.27 721[label="asAs MyFalse (ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx43))))",fontsize=16,color="black",shape="box"];721 -> 732[label="",style="solid", color="black", weight=3]; 12.61/6.27 722 -> 505[label="",style="dashed", color="red", weight=0]; 12.61/6.27 722[label="not (esEsOrdering (compareChar (Char (Pos (Succ vx40000))) (Char (Pos (Succ vx42)))) LT)",fontsize=16,color="magenta"];722 -> 733[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 723[label="ltEsChar (Char (Pos (Succ vx40000))) (Char (Pos (Succ vx43)))",fontsize=16,color="black",shape="box"];723 -> 734[label="",style="solid", color="black", weight=3]; 12.61/6.27 724[label="MyFalse",fontsize=16,color="green",shape="box"];711 -> 680[label="",style="dashed", color="red", weight=0]; 12.61/6.27 711[label="pePe (esEsOrdering (primCmpNat vx40000000 vx41000) LT) vx44",fontsize=16,color="magenta"];711 -> 725[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 711 -> 726[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 712[label="pePe (esEsOrdering GT LT) vx44",fontsize=16,color="black",shape="box"];712 -> 727[label="",style="solid", color="black", weight=3]; 12.61/6.27 713[label="pePe (esEsOrdering LT LT) vx44",fontsize=16,color="black",shape="box"];713 -> 728[label="",style="solid", color="black", weight=3]; 12.61/6.27 714[label="pePe (esEsOrdering EQ LT) vx44",fontsize=16,color="black",shape="box"];714 -> 729[label="",style="solid", color="black", weight=3]; 12.61/6.27 730 -> 505[label="",style="dashed", color="red", weight=0]; 12.61/6.27 730[label="not (esEsOrdering (compareChar (Char (Pos Zero)) (Char (Pos (Succ vx42)))) LT)",fontsize=16,color="magenta"];730 -> 737[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 731[label="ltEsChar (Char (Pos Zero)) (Char (Pos (Succ vx43)))",fontsize=16,color="black",shape="box"];731 -> 738[label="",style="solid", color="black", weight=3]; 12.61/6.27 732[label="MyFalse",fontsize=16,color="green",shape="box"];733[label="esEsOrdering (compareChar (Char (Pos (Succ vx40000))) (Char (Pos (Succ vx42)))) LT",fontsize=16,color="black",shape="box"];733 -> 739[label="",style="solid", color="black", weight=3]; 12.61/6.27 734[label="fsEsOrdering (compareChar (Char (Pos (Succ vx40000))) (Char (Pos (Succ vx43)))) GT",fontsize=16,color="black",shape="box"];734 -> 740[label="",style="solid", color="black", weight=3]; 12.61/6.27 725[label="vx40000000",fontsize=16,color="green",shape="box"];726[label="vx41000",fontsize=16,color="green",shape="box"];727[label="pePe MyFalse vx44",fontsize=16,color="black",shape="triangle"];727 -> 735[label="",style="solid", color="black", weight=3]; 12.61/6.27 728[label="pePe MyTrue vx44",fontsize=16,color="black",shape="box"];728 -> 736[label="",style="solid", color="black", weight=3]; 12.61/6.27 729 -> 727[label="",style="dashed", color="red", weight=0]; 12.61/6.27 729[label="pePe MyFalse vx44",fontsize=16,color="magenta"];737[label="esEsOrdering (compareChar (Char (Pos Zero)) (Char (Pos (Succ vx42)))) LT",fontsize=16,color="black",shape="box"];737 -> 741[label="",style="solid", color="black", weight=3]; 12.61/6.27 738[label="fsEsOrdering (compareChar (Char (Pos Zero)) (Char (Pos (Succ vx43)))) GT",fontsize=16,color="black",shape="box"];738 -> 742[label="",style="solid", color="black", weight=3]; 12.61/6.27 739[label="esEsOrdering (primCmpChar (Char (Pos (Succ vx40000))) (Char (Pos (Succ vx42)))) LT",fontsize=16,color="black",shape="box"];739 -> 743[label="",style="solid", color="black", weight=3]; 12.61/6.27 740 -> 505[label="",style="dashed", color="red", weight=0]; 12.61/6.27 740[label="not (esEsOrdering (compareChar (Char (Pos (Succ vx40000))) (Char (Pos (Succ vx43)))) GT)",fontsize=16,color="magenta"];740 -> 744[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 735[label="vx44",fontsize=16,color="green",shape="box"];736[label="MyTrue",fontsize=16,color="green",shape="box"];741[label="esEsOrdering (primCmpChar (Char (Pos Zero)) (Char (Pos (Succ vx42)))) LT",fontsize=16,color="black",shape="box"];741 -> 745[label="",style="solid", color="black", weight=3]; 12.61/6.27 742 -> 505[label="",style="dashed", color="red", weight=0]; 12.61/6.27 742[label="not (esEsOrdering (compareChar (Char (Pos Zero)) (Char (Pos (Succ vx43)))) GT)",fontsize=16,color="magenta"];742 -> 746[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 743[label="esEsOrdering (primCmpInt (Pos (Succ vx40000)) (Pos (Succ vx42))) LT",fontsize=16,color="black",shape="box"];743 -> 747[label="",style="solid", color="black", weight=3]; 12.61/6.27 744[label="esEsOrdering (compareChar (Char (Pos (Succ vx40000))) (Char (Pos (Succ vx43)))) GT",fontsize=16,color="black",shape="box"];744 -> 748[label="",style="solid", color="black", weight=3]; 12.61/6.27 745[label="esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ vx42))) LT",fontsize=16,color="black",shape="box"];745 -> 749[label="",style="solid", color="black", weight=3]; 12.61/6.27 746[label="esEsOrdering (compareChar (Char (Pos Zero)) (Char (Pos (Succ vx43)))) GT",fontsize=16,color="black",shape="box"];746 -> 750[label="",style="solid", color="black", weight=3]; 12.61/6.27 747[label="esEsOrdering (primCmpNat (Succ vx40000) (Succ vx42)) LT",fontsize=16,color="black",shape="box"];747 -> 751[label="",style="solid", color="black", weight=3]; 12.61/6.27 748[label="esEsOrdering (primCmpChar (Char (Pos (Succ vx40000))) (Char (Pos (Succ vx43)))) GT",fontsize=16,color="black",shape="box"];748 -> 752[label="",style="solid", color="black", weight=3]; 12.61/6.27 749[label="esEsOrdering (primCmpNat Zero (Succ vx42)) LT",fontsize=16,color="black",shape="box"];749 -> 753[label="",style="solid", color="black", weight=3]; 12.61/6.27 750[label="esEsOrdering (primCmpChar (Char (Pos Zero)) (Char (Pos (Succ vx43)))) GT",fontsize=16,color="black",shape="box"];750 -> 754[label="",style="solid", color="black", weight=3]; 12.61/6.27 751[label="esEsOrdering (primCmpNat vx40000 vx42) LT",fontsize=16,color="burlywood",shape="triangle"];808[label="vx40000/Succ vx400000",fontsize=10,color="white",style="solid",shape="box"];751 -> 808[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 808 -> 755[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 809[label="vx40000/Zero",fontsize=10,color="white",style="solid",shape="box"];751 -> 809[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 809 -> 756[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 752[label="esEsOrdering (primCmpInt (Pos (Succ vx40000)) (Pos (Succ vx43))) GT",fontsize=16,color="black",shape="box"];752 -> 757[label="",style="solid", color="black", weight=3]; 12.61/6.27 753[label="esEsOrdering LT LT",fontsize=16,color="black",shape="triangle"];753 -> 758[label="",style="solid", color="black", weight=3]; 12.61/6.27 754[label="esEsOrdering (primCmpInt (Pos Zero) (Pos (Succ vx43))) GT",fontsize=16,color="black",shape="box"];754 -> 759[label="",style="solid", color="black", weight=3]; 12.61/6.27 755[label="esEsOrdering (primCmpNat (Succ vx400000) vx42) LT",fontsize=16,color="burlywood",shape="box"];810[label="vx42/Succ vx420",fontsize=10,color="white",style="solid",shape="box"];755 -> 810[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 810 -> 760[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 811[label="vx42/Zero",fontsize=10,color="white",style="solid",shape="box"];755 -> 811[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 811 -> 761[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 756[label="esEsOrdering (primCmpNat Zero vx42) LT",fontsize=16,color="burlywood",shape="box"];812[label="vx42/Succ vx420",fontsize=10,color="white",style="solid",shape="box"];756 -> 812[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 812 -> 762[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 813[label="vx42/Zero",fontsize=10,color="white",style="solid",shape="box"];756 -> 813[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 813 -> 763[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 757[label="esEsOrdering (primCmpNat (Succ vx40000) (Succ vx43)) GT",fontsize=16,color="black",shape="box"];757 -> 764[label="",style="solid", color="black", weight=3]; 12.61/6.27 758[label="MyTrue",fontsize=16,color="green",shape="box"];759[label="esEsOrdering (primCmpNat Zero (Succ vx43)) GT",fontsize=16,color="black",shape="box"];759 -> 765[label="",style="solid", color="black", weight=3]; 12.61/6.27 760[label="esEsOrdering (primCmpNat (Succ vx400000) (Succ vx420)) LT",fontsize=16,color="black",shape="box"];760 -> 766[label="",style="solid", color="black", weight=3]; 12.61/6.27 761[label="esEsOrdering (primCmpNat (Succ vx400000) Zero) LT",fontsize=16,color="black",shape="box"];761 -> 767[label="",style="solid", color="black", weight=3]; 12.61/6.27 762[label="esEsOrdering (primCmpNat Zero (Succ vx420)) LT",fontsize=16,color="black",shape="box"];762 -> 768[label="",style="solid", color="black", weight=3]; 12.61/6.27 763[label="esEsOrdering (primCmpNat Zero Zero) LT",fontsize=16,color="black",shape="box"];763 -> 769[label="",style="solid", color="black", weight=3]; 12.61/6.27 764[label="esEsOrdering (primCmpNat vx40000 vx43) GT",fontsize=16,color="burlywood",shape="triangle"];814[label="vx40000/Succ vx400000",fontsize=10,color="white",style="solid",shape="box"];764 -> 814[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 814 -> 770[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 815[label="vx40000/Zero",fontsize=10,color="white",style="solid",shape="box"];764 -> 815[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 815 -> 771[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 765[label="esEsOrdering LT GT",fontsize=16,color="black",shape="triangle"];765 -> 772[label="",style="solid", color="black", weight=3]; 12.61/6.27 766 -> 751[label="",style="dashed", color="red", weight=0]; 12.61/6.27 766[label="esEsOrdering (primCmpNat vx400000 vx420) LT",fontsize=16,color="magenta"];766 -> 773[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 766 -> 774[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 767[label="esEsOrdering GT LT",fontsize=16,color="black",shape="box"];767 -> 775[label="",style="solid", color="black", weight=3]; 12.61/6.27 768 -> 753[label="",style="dashed", color="red", weight=0]; 12.61/6.27 768[label="esEsOrdering LT LT",fontsize=16,color="magenta"];769[label="esEsOrdering EQ LT",fontsize=16,color="black",shape="box"];769 -> 776[label="",style="solid", color="black", weight=3]; 12.61/6.27 770[label="esEsOrdering (primCmpNat (Succ vx400000) vx43) GT",fontsize=16,color="burlywood",shape="box"];816[label="vx43/Succ vx430",fontsize=10,color="white",style="solid",shape="box"];770 -> 816[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 816 -> 777[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 817[label="vx43/Zero",fontsize=10,color="white",style="solid",shape="box"];770 -> 817[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 817 -> 778[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 771[label="esEsOrdering (primCmpNat Zero vx43) GT",fontsize=16,color="burlywood",shape="box"];818[label="vx43/Succ vx430",fontsize=10,color="white",style="solid",shape="box"];771 -> 818[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 818 -> 779[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 819[label="vx43/Zero",fontsize=10,color="white",style="solid",shape="box"];771 -> 819[label="",style="solid", color="burlywood", weight=9]; 12.61/6.27 819 -> 780[label="",style="solid", color="burlywood", weight=3]; 12.61/6.27 772[label="MyFalse",fontsize=16,color="green",shape="box"];773[label="vx420",fontsize=16,color="green",shape="box"];774[label="vx400000",fontsize=16,color="green",shape="box"];775[label="MyFalse",fontsize=16,color="green",shape="box"];776[label="MyFalse",fontsize=16,color="green",shape="box"];777[label="esEsOrdering (primCmpNat (Succ vx400000) (Succ vx430)) GT",fontsize=16,color="black",shape="box"];777 -> 781[label="",style="solid", color="black", weight=3]; 12.61/6.27 778[label="esEsOrdering (primCmpNat (Succ vx400000) Zero) GT",fontsize=16,color="black",shape="box"];778 -> 782[label="",style="solid", color="black", weight=3]; 12.61/6.27 779[label="esEsOrdering (primCmpNat Zero (Succ vx430)) GT",fontsize=16,color="black",shape="box"];779 -> 783[label="",style="solid", color="black", weight=3]; 12.61/6.27 780[label="esEsOrdering (primCmpNat Zero Zero) GT",fontsize=16,color="black",shape="box"];780 -> 784[label="",style="solid", color="black", weight=3]; 12.61/6.27 781 -> 764[label="",style="dashed", color="red", weight=0]; 12.61/6.27 781[label="esEsOrdering (primCmpNat vx400000 vx430) GT",fontsize=16,color="magenta"];781 -> 785[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 781 -> 786[label="",style="dashed", color="magenta", weight=3]; 12.61/6.27 782[label="esEsOrdering GT GT",fontsize=16,color="black",shape="box"];782 -> 787[label="",style="solid", color="black", weight=3]; 12.61/6.27 783 -> 765[label="",style="dashed", color="red", weight=0]; 12.61/6.27 783[label="esEsOrdering LT GT",fontsize=16,color="magenta"];784[label="esEsOrdering EQ GT",fontsize=16,color="black",shape="box"];784 -> 788[label="",style="solid", color="black", weight=3]; 12.61/6.27 785[label="vx430",fontsize=16,color="green",shape="box"];786[label="vx400000",fontsize=16,color="green",shape="box"];787[label="MyTrue",fontsize=16,color="green",shape="box"];788[label="MyFalse",fontsize=16,color="green",shape="box"];} 12.61/6.27 12.61/6.27 ---------------------------------------- 12.61/6.27 12.61/6.27 (6) 12.61/6.27 Complex Obligation (AND) 12.61/6.27 12.61/6.27 ---------------------------------------- 12.61/6.27 12.61/6.27 (7) 12.61/6.27 Obligation: 12.61/6.27 Q DP problem: 12.61/6.27 The TRS P consists of the following rules: 12.61/6.27 12.61/6.27 new_esEsOrdering(Main.Succ(vx400000), Main.Succ(vx420)) -> new_esEsOrdering(vx400000, vx420) 12.61/6.27 12.61/6.27 R is empty. 12.61/6.27 Q is empty. 12.61/6.27 We have to consider all minimal (P,Q,R)-chains. 12.61/6.27 ---------------------------------------- 12.61/6.27 12.61/6.27 (8) QDPSizeChangeProof (EQUIVALENT) 12.61/6.27 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. 12.61/6.27 12.61/6.27 From the DPs we obtained the following set of size-change graphs: 12.61/6.27 *new_esEsOrdering(Main.Succ(vx400000), Main.Succ(vx420)) -> new_esEsOrdering(vx400000, vx420) 12.61/6.27 The graph contains the following edges 1 > 1, 2 > 2 12.61/6.27 12.61/6.27 12.61/6.27 ---------------------------------------- 12.61/6.27 12.61/6.27 (9) 12.61/6.27 YES 12.61/6.27 12.61/6.27 ---------------------------------------- 12.61/6.27 12.61/6.27 (10) 12.61/6.27 Obligation: 12.61/6.27 Q DP problem: 12.61/6.27 The TRS P consists of the following rules: 12.61/6.27 12.61/6.27 new_pePe(Main.Succ(vx40000000), Main.Succ(vx41000), vx44) -> new_pePe(vx40000000, vx41000, vx44) 12.61/6.27 12.61/6.27 R is empty. 12.61/6.27 Q is empty. 12.61/6.27 We have to consider all minimal (P,Q,R)-chains. 12.61/6.27 ---------------------------------------- 12.61/6.27 12.61/6.27 (11) QDPSizeChangeProof (EQUIVALENT) 12.61/6.27 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. 12.61/6.27 12.61/6.27 From the DPs we obtained the following set of size-change graphs: 12.61/6.27 *new_pePe(Main.Succ(vx40000000), Main.Succ(vx41000), vx44) -> new_pePe(vx40000000, vx41000, vx44) 12.61/6.27 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 12.61/6.27 12.61/6.27 12.61/6.27 ---------------------------------------- 12.61/6.27 12.61/6.27 (12) 12.61/6.27 YES 12.61/6.27 12.61/6.27 ---------------------------------------- 12.61/6.27 12.61/6.27 (13) 12.61/6.27 Obligation: 12.61/6.27 Q DP problem: 12.61/6.27 The TRS P consists of the following rules: 12.61/6.27 12.61/6.27 new_esEsOrdering0(Main.Succ(vx400000), Main.Succ(vx430)) -> new_esEsOrdering0(vx400000, vx430) 12.61/6.27 12.61/6.27 R is empty. 12.61/6.27 Q is empty. 12.61/6.27 We have to consider all minimal (P,Q,R)-chains. 12.61/6.27 ---------------------------------------- 12.61/6.27 12.61/6.27 (14) QDPSizeChangeProof (EQUIVALENT) 12.61/6.27 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. 12.61/6.27 12.61/6.27 From the DPs we obtained the following set of size-change graphs: 12.61/6.27 *new_esEsOrdering0(Main.Succ(vx400000), Main.Succ(vx430)) -> new_esEsOrdering0(vx400000, vx430) 12.61/6.27 The graph contains the following edges 1 > 1, 2 > 2 12.61/6.27 12.61/6.27 12.61/6.27 ---------------------------------------- 12.61/6.27 12.61/6.27 (15) 12.61/6.27 YES 12.89/8.87 EOF