10.31/4.40 YES 12.29/4.98 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 12.29/4.98 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 12.29/4.98 12.29/4.98 12.29/4.98 H-Termination with start terms of the given HASKELL could be proven: 12.29/4.98 12.29/4.98 (0) HASKELL 12.29/4.98 (1) BR [EQUIVALENT, 0 ms] 12.29/4.98 (2) HASKELL 12.29/4.98 (3) COR [EQUIVALENT, 0 ms] 12.29/4.98 (4) HASKELL 12.29/4.98 (5) Narrow [SOUND, 0 ms] 12.29/4.98 (6) AND 12.29/4.98 (7) QDP 12.29/4.98 (8) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.29/4.98 (9) YES 12.29/4.98 (10) QDP 12.29/4.98 (11) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.29/4.98 (12) YES 12.29/4.98 (13) QDP 12.29/4.98 (14) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.29/4.98 (15) YES 12.29/4.98 (16) QDP 12.29/4.98 (17) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.29/4.98 (18) YES 12.29/4.98 (19) QDP 12.29/4.98 (20) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.29/4.98 (21) YES 12.29/4.98 (22) QDP 12.29/4.98 (23) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.29/4.98 (24) YES 12.29/4.98 (25) QDP 12.29/4.98 (26) DependencyGraphProof [EQUIVALENT, 0 ms] 12.29/4.98 (27) AND 12.29/4.98 (28) QDP 12.29/4.98 (29) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.29/4.98 (30) YES 12.29/4.98 (31) QDP 12.29/4.98 (32) QDPOrderProof [EQUIVALENT, 43 ms] 12.29/4.98 (33) QDP 12.29/4.98 (34) DependencyGraphProof [EQUIVALENT, 0 ms] 12.29/4.98 (35) QDP 12.29/4.98 (36) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.29/4.98 (37) YES 12.29/4.98 12.29/4.98 12.29/4.98 ---------------------------------------- 12.29/4.98 12.29/4.98 (0) 12.29/4.98 Obligation: 12.29/4.98 mainModule Main 12.29/4.98 module Main where { 12.29/4.98 import qualified Prelude; 12.29/4.98 data MyBool = MyTrue | MyFalse ; 12.29/4.98 12.29/4.98 data MyInt = Pos Main.Nat | Neg Main.Nat ; 12.29/4.98 12.29/4.98 data Main.Nat = Succ Main.Nat | Zero ; 12.29/4.98 12.29/4.98 data Ratio a = CnPc a a ; 12.29/4.98 12.29/4.98 data Tup2 b a = Tup2 b a ; 12.29/4.98 12.29/4.98 dot :: (a -> b) -> (c -> a) -> c -> b; 12.29/4.98 dot f g x = f (g x); 12.29/4.98 12.29/4.98 error :: a; 12.29/4.98 error = stop MyTrue; 12.29/4.98 12.29/4.98 fromEnumRatioMyInt :: Ratio MyInt -> MyInt; 12.29/4.98 fromEnumRatioMyInt = truncate; 12.29/4.98 12.29/4.98 fromIntRatioMyInt :: MyInt -> Ratio MyInt; 12.29/4.98 fromIntRatioMyInt x = CnPc x (Main.Pos Main.Zero); 12.29/4.98 12.29/4.98 fst :: Tup2 a b -> a; 12.29/4.98 fst (Tup2 x _) = x; 12.29/4.98 12.29/4.98 pred :: Ratio MyInt -> Ratio MyInt; 12.29/4.98 pred = dot toEnumRatioMyInt (dot (subtract (Main.Pos (Main.Succ Main.Zero))) fromEnumRatioMyInt); 12.29/4.98 12.29/4.98 primDivNatS :: Main.Nat -> Main.Nat -> Main.Nat; 12.29/4.98 primDivNatS Main.Zero Main.Zero = Main.error; 12.29/4.98 primDivNatS (Main.Succ x) Main.Zero = Main.error; 12.29/4.98 primDivNatS (Main.Succ x) (Main.Succ y) = primDivNatS0 x y (primGEqNatS x y); 12.29/4.98 primDivNatS Main.Zero (Main.Succ x) = Main.Zero; 12.29/4.98 12.29/4.98 primDivNatS0 x y MyTrue = Main.Succ (primDivNatS (primMinusNatS x y) (Main.Succ y)); 12.29/4.98 primDivNatS0 x y MyFalse = Main.Zero; 12.29/4.98 12.29/4.98 primGEqNatS :: Main.Nat -> Main.Nat -> MyBool; 12.29/4.98 primGEqNatS (Main.Succ x) Main.Zero = MyTrue; 12.29/4.98 primGEqNatS (Main.Succ x) (Main.Succ y) = primGEqNatS x y; 12.29/4.98 primGEqNatS Main.Zero (Main.Succ x) = MyFalse; 12.29/4.98 primGEqNatS Main.Zero Main.Zero = MyTrue; 12.29/4.98 12.29/4.98 primMinusInt :: MyInt -> MyInt -> MyInt; 12.29/4.98 primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); 12.29/4.98 primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); 12.29/4.98 primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; 12.29/4.98 primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; 12.29/4.98 12.29/4.98 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 12.29/4.98 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 12.29/4.98 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 12.29/4.98 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 12.29/4.98 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 12.29/4.98 12.29/4.98 primMinusNatS :: Main.Nat -> Main.Nat -> Main.Nat; 12.29/4.98 primMinusNatS (Main.Succ x) (Main.Succ y) = primMinusNatS x y; 12.29/4.98 primMinusNatS Main.Zero (Main.Succ y) = Main.Zero; 12.29/4.98 primMinusNatS x Main.Zero = x; 12.29/4.98 12.29/4.98 primModNatS :: Main.Nat -> Main.Nat -> Main.Nat; 12.29/4.98 primModNatS Main.Zero Main.Zero = Main.error; 12.29/4.98 primModNatS Main.Zero (Main.Succ x) = Main.Zero; 12.29/4.98 primModNatS (Main.Succ x) Main.Zero = Main.error; 12.29/4.98 primModNatS (Main.Succ x) (Main.Succ Main.Zero) = Main.Zero; 12.29/4.98 primModNatS (Main.Succ x) (Main.Succ (Main.Succ y)) = primModNatS0 x y (primGEqNatS x (Main.Succ y)); 12.29/4.98 12.29/4.98 primModNatS0 x y MyTrue = primModNatS (primMinusNatS x (Main.Succ y)) (Main.Succ (Main.Succ y)); 12.29/4.98 primModNatS0 x y MyFalse = Main.Succ x; 12.29/4.98 12.29/4.98 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 12.29/4.98 primPlusNat Main.Zero Main.Zero = Main.Zero; 12.29/4.98 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 12.29/4.98 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 12.29/4.98 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 12.29/4.98 12.29/4.98 primQrmInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; 12.29/4.98 primQrmInt x y = Tup2 (primQuotInt x y) (primRemInt x y); 12.29/4.98 12.29/4.98 primQuotInt :: MyInt -> MyInt -> MyInt; 12.29/4.98 primQuotInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 12.29/4.98 primQuotInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 12.29/4.98 primQuotInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 12.29/4.98 primQuotInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 12.29/4.98 primQuotInt vx vy = Main.error; 12.29/4.98 12.29/4.98 primRemInt :: MyInt -> MyInt -> MyInt; 12.29/4.98 primRemInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); 12.29/4.98 primRemInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); 12.29/4.98 primRemInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); 12.29/4.98 primRemInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); 12.29/4.98 primRemInt vv vw = Main.error; 12.29/4.98 12.29/4.98 properFraction :: Ratio MyInt -> Tup2 MyInt (Ratio MyInt); 12.29/4.98 properFraction (CnPc x y) = Tup2 (qProperFraction x y) (CnPc (rProperFraction x y) y); 12.29/4.98 12.29/4.98 qProperFraction :: MyInt -> MyInt -> MyInt; 12.29/4.98 qProperFraction x y = fst (quotRemMyInt x y); 12.29/4.98 12.29/4.98 quotRemMyInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; 12.29/4.98 quotRemMyInt = primQrmInt; 12.29/4.98 12.29/4.98 rProperFraction :: MyInt -> MyInt -> MyInt; 12.29/4.98 rProperFraction x y = snd (quotRemMyInt x y); 12.29/4.98 12.29/4.98 snd :: Tup2 a b -> b; 12.29/4.98 snd (Tup2 _ y) = y; 12.29/4.98 12.29/4.98 stop :: MyBool -> a; 12.29/4.98 stop MyFalse = stop MyFalse; 12.29/4.98 12.29/4.98 subtract :: MyInt -> MyInt -> MyInt; 12.29/4.98 subtract x y = primMinusInt y x; 12.29/4.98 12.29/4.98 toEnumRatioMyInt :: MyInt -> Ratio MyInt; 12.29/4.98 toEnumRatioMyInt = fromIntRatioMyInt; 12.29/4.98 12.29/4.98 truncate :: Ratio MyInt -> MyInt; 12.29/4.98 truncate x = fst (properFraction x); 12.29/4.98 12.29/4.98 } 12.29/4.98 12.29/4.98 ---------------------------------------- 12.29/4.98 12.29/4.98 (1) BR (EQUIVALENT) 12.29/4.98 Replaced joker patterns by fresh variables and removed binding patterns. 12.29/4.98 ---------------------------------------- 12.29/4.98 12.29/4.98 (2) 12.29/4.98 Obligation: 12.29/4.98 mainModule Main 12.29/4.98 module Main where { 12.29/4.98 import qualified Prelude; 12.29/4.98 data MyBool = MyTrue | MyFalse ; 12.29/4.98 12.29/4.98 data MyInt = Pos Main.Nat | Neg Main.Nat ; 12.29/4.98 12.29/4.98 data Main.Nat = Succ Main.Nat | Zero ; 12.29/4.98 12.29/4.98 data Ratio a = CnPc a a ; 12.29/4.98 12.29/4.98 data Tup2 a b = Tup2 a b ; 12.29/4.98 12.29/4.98 dot :: (a -> c) -> (b -> a) -> b -> c; 12.29/4.98 dot f g x = f (g x); 12.29/4.98 12.29/4.98 error :: a; 12.29/4.98 error = stop MyTrue; 12.29/4.98 12.29/4.98 fromEnumRatioMyInt :: Ratio MyInt -> MyInt; 12.29/4.98 fromEnumRatioMyInt = truncate; 12.29/4.98 12.29/4.98 fromIntRatioMyInt :: MyInt -> Ratio MyInt; 12.29/4.98 fromIntRatioMyInt x = CnPc x (Main.Pos Main.Zero); 12.29/4.98 12.29/4.98 fst :: Tup2 a b -> a; 12.29/4.98 fst (Tup2 x wv) = x; 12.29/4.98 12.29/4.98 pred :: Ratio MyInt -> Ratio MyInt; 12.29/4.98 pred = dot toEnumRatioMyInt (dot (subtract (Main.Pos (Main.Succ Main.Zero))) fromEnumRatioMyInt); 12.29/4.98 12.29/4.98 primDivNatS :: Main.Nat -> Main.Nat -> Main.Nat; 12.29/4.98 primDivNatS Main.Zero Main.Zero = Main.error; 12.29/4.98 primDivNatS (Main.Succ x) Main.Zero = Main.error; 12.29/4.98 primDivNatS (Main.Succ x) (Main.Succ y) = primDivNatS0 x y (primGEqNatS x y); 12.29/4.98 primDivNatS Main.Zero (Main.Succ x) = Main.Zero; 12.29/4.98 12.29/4.98 primDivNatS0 x y MyTrue = Main.Succ (primDivNatS (primMinusNatS x y) (Main.Succ y)); 12.29/4.98 primDivNatS0 x y MyFalse = Main.Zero; 12.29/4.98 12.29/4.98 primGEqNatS :: Main.Nat -> Main.Nat -> MyBool; 12.29/4.98 primGEqNatS (Main.Succ x) Main.Zero = MyTrue; 12.29/4.98 primGEqNatS (Main.Succ x) (Main.Succ y) = primGEqNatS x y; 12.29/4.98 primGEqNatS Main.Zero (Main.Succ x) = MyFalse; 12.29/4.98 primGEqNatS Main.Zero Main.Zero = MyTrue; 12.29/4.98 12.29/4.98 primMinusInt :: MyInt -> MyInt -> MyInt; 12.29/4.98 primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); 12.29/4.98 primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); 12.29/4.98 primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; 12.29/4.98 primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; 12.29/4.98 12.29/4.98 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 12.29/4.98 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 12.29/4.98 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 12.29/4.98 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 12.29/4.98 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 12.29/4.98 12.29/4.98 primMinusNatS :: Main.Nat -> Main.Nat -> Main.Nat; 12.29/4.98 primMinusNatS (Main.Succ x) (Main.Succ y) = primMinusNatS x y; 12.29/4.98 primMinusNatS Main.Zero (Main.Succ y) = Main.Zero; 12.29/4.98 primMinusNatS x Main.Zero = x; 12.29/4.98 12.29/4.98 primModNatS :: Main.Nat -> Main.Nat -> Main.Nat; 12.29/4.98 primModNatS Main.Zero Main.Zero = Main.error; 12.29/4.98 primModNatS Main.Zero (Main.Succ x) = Main.Zero; 12.29/4.98 primModNatS (Main.Succ x) Main.Zero = Main.error; 12.29/4.98 primModNatS (Main.Succ x) (Main.Succ Main.Zero) = Main.Zero; 12.29/4.98 primModNatS (Main.Succ x) (Main.Succ (Main.Succ y)) = primModNatS0 x y (primGEqNatS x (Main.Succ y)); 12.29/4.98 12.29/4.98 primModNatS0 x y MyTrue = primModNatS (primMinusNatS x (Main.Succ y)) (Main.Succ (Main.Succ y)); 12.29/4.98 primModNatS0 x y MyFalse = Main.Succ x; 12.29/4.98 12.29/4.98 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 12.29/4.98 primPlusNat Main.Zero Main.Zero = Main.Zero; 12.29/4.98 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 12.29/4.98 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 12.29/4.98 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 12.29/4.98 12.29/4.98 primQrmInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; 12.29/4.98 primQrmInt x y = Tup2 (primQuotInt x y) (primRemInt x y); 12.29/4.98 12.29/4.98 primQuotInt :: MyInt -> MyInt -> MyInt; 12.29/4.98 primQuotInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 12.29/4.98 primQuotInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 12.29/4.98 primQuotInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 12.29/4.98 primQuotInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 12.29/4.98 primQuotInt vx vy = Main.error; 12.29/4.98 12.29/4.98 primRemInt :: MyInt -> MyInt -> MyInt; 12.29/4.98 primRemInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); 12.29/4.98 primRemInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); 12.29/4.98 primRemInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); 12.29/4.98 primRemInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); 12.29/4.98 primRemInt vv vw = Main.error; 12.29/4.98 12.29/4.98 properFraction :: Ratio MyInt -> Tup2 MyInt (Ratio MyInt); 12.29/4.98 properFraction (CnPc x y) = Tup2 (qProperFraction x y) (CnPc (rProperFraction x y) y); 12.29/4.98 12.29/4.98 qProperFraction :: MyInt -> MyInt -> MyInt; 12.29/4.98 qProperFraction x y = fst (quotRemMyInt x y); 12.29/4.98 12.29/4.98 quotRemMyInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; 12.29/4.98 quotRemMyInt = primQrmInt; 12.29/4.98 12.29/4.98 rProperFraction :: MyInt -> MyInt -> MyInt; 12.29/4.98 rProperFraction x y = snd (quotRemMyInt x y); 12.29/4.98 12.29/4.98 snd :: Tup2 b a -> a; 12.29/4.98 snd (Tup2 ww y) = y; 12.29/4.98 12.29/4.98 stop :: MyBool -> a; 12.29/4.98 stop MyFalse = stop MyFalse; 12.29/4.98 12.29/4.98 subtract :: MyInt -> MyInt -> MyInt; 12.29/4.98 subtract x y = primMinusInt y x; 12.29/4.98 12.29/4.98 toEnumRatioMyInt :: MyInt -> Ratio MyInt; 12.29/4.98 toEnumRatioMyInt = fromIntRatioMyInt; 12.29/4.98 12.29/4.98 truncate :: Ratio MyInt -> MyInt; 12.29/4.98 truncate x = fst (properFraction x); 12.29/4.98 12.29/4.98 } 12.29/4.98 12.29/4.98 ---------------------------------------- 12.29/4.98 12.29/4.98 (3) COR (EQUIVALENT) 12.29/4.98 Cond Reductions: 12.29/4.98 The following Function with conditions 12.29/4.98 "undefined |Falseundefined; 12.29/4.98 " 12.29/4.98 is transformed to 12.29/4.98 "undefined = undefined1; 12.29/4.98 " 12.29/4.98 "undefined0 True = undefined; 12.29/4.98 " 12.29/4.98 "undefined1 = undefined0 False; 12.29/4.98 " 12.29/4.98 12.29/4.98 ---------------------------------------- 12.29/4.98 12.29/4.98 (4) 12.29/4.98 Obligation: 12.29/4.98 mainModule Main 12.29/4.98 module Main where { 12.29/4.98 import qualified Prelude; 12.29/4.98 data MyBool = MyTrue | MyFalse ; 12.29/4.98 12.29/4.98 data MyInt = Pos Main.Nat | Neg Main.Nat ; 12.29/4.98 12.29/4.98 data Main.Nat = Succ Main.Nat | Zero ; 12.29/4.98 12.29/4.98 data Ratio a = CnPc a a ; 12.29/4.98 12.29/4.98 data Tup2 a b = Tup2 a b ; 12.29/4.98 12.29/4.98 dot :: (b -> c) -> (a -> b) -> a -> c; 12.29/4.98 dot f g x = f (g x); 12.29/4.98 12.29/4.98 error :: a; 12.29/4.98 error = stop MyTrue; 12.29/4.98 12.29/4.98 fromEnumRatioMyInt :: Ratio MyInt -> MyInt; 12.29/4.98 fromEnumRatioMyInt = truncate; 12.29/4.98 12.29/4.98 fromIntRatioMyInt :: MyInt -> Ratio MyInt; 12.29/4.98 fromIntRatioMyInt x = CnPc x (Main.Pos Main.Zero); 12.29/4.98 12.29/4.98 fst :: Tup2 b a -> b; 12.29/4.98 fst (Tup2 x wv) = x; 12.29/4.98 12.29/4.98 pred :: Ratio MyInt -> Ratio MyInt; 12.29/4.98 pred = dot toEnumRatioMyInt (dot (subtract (Main.Pos (Main.Succ Main.Zero))) fromEnumRatioMyInt); 12.29/4.98 12.29/4.98 primDivNatS :: Main.Nat -> Main.Nat -> Main.Nat; 12.29/4.98 primDivNatS Main.Zero Main.Zero = Main.error; 12.29/4.98 primDivNatS (Main.Succ x) Main.Zero = Main.error; 12.29/4.98 primDivNatS (Main.Succ x) (Main.Succ y) = primDivNatS0 x y (primGEqNatS x y); 12.29/4.98 primDivNatS Main.Zero (Main.Succ x) = Main.Zero; 12.29/4.98 12.29/4.98 primDivNatS0 x y MyTrue = Main.Succ (primDivNatS (primMinusNatS x y) (Main.Succ y)); 12.29/4.98 primDivNatS0 x y MyFalse = Main.Zero; 12.29/4.98 12.29/4.98 primGEqNatS :: Main.Nat -> Main.Nat -> MyBool; 12.29/4.98 primGEqNatS (Main.Succ x) Main.Zero = MyTrue; 12.29/4.98 primGEqNatS (Main.Succ x) (Main.Succ y) = primGEqNatS x y; 12.29/4.98 primGEqNatS Main.Zero (Main.Succ x) = MyFalse; 12.29/4.98 primGEqNatS Main.Zero Main.Zero = MyTrue; 12.29/4.98 12.29/4.98 primMinusInt :: MyInt -> MyInt -> MyInt; 12.29/4.98 primMinusInt (Main.Pos x) (Main.Neg y) = Main.Pos (primPlusNat x y); 12.29/4.98 primMinusInt (Main.Neg x) (Main.Pos y) = Main.Neg (primPlusNat x y); 12.29/4.98 primMinusInt (Main.Neg x) (Main.Neg y) = primMinusNat y x; 12.29/4.98 primMinusInt (Main.Pos x) (Main.Pos y) = primMinusNat x y; 12.29/4.98 12.29/4.98 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 12.29/4.98 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 12.29/4.98 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 12.29/4.98 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 12.29/4.98 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 12.29/4.98 12.29/4.98 primMinusNatS :: Main.Nat -> Main.Nat -> Main.Nat; 12.29/4.98 primMinusNatS (Main.Succ x) (Main.Succ y) = primMinusNatS x y; 12.29/4.98 primMinusNatS Main.Zero (Main.Succ y) = Main.Zero; 12.29/4.98 primMinusNatS x Main.Zero = x; 12.29/4.98 12.29/4.98 primModNatS :: Main.Nat -> Main.Nat -> Main.Nat; 12.29/4.98 primModNatS Main.Zero Main.Zero = Main.error; 12.29/4.98 primModNatS Main.Zero (Main.Succ x) = Main.Zero; 12.29/4.98 primModNatS (Main.Succ x) Main.Zero = Main.error; 12.29/4.98 primModNatS (Main.Succ x) (Main.Succ Main.Zero) = Main.Zero; 12.29/4.98 primModNatS (Main.Succ x) (Main.Succ (Main.Succ y)) = primModNatS0 x y (primGEqNatS x (Main.Succ y)); 12.29/4.98 12.29/4.98 primModNatS0 x y MyTrue = primModNatS (primMinusNatS x (Main.Succ y)) (Main.Succ (Main.Succ y)); 12.29/4.98 primModNatS0 x y MyFalse = Main.Succ x; 12.29/4.98 12.29/4.98 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 12.29/4.98 primPlusNat Main.Zero Main.Zero = Main.Zero; 12.29/4.98 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 12.29/4.98 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 12.29/4.98 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 12.29/4.98 12.29/4.98 primQrmInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; 12.29/4.98 primQrmInt x y = Tup2 (primQuotInt x y) (primRemInt x y); 12.29/4.98 12.29/4.98 primQuotInt :: MyInt -> MyInt -> MyInt; 12.29/4.98 primQuotInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 12.29/4.98 primQuotInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 12.29/4.98 primQuotInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 12.29/4.98 primQuotInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 12.29/4.98 primQuotInt vx vy = Main.error; 12.29/4.98 12.29/4.98 primRemInt :: MyInt -> MyInt -> MyInt; 12.29/4.98 primRemInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); 12.29/4.98 primRemInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); 12.29/4.98 primRemInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); 12.29/4.98 primRemInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); 12.29/4.98 primRemInt vv vw = Main.error; 12.29/4.98 12.29/4.98 properFraction :: Ratio MyInt -> Tup2 MyInt (Ratio MyInt); 12.29/4.98 properFraction (CnPc x y) = Tup2 (qProperFraction x y) (CnPc (rProperFraction x y) y); 12.29/4.98 12.29/4.98 qProperFraction :: MyInt -> MyInt -> MyInt; 12.29/4.98 qProperFraction x y = fst (quotRemMyInt x y); 12.29/4.98 12.29/4.98 quotRemMyInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; 12.29/4.98 quotRemMyInt = primQrmInt; 12.29/4.98 12.29/4.98 rProperFraction :: MyInt -> MyInt -> MyInt; 12.29/4.98 rProperFraction x y = snd (quotRemMyInt x y); 12.29/4.98 12.29/4.98 snd :: Tup2 a b -> b; 12.29/4.98 snd (Tup2 ww y) = y; 12.29/4.98 12.29/4.98 stop :: MyBool -> a; 12.29/4.98 stop MyFalse = stop MyFalse; 12.29/4.98 12.29/4.98 subtract :: MyInt -> MyInt -> MyInt; 12.29/4.98 subtract x y = primMinusInt y x; 12.29/4.98 12.29/4.98 toEnumRatioMyInt :: MyInt -> Ratio MyInt; 12.29/4.98 toEnumRatioMyInt = fromIntRatioMyInt; 12.29/4.98 12.29/4.98 truncate :: Ratio MyInt -> MyInt; 12.29/4.98 truncate x = fst (properFraction x); 12.29/4.98 12.29/4.98 } 12.29/4.98 12.29/4.98 ---------------------------------------- 12.29/4.98 12.29/4.98 (5) Narrow (SOUND) 12.29/4.98 Haskell To QDPs 12.29/4.98 12.29/4.98 digraph dp_graph { 12.29/4.98 node [outthreshold=100, inthreshold=100];1[label="pred",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 12.29/4.98 3[label="pred wx3",fontsize=16,color="black",shape="triangle"];3 -> 4[label="",style="solid", color="black", weight=3]; 12.29/4.98 4[label="dot toEnumRatioMyInt (dot (subtract (Pos (Succ Zero))) fromEnumRatioMyInt) wx3",fontsize=16,color="black",shape="box"];4 -> 5[label="",style="solid", color="black", weight=3]; 12.29/4.98 5[label="toEnumRatioMyInt (dot (subtract (Pos (Succ Zero))) fromEnumRatioMyInt wx3)",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 12.29/4.98 6[label="fromIntRatioMyInt (dot (subtract (Pos (Succ Zero))) fromEnumRatioMyInt wx3)",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 12.29/4.98 7[label="CnPc (dot (subtract (Pos (Succ Zero))) fromEnumRatioMyInt wx3) (Pos Zero)",fontsize=16,color="green",shape="box"];7 -> 8[label="",style="dashed", color="green", weight=3]; 12.29/4.98 8[label="dot (subtract (Pos (Succ Zero))) fromEnumRatioMyInt wx3",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 12.29/4.98 9[label="subtract (Pos (Succ Zero)) (fromEnumRatioMyInt wx3)",fontsize=16,color="black",shape="box"];9 -> 10[label="",style="solid", color="black", weight=3]; 12.29/4.98 10[label="primMinusInt (fromEnumRatioMyInt wx3) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];10 -> 11[label="",style="solid", color="black", weight=3]; 12.29/4.98 11[label="primMinusInt (truncate wx3) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];11 -> 12[label="",style="solid", color="black", weight=3]; 12.29/4.98 12[label="primMinusInt (fst (properFraction wx3)) (Pos (Succ Zero))",fontsize=16,color="burlywood",shape="box"];2331[label="wx3/CnPc wx30 wx31",fontsize=10,color="white",style="solid",shape="box"];12 -> 2331[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2331 -> 13[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 13[label="primMinusInt (fst (properFraction (CnPc wx30 wx31))) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];13 -> 14[label="",style="solid", color="black", weight=3]; 12.29/4.98 14[label="primMinusInt (fst (Tup2 (qProperFraction wx30 wx31) (CnPc (rProperFraction wx30 wx31) wx31))) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];14 -> 15[label="",style="solid", color="black", weight=3]; 12.29/4.98 15[label="primMinusInt (qProperFraction wx30 wx31) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];15 -> 16[label="",style="solid", color="black", weight=3]; 12.29/4.98 16[label="primMinusInt (fst (quotRemMyInt wx30 wx31)) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];16 -> 17[label="",style="solid", color="black", weight=3]; 12.29/4.98 17[label="primMinusInt (fst (primQrmInt wx30 wx31)) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];17 -> 18[label="",style="solid", color="black", weight=3]; 12.29/4.98 18[label="primMinusInt (fst (Tup2 (primQuotInt wx30 wx31) (primRemInt wx30 wx31))) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];18 -> 19[label="",style="solid", color="black", weight=3]; 12.29/4.98 19[label="primMinusInt (primQuotInt wx30 wx31) (Pos (Succ Zero))",fontsize=16,color="burlywood",shape="box"];2332[label="wx30/Pos wx300",fontsize=10,color="white",style="solid",shape="box"];19 -> 2332[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2332 -> 20[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2333[label="wx30/Neg wx300",fontsize=10,color="white",style="solid",shape="box"];19 -> 2333[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2333 -> 21[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 20[label="primMinusInt (primQuotInt (Pos wx300) wx31) (Pos (Succ Zero))",fontsize=16,color="burlywood",shape="box"];2334[label="wx31/Pos wx310",fontsize=10,color="white",style="solid",shape="box"];20 -> 2334[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2334 -> 22[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2335[label="wx31/Neg wx310",fontsize=10,color="white",style="solid",shape="box"];20 -> 2335[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2335 -> 23[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 21[label="primMinusInt (primQuotInt (Neg wx300) wx31) (Pos (Succ Zero))",fontsize=16,color="burlywood",shape="box"];2336[label="wx31/Pos wx310",fontsize=10,color="white",style="solid",shape="box"];21 -> 2336[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2336 -> 24[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2337[label="wx31/Neg wx310",fontsize=10,color="white",style="solid",shape="box"];21 -> 2337[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2337 -> 25[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 22[label="primMinusInt (primQuotInt (Pos wx300) (Pos wx310)) (Pos (Succ Zero))",fontsize=16,color="burlywood",shape="box"];2338[label="wx310/Succ wx3100",fontsize=10,color="white",style="solid",shape="box"];22 -> 2338[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2338 -> 26[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2339[label="wx310/Zero",fontsize=10,color="white",style="solid",shape="box"];22 -> 2339[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2339 -> 27[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 23[label="primMinusInt (primQuotInt (Pos wx300) (Neg wx310)) (Pos (Succ Zero))",fontsize=16,color="burlywood",shape="box"];2340[label="wx310/Succ wx3100",fontsize=10,color="white",style="solid",shape="box"];23 -> 2340[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2340 -> 28[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2341[label="wx310/Zero",fontsize=10,color="white",style="solid",shape="box"];23 -> 2341[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2341 -> 29[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 24[label="primMinusInt (primQuotInt (Neg wx300) (Pos wx310)) (Pos (Succ Zero))",fontsize=16,color="burlywood",shape="box"];2342[label="wx310/Succ wx3100",fontsize=10,color="white",style="solid",shape="box"];24 -> 2342[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2342 -> 30[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2343[label="wx310/Zero",fontsize=10,color="white",style="solid",shape="box"];24 -> 2343[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2343 -> 31[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 25[label="primMinusInt (primQuotInt (Neg wx300) (Neg wx310)) (Pos (Succ Zero))",fontsize=16,color="burlywood",shape="box"];2344[label="wx310/Succ wx3100",fontsize=10,color="white",style="solid",shape="box"];25 -> 2344[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2344 -> 32[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2345[label="wx310/Zero",fontsize=10,color="white",style="solid",shape="box"];25 -> 2345[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2345 -> 33[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 26[label="primMinusInt (primQuotInt (Pos wx300) (Pos (Succ wx3100))) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];26 -> 34[label="",style="solid", color="black", weight=3]; 12.29/4.98 27[label="primMinusInt (primQuotInt (Pos wx300) (Pos Zero)) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];27 -> 35[label="",style="solid", color="black", weight=3]; 12.29/4.98 28[label="primMinusInt (primQuotInt (Pos wx300) (Neg (Succ wx3100))) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];28 -> 36[label="",style="solid", color="black", weight=3]; 12.29/4.98 29[label="primMinusInt (primQuotInt (Pos wx300) (Neg Zero)) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];29 -> 37[label="",style="solid", color="black", weight=3]; 12.29/4.98 30[label="primMinusInt (primQuotInt (Neg wx300) (Pos (Succ wx3100))) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];30 -> 38[label="",style="solid", color="black", weight=3]; 12.29/4.98 31[label="primMinusInt (primQuotInt (Neg wx300) (Pos Zero)) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];31 -> 39[label="",style="solid", color="black", weight=3]; 12.29/4.98 32[label="primMinusInt (primQuotInt (Neg wx300) (Neg (Succ wx3100))) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];32 -> 40[label="",style="solid", color="black", weight=3]; 12.29/4.98 33[label="primMinusInt (primQuotInt (Neg wx300) (Neg Zero)) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];33 -> 41[label="",style="solid", color="black", weight=3]; 12.29/4.98 34[label="primMinusInt (Pos (primDivNatS wx300 (Succ wx3100))) (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];34 -> 42[label="",style="solid", color="black", weight=3]; 12.29/4.98 35[label="primMinusInt error (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];35 -> 43[label="",style="solid", color="black", weight=3]; 12.29/4.98 36[label="primMinusInt (Neg (primDivNatS wx300 (Succ wx3100))) (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];36 -> 44[label="",style="solid", color="black", weight=3]; 12.29/4.98 37 -> 35[label="",style="dashed", color="red", weight=0]; 12.29/4.98 37[label="primMinusInt error (Pos (Succ Zero))",fontsize=16,color="magenta"];38 -> 36[label="",style="dashed", color="red", weight=0]; 12.29/4.98 38[label="primMinusInt (Neg (primDivNatS wx300 (Succ wx3100))) (Pos (Succ Zero))",fontsize=16,color="magenta"];38 -> 45[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 38 -> 46[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 39 -> 35[label="",style="dashed", color="red", weight=0]; 12.29/4.98 39[label="primMinusInt error (Pos (Succ Zero))",fontsize=16,color="magenta"];40 -> 34[label="",style="dashed", color="red", weight=0]; 12.29/4.98 40[label="primMinusInt (Pos (primDivNatS wx300 (Succ wx3100))) (Pos (Succ Zero))",fontsize=16,color="magenta"];40 -> 47[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 40 -> 48[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 41 -> 35[label="",style="dashed", color="red", weight=0]; 12.29/4.98 41[label="primMinusInt error (Pos (Succ Zero))",fontsize=16,color="magenta"];42[label="primMinusNat (primDivNatS wx300 (Succ wx3100)) (Succ Zero)",fontsize=16,color="burlywood",shape="box"];2346[label="wx300/Succ wx3000",fontsize=10,color="white",style="solid",shape="box"];42 -> 2346[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2346 -> 49[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2347[label="wx300/Zero",fontsize=10,color="white",style="solid",shape="box"];42 -> 2347[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2347 -> 50[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 43[label="primMinusInt (stop MyTrue) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];43 -> 51[label="",style="solid", color="black", weight=3]; 12.29/4.98 44[label="Neg (primPlusNat (primDivNatS wx300 (Succ wx3100)) (Succ Zero))",fontsize=16,color="green",shape="box"];44 -> 52[label="",style="dashed", color="green", weight=3]; 12.29/4.98 45[label="wx3100",fontsize=16,color="green",shape="box"];46[label="wx300",fontsize=16,color="green",shape="box"];47[label="wx300",fontsize=16,color="green",shape="box"];48[label="wx3100",fontsize=16,color="green",shape="box"];49[label="primMinusNat (primDivNatS (Succ wx3000) (Succ wx3100)) (Succ Zero)",fontsize=16,color="black",shape="box"];49 -> 53[label="",style="solid", color="black", weight=3]; 12.29/4.98 50[label="primMinusNat (primDivNatS Zero (Succ wx3100)) (Succ Zero)",fontsize=16,color="black",shape="box"];50 -> 54[label="",style="solid", color="black", weight=3]; 12.29/4.98 51[label="error []",fontsize=16,color="red",shape="box"];52[label="primPlusNat (primDivNatS wx300 (Succ wx3100)) (Succ Zero)",fontsize=16,color="burlywood",shape="box"];2348[label="wx300/Succ wx3000",fontsize=10,color="white",style="solid",shape="box"];52 -> 2348[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2348 -> 55[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2349[label="wx300/Zero",fontsize=10,color="white",style="solid",shape="box"];52 -> 2349[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2349 -> 56[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 53[label="primMinusNat (primDivNatS0 wx3000 wx3100 (primGEqNatS wx3000 wx3100)) (Succ Zero)",fontsize=16,color="burlywood",shape="box"];2350[label="wx3000/Succ wx30000",fontsize=10,color="white",style="solid",shape="box"];53 -> 2350[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2350 -> 57[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2351[label="wx3000/Zero",fontsize=10,color="white",style="solid",shape="box"];53 -> 2351[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2351 -> 58[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 54[label="primMinusNat Zero (Succ Zero)",fontsize=16,color="black",shape="triangle"];54 -> 59[label="",style="solid", color="black", weight=3]; 12.29/4.98 55[label="primPlusNat (primDivNatS (Succ wx3000) (Succ wx3100)) (Succ Zero)",fontsize=16,color="black",shape="box"];55 -> 60[label="",style="solid", color="black", weight=3]; 12.29/4.98 56[label="primPlusNat (primDivNatS Zero (Succ wx3100)) (Succ Zero)",fontsize=16,color="black",shape="box"];56 -> 61[label="",style="solid", color="black", weight=3]; 12.29/4.98 57[label="primMinusNat (primDivNatS0 (Succ wx30000) wx3100 (primGEqNatS (Succ wx30000) wx3100)) (Succ Zero)",fontsize=16,color="burlywood",shape="box"];2352[label="wx3100/Succ wx31000",fontsize=10,color="white",style="solid",shape="box"];57 -> 2352[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2352 -> 62[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2353[label="wx3100/Zero",fontsize=10,color="white",style="solid",shape="box"];57 -> 2353[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2353 -> 63[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 58[label="primMinusNat (primDivNatS0 Zero wx3100 (primGEqNatS Zero wx3100)) (Succ Zero)",fontsize=16,color="burlywood",shape="box"];2354[label="wx3100/Succ wx31000",fontsize=10,color="white",style="solid",shape="box"];58 -> 2354[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2354 -> 64[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2355[label="wx3100/Zero",fontsize=10,color="white",style="solid",shape="box"];58 -> 2355[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2355 -> 65[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 59[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];60[label="primPlusNat (primDivNatS0 wx3000 wx3100 (primGEqNatS wx3000 wx3100)) (Succ Zero)",fontsize=16,color="burlywood",shape="box"];2356[label="wx3000/Succ wx30000",fontsize=10,color="white",style="solid",shape="box"];60 -> 2356[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2356 -> 66[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2357[label="wx3000/Zero",fontsize=10,color="white",style="solid",shape="box"];60 -> 2357[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2357 -> 67[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 61[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="black",shape="triangle"];61 -> 68[label="",style="solid", color="black", weight=3]; 12.29/4.98 62[label="primMinusNat (primDivNatS0 (Succ wx30000) (Succ wx31000) (primGEqNatS (Succ wx30000) (Succ wx31000))) (Succ Zero)",fontsize=16,color="black",shape="box"];62 -> 69[label="",style="solid", color="black", weight=3]; 12.29/4.98 63[label="primMinusNat (primDivNatS0 (Succ wx30000) Zero (primGEqNatS (Succ wx30000) Zero)) (Succ Zero)",fontsize=16,color="black",shape="box"];63 -> 70[label="",style="solid", color="black", weight=3]; 12.29/4.98 64[label="primMinusNat (primDivNatS0 Zero (Succ wx31000) (primGEqNatS Zero (Succ wx31000))) (Succ Zero)",fontsize=16,color="black",shape="box"];64 -> 71[label="",style="solid", color="black", weight=3]; 12.29/4.98 65[label="primMinusNat (primDivNatS0 Zero Zero (primGEqNatS Zero Zero)) (Succ Zero)",fontsize=16,color="black",shape="box"];65 -> 72[label="",style="solid", color="black", weight=3]; 12.29/4.98 66[label="primPlusNat (primDivNatS0 (Succ wx30000) wx3100 (primGEqNatS (Succ wx30000) wx3100)) (Succ Zero)",fontsize=16,color="burlywood",shape="box"];2358[label="wx3100/Succ wx31000",fontsize=10,color="white",style="solid",shape="box"];66 -> 2358[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2358 -> 73[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2359[label="wx3100/Zero",fontsize=10,color="white",style="solid",shape="box"];66 -> 2359[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2359 -> 74[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 67[label="primPlusNat (primDivNatS0 Zero wx3100 (primGEqNatS Zero wx3100)) (Succ Zero)",fontsize=16,color="burlywood",shape="box"];2360[label="wx3100/Succ wx31000",fontsize=10,color="white",style="solid",shape="box"];67 -> 2360[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2360 -> 75[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2361[label="wx3100/Zero",fontsize=10,color="white",style="solid",shape="box"];67 -> 2361[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2361 -> 76[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 68[label="Succ Zero",fontsize=16,color="green",shape="box"];69 -> 662[label="",style="dashed", color="red", weight=0]; 12.29/4.98 69[label="primMinusNat (primDivNatS0 (Succ wx30000) (Succ wx31000) (primGEqNatS wx30000 wx31000)) (Succ Zero)",fontsize=16,color="magenta"];69 -> 663[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 69 -> 664[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 69 -> 665[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 69 -> 666[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 70[label="primMinusNat (primDivNatS0 (Succ wx30000) Zero MyTrue) (Succ Zero)",fontsize=16,color="black",shape="box"];70 -> 79[label="",style="solid", color="black", weight=3]; 12.29/4.98 71[label="primMinusNat (primDivNatS0 Zero (Succ wx31000) MyFalse) (Succ Zero)",fontsize=16,color="black",shape="box"];71 -> 80[label="",style="solid", color="black", weight=3]; 12.29/4.98 72[label="primMinusNat (primDivNatS0 Zero Zero MyTrue) (Succ Zero)",fontsize=16,color="black",shape="box"];72 -> 81[label="",style="solid", color="black", weight=3]; 12.29/4.98 73[label="primPlusNat (primDivNatS0 (Succ wx30000) (Succ wx31000) (primGEqNatS (Succ wx30000) (Succ wx31000))) (Succ Zero)",fontsize=16,color="black",shape="box"];73 -> 82[label="",style="solid", color="black", weight=3]; 12.29/4.98 74[label="primPlusNat (primDivNatS0 (Succ wx30000) Zero (primGEqNatS (Succ wx30000) Zero)) (Succ Zero)",fontsize=16,color="black",shape="box"];74 -> 83[label="",style="solid", color="black", weight=3]; 12.29/4.98 75[label="primPlusNat (primDivNatS0 Zero (Succ wx31000) (primGEqNatS Zero (Succ wx31000))) (Succ Zero)",fontsize=16,color="black",shape="box"];75 -> 84[label="",style="solid", color="black", weight=3]; 12.29/4.98 76[label="primPlusNat (primDivNatS0 Zero Zero (primGEqNatS Zero Zero)) (Succ Zero)",fontsize=16,color="black",shape="box"];76 -> 85[label="",style="solid", color="black", weight=3]; 12.29/4.98 663[label="wx31000",fontsize=16,color="green",shape="box"];664[label="wx30000",fontsize=16,color="green",shape="box"];665[label="wx31000",fontsize=16,color="green",shape="box"];666[label="wx30000",fontsize=16,color="green",shape="box"];662[label="primMinusNat (primDivNatS0 (Succ wx38) (Succ wx39) (primGEqNatS wx40 wx41)) (Succ Zero)",fontsize=16,color="burlywood",shape="triangle"];2362[label="wx40/Succ wx400",fontsize=10,color="white",style="solid",shape="box"];662 -> 2362[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2362 -> 703[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2363[label="wx40/Zero",fontsize=10,color="white",style="solid",shape="box"];662 -> 2363[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2363 -> 704[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 79[label="primMinusNat (Succ (primDivNatS (primMinusNatS (Succ wx30000) Zero) (Succ Zero))) (Succ Zero)",fontsize=16,color="black",shape="box"];79 -> 90[label="",style="solid", color="black", weight=3]; 12.29/4.98 80 -> 54[label="",style="dashed", color="red", weight=0]; 12.29/4.98 80[label="primMinusNat Zero (Succ Zero)",fontsize=16,color="magenta"];81[label="primMinusNat (Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))) (Succ Zero)",fontsize=16,color="black",shape="box"];81 -> 91[label="",style="solid", color="black", weight=3]; 12.29/4.98 82 -> 735[label="",style="dashed", color="red", weight=0]; 12.29/4.98 82[label="primPlusNat (primDivNatS0 (Succ wx30000) (Succ wx31000) (primGEqNatS wx30000 wx31000)) (Succ Zero)",fontsize=16,color="magenta"];82 -> 736[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 82 -> 737[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 82 -> 738[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 82 -> 739[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 83[label="primPlusNat (primDivNatS0 (Succ wx30000) Zero MyTrue) (Succ Zero)",fontsize=16,color="black",shape="box"];83 -> 94[label="",style="solid", color="black", weight=3]; 12.29/4.98 84[label="primPlusNat (primDivNatS0 Zero (Succ wx31000) MyFalse) (Succ Zero)",fontsize=16,color="black",shape="box"];84 -> 95[label="",style="solid", color="black", weight=3]; 12.29/4.98 85[label="primPlusNat (primDivNatS0 Zero Zero MyTrue) (Succ Zero)",fontsize=16,color="black",shape="box"];85 -> 96[label="",style="solid", color="black", weight=3]; 12.29/4.98 703[label="primMinusNat (primDivNatS0 (Succ wx38) (Succ wx39) (primGEqNatS (Succ wx400) wx41)) (Succ Zero)",fontsize=16,color="burlywood",shape="box"];2364[label="wx41/Succ wx410",fontsize=10,color="white",style="solid",shape="box"];703 -> 2364[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2364 -> 709[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2365[label="wx41/Zero",fontsize=10,color="white",style="solid",shape="box"];703 -> 2365[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2365 -> 710[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 704[label="primMinusNat (primDivNatS0 (Succ wx38) (Succ wx39) (primGEqNatS Zero wx41)) (Succ Zero)",fontsize=16,color="burlywood",shape="box"];2366[label="wx41/Succ wx410",fontsize=10,color="white",style="solid",shape="box"];704 -> 2366[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2366 -> 711[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2367[label="wx41/Zero",fontsize=10,color="white",style="solid",shape="box"];704 -> 2367[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2367 -> 712[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 90 -> 1143[label="",style="dashed", color="red", weight=0]; 12.29/4.98 90[label="primMinusNat (primDivNatS (primMinusNatS (Succ wx30000) Zero) (Succ Zero)) Zero",fontsize=16,color="magenta"];90 -> 1144[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 90 -> 1145[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 90 -> 1146[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 91 -> 1143[label="",style="dashed", color="red", weight=0]; 12.29/4.98 91[label="primMinusNat (primDivNatS (primMinusNatS Zero Zero) (Succ Zero)) Zero",fontsize=16,color="magenta"];91 -> 1147[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 91 -> 1148[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 91 -> 1149[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 736[label="wx31000",fontsize=16,color="green",shape="box"];737[label="wx31000",fontsize=16,color="green",shape="box"];738[label="wx30000",fontsize=16,color="green",shape="box"];739[label="wx30000",fontsize=16,color="green",shape="box"];735[label="primPlusNat (primDivNatS0 (Succ wx51) (Succ wx52) (primGEqNatS wx53 wx54)) (Succ Zero)",fontsize=16,color="burlywood",shape="triangle"];2368[label="wx53/Succ wx530",fontsize=10,color="white",style="solid",shape="box"];735 -> 2368[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2368 -> 776[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2369[label="wx53/Zero",fontsize=10,color="white",style="solid",shape="box"];735 -> 2369[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2369 -> 777[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 94[label="primPlusNat (Succ (primDivNatS (primMinusNatS (Succ wx30000) Zero) (Succ Zero))) (Succ Zero)",fontsize=16,color="black",shape="box"];94 -> 107[label="",style="solid", color="black", weight=3]; 12.29/4.98 95 -> 61[label="",style="dashed", color="red", weight=0]; 12.29/4.98 95[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="magenta"];96[label="primPlusNat (Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))) (Succ Zero)",fontsize=16,color="black",shape="box"];96 -> 108[label="",style="solid", color="black", weight=3]; 12.29/4.98 709[label="primMinusNat (primDivNatS0 (Succ wx38) (Succ wx39) (primGEqNatS (Succ wx400) (Succ wx410))) (Succ Zero)",fontsize=16,color="black",shape="box"];709 -> 716[label="",style="solid", color="black", weight=3]; 12.29/4.98 710[label="primMinusNat (primDivNatS0 (Succ wx38) (Succ wx39) (primGEqNatS (Succ wx400) Zero)) (Succ Zero)",fontsize=16,color="black",shape="box"];710 -> 717[label="",style="solid", color="black", weight=3]; 12.29/4.98 711[label="primMinusNat (primDivNatS0 (Succ wx38) (Succ wx39) (primGEqNatS Zero (Succ wx410))) (Succ Zero)",fontsize=16,color="black",shape="box"];711 -> 718[label="",style="solid", color="black", weight=3]; 12.29/4.98 712[label="primMinusNat (primDivNatS0 (Succ wx38) (Succ wx39) (primGEqNatS Zero Zero)) (Succ Zero)",fontsize=16,color="black",shape="box"];712 -> 719[label="",style="solid", color="black", weight=3]; 12.29/4.98 1144[label="Zero",fontsize=16,color="green",shape="box"];1145[label="Zero",fontsize=16,color="green",shape="box"];1146[label="Succ wx30000",fontsize=16,color="green",shape="box"];1143[label="primMinusNat (primDivNatS (primMinusNatS wx58 wx59) (Succ wx60)) Zero",fontsize=16,color="burlywood",shape="triangle"];2370[label="wx58/Succ wx580",fontsize=10,color="white",style="solid",shape="box"];1143 -> 2370[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2370 -> 1177[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2371[label="wx58/Zero",fontsize=10,color="white",style="solid",shape="box"];1143 -> 2371[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2371 -> 1178[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 1147[label="Zero",fontsize=16,color="green",shape="box"];1148[label="Zero",fontsize=16,color="green",shape="box"];1149[label="Zero",fontsize=16,color="green",shape="box"];776[label="primPlusNat (primDivNatS0 (Succ wx51) (Succ wx52) (primGEqNatS (Succ wx530) wx54)) (Succ Zero)",fontsize=16,color="burlywood",shape="box"];2372[label="wx54/Succ wx540",fontsize=10,color="white",style="solid",shape="box"];776 -> 2372[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2372 -> 779[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2373[label="wx54/Zero",fontsize=10,color="white",style="solid",shape="box"];776 -> 2373[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2373 -> 780[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 777[label="primPlusNat (primDivNatS0 (Succ wx51) (Succ wx52) (primGEqNatS Zero wx54)) (Succ Zero)",fontsize=16,color="burlywood",shape="box"];2374[label="wx54/Succ wx540",fontsize=10,color="white",style="solid",shape="box"];777 -> 2374[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2374 -> 781[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2375[label="wx54/Zero",fontsize=10,color="white",style="solid",shape="box"];777 -> 2375[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2375 -> 782[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 107[label="Succ (Succ (primPlusNat (primDivNatS (primMinusNatS (Succ wx30000) Zero) (Succ Zero)) Zero))",fontsize=16,color="green",shape="box"];107 -> 120[label="",style="dashed", color="green", weight=3]; 12.29/4.98 108[label="Succ (Succ (primPlusNat (primDivNatS (primMinusNatS Zero Zero) (Succ Zero)) Zero))",fontsize=16,color="green",shape="box"];108 -> 121[label="",style="dashed", color="green", weight=3]; 12.29/4.98 716 -> 662[label="",style="dashed", color="red", weight=0]; 12.29/4.98 716[label="primMinusNat (primDivNatS0 (Succ wx38) (Succ wx39) (primGEqNatS wx400 wx410)) (Succ Zero)",fontsize=16,color="magenta"];716 -> 722[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 716 -> 723[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 717[label="primMinusNat (primDivNatS0 (Succ wx38) (Succ wx39) MyTrue) (Succ Zero)",fontsize=16,color="black",shape="triangle"];717 -> 724[label="",style="solid", color="black", weight=3]; 12.29/4.98 718[label="primMinusNat (primDivNatS0 (Succ wx38) (Succ wx39) MyFalse) (Succ Zero)",fontsize=16,color="black",shape="box"];718 -> 725[label="",style="solid", color="black", weight=3]; 12.29/4.98 719 -> 717[label="",style="dashed", color="red", weight=0]; 12.29/4.98 719[label="primMinusNat (primDivNatS0 (Succ wx38) (Succ wx39) MyTrue) (Succ Zero)",fontsize=16,color="magenta"];1177[label="primMinusNat (primDivNatS (primMinusNatS (Succ wx580) wx59) (Succ wx60)) Zero",fontsize=16,color="burlywood",shape="box"];2376[label="wx59/Succ wx590",fontsize=10,color="white",style="solid",shape="box"];1177 -> 2376[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2376 -> 1192[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2377[label="wx59/Zero",fontsize=10,color="white",style="solid",shape="box"];1177 -> 2377[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2377 -> 1193[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 1178[label="primMinusNat (primDivNatS (primMinusNatS Zero wx59) (Succ wx60)) Zero",fontsize=16,color="burlywood",shape="box"];2378[label="wx59/Succ wx590",fontsize=10,color="white",style="solid",shape="box"];1178 -> 2378[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2378 -> 1194[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2379[label="wx59/Zero",fontsize=10,color="white",style="solid",shape="box"];1178 -> 2379[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2379 -> 1195[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 779[label="primPlusNat (primDivNatS0 (Succ wx51) (Succ wx52) (primGEqNatS (Succ wx530) (Succ wx540))) (Succ Zero)",fontsize=16,color="black",shape="box"];779 -> 784[label="",style="solid", color="black", weight=3]; 12.29/4.98 780[label="primPlusNat (primDivNatS0 (Succ wx51) (Succ wx52) (primGEqNatS (Succ wx530) Zero)) (Succ Zero)",fontsize=16,color="black",shape="box"];780 -> 785[label="",style="solid", color="black", weight=3]; 12.29/4.98 781[label="primPlusNat (primDivNatS0 (Succ wx51) (Succ wx52) (primGEqNatS Zero (Succ wx540))) (Succ Zero)",fontsize=16,color="black",shape="box"];781 -> 786[label="",style="solid", color="black", weight=3]; 12.29/4.98 782[label="primPlusNat (primDivNatS0 (Succ wx51) (Succ wx52) (primGEqNatS Zero Zero)) (Succ Zero)",fontsize=16,color="black",shape="box"];782 -> 787[label="",style="solid", color="black", weight=3]; 12.29/4.98 120 -> 1255[label="",style="dashed", color="red", weight=0]; 12.29/4.98 120[label="primPlusNat (primDivNatS (primMinusNatS (Succ wx30000) Zero) (Succ Zero)) Zero",fontsize=16,color="magenta"];120 -> 1256[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 120 -> 1257[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 120 -> 1258[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 121 -> 1255[label="",style="dashed", color="red", weight=0]; 12.29/4.98 121[label="primPlusNat (primDivNatS (primMinusNatS Zero Zero) (Succ Zero)) Zero",fontsize=16,color="magenta"];121 -> 1259[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 121 -> 1260[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 121 -> 1261[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 722[label="wx400",fontsize=16,color="green",shape="box"];723[label="wx410",fontsize=16,color="green",shape="box"];724[label="primMinusNat (Succ (primDivNatS (primMinusNatS (Succ wx38) (Succ wx39)) (Succ (Succ wx39)))) (Succ Zero)",fontsize=16,color="black",shape="box"];724 -> 778[label="",style="solid", color="black", weight=3]; 12.29/4.98 725 -> 54[label="",style="dashed", color="red", weight=0]; 12.29/4.98 725[label="primMinusNat Zero (Succ Zero)",fontsize=16,color="magenta"];1192[label="primMinusNat (primDivNatS (primMinusNatS (Succ wx580) (Succ wx590)) (Succ wx60)) Zero",fontsize=16,color="black",shape="box"];1192 -> 1211[label="",style="solid", color="black", weight=3]; 12.29/4.98 1193[label="primMinusNat (primDivNatS (primMinusNatS (Succ wx580) Zero) (Succ wx60)) Zero",fontsize=16,color="black",shape="box"];1193 -> 1212[label="",style="solid", color="black", weight=3]; 12.29/4.98 1194[label="primMinusNat (primDivNatS (primMinusNatS Zero (Succ wx590)) (Succ wx60)) Zero",fontsize=16,color="black",shape="box"];1194 -> 1213[label="",style="solid", color="black", weight=3]; 12.29/4.98 1195[label="primMinusNat (primDivNatS (primMinusNatS Zero Zero) (Succ wx60)) Zero",fontsize=16,color="black",shape="box"];1195 -> 1214[label="",style="solid", color="black", weight=3]; 12.29/4.98 784 -> 735[label="",style="dashed", color="red", weight=0]; 12.29/4.98 784[label="primPlusNat (primDivNatS0 (Succ wx51) (Succ wx52) (primGEqNatS wx530 wx540)) (Succ Zero)",fontsize=16,color="magenta"];784 -> 790[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 784 -> 791[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 785[label="primPlusNat (primDivNatS0 (Succ wx51) (Succ wx52) MyTrue) (Succ Zero)",fontsize=16,color="black",shape="triangle"];785 -> 792[label="",style="solid", color="black", weight=3]; 12.29/4.98 786[label="primPlusNat (primDivNatS0 (Succ wx51) (Succ wx52) MyFalse) (Succ Zero)",fontsize=16,color="black",shape="box"];786 -> 793[label="",style="solid", color="black", weight=3]; 12.29/4.98 787 -> 785[label="",style="dashed", color="red", weight=0]; 12.29/4.98 787[label="primPlusNat (primDivNatS0 (Succ wx51) (Succ wx52) MyTrue) (Succ Zero)",fontsize=16,color="magenta"];1256[label="Zero",fontsize=16,color="green",shape="box"];1257[label="Zero",fontsize=16,color="green",shape="box"];1258[label="Succ wx30000",fontsize=16,color="green",shape="box"];1255[label="primPlusNat (primDivNatS (primMinusNatS wx64 wx65) (Succ wx66)) Zero",fontsize=16,color="burlywood",shape="triangle"];2380[label="wx64/Succ wx640",fontsize=10,color="white",style="solid",shape="box"];1255 -> 2380[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2380 -> 1289[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2381[label="wx64/Zero",fontsize=10,color="white",style="solid",shape="box"];1255 -> 2381[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2381 -> 1290[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 1259[label="Zero",fontsize=16,color="green",shape="box"];1260[label="Zero",fontsize=16,color="green",shape="box"];1261[label="Zero",fontsize=16,color="green",shape="box"];778 -> 1143[label="",style="dashed", color="red", weight=0]; 12.29/4.98 778[label="primMinusNat (primDivNatS (primMinusNatS (Succ wx38) (Succ wx39)) (Succ (Succ wx39))) Zero",fontsize=16,color="magenta"];778 -> 1150[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 778 -> 1151[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 778 -> 1152[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1211 -> 1143[label="",style="dashed", color="red", weight=0]; 12.29/4.98 1211[label="primMinusNat (primDivNatS (primMinusNatS wx580 wx590) (Succ wx60)) Zero",fontsize=16,color="magenta"];1211 -> 1230[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1211 -> 1231[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1212[label="primMinusNat (primDivNatS (Succ wx580) (Succ wx60)) Zero",fontsize=16,color="black",shape="box"];1212 -> 1232[label="",style="solid", color="black", weight=3]; 12.29/4.98 1213[label="primMinusNat (primDivNatS Zero (Succ wx60)) Zero",fontsize=16,color="black",shape="triangle"];1213 -> 1233[label="",style="solid", color="black", weight=3]; 12.29/4.98 1214 -> 1213[label="",style="dashed", color="red", weight=0]; 12.29/4.98 1214[label="primMinusNat (primDivNatS Zero (Succ wx60)) Zero",fontsize=16,color="magenta"];790[label="wx540",fontsize=16,color="green",shape="box"];791[label="wx530",fontsize=16,color="green",shape="box"];792[label="primPlusNat (Succ (primDivNatS (primMinusNatS (Succ wx51) (Succ wx52)) (Succ (Succ wx52)))) (Succ Zero)",fontsize=16,color="black",shape="box"];792 -> 798[label="",style="solid", color="black", weight=3]; 12.29/4.98 793 -> 61[label="",style="dashed", color="red", weight=0]; 12.29/4.98 793[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="magenta"];1289[label="primPlusNat (primDivNatS (primMinusNatS (Succ wx640) wx65) (Succ wx66)) Zero",fontsize=16,color="burlywood",shape="box"];2382[label="wx65/Succ wx650",fontsize=10,color="white",style="solid",shape="box"];1289 -> 2382[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2382 -> 1295[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2383[label="wx65/Zero",fontsize=10,color="white",style="solid",shape="box"];1289 -> 2383[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2383 -> 1296[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 1290[label="primPlusNat (primDivNatS (primMinusNatS Zero wx65) (Succ wx66)) Zero",fontsize=16,color="burlywood",shape="box"];2384[label="wx65/Succ wx650",fontsize=10,color="white",style="solid",shape="box"];1290 -> 2384[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2384 -> 1297[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2385[label="wx65/Zero",fontsize=10,color="white",style="solid",shape="box"];1290 -> 2385[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2385 -> 1298[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 1150[label="Succ wx39",fontsize=16,color="green",shape="box"];1151[label="Succ wx39",fontsize=16,color="green",shape="box"];1152[label="Succ wx38",fontsize=16,color="green",shape="box"];1230[label="wx590",fontsize=16,color="green",shape="box"];1231[label="wx580",fontsize=16,color="green",shape="box"];1232[label="primMinusNat (primDivNatS0 wx580 wx60 (primGEqNatS wx580 wx60)) Zero",fontsize=16,color="burlywood",shape="box"];2386[label="wx580/Succ wx5800",fontsize=10,color="white",style="solid",shape="box"];1232 -> 2386[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2386 -> 1247[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2387[label="wx580/Zero",fontsize=10,color="white",style="solid",shape="box"];1232 -> 2387[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2387 -> 1248[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 1233[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="triangle"];1233 -> 1249[label="",style="solid", color="black", weight=3]; 12.29/4.98 798[label="Succ (Succ (primPlusNat (primDivNatS (primMinusNatS (Succ wx51) (Succ wx52)) (Succ (Succ wx52))) Zero))",fontsize=16,color="green",shape="box"];798 -> 803[label="",style="dashed", color="green", weight=3]; 12.29/4.98 1295[label="primPlusNat (primDivNatS (primMinusNatS (Succ wx640) (Succ wx650)) (Succ wx66)) Zero",fontsize=16,color="black",shape="box"];1295 -> 1303[label="",style="solid", color="black", weight=3]; 12.29/4.98 1296[label="primPlusNat (primDivNatS (primMinusNatS (Succ wx640) Zero) (Succ wx66)) Zero",fontsize=16,color="black",shape="box"];1296 -> 1304[label="",style="solid", color="black", weight=3]; 12.29/4.98 1297[label="primPlusNat (primDivNatS (primMinusNatS Zero (Succ wx650)) (Succ wx66)) Zero",fontsize=16,color="black",shape="box"];1297 -> 1305[label="",style="solid", color="black", weight=3]; 12.29/4.98 1298[label="primPlusNat (primDivNatS (primMinusNatS Zero Zero) (Succ wx66)) Zero",fontsize=16,color="black",shape="box"];1298 -> 1306[label="",style="solid", color="black", weight=3]; 12.29/4.98 1247[label="primMinusNat (primDivNatS0 (Succ wx5800) wx60 (primGEqNatS (Succ wx5800) wx60)) Zero",fontsize=16,color="burlywood",shape="box"];2388[label="wx60/Succ wx600",fontsize=10,color="white",style="solid",shape="box"];1247 -> 2388[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2388 -> 1291[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2389[label="wx60/Zero",fontsize=10,color="white",style="solid",shape="box"];1247 -> 2389[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2389 -> 1292[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 1248[label="primMinusNat (primDivNatS0 Zero wx60 (primGEqNatS Zero wx60)) Zero",fontsize=16,color="burlywood",shape="box"];2390[label="wx60/Succ wx600",fontsize=10,color="white",style="solid",shape="box"];1248 -> 2390[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2390 -> 1293[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2391[label="wx60/Zero",fontsize=10,color="white",style="solid",shape="box"];1248 -> 2391[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2391 -> 1294[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 1249[label="Pos Zero",fontsize=16,color="green",shape="box"];803 -> 1255[label="",style="dashed", color="red", weight=0]; 12.29/4.98 803[label="primPlusNat (primDivNatS (primMinusNatS (Succ wx51) (Succ wx52)) (Succ (Succ wx52))) Zero",fontsize=16,color="magenta"];803 -> 1262[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 803 -> 1263[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 803 -> 1264[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1303 -> 1255[label="",style="dashed", color="red", weight=0]; 12.29/4.98 1303[label="primPlusNat (primDivNatS (primMinusNatS wx640 wx650) (Succ wx66)) Zero",fontsize=16,color="magenta"];1303 -> 1312[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1303 -> 1313[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1304[label="primPlusNat (primDivNatS (Succ wx640) (Succ wx66)) Zero",fontsize=16,color="black",shape="box"];1304 -> 1314[label="",style="solid", color="black", weight=3]; 12.29/4.98 1305[label="primPlusNat (primDivNatS Zero (Succ wx66)) Zero",fontsize=16,color="black",shape="triangle"];1305 -> 1315[label="",style="solid", color="black", weight=3]; 12.29/4.98 1306 -> 1305[label="",style="dashed", color="red", weight=0]; 12.29/4.98 1306[label="primPlusNat (primDivNatS Zero (Succ wx66)) Zero",fontsize=16,color="magenta"];1291[label="primMinusNat (primDivNatS0 (Succ wx5800) (Succ wx600) (primGEqNatS (Succ wx5800) (Succ wx600))) Zero",fontsize=16,color="black",shape="box"];1291 -> 1299[label="",style="solid", color="black", weight=3]; 12.29/4.98 1292[label="primMinusNat (primDivNatS0 (Succ wx5800) Zero (primGEqNatS (Succ wx5800) Zero)) Zero",fontsize=16,color="black",shape="box"];1292 -> 1300[label="",style="solid", color="black", weight=3]; 12.29/4.98 1293[label="primMinusNat (primDivNatS0 Zero (Succ wx600) (primGEqNatS Zero (Succ wx600))) Zero",fontsize=16,color="black",shape="box"];1293 -> 1301[label="",style="solid", color="black", weight=3]; 12.29/4.98 1294[label="primMinusNat (primDivNatS0 Zero Zero (primGEqNatS Zero Zero)) Zero",fontsize=16,color="black",shape="box"];1294 -> 1302[label="",style="solid", color="black", weight=3]; 12.29/4.98 1262[label="Succ wx52",fontsize=16,color="green",shape="box"];1263[label="Succ wx52",fontsize=16,color="green",shape="box"];1264[label="Succ wx51",fontsize=16,color="green",shape="box"];1312[label="wx650",fontsize=16,color="green",shape="box"];1313[label="wx640",fontsize=16,color="green",shape="box"];1314[label="primPlusNat (primDivNatS0 wx640 wx66 (primGEqNatS wx640 wx66)) Zero",fontsize=16,color="burlywood",shape="box"];2392[label="wx640/Succ wx6400",fontsize=10,color="white",style="solid",shape="box"];1314 -> 2392[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2392 -> 1322[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2393[label="wx640/Zero",fontsize=10,color="white",style="solid",shape="box"];1314 -> 2393[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2393 -> 1323[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 1315[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="triangle"];1315 -> 1324[label="",style="solid", color="black", weight=3]; 12.29/4.98 1299 -> 1818[label="",style="dashed", color="red", weight=0]; 12.29/4.98 1299[label="primMinusNat (primDivNatS0 (Succ wx5800) (Succ wx600) (primGEqNatS wx5800 wx600)) Zero",fontsize=16,color="magenta"];1299 -> 1819[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1299 -> 1820[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1299 -> 1821[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1299 -> 1822[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1300[label="primMinusNat (primDivNatS0 (Succ wx5800) Zero MyTrue) Zero",fontsize=16,color="black",shape="box"];1300 -> 1309[label="",style="solid", color="black", weight=3]; 12.29/4.98 1301[label="primMinusNat (primDivNatS0 Zero (Succ wx600) MyFalse) Zero",fontsize=16,color="black",shape="box"];1301 -> 1310[label="",style="solid", color="black", weight=3]; 12.29/4.98 1302[label="primMinusNat (primDivNatS0 Zero Zero MyTrue) Zero",fontsize=16,color="black",shape="box"];1302 -> 1311[label="",style="solid", color="black", weight=3]; 12.29/4.98 1322[label="primPlusNat (primDivNatS0 (Succ wx6400) wx66 (primGEqNatS (Succ wx6400) wx66)) Zero",fontsize=16,color="burlywood",shape="box"];2394[label="wx66/Succ wx660",fontsize=10,color="white",style="solid",shape="box"];1322 -> 2394[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2394 -> 1331[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2395[label="wx66/Zero",fontsize=10,color="white",style="solid",shape="box"];1322 -> 2395[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2395 -> 1332[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 1323[label="primPlusNat (primDivNatS0 Zero wx66 (primGEqNatS Zero wx66)) Zero",fontsize=16,color="burlywood",shape="box"];2396[label="wx66/Succ wx660",fontsize=10,color="white",style="solid",shape="box"];1323 -> 2396[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2396 -> 1333[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2397[label="wx66/Zero",fontsize=10,color="white",style="solid",shape="box"];1323 -> 2397[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2397 -> 1334[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 1324[label="Zero",fontsize=16,color="green",shape="box"];1819[label="wx600",fontsize=16,color="green",shape="box"];1820[label="wx5800",fontsize=16,color="green",shape="box"];1821[label="wx600",fontsize=16,color="green",shape="box"];1822[label="wx5800",fontsize=16,color="green",shape="box"];1818[label="primMinusNat (primDivNatS0 (Succ wx95) (Succ wx96) (primGEqNatS wx97 wx98)) Zero",fontsize=16,color="burlywood",shape="triangle"];2398[label="wx97/Succ wx970",fontsize=10,color="white",style="solid",shape="box"];1818 -> 2398[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2398 -> 1859[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2399[label="wx97/Zero",fontsize=10,color="white",style="solid",shape="box"];1818 -> 2399[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2399 -> 1860[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 1309 -> 1664[label="",style="dashed", color="red", weight=0]; 12.29/4.98 1309[label="primMinusNat (Succ (primDivNatS (primMinusNatS (Succ wx5800) Zero) (Succ Zero))) Zero",fontsize=16,color="magenta"];1309 -> 1665[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1310 -> 1233[label="",style="dashed", color="red", weight=0]; 12.29/4.98 1310[label="primMinusNat Zero Zero",fontsize=16,color="magenta"];1311 -> 1664[label="",style="dashed", color="red", weight=0]; 12.29/4.98 1311[label="primMinusNat (Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))) Zero",fontsize=16,color="magenta"];1311 -> 1666[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1331[label="primPlusNat (primDivNatS0 (Succ wx6400) (Succ wx660) (primGEqNatS (Succ wx6400) (Succ wx660))) Zero",fontsize=16,color="black",shape="box"];1331 -> 1342[label="",style="solid", color="black", weight=3]; 12.29/4.98 1332[label="primPlusNat (primDivNatS0 (Succ wx6400) Zero (primGEqNatS (Succ wx6400) Zero)) Zero",fontsize=16,color="black",shape="box"];1332 -> 1343[label="",style="solid", color="black", weight=3]; 12.29/4.98 1333[label="primPlusNat (primDivNatS0 Zero (Succ wx660) (primGEqNatS Zero (Succ wx660))) Zero",fontsize=16,color="black",shape="box"];1333 -> 1344[label="",style="solid", color="black", weight=3]; 12.29/4.98 1334[label="primPlusNat (primDivNatS0 Zero Zero (primGEqNatS Zero Zero)) Zero",fontsize=16,color="black",shape="box"];1334 -> 1345[label="",style="solid", color="black", weight=3]; 12.29/4.98 1859[label="primMinusNat (primDivNatS0 (Succ wx95) (Succ wx96) (primGEqNatS (Succ wx970) wx98)) Zero",fontsize=16,color="burlywood",shape="box"];2400[label="wx98/Succ wx980",fontsize=10,color="white",style="solid",shape="box"];1859 -> 2400[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2400 -> 1874[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2401[label="wx98/Zero",fontsize=10,color="white",style="solid",shape="box"];1859 -> 2401[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2401 -> 1875[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 1860[label="primMinusNat (primDivNatS0 (Succ wx95) (Succ wx96) (primGEqNatS Zero wx98)) Zero",fontsize=16,color="burlywood",shape="box"];2402[label="wx98/Succ wx980",fontsize=10,color="white",style="solid",shape="box"];1860 -> 2402[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2402 -> 1876[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 2403[label="wx98/Zero",fontsize=10,color="white",style="solid",shape="box"];1860 -> 2403[label="",style="solid", color="burlywood", weight=9]; 12.29/4.98 2403 -> 1877[label="",style="solid", color="burlywood", weight=3]; 12.29/4.98 1665 -> 2046[label="",style="dashed", color="red", weight=0]; 12.29/4.98 1665[label="primDivNatS (primMinusNatS (Succ wx5800) Zero) (Succ Zero)",fontsize=16,color="magenta"];1665 -> 2047[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1665 -> 2048[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1665 -> 2049[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1664[label="primMinusNat (Succ wx79) Zero",fontsize=16,color="black",shape="triangle"];1664 -> 1680[label="",style="solid", color="black", weight=3]; 12.29/4.98 1666 -> 2046[label="",style="dashed", color="red", weight=0]; 12.29/4.98 1666[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];1666 -> 2050[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1666 -> 2051[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1666 -> 2052[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1342 -> 1951[label="",style="dashed", color="red", weight=0]; 12.29/4.98 1342[label="primPlusNat (primDivNatS0 (Succ wx6400) (Succ wx660) (primGEqNatS wx6400 wx660)) Zero",fontsize=16,color="magenta"];1342 -> 1952[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1342 -> 1953[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1342 -> 1954[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1342 -> 1955[label="",style="dashed", color="magenta", weight=3]; 12.29/4.98 1343[label="primPlusNat (primDivNatS0 (Succ wx6400) Zero MyTrue) Zero",fontsize=16,color="black",shape="box"];1343 -> 1356[label="",style="solid", color="black", weight=3]; 12.29/4.98 1344[label="primPlusNat (primDivNatS0 Zero (Succ wx660) MyFalse) Zero",fontsize=16,color="black",shape="box"];1344 -> 1357[label="",style="solid", color="black", weight=3]; 12.29/4.98 1345[label="primPlusNat (primDivNatS0 Zero Zero MyTrue) Zero",fontsize=16,color="black",shape="box"];1345 -> 1358[label="",style="solid", color="black", weight=3]; 12.29/4.98 1874[label="primMinusNat (primDivNatS0 (Succ wx95) (Succ wx96) (primGEqNatS (Succ wx970) (Succ wx980))) Zero",fontsize=16,color="black",shape="box"];1874 -> 1892[label="",style="solid", color="black", weight=3]; 12.29/4.98 1875[label="primMinusNat (primDivNatS0 (Succ wx95) (Succ wx96) (primGEqNatS (Succ wx970) Zero)) Zero",fontsize=16,color="black",shape="box"];1875 -> 1893[label="",style="solid", color="black", weight=3]; 12.29/4.98 1876[label="primMinusNat (primDivNatS0 (Succ wx95) (Succ wx96) (primGEqNatS Zero (Succ wx980))) Zero",fontsize=16,color="black",shape="box"];1876 -> 1894[label="",style="solid", color="black", weight=3]; 12.29/4.99 1877[label="primMinusNat (primDivNatS0 (Succ wx95) (Succ wx96) (primGEqNatS Zero Zero)) Zero",fontsize=16,color="black",shape="box"];1877 -> 1895[label="",style="solid", color="black", weight=3]; 12.29/4.99 2047[label="Zero",fontsize=16,color="green",shape="box"];2048[label="Zero",fontsize=16,color="green",shape="box"];2049[label="Succ wx5800",fontsize=16,color="green",shape="box"];2046[label="primDivNatS (primMinusNatS wx116 wx117) (Succ wx118)",fontsize=16,color="burlywood",shape="triangle"];2404[label="wx116/Succ wx1160",fontsize=10,color="white",style="solid",shape="box"];2046 -> 2404[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2404 -> 2098[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 2405[label="wx116/Zero",fontsize=10,color="white",style="solid",shape="box"];2046 -> 2405[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2405 -> 2099[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 1680[label="Pos (Succ wx79)",fontsize=16,color="green",shape="box"];2050[label="Zero",fontsize=16,color="green",shape="box"];2051[label="Zero",fontsize=16,color="green",shape="box"];2052[label="Zero",fontsize=16,color="green",shape="box"];1952[label="wx6400",fontsize=16,color="green",shape="box"];1953[label="wx660",fontsize=16,color="green",shape="box"];1954[label="wx6400",fontsize=16,color="green",shape="box"];1955[label="wx660",fontsize=16,color="green",shape="box"];1951[label="primPlusNat (primDivNatS0 (Succ wx111) (Succ wx112) (primGEqNatS wx113 wx114)) Zero",fontsize=16,color="burlywood",shape="triangle"];2406[label="wx113/Succ wx1130",fontsize=10,color="white",style="solid",shape="box"];1951 -> 2406[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2406 -> 1992[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 2407[label="wx113/Zero",fontsize=10,color="white",style="solid",shape="box"];1951 -> 2407[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2407 -> 1993[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 1356 -> 1371[label="",style="dashed", color="red", weight=0]; 12.29/4.99 1356[label="primPlusNat (Succ (primDivNatS (primMinusNatS (Succ wx6400) Zero) (Succ Zero))) Zero",fontsize=16,color="magenta"];1356 -> 1372[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 1357 -> 1315[label="",style="dashed", color="red", weight=0]; 12.29/4.99 1357[label="primPlusNat Zero Zero",fontsize=16,color="magenta"];1358 -> 1371[label="",style="dashed", color="red", weight=0]; 12.29/4.99 1358[label="primPlusNat (Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))) Zero",fontsize=16,color="magenta"];1358 -> 1373[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 1892 -> 1818[label="",style="dashed", color="red", weight=0]; 12.29/4.99 1892[label="primMinusNat (primDivNatS0 (Succ wx95) (Succ wx96) (primGEqNatS wx970 wx980)) Zero",fontsize=16,color="magenta"];1892 -> 1911[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 1892 -> 1912[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 1893[label="primMinusNat (primDivNatS0 (Succ wx95) (Succ wx96) MyTrue) Zero",fontsize=16,color="black",shape="triangle"];1893 -> 1913[label="",style="solid", color="black", weight=3]; 12.29/4.99 1894[label="primMinusNat (primDivNatS0 (Succ wx95) (Succ wx96) MyFalse) Zero",fontsize=16,color="black",shape="box"];1894 -> 1914[label="",style="solid", color="black", weight=3]; 12.29/4.99 1895 -> 1893[label="",style="dashed", color="red", weight=0]; 12.29/4.99 1895[label="primMinusNat (primDivNatS0 (Succ wx95) (Succ wx96) MyTrue) Zero",fontsize=16,color="magenta"];2098[label="primDivNatS (primMinusNatS (Succ wx1160) wx117) (Succ wx118)",fontsize=16,color="burlywood",shape="box"];2408[label="wx117/Succ wx1170",fontsize=10,color="white",style="solid",shape="box"];2098 -> 2408[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2408 -> 2100[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 2409[label="wx117/Zero",fontsize=10,color="white",style="solid",shape="box"];2098 -> 2409[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2409 -> 2101[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 2099[label="primDivNatS (primMinusNatS Zero wx117) (Succ wx118)",fontsize=16,color="burlywood",shape="box"];2410[label="wx117/Succ wx1170",fontsize=10,color="white",style="solid",shape="box"];2099 -> 2410[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2410 -> 2102[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 2411[label="wx117/Zero",fontsize=10,color="white",style="solid",shape="box"];2099 -> 2411[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2411 -> 2103[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 1992[label="primPlusNat (primDivNatS0 (Succ wx111) (Succ wx112) (primGEqNatS (Succ wx1130) wx114)) Zero",fontsize=16,color="burlywood",shape="box"];2412[label="wx114/Succ wx1140",fontsize=10,color="white",style="solid",shape="box"];1992 -> 2412[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2412 -> 2000[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 2413[label="wx114/Zero",fontsize=10,color="white",style="solid",shape="box"];1992 -> 2413[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2413 -> 2001[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 1993[label="primPlusNat (primDivNatS0 (Succ wx111) (Succ wx112) (primGEqNatS Zero wx114)) Zero",fontsize=16,color="burlywood",shape="box"];2414[label="wx114/Succ wx1140",fontsize=10,color="white",style="solid",shape="box"];1993 -> 2414[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2414 -> 2002[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 2415[label="wx114/Zero",fontsize=10,color="white",style="solid",shape="box"];1993 -> 2415[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2415 -> 2003[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 1372 -> 2046[label="",style="dashed", color="red", weight=0]; 12.29/4.99 1372[label="primDivNatS (primMinusNatS (Succ wx6400) Zero) (Succ Zero)",fontsize=16,color="magenta"];1372 -> 2059[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 1372 -> 2060[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 1372 -> 2061[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 1371[label="primPlusNat (Succ wx67) Zero",fontsize=16,color="black",shape="triangle"];1371 -> 1379[label="",style="solid", color="black", weight=3]; 12.29/4.99 1373 -> 2046[label="",style="dashed", color="red", weight=0]; 12.29/4.99 1373[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];1373 -> 2062[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 1373 -> 2063[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 1373 -> 2064[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 1911[label="wx980",fontsize=16,color="green",shape="box"];1912[label="wx970",fontsize=16,color="green",shape="box"];1913 -> 1664[label="",style="dashed", color="red", weight=0]; 12.29/4.99 1913[label="primMinusNat (Succ (primDivNatS (primMinusNatS (Succ wx95) (Succ wx96)) (Succ (Succ wx96)))) Zero",fontsize=16,color="magenta"];1913 -> 1926[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 1914 -> 1233[label="",style="dashed", color="red", weight=0]; 12.29/4.99 1914[label="primMinusNat Zero Zero",fontsize=16,color="magenta"];2100[label="primDivNatS (primMinusNatS (Succ wx1160) (Succ wx1170)) (Succ wx118)",fontsize=16,color="black",shape="box"];2100 -> 2104[label="",style="solid", color="black", weight=3]; 12.29/4.99 2101[label="primDivNatS (primMinusNatS (Succ wx1160) Zero) (Succ wx118)",fontsize=16,color="black",shape="box"];2101 -> 2105[label="",style="solid", color="black", weight=3]; 12.29/4.99 2102[label="primDivNatS (primMinusNatS Zero (Succ wx1170)) (Succ wx118)",fontsize=16,color="black",shape="box"];2102 -> 2106[label="",style="solid", color="black", weight=3]; 12.29/4.99 2103[label="primDivNatS (primMinusNatS Zero Zero) (Succ wx118)",fontsize=16,color="black",shape="box"];2103 -> 2107[label="",style="solid", color="black", weight=3]; 12.29/4.99 2000[label="primPlusNat (primDivNatS0 (Succ wx111) (Succ wx112) (primGEqNatS (Succ wx1130) (Succ wx1140))) Zero",fontsize=16,color="black",shape="box"];2000 -> 2014[label="",style="solid", color="black", weight=3]; 12.29/4.99 2001[label="primPlusNat (primDivNatS0 (Succ wx111) (Succ wx112) (primGEqNatS (Succ wx1130) Zero)) Zero",fontsize=16,color="black",shape="box"];2001 -> 2015[label="",style="solid", color="black", weight=3]; 12.29/4.99 2002[label="primPlusNat (primDivNatS0 (Succ wx111) (Succ wx112) (primGEqNatS Zero (Succ wx1140))) Zero",fontsize=16,color="black",shape="box"];2002 -> 2016[label="",style="solid", color="black", weight=3]; 12.29/4.99 2003[label="primPlusNat (primDivNatS0 (Succ wx111) (Succ wx112) (primGEqNatS Zero Zero)) Zero",fontsize=16,color="black",shape="box"];2003 -> 2017[label="",style="solid", color="black", weight=3]; 12.29/4.99 2059[label="Zero",fontsize=16,color="green",shape="box"];2060[label="Zero",fontsize=16,color="green",shape="box"];2061[label="Succ wx6400",fontsize=16,color="green",shape="box"];1379[label="Succ wx67",fontsize=16,color="green",shape="box"];2062[label="Zero",fontsize=16,color="green",shape="box"];2063[label="Zero",fontsize=16,color="green",shape="box"];2064[label="Zero",fontsize=16,color="green",shape="box"];1926 -> 2046[label="",style="dashed", color="red", weight=0]; 12.29/4.99 1926[label="primDivNatS (primMinusNatS (Succ wx95) (Succ wx96)) (Succ (Succ wx96))",fontsize=16,color="magenta"];1926 -> 2068[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 1926 -> 2069[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 1926 -> 2070[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2104 -> 2046[label="",style="dashed", color="red", weight=0]; 12.29/4.99 2104[label="primDivNatS (primMinusNatS wx1160 wx1170) (Succ wx118)",fontsize=16,color="magenta"];2104 -> 2108[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2104 -> 2109[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2105[label="primDivNatS (Succ wx1160) (Succ wx118)",fontsize=16,color="black",shape="box"];2105 -> 2110[label="",style="solid", color="black", weight=3]; 12.29/4.99 2106[label="primDivNatS Zero (Succ wx118)",fontsize=16,color="black",shape="triangle"];2106 -> 2111[label="",style="solid", color="black", weight=3]; 12.29/4.99 2107 -> 2106[label="",style="dashed", color="red", weight=0]; 12.29/4.99 2107[label="primDivNatS Zero (Succ wx118)",fontsize=16,color="magenta"];2014 -> 1951[label="",style="dashed", color="red", weight=0]; 12.29/4.99 2014[label="primPlusNat (primDivNatS0 (Succ wx111) (Succ wx112) (primGEqNatS wx1130 wx1140)) Zero",fontsize=16,color="magenta"];2014 -> 2026[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2014 -> 2027[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2015[label="primPlusNat (primDivNatS0 (Succ wx111) (Succ wx112) MyTrue) Zero",fontsize=16,color="black",shape="triangle"];2015 -> 2028[label="",style="solid", color="black", weight=3]; 12.29/4.99 2016[label="primPlusNat (primDivNatS0 (Succ wx111) (Succ wx112) MyFalse) Zero",fontsize=16,color="black",shape="box"];2016 -> 2029[label="",style="solid", color="black", weight=3]; 12.29/4.99 2017 -> 2015[label="",style="dashed", color="red", weight=0]; 12.29/4.99 2017[label="primPlusNat (primDivNatS0 (Succ wx111) (Succ wx112) MyTrue) Zero",fontsize=16,color="magenta"];2068[label="Succ wx96",fontsize=16,color="green",shape="box"];2069[label="Succ wx96",fontsize=16,color="green",shape="box"];2070[label="Succ wx95",fontsize=16,color="green",shape="box"];2108[label="wx1170",fontsize=16,color="green",shape="box"];2109[label="wx1160",fontsize=16,color="green",shape="box"];2110[label="primDivNatS0 wx1160 wx118 (primGEqNatS wx1160 wx118)",fontsize=16,color="burlywood",shape="box"];2416[label="wx1160/Succ wx11600",fontsize=10,color="white",style="solid",shape="box"];2110 -> 2416[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2416 -> 2112[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 2417[label="wx1160/Zero",fontsize=10,color="white",style="solid",shape="box"];2110 -> 2417[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2417 -> 2113[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 2111[label="Zero",fontsize=16,color="green",shape="box"];2026[label="wx1130",fontsize=16,color="green",shape="box"];2027[label="wx1140",fontsize=16,color="green",shape="box"];2028 -> 1371[label="",style="dashed", color="red", weight=0]; 12.29/4.99 2028[label="primPlusNat (Succ (primDivNatS (primMinusNatS (Succ wx111) (Succ wx112)) (Succ (Succ wx112)))) Zero",fontsize=16,color="magenta"];2028 -> 2039[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2029 -> 1315[label="",style="dashed", color="red", weight=0]; 12.29/4.99 2029[label="primPlusNat Zero Zero",fontsize=16,color="magenta"];2112[label="primDivNatS0 (Succ wx11600) wx118 (primGEqNatS (Succ wx11600) wx118)",fontsize=16,color="burlywood",shape="box"];2418[label="wx118/Succ wx1180",fontsize=10,color="white",style="solid",shape="box"];2112 -> 2418[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2418 -> 2114[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 2419[label="wx118/Zero",fontsize=10,color="white",style="solid",shape="box"];2112 -> 2419[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2419 -> 2115[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 2113[label="primDivNatS0 Zero wx118 (primGEqNatS Zero wx118)",fontsize=16,color="burlywood",shape="box"];2420[label="wx118/Succ wx1180",fontsize=10,color="white",style="solid",shape="box"];2113 -> 2420[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2420 -> 2116[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 2421[label="wx118/Zero",fontsize=10,color="white",style="solid",shape="box"];2113 -> 2421[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2421 -> 2117[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 2039 -> 2046[label="",style="dashed", color="red", weight=0]; 12.29/4.99 2039[label="primDivNatS (primMinusNatS (Succ wx111) (Succ wx112)) (Succ (Succ wx112))",fontsize=16,color="magenta"];2039 -> 2074[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2039 -> 2075[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2039 -> 2076[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2114[label="primDivNatS0 (Succ wx11600) (Succ wx1180) (primGEqNatS (Succ wx11600) (Succ wx1180))",fontsize=16,color="black",shape="box"];2114 -> 2118[label="",style="solid", color="black", weight=3]; 12.29/4.99 2115[label="primDivNatS0 (Succ wx11600) Zero (primGEqNatS (Succ wx11600) Zero)",fontsize=16,color="black",shape="box"];2115 -> 2119[label="",style="solid", color="black", weight=3]; 12.29/4.99 2116[label="primDivNatS0 Zero (Succ wx1180) (primGEqNatS Zero (Succ wx1180))",fontsize=16,color="black",shape="box"];2116 -> 2120[label="",style="solid", color="black", weight=3]; 12.29/4.99 2117[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];2117 -> 2121[label="",style="solid", color="black", weight=3]; 12.29/4.99 2074[label="Succ wx112",fontsize=16,color="green",shape="box"];2075[label="Succ wx112",fontsize=16,color="green",shape="box"];2076[label="Succ wx111",fontsize=16,color="green",shape="box"];2118 -> 2280[label="",style="dashed", color="red", weight=0]; 12.29/4.99 2118[label="primDivNatS0 (Succ wx11600) (Succ wx1180) (primGEqNatS wx11600 wx1180)",fontsize=16,color="magenta"];2118 -> 2281[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2118 -> 2282[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2118 -> 2283[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2118 -> 2284[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2119[label="primDivNatS0 (Succ wx11600) Zero MyTrue",fontsize=16,color="black",shape="box"];2119 -> 2124[label="",style="solid", color="black", weight=3]; 12.29/4.99 2120[label="primDivNatS0 Zero (Succ wx1180) MyFalse",fontsize=16,color="black",shape="box"];2120 -> 2125[label="",style="solid", color="black", weight=3]; 12.29/4.99 2121[label="primDivNatS0 Zero Zero MyTrue",fontsize=16,color="black",shape="box"];2121 -> 2126[label="",style="solid", color="black", weight=3]; 12.29/4.99 2281[label="wx11600",fontsize=16,color="green",shape="box"];2282[label="wx11600",fontsize=16,color="green",shape="box"];2283[label="wx1180",fontsize=16,color="green",shape="box"];2284[label="wx1180",fontsize=16,color="green",shape="box"];2280[label="primDivNatS0 (Succ wx135) (Succ wx136) (primGEqNatS wx137 wx138)",fontsize=16,color="burlywood",shape="triangle"];2422[label="wx137/Succ wx1370",fontsize=10,color="white",style="solid",shape="box"];2280 -> 2422[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2422 -> 2313[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 2423[label="wx137/Zero",fontsize=10,color="white",style="solid",shape="box"];2280 -> 2423[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2423 -> 2314[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 2124[label="Succ (primDivNatS (primMinusNatS (Succ wx11600) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];2124 -> 2131[label="",style="dashed", color="green", weight=3]; 12.29/4.99 2125[label="Zero",fontsize=16,color="green",shape="box"];2126[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];2126 -> 2132[label="",style="dashed", color="green", weight=3]; 12.29/4.99 2313[label="primDivNatS0 (Succ wx135) (Succ wx136) (primGEqNatS (Succ wx1370) wx138)",fontsize=16,color="burlywood",shape="box"];2424[label="wx138/Succ wx1380",fontsize=10,color="white",style="solid",shape="box"];2313 -> 2424[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2424 -> 2315[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 2425[label="wx138/Zero",fontsize=10,color="white",style="solid",shape="box"];2313 -> 2425[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2425 -> 2316[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 2314[label="primDivNatS0 (Succ wx135) (Succ wx136) (primGEqNatS Zero wx138)",fontsize=16,color="burlywood",shape="box"];2426[label="wx138/Succ wx1380",fontsize=10,color="white",style="solid",shape="box"];2314 -> 2426[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2426 -> 2317[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 2427[label="wx138/Zero",fontsize=10,color="white",style="solid",shape="box"];2314 -> 2427[label="",style="solid", color="burlywood", weight=9]; 12.29/4.99 2427 -> 2318[label="",style="solid", color="burlywood", weight=3]; 12.29/4.99 2131 -> 2046[label="",style="dashed", color="red", weight=0]; 12.29/4.99 2131[label="primDivNatS (primMinusNatS (Succ wx11600) Zero) (Succ Zero)",fontsize=16,color="magenta"];2131 -> 2137[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2131 -> 2138[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2131 -> 2139[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2132 -> 2046[label="",style="dashed", color="red", weight=0]; 12.29/4.99 2132[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];2132 -> 2140[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2132 -> 2141[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2132 -> 2142[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2315[label="primDivNatS0 (Succ wx135) (Succ wx136) (primGEqNatS (Succ wx1370) (Succ wx1380))",fontsize=16,color="black",shape="box"];2315 -> 2319[label="",style="solid", color="black", weight=3]; 12.29/4.99 2316[label="primDivNatS0 (Succ wx135) (Succ wx136) (primGEqNatS (Succ wx1370) Zero)",fontsize=16,color="black",shape="box"];2316 -> 2320[label="",style="solid", color="black", weight=3]; 12.29/4.99 2317[label="primDivNatS0 (Succ wx135) (Succ wx136) (primGEqNatS Zero (Succ wx1380))",fontsize=16,color="black",shape="box"];2317 -> 2321[label="",style="solid", color="black", weight=3]; 12.29/4.99 2318[label="primDivNatS0 (Succ wx135) (Succ wx136) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];2318 -> 2322[label="",style="solid", color="black", weight=3]; 12.29/4.99 2137[label="Zero",fontsize=16,color="green",shape="box"];2138[label="Zero",fontsize=16,color="green",shape="box"];2139[label="Succ wx11600",fontsize=16,color="green",shape="box"];2140[label="Zero",fontsize=16,color="green",shape="box"];2141[label="Zero",fontsize=16,color="green",shape="box"];2142[label="Zero",fontsize=16,color="green",shape="box"];2319 -> 2280[label="",style="dashed", color="red", weight=0]; 12.29/4.99 2319[label="primDivNatS0 (Succ wx135) (Succ wx136) (primGEqNatS wx1370 wx1380)",fontsize=16,color="magenta"];2319 -> 2323[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2319 -> 2324[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2320[label="primDivNatS0 (Succ wx135) (Succ wx136) MyTrue",fontsize=16,color="black",shape="triangle"];2320 -> 2325[label="",style="solid", color="black", weight=3]; 12.29/4.99 2321[label="primDivNatS0 (Succ wx135) (Succ wx136) MyFalse",fontsize=16,color="black",shape="box"];2321 -> 2326[label="",style="solid", color="black", weight=3]; 12.29/4.99 2322 -> 2320[label="",style="dashed", color="red", weight=0]; 12.29/4.99 2322[label="primDivNatS0 (Succ wx135) (Succ wx136) MyTrue",fontsize=16,color="magenta"];2323[label="wx1370",fontsize=16,color="green",shape="box"];2324[label="wx1380",fontsize=16,color="green",shape="box"];2325[label="Succ (primDivNatS (primMinusNatS (Succ wx135) (Succ wx136)) (Succ (Succ wx136)))",fontsize=16,color="green",shape="box"];2325 -> 2327[label="",style="dashed", color="green", weight=3]; 12.29/4.99 2326[label="Zero",fontsize=16,color="green",shape="box"];2327 -> 2046[label="",style="dashed", color="red", weight=0]; 12.29/4.99 2327[label="primDivNatS (primMinusNatS (Succ wx135) (Succ wx136)) (Succ (Succ wx136))",fontsize=16,color="magenta"];2327 -> 2328[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2327 -> 2329[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2327 -> 2330[label="",style="dashed", color="magenta", weight=3]; 12.29/4.99 2328[label="Succ wx136",fontsize=16,color="green",shape="box"];2329[label="Succ wx136",fontsize=16,color="green",shape="box"];2330[label="Succ wx135",fontsize=16,color="green",shape="box"];} 12.29/4.99 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (6) 12.29/4.99 Complex Obligation (AND) 12.29/4.99 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (7) 12.29/4.99 Obligation: 12.29/4.99 Q DP problem: 12.29/4.99 The TRS P consists of the following rules: 12.29/4.99 12.29/4.99 new_primPlusNat(wx111, wx112, Main.Succ(wx1130), Main.Succ(wx1140)) -> new_primPlusNat(wx111, wx112, wx1130, wx1140) 12.29/4.99 12.29/4.99 R is empty. 12.29/4.99 Q is empty. 12.29/4.99 We have to consider all minimal (P,Q,R)-chains. 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (8) QDPSizeChangeProof (EQUIVALENT) 12.29/4.99 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.29/4.99 12.29/4.99 From the DPs we obtained the following set of size-change graphs: 12.29/4.99 *new_primPlusNat(wx111, wx112, Main.Succ(wx1130), Main.Succ(wx1140)) -> new_primPlusNat(wx111, wx112, wx1130, wx1140) 12.29/4.99 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 12.29/4.99 12.29/4.99 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (9) 12.29/4.99 YES 12.29/4.99 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (10) 12.29/4.99 Obligation: 12.29/4.99 Q DP problem: 12.29/4.99 The TRS P consists of the following rules: 12.29/4.99 12.29/4.99 new_primMinusNat1(wx38, wx39, Main.Succ(wx400), Main.Succ(wx410)) -> new_primMinusNat1(wx38, wx39, wx400, wx410) 12.29/4.99 12.29/4.99 R is empty. 12.29/4.99 Q is empty. 12.29/4.99 We have to consider all minimal (P,Q,R)-chains. 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (11) QDPSizeChangeProof (EQUIVALENT) 12.29/4.99 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.29/4.99 12.29/4.99 From the DPs we obtained the following set of size-change graphs: 12.29/4.99 *new_primMinusNat1(wx38, wx39, Main.Succ(wx400), Main.Succ(wx410)) -> new_primMinusNat1(wx38, wx39, wx400, wx410) 12.29/4.99 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 12.29/4.99 12.29/4.99 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (12) 12.29/4.99 YES 12.29/4.99 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (13) 12.29/4.99 Obligation: 12.29/4.99 Q DP problem: 12.29/4.99 The TRS P consists of the following rules: 12.29/4.99 12.29/4.99 new_primPlusNat1(wx51, wx52, Main.Succ(wx530), Main.Succ(wx540)) -> new_primPlusNat1(wx51, wx52, wx530, wx540) 12.29/4.99 12.29/4.99 R is empty. 12.29/4.99 Q is empty. 12.29/4.99 We have to consider all minimal (P,Q,R)-chains. 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (14) QDPSizeChangeProof (EQUIVALENT) 12.29/4.99 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.29/4.99 12.29/4.99 From the DPs we obtained the following set of size-change graphs: 12.29/4.99 *new_primPlusNat1(wx51, wx52, Main.Succ(wx530), Main.Succ(wx540)) -> new_primPlusNat1(wx51, wx52, wx530, wx540) 12.29/4.99 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 12.29/4.99 12.29/4.99 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (15) 12.29/4.99 YES 12.29/4.99 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (16) 12.29/4.99 Obligation: 12.29/4.99 Q DP problem: 12.29/4.99 The TRS P consists of the following rules: 12.29/4.99 12.29/4.99 new_primMinusNat(wx95, wx96, Main.Succ(wx970), Main.Succ(wx980)) -> new_primMinusNat(wx95, wx96, wx970, wx980) 12.29/4.99 12.29/4.99 R is empty. 12.29/4.99 Q is empty. 12.29/4.99 We have to consider all minimal (P,Q,R)-chains. 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (17) QDPSizeChangeProof (EQUIVALENT) 12.29/4.99 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.29/4.99 12.29/4.99 From the DPs we obtained the following set of size-change graphs: 12.29/4.99 *new_primMinusNat(wx95, wx96, Main.Succ(wx970), Main.Succ(wx980)) -> new_primMinusNat(wx95, wx96, wx970, wx980) 12.29/4.99 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 12.29/4.99 12.29/4.99 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (18) 12.29/4.99 YES 12.29/4.99 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (19) 12.29/4.99 Obligation: 12.29/4.99 Q DP problem: 12.29/4.99 The TRS P consists of the following rules: 12.29/4.99 12.29/4.99 new_primMinusNat0(Main.Succ(wx580), Main.Succ(wx590), wx60) -> new_primMinusNat0(wx580, wx590, wx60) 12.29/4.99 12.29/4.99 R is empty. 12.29/4.99 Q is empty. 12.29/4.99 We have to consider all minimal (P,Q,R)-chains. 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (20) QDPSizeChangeProof (EQUIVALENT) 12.29/4.99 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.29/4.99 12.29/4.99 From the DPs we obtained the following set of size-change graphs: 12.29/4.99 *new_primMinusNat0(Main.Succ(wx580), Main.Succ(wx590), wx60) -> new_primMinusNat0(wx580, wx590, wx60) 12.29/4.99 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 12.29/4.99 12.29/4.99 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (21) 12.29/4.99 YES 12.29/4.99 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (22) 12.29/4.99 Obligation: 12.29/4.99 Q DP problem: 12.29/4.99 The TRS P consists of the following rules: 12.29/4.99 12.29/4.99 new_primPlusNat0(Main.Succ(wx640), Main.Succ(wx650), wx66) -> new_primPlusNat0(wx640, wx650, wx66) 12.29/4.99 12.29/4.99 R is empty. 12.29/4.99 Q is empty. 12.29/4.99 We have to consider all minimal (P,Q,R)-chains. 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (23) QDPSizeChangeProof (EQUIVALENT) 12.29/4.99 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.29/4.99 12.29/4.99 From the DPs we obtained the following set of size-change graphs: 12.29/4.99 *new_primPlusNat0(Main.Succ(wx640), Main.Succ(wx650), wx66) -> new_primPlusNat0(wx640, wx650, wx66) 12.29/4.99 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 12.29/4.99 12.29/4.99 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (24) 12.29/4.99 YES 12.29/4.99 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (25) 12.29/4.99 Obligation: 12.29/4.99 Q DP problem: 12.29/4.99 The TRS P consists of the following rules: 12.29/4.99 12.29/4.99 new_primDivNatS(Main.Succ(wx1160), Main.Succ(wx1170), wx118) -> new_primDivNatS(wx1160, wx1170, wx118) 12.29/4.99 new_primDivNatS0(wx135, wx136, Main.Succ(wx1370), Main.Succ(wx1380)) -> new_primDivNatS0(wx135, wx136, wx1370, wx1380) 12.29/4.99 new_primDivNatS00(wx135, wx136) -> new_primDivNatS(Main.Succ(wx135), Main.Succ(wx136), Main.Succ(wx136)) 12.29/4.99 new_primDivNatS(Main.Succ(Main.Succ(wx11600)), Main.Zero, Main.Zero) -> new_primDivNatS(Main.Succ(wx11600), Main.Zero, Main.Zero) 12.29/4.99 new_primDivNatS(Main.Succ(Main.Zero), Main.Zero, Main.Zero) -> new_primDivNatS(Main.Zero, Main.Zero, Main.Zero) 12.29/4.99 new_primDivNatS(Main.Succ(Main.Succ(wx11600)), Main.Zero, Main.Succ(wx1180)) -> new_primDivNatS0(wx11600, wx1180, wx11600, wx1180) 12.29/4.99 new_primDivNatS0(wx135, wx136, Main.Succ(wx1370), Main.Zero) -> new_primDivNatS(Main.Succ(wx135), Main.Succ(wx136), Main.Succ(wx136)) 12.29/4.99 new_primDivNatS0(wx135, wx136, Main.Zero, Main.Zero) -> new_primDivNatS00(wx135, wx136) 12.29/4.99 12.29/4.99 R is empty. 12.29/4.99 Q is empty. 12.29/4.99 We have to consider all minimal (P,Q,R)-chains. 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (26) DependencyGraphProof (EQUIVALENT) 12.29/4.99 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (27) 12.29/4.99 Complex Obligation (AND) 12.29/4.99 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (28) 12.29/4.99 Obligation: 12.29/4.99 Q DP problem: 12.29/4.99 The TRS P consists of the following rules: 12.29/4.99 12.29/4.99 new_primDivNatS(Main.Succ(Main.Succ(wx11600)), Main.Zero, Main.Zero) -> new_primDivNatS(Main.Succ(wx11600), Main.Zero, Main.Zero) 12.29/4.99 12.29/4.99 R is empty. 12.29/4.99 Q is empty. 12.29/4.99 We have to consider all minimal (P,Q,R)-chains. 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (29) QDPSizeChangeProof (EQUIVALENT) 12.29/4.99 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.29/4.99 12.29/4.99 From the DPs we obtained the following set of size-change graphs: 12.29/4.99 *new_primDivNatS(Main.Succ(Main.Succ(wx11600)), Main.Zero, Main.Zero) -> new_primDivNatS(Main.Succ(wx11600), Main.Zero, Main.Zero) 12.29/4.99 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 2, 2 >= 3, 3 >= 3 12.29/4.99 12.29/4.99 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (30) 12.29/4.99 YES 12.29/4.99 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (31) 12.29/4.99 Obligation: 12.29/4.99 Q DP problem: 12.29/4.99 The TRS P consists of the following rules: 12.29/4.99 12.29/4.99 new_primDivNatS(Main.Succ(Main.Succ(wx11600)), Main.Zero, Main.Succ(wx1180)) -> new_primDivNatS0(wx11600, wx1180, wx11600, wx1180) 12.29/4.99 new_primDivNatS0(wx135, wx136, Main.Succ(wx1370), Main.Succ(wx1380)) -> new_primDivNatS0(wx135, wx136, wx1370, wx1380) 12.29/4.99 new_primDivNatS0(wx135, wx136, Main.Succ(wx1370), Main.Zero) -> new_primDivNatS(Main.Succ(wx135), Main.Succ(wx136), Main.Succ(wx136)) 12.29/4.99 new_primDivNatS(Main.Succ(wx1160), Main.Succ(wx1170), wx118) -> new_primDivNatS(wx1160, wx1170, wx118) 12.29/4.99 new_primDivNatS0(wx135, wx136, Main.Zero, Main.Zero) -> new_primDivNatS00(wx135, wx136) 12.29/4.99 new_primDivNatS00(wx135, wx136) -> new_primDivNatS(Main.Succ(wx135), Main.Succ(wx136), Main.Succ(wx136)) 12.29/4.99 12.29/4.99 R is empty. 12.29/4.99 Q is empty. 12.29/4.99 We have to consider all minimal (P,Q,R)-chains. 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (32) QDPOrderProof (EQUIVALENT) 12.29/4.99 We use the reduction pair processor [LPAR04,JAR06]. 12.29/4.99 12.29/4.99 12.29/4.99 The following pairs can be oriented strictly and are deleted. 12.29/4.99 12.29/4.99 new_primDivNatS(Main.Succ(Main.Succ(wx11600)), Main.Zero, Main.Succ(wx1180)) -> new_primDivNatS0(wx11600, wx1180, wx11600, wx1180) 12.29/4.99 new_primDivNatS(Main.Succ(wx1160), Main.Succ(wx1170), wx118) -> new_primDivNatS(wx1160, wx1170, wx118) 12.29/4.99 The remaining pairs can at least be oriented weakly. 12.29/4.99 Used ordering: Polynomial interpretation [POLO]: 12.29/4.99 12.29/4.99 POL(Main.Succ(x_1)) = 1 + x_1 12.29/4.99 POL(Main.Zero) = 1 12.29/4.99 POL(new_primDivNatS(x_1, x_2, x_3)) = x_1 12.29/4.99 POL(new_primDivNatS0(x_1, x_2, x_3, x_4)) = 1 + x_1 12.29/4.99 POL(new_primDivNatS00(x_1, x_2)) = 1 + x_1 12.29/4.99 12.29/4.99 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 12.29/4.99 none 12.29/4.99 12.29/4.99 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (33) 12.29/4.99 Obligation: 12.29/4.99 Q DP problem: 12.29/4.99 The TRS P consists of the following rules: 12.29/4.99 12.29/4.99 new_primDivNatS0(wx135, wx136, Main.Succ(wx1370), Main.Succ(wx1380)) -> new_primDivNatS0(wx135, wx136, wx1370, wx1380) 12.29/4.99 new_primDivNatS0(wx135, wx136, Main.Succ(wx1370), Main.Zero) -> new_primDivNatS(Main.Succ(wx135), Main.Succ(wx136), Main.Succ(wx136)) 12.29/4.99 new_primDivNatS0(wx135, wx136, Main.Zero, Main.Zero) -> new_primDivNatS00(wx135, wx136) 12.29/4.99 new_primDivNatS00(wx135, wx136) -> new_primDivNatS(Main.Succ(wx135), Main.Succ(wx136), Main.Succ(wx136)) 12.29/4.99 12.29/4.99 R is empty. 12.29/4.99 Q is empty. 12.29/4.99 We have to consider all minimal (P,Q,R)-chains. 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (34) DependencyGraphProof (EQUIVALENT) 12.29/4.99 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (35) 12.29/4.99 Obligation: 12.29/4.99 Q DP problem: 12.29/4.99 The TRS P consists of the following rules: 12.29/4.99 12.29/4.99 new_primDivNatS0(wx135, wx136, Main.Succ(wx1370), Main.Succ(wx1380)) -> new_primDivNatS0(wx135, wx136, wx1370, wx1380) 12.29/4.99 12.29/4.99 R is empty. 12.29/4.99 Q is empty. 12.29/4.99 We have to consider all minimal (P,Q,R)-chains. 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (36) QDPSizeChangeProof (EQUIVALENT) 12.29/4.99 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.29/4.99 12.29/4.99 From the DPs we obtained the following set of size-change graphs: 12.29/4.99 *new_primDivNatS0(wx135, wx136, Main.Succ(wx1370), Main.Succ(wx1380)) -> new_primDivNatS0(wx135, wx136, wx1370, wx1380) 12.29/4.99 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 12.29/4.99 12.29/4.99 12.29/4.99 ---------------------------------------- 12.29/4.99 12.29/4.99 (37) 12.29/4.99 YES 12.45/5.04 EOF