11.60/4.48 YES 14.14/5.18 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 14.14/5.18 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 14.14/5.18 14.14/5.18 14.14/5.18 H-Termination with start terms of the given HASKELL could be proven: 14.14/5.18 14.14/5.18 (0) HASKELL 14.14/5.18 (1) BR [EQUIVALENT, 0 ms] 14.14/5.18 (2) HASKELL 14.14/5.18 (3) COR [EQUIVALENT, 0 ms] 14.14/5.18 (4) HASKELL 14.14/5.18 (5) Narrow [SOUND, 0 ms] 14.14/5.18 (6) AND 14.14/5.18 (7) QDP 14.14/5.18 (8) QDPSizeChangeProof [EQUIVALENT, 0 ms] 14.14/5.18 (9) YES 14.14/5.18 (10) QDP 14.14/5.18 (11) QDPSizeChangeProof [EQUIVALENT, 0 ms] 14.14/5.18 (12) YES 14.14/5.18 (13) QDP 14.14/5.18 (14) QDPSizeChangeProof [EQUIVALENT, 0 ms] 14.14/5.18 (15) YES 14.14/5.18 (16) QDP 14.14/5.18 (17) QDPSizeChangeProof [EQUIVALENT, 0 ms] 14.14/5.18 (18) YES 14.14/5.18 (19) QDP 14.14/5.18 (20) QDPSizeChangeProof [EQUIVALENT, 0 ms] 14.14/5.18 (21) YES 14.14/5.18 (22) QDP 14.14/5.18 (23) QDPSizeChangeProof [EQUIVALENT, 0 ms] 14.14/5.18 (24) YES 14.14/5.18 (25) QDP 14.14/5.18 (26) DependencyGraphProof [EQUIVALENT, 0 ms] 14.14/5.18 (27) AND 14.14/5.18 (28) QDP 14.14/5.18 (29) QDPSizeChangeProof [EQUIVALENT, 0 ms] 14.14/5.18 (30) YES 14.14/5.18 (31) QDP 14.14/5.18 (32) QDPOrderProof [EQUIVALENT, 30 ms] 14.14/5.18 (33) QDP 14.14/5.18 (34) DependencyGraphProof [EQUIVALENT, 0 ms] 14.14/5.18 (35) QDP 14.14/5.18 (36) QDPSizeChangeProof [EQUIVALENT, 0 ms] 14.14/5.18 (37) YES 14.14/5.18 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (0) 14.14/5.18 Obligation: 14.14/5.18 mainModule Main 14.14/5.18 module Main where { 14.14/5.18 import qualified Prelude; 14.14/5.18 data MyBool = MyTrue | MyFalse ; 14.14/5.18 14.14/5.18 data MyInt = Pos Main.Nat | Neg Main.Nat ; 14.14/5.18 14.14/5.18 data Main.Nat = Succ Main.Nat | Zero ; 14.14/5.18 14.14/5.18 data Ratio a = CnPc a a ; 14.14/5.18 14.14/5.18 data Tup2 b a = Tup2 b a ; 14.14/5.18 14.14/5.18 error :: a; 14.14/5.18 error = stop MyTrue; 14.14/5.18 14.14/5.18 fromEnumRatio :: Ratio MyInt -> MyInt; 14.14/5.18 fromEnumRatio = truncateRatio; 14.14/5.18 14.14/5.18 fromIntMyInt :: MyInt -> MyInt; 14.14/5.18 fromIntMyInt x = x; 14.14/5.18 14.14/5.18 fromIntRatio :: MyInt -> Ratio MyInt; 14.14/5.18 fromIntRatio = intToRatio; 14.14/5.18 14.14/5.18 intToRatio x = CnPc (fromIntMyInt x) (fromIntMyInt (Main.Pos (Main.Succ Main.Zero))); 14.14/5.18 14.14/5.18 primDivNatS :: Main.Nat -> Main.Nat -> Main.Nat; 14.14/5.18 primDivNatS Main.Zero Main.Zero = Main.error; 14.14/5.18 primDivNatS (Main.Succ x) Main.Zero = Main.error; 14.14/5.18 primDivNatS (Main.Succ x) (Main.Succ y) = primDivNatS0 x y (primGEqNatS x y); 14.14/5.18 primDivNatS Main.Zero (Main.Succ x) = Main.Zero; 14.14/5.18 14.14/5.18 primDivNatS0 x y MyTrue = Main.Succ (primDivNatS (primMinusNatS x y) (Main.Succ y)); 14.14/5.18 primDivNatS0 x y MyFalse = Main.Zero; 14.14/5.18 14.14/5.18 primGEqNatS :: Main.Nat -> Main.Nat -> MyBool; 14.14/5.18 primGEqNatS (Main.Succ x) Main.Zero = MyTrue; 14.14/5.18 primGEqNatS (Main.Succ x) (Main.Succ y) = primGEqNatS x y; 14.14/5.18 primGEqNatS Main.Zero (Main.Succ x) = MyFalse; 14.14/5.18 primGEqNatS Main.Zero Main.Zero = MyTrue; 14.14/5.18 14.14/5.18 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 14.14/5.18 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 14.14/5.18 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 14.14/5.18 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 14.14/5.18 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 14.14/5.18 14.14/5.18 primMinusNatS :: Main.Nat -> Main.Nat -> Main.Nat; 14.14/5.18 primMinusNatS (Main.Succ x) (Main.Succ y) = primMinusNatS x y; 14.14/5.18 primMinusNatS Main.Zero (Main.Succ y) = Main.Zero; 14.14/5.18 primMinusNatS x Main.Zero = x; 14.14/5.18 14.14/5.18 primModNatS :: Main.Nat -> Main.Nat -> Main.Nat; 14.14/5.18 primModNatS Main.Zero Main.Zero = Main.error; 14.14/5.18 primModNatS Main.Zero (Main.Succ x) = Main.Zero; 14.14/5.18 primModNatS (Main.Succ x) Main.Zero = Main.error; 14.14/5.18 primModNatS (Main.Succ x) (Main.Succ Main.Zero) = Main.Zero; 14.14/5.18 primModNatS (Main.Succ x) (Main.Succ (Main.Succ y)) = primModNatS0 x y (primGEqNatS x (Main.Succ y)); 14.14/5.18 14.14/5.18 primModNatS0 x y MyTrue = primModNatS (primMinusNatS x (Main.Succ y)) (Main.Succ (Main.Succ y)); 14.14/5.18 primModNatS0 x y MyFalse = Main.Succ x; 14.14/5.18 14.14/5.18 primPlusInt :: MyInt -> MyInt -> MyInt; 14.14/5.18 primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; 14.14/5.18 primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; 14.14/5.18 primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); 14.14/5.18 primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); 14.14/5.18 14.14/5.18 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 14.14/5.18 primPlusNat Main.Zero Main.Zero = Main.Zero; 14.14/5.18 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 14.14/5.18 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 14.14/5.18 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 14.14/5.18 14.14/5.18 primQrmInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; 14.14/5.18 primQrmInt x y = Tup2 (primQuotInt x y) (primRemInt x y); 14.14/5.18 14.14/5.18 primQuotInt :: MyInt -> MyInt -> MyInt; 14.14/5.18 primQuotInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 14.14/5.18 primQuotInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 14.14/5.18 primQuotInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 14.14/5.18 primQuotInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 14.14/5.18 primQuotInt ww wx = Main.error; 14.14/5.18 14.14/5.18 primRemInt :: MyInt -> MyInt -> MyInt; 14.14/5.18 primRemInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); 14.14/5.18 primRemInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); 14.14/5.18 primRemInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); 14.14/5.18 primRemInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); 14.14/5.18 primRemInt vy vz = Main.error; 14.14/5.18 14.14/5.18 properFractionQ xv xw = properFractionQ1 xv xw (properFractionVu30 xv xw); 14.14/5.18 14.14/5.18 properFractionQ1 xv xw (Tup2 q vw) = q; 14.14/5.18 14.14/5.18 properFractionR xv xw = properFractionR0 xv xw (properFractionVu30 xv xw); 14.14/5.18 14.14/5.18 properFractionR0 xv xw (Tup2 vx r) = r; 14.14/5.18 14.14/5.18 properFractionRatio :: Ratio MyInt -> Tup2 MyInt (Ratio MyInt); 14.14/5.18 properFractionRatio (CnPc x y) = Tup2 (fromIntMyInt (properFractionQ x y)) (CnPc (properFractionR x y) y); 14.14/5.18 14.14/5.18 properFractionVu30 xv xw = quotRemMyInt xv xw; 14.14/5.18 14.14/5.18 psMyInt :: MyInt -> MyInt -> MyInt; 14.14/5.18 psMyInt = primPlusInt; 14.14/5.18 14.14/5.18 pt :: (a -> c) -> (b -> a) -> b -> c; 14.14/5.18 pt f g x = f (g x); 14.14/5.18 14.14/5.18 quotRemMyInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; 14.14/5.18 quotRemMyInt = primQrmInt; 14.14/5.18 14.14/5.18 stop :: MyBool -> a; 14.14/5.18 stop MyFalse = stop MyFalse; 14.14/5.18 14.14/5.18 succRatio :: Ratio MyInt -> Ratio MyInt; 14.14/5.18 succRatio = pt toEnumRatio (pt (psMyInt (Main.Pos (Main.Succ Main.Zero))) fromEnumRatio); 14.14/5.18 14.14/5.18 toEnumRatio :: MyInt -> Ratio MyInt; 14.14/5.18 toEnumRatio = fromIntRatio; 14.14/5.18 14.14/5.18 truncateM xu = truncateM0 xu (truncateVu6 xu); 14.14/5.18 14.14/5.18 truncateM0 xu (Tup2 m vv) = m; 14.14/5.18 14.14/5.18 truncateRatio :: Ratio MyInt -> MyInt; 14.14/5.18 truncateRatio x = truncateM x; 14.14/5.18 14.14/5.18 truncateVu6 xu = properFractionRatio xu; 14.14/5.18 14.14/5.18 } 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (1) BR (EQUIVALENT) 14.14/5.18 Replaced joker patterns by fresh variables and removed binding patterns. 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (2) 14.14/5.18 Obligation: 14.14/5.18 mainModule Main 14.14/5.18 module Main where { 14.14/5.18 import qualified Prelude; 14.14/5.18 data MyBool = MyTrue | MyFalse ; 14.14/5.18 14.14/5.18 data MyInt = Pos Main.Nat | Neg Main.Nat ; 14.14/5.18 14.14/5.18 data Main.Nat = Succ Main.Nat | Zero ; 14.14/5.18 14.14/5.18 data Ratio a = CnPc a a ; 14.14/5.18 14.14/5.18 data Tup2 a b = Tup2 a b ; 14.14/5.18 14.14/5.18 error :: a; 14.14/5.18 error = stop MyTrue; 14.14/5.18 14.14/5.18 fromEnumRatio :: Ratio MyInt -> MyInt; 14.14/5.18 fromEnumRatio = truncateRatio; 14.14/5.18 14.14/5.18 fromIntMyInt :: MyInt -> MyInt; 14.14/5.18 fromIntMyInt x = x; 14.14/5.18 14.14/5.18 fromIntRatio :: MyInt -> Ratio MyInt; 14.14/5.18 fromIntRatio = intToRatio; 14.14/5.18 14.14/5.18 intToRatio x = CnPc (fromIntMyInt x) (fromIntMyInt (Main.Pos (Main.Succ Main.Zero))); 14.14/5.18 14.14/5.18 primDivNatS :: Main.Nat -> Main.Nat -> Main.Nat; 14.14/5.18 primDivNatS Main.Zero Main.Zero = Main.error; 14.14/5.18 primDivNatS (Main.Succ x) Main.Zero = Main.error; 14.14/5.18 primDivNatS (Main.Succ x) (Main.Succ y) = primDivNatS0 x y (primGEqNatS x y); 14.14/5.18 primDivNatS Main.Zero (Main.Succ x) = Main.Zero; 14.14/5.18 14.14/5.18 primDivNatS0 x y MyTrue = Main.Succ (primDivNatS (primMinusNatS x y) (Main.Succ y)); 14.14/5.18 primDivNatS0 x y MyFalse = Main.Zero; 14.14/5.18 14.14/5.18 primGEqNatS :: Main.Nat -> Main.Nat -> MyBool; 14.14/5.18 primGEqNatS (Main.Succ x) Main.Zero = MyTrue; 14.14/5.18 primGEqNatS (Main.Succ x) (Main.Succ y) = primGEqNatS x y; 14.14/5.18 primGEqNatS Main.Zero (Main.Succ x) = MyFalse; 14.14/5.18 primGEqNatS Main.Zero Main.Zero = MyTrue; 14.14/5.18 14.14/5.18 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 14.14/5.18 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 14.14/5.18 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 14.14/5.18 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 14.14/5.18 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 14.14/5.18 14.14/5.18 primMinusNatS :: Main.Nat -> Main.Nat -> Main.Nat; 14.14/5.18 primMinusNatS (Main.Succ x) (Main.Succ y) = primMinusNatS x y; 14.14/5.18 primMinusNatS Main.Zero (Main.Succ y) = Main.Zero; 14.14/5.18 primMinusNatS x Main.Zero = x; 14.14/5.18 14.14/5.18 primModNatS :: Main.Nat -> Main.Nat -> Main.Nat; 14.14/5.18 primModNatS Main.Zero Main.Zero = Main.error; 14.14/5.18 primModNatS Main.Zero (Main.Succ x) = Main.Zero; 14.14/5.18 primModNatS (Main.Succ x) Main.Zero = Main.error; 14.14/5.18 primModNatS (Main.Succ x) (Main.Succ Main.Zero) = Main.Zero; 14.14/5.18 primModNatS (Main.Succ x) (Main.Succ (Main.Succ y)) = primModNatS0 x y (primGEqNatS x (Main.Succ y)); 14.14/5.18 14.14/5.18 primModNatS0 x y MyTrue = primModNatS (primMinusNatS x (Main.Succ y)) (Main.Succ (Main.Succ y)); 14.14/5.18 primModNatS0 x y MyFalse = Main.Succ x; 14.14/5.18 14.14/5.18 primPlusInt :: MyInt -> MyInt -> MyInt; 14.14/5.18 primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; 14.14/5.18 primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; 14.14/5.18 primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); 14.14/5.18 primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); 14.14/5.18 14.14/5.18 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 14.14/5.18 primPlusNat Main.Zero Main.Zero = Main.Zero; 14.14/5.18 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 14.14/5.18 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 14.14/5.18 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 14.14/5.18 14.14/5.18 primQrmInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; 14.14/5.18 primQrmInt x y = Tup2 (primQuotInt x y) (primRemInt x y); 14.14/5.18 14.14/5.18 primQuotInt :: MyInt -> MyInt -> MyInt; 14.14/5.18 primQuotInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 14.14/5.18 primQuotInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 14.14/5.18 primQuotInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 14.14/5.18 primQuotInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 14.14/5.18 primQuotInt ww wx = Main.error; 14.14/5.18 14.14/5.18 primRemInt :: MyInt -> MyInt -> MyInt; 14.14/5.18 primRemInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); 14.14/5.18 primRemInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); 14.14/5.18 primRemInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); 14.14/5.18 primRemInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); 14.14/5.18 primRemInt vy vz = Main.error; 14.14/5.18 14.14/5.18 properFractionQ xv xw = properFractionQ1 xv xw (properFractionVu30 xv xw); 14.14/5.18 14.14/5.18 properFractionQ1 xv xw (Tup2 q vw) = q; 14.14/5.18 14.14/5.18 properFractionR xv xw = properFractionR0 xv xw (properFractionVu30 xv xw); 14.14/5.18 14.14/5.18 properFractionR0 xv xw (Tup2 vx r) = r; 14.14/5.18 14.14/5.18 properFractionRatio :: Ratio MyInt -> Tup2 MyInt (Ratio MyInt); 14.14/5.18 properFractionRatio (CnPc x y) = Tup2 (fromIntMyInt (properFractionQ x y)) (CnPc (properFractionR x y) y); 14.14/5.18 14.14/5.18 properFractionVu30 xv xw = quotRemMyInt xv xw; 14.14/5.18 14.14/5.18 psMyInt :: MyInt -> MyInt -> MyInt; 14.14/5.18 psMyInt = primPlusInt; 14.14/5.18 14.14/5.18 pt :: (b -> a) -> (c -> b) -> c -> a; 14.14/5.18 pt f g x = f (g x); 14.14/5.18 14.14/5.18 quotRemMyInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; 14.14/5.18 quotRemMyInt = primQrmInt; 14.14/5.18 14.14/5.18 stop :: MyBool -> a; 14.14/5.18 stop MyFalse = stop MyFalse; 14.14/5.18 14.14/5.18 succRatio :: Ratio MyInt -> Ratio MyInt; 14.14/5.18 succRatio = pt toEnumRatio (pt (psMyInt (Main.Pos (Main.Succ Main.Zero))) fromEnumRatio); 14.14/5.18 14.14/5.18 toEnumRatio :: MyInt -> Ratio MyInt; 14.14/5.18 toEnumRatio = fromIntRatio; 14.14/5.18 14.14/5.18 truncateM xu = truncateM0 xu (truncateVu6 xu); 14.14/5.18 14.14/5.18 truncateM0 xu (Tup2 m vv) = m; 14.14/5.18 14.14/5.18 truncateRatio :: Ratio MyInt -> MyInt; 14.14/5.18 truncateRatio x = truncateM x; 14.14/5.18 14.14/5.18 truncateVu6 xu = properFractionRatio xu; 14.14/5.18 14.14/5.18 } 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (3) COR (EQUIVALENT) 14.14/5.18 Cond Reductions: 14.14/5.18 The following Function with conditions 14.14/5.18 "undefined |Falseundefined; 14.14/5.18 " 14.14/5.18 is transformed to 14.14/5.18 "undefined = undefined1; 14.14/5.18 " 14.14/5.18 "undefined0 True = undefined; 14.14/5.18 " 14.14/5.18 "undefined1 = undefined0 False; 14.14/5.18 " 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (4) 14.14/5.18 Obligation: 14.14/5.18 mainModule Main 14.14/5.18 module Main where { 14.14/5.18 import qualified Prelude; 14.14/5.18 data MyBool = MyTrue | MyFalse ; 14.14/5.18 14.14/5.18 data MyInt = Pos Main.Nat | Neg Main.Nat ; 14.14/5.18 14.14/5.18 data Main.Nat = Succ Main.Nat | Zero ; 14.14/5.18 14.14/5.18 data Ratio a = CnPc a a ; 14.14/5.18 14.14/5.18 data Tup2 a b = Tup2 a b ; 14.14/5.18 14.14/5.18 error :: a; 14.14/5.18 error = stop MyTrue; 14.14/5.18 14.14/5.18 fromEnumRatio :: Ratio MyInt -> MyInt; 14.14/5.18 fromEnumRatio = truncateRatio; 14.14/5.18 14.14/5.18 fromIntMyInt :: MyInt -> MyInt; 14.14/5.18 fromIntMyInt x = x; 14.14/5.18 14.14/5.18 fromIntRatio :: MyInt -> Ratio MyInt; 14.14/5.18 fromIntRatio = intToRatio; 14.14/5.18 14.14/5.18 intToRatio x = CnPc (fromIntMyInt x) (fromIntMyInt (Main.Pos (Main.Succ Main.Zero))); 14.14/5.18 14.14/5.18 primDivNatS :: Main.Nat -> Main.Nat -> Main.Nat; 14.14/5.18 primDivNatS Main.Zero Main.Zero = Main.error; 14.14/5.18 primDivNatS (Main.Succ x) Main.Zero = Main.error; 14.14/5.18 primDivNatS (Main.Succ x) (Main.Succ y) = primDivNatS0 x y (primGEqNatS x y); 14.14/5.18 primDivNatS Main.Zero (Main.Succ x) = Main.Zero; 14.14/5.18 14.14/5.18 primDivNatS0 x y MyTrue = Main.Succ (primDivNatS (primMinusNatS x y) (Main.Succ y)); 14.14/5.18 primDivNatS0 x y MyFalse = Main.Zero; 14.14/5.18 14.14/5.18 primGEqNatS :: Main.Nat -> Main.Nat -> MyBool; 14.14/5.18 primGEqNatS (Main.Succ x) Main.Zero = MyTrue; 14.14/5.18 primGEqNatS (Main.Succ x) (Main.Succ y) = primGEqNatS x y; 14.14/5.18 primGEqNatS Main.Zero (Main.Succ x) = MyFalse; 14.14/5.18 primGEqNatS Main.Zero Main.Zero = MyTrue; 14.14/5.18 14.14/5.18 primMinusNat :: Main.Nat -> Main.Nat -> MyInt; 14.14/5.18 primMinusNat Main.Zero Main.Zero = Main.Pos Main.Zero; 14.14/5.18 primMinusNat Main.Zero (Main.Succ y) = Main.Neg (Main.Succ y); 14.14/5.18 primMinusNat (Main.Succ x) Main.Zero = Main.Pos (Main.Succ x); 14.14/5.18 primMinusNat (Main.Succ x) (Main.Succ y) = primMinusNat x y; 14.14/5.18 14.14/5.18 primMinusNatS :: Main.Nat -> Main.Nat -> Main.Nat; 14.14/5.18 primMinusNatS (Main.Succ x) (Main.Succ y) = primMinusNatS x y; 14.14/5.18 primMinusNatS Main.Zero (Main.Succ y) = Main.Zero; 14.14/5.18 primMinusNatS x Main.Zero = x; 14.14/5.18 14.14/5.18 primModNatS :: Main.Nat -> Main.Nat -> Main.Nat; 14.14/5.18 primModNatS Main.Zero Main.Zero = Main.error; 14.14/5.18 primModNatS Main.Zero (Main.Succ x) = Main.Zero; 14.14/5.18 primModNatS (Main.Succ x) Main.Zero = Main.error; 14.14/5.18 primModNatS (Main.Succ x) (Main.Succ Main.Zero) = Main.Zero; 14.14/5.18 primModNatS (Main.Succ x) (Main.Succ (Main.Succ y)) = primModNatS0 x y (primGEqNatS x (Main.Succ y)); 14.14/5.18 14.14/5.18 primModNatS0 x y MyTrue = primModNatS (primMinusNatS x (Main.Succ y)) (Main.Succ (Main.Succ y)); 14.14/5.18 primModNatS0 x y MyFalse = Main.Succ x; 14.14/5.18 14.14/5.18 primPlusInt :: MyInt -> MyInt -> MyInt; 14.14/5.18 primPlusInt (Main.Pos x) (Main.Neg y) = primMinusNat x y; 14.14/5.18 primPlusInt (Main.Neg x) (Main.Pos y) = primMinusNat y x; 14.14/5.18 primPlusInt (Main.Neg x) (Main.Neg y) = Main.Neg (primPlusNat x y); 14.14/5.18 primPlusInt (Main.Pos x) (Main.Pos y) = Main.Pos (primPlusNat x y); 14.14/5.18 14.14/5.18 primPlusNat :: Main.Nat -> Main.Nat -> Main.Nat; 14.14/5.18 primPlusNat Main.Zero Main.Zero = Main.Zero; 14.14/5.18 primPlusNat Main.Zero (Main.Succ y) = Main.Succ y; 14.14/5.18 primPlusNat (Main.Succ x) Main.Zero = Main.Succ x; 14.14/5.18 primPlusNat (Main.Succ x) (Main.Succ y) = Main.Succ (Main.Succ (primPlusNat x y)); 14.14/5.18 14.14/5.18 primQrmInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; 14.14/5.18 primQrmInt x y = Tup2 (primQuotInt x y) (primRemInt x y); 14.14/5.18 14.14/5.18 primQuotInt :: MyInt -> MyInt -> MyInt; 14.14/5.18 primQuotInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 14.14/5.18 primQuotInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 14.14/5.18 primQuotInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primDivNatS x (Main.Succ y)); 14.14/5.18 primQuotInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Pos (primDivNatS x (Main.Succ y)); 14.14/5.18 primQuotInt ww wx = Main.error; 14.14/5.18 14.14/5.18 primRemInt :: MyInt -> MyInt -> MyInt; 14.14/5.18 primRemInt (Main.Pos x) (Main.Pos (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); 14.14/5.18 primRemInt (Main.Pos x) (Main.Neg (Main.Succ y)) = Main.Pos (primModNatS x (Main.Succ y)); 14.14/5.18 primRemInt (Main.Neg x) (Main.Pos (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); 14.14/5.18 primRemInt (Main.Neg x) (Main.Neg (Main.Succ y)) = Main.Neg (primModNatS x (Main.Succ y)); 14.14/5.18 primRemInt vy vz = Main.error; 14.14/5.18 14.14/5.18 properFractionQ xv xw = properFractionQ1 xv xw (properFractionVu30 xv xw); 14.14/5.18 14.14/5.18 properFractionQ1 xv xw (Tup2 q vw) = q; 14.14/5.18 14.14/5.18 properFractionR xv xw = properFractionR0 xv xw (properFractionVu30 xv xw); 14.14/5.18 14.14/5.18 properFractionR0 xv xw (Tup2 vx r) = r; 14.14/5.18 14.14/5.18 properFractionRatio :: Ratio MyInt -> Tup2 MyInt (Ratio MyInt); 14.14/5.18 properFractionRatio (CnPc x y) = Tup2 (fromIntMyInt (properFractionQ x y)) (CnPc (properFractionR x y) y); 14.14/5.18 14.14/5.18 properFractionVu30 xv xw = quotRemMyInt xv xw; 14.14/5.18 14.14/5.18 psMyInt :: MyInt -> MyInt -> MyInt; 14.14/5.18 psMyInt = primPlusInt; 14.14/5.18 14.14/5.18 pt :: (b -> a) -> (c -> b) -> c -> a; 14.14/5.18 pt f g x = f (g x); 14.14/5.18 14.14/5.18 quotRemMyInt :: MyInt -> MyInt -> Tup2 MyInt MyInt; 14.14/5.18 quotRemMyInt = primQrmInt; 14.14/5.18 14.14/5.18 stop :: MyBool -> a; 14.14/5.18 stop MyFalse = stop MyFalse; 14.14/5.18 14.14/5.18 succRatio :: Ratio MyInt -> Ratio MyInt; 14.14/5.18 succRatio = pt toEnumRatio (pt (psMyInt (Main.Pos (Main.Succ Main.Zero))) fromEnumRatio); 14.14/5.18 14.14/5.18 toEnumRatio :: MyInt -> Ratio MyInt; 14.14/5.18 toEnumRatio = fromIntRatio; 14.14/5.18 14.14/5.18 truncateM xu = truncateM0 xu (truncateVu6 xu); 14.14/5.18 14.14/5.18 truncateM0 xu (Tup2 m vv) = m; 14.14/5.18 14.14/5.18 truncateRatio :: Ratio MyInt -> MyInt; 14.14/5.18 truncateRatio x = truncateM x; 14.14/5.18 14.14/5.18 truncateVu6 xu = properFractionRatio xu; 14.14/5.18 14.14/5.18 } 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (5) Narrow (SOUND) 14.14/5.18 Haskell To QDPs 14.14/5.18 14.14/5.18 digraph dp_graph { 14.14/5.18 node [outthreshold=100, inthreshold=100];1[label="succRatio",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 14.14/5.18 3[label="succRatio wy3",fontsize=16,color="black",shape="triangle"];3 -> 4[label="",style="solid", color="black", weight=3]; 14.14/5.18 4[label="pt toEnumRatio (pt (psMyInt (Pos (Succ Zero))) fromEnumRatio) wy3",fontsize=16,color="black",shape="box"];4 -> 5[label="",style="solid", color="black", weight=3]; 14.14/5.18 5[label="toEnumRatio (pt (psMyInt (Pos (Succ Zero))) fromEnumRatio wy3)",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 14.14/5.18 6[label="fromIntRatio (pt (psMyInt (Pos (Succ Zero))) fromEnumRatio wy3)",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 14.14/5.18 7[label="intToRatio (pt (psMyInt (Pos (Succ Zero))) fromEnumRatio wy3)",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 14.14/5.18 8[label="CnPc (fromIntMyInt (pt (psMyInt (Pos (Succ Zero))) fromEnumRatio wy3)) (fromIntMyInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];8 -> 9[label="",style="dashed", color="green", weight=3]; 14.14/5.18 8 -> 10[label="",style="dashed", color="green", weight=3]; 14.14/5.18 9[label="fromIntMyInt (pt (psMyInt (Pos (Succ Zero))) fromEnumRatio wy3)",fontsize=16,color="black",shape="box"];9 -> 11[label="",style="solid", color="black", weight=3]; 14.14/5.18 10[label="fromIntMyInt (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];10 -> 12[label="",style="solid", color="black", weight=3]; 14.14/5.18 11[label="pt (psMyInt (Pos (Succ Zero))) fromEnumRatio wy3",fontsize=16,color="black",shape="box"];11 -> 13[label="",style="solid", color="black", weight=3]; 14.14/5.18 12[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];13[label="psMyInt (Pos (Succ Zero)) (fromEnumRatio wy3)",fontsize=16,color="black",shape="box"];13 -> 14[label="",style="solid", color="black", weight=3]; 14.14/5.18 14[label="primPlusInt (Pos (Succ Zero)) (fromEnumRatio wy3)",fontsize=16,color="black",shape="box"];14 -> 15[label="",style="solid", color="black", weight=3]; 14.14/5.18 15[label="primPlusInt (Pos (Succ Zero)) (truncateRatio wy3)",fontsize=16,color="black",shape="box"];15 -> 16[label="",style="solid", color="black", weight=3]; 14.14/5.18 16[label="primPlusInt (Pos (Succ Zero)) (truncateM wy3)",fontsize=16,color="black",shape="box"];16 -> 17[label="",style="solid", color="black", weight=3]; 14.14/5.18 17[label="primPlusInt (Pos (Succ Zero)) (truncateM0 wy3 (truncateVu6 wy3))",fontsize=16,color="black",shape="box"];17 -> 18[label="",style="solid", color="black", weight=3]; 14.14/5.18 18[label="primPlusInt (Pos (Succ Zero)) (truncateM0 wy3 (properFractionRatio wy3))",fontsize=16,color="burlywood",shape="box"];2389[label="wy3/CnPc wy30 wy31",fontsize=10,color="white",style="solid",shape="box"];18 -> 2389[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2389 -> 19[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 19[label="primPlusInt (Pos (Succ Zero)) (truncateM0 (CnPc wy30 wy31) (properFractionRatio (CnPc wy30 wy31)))",fontsize=16,color="black",shape="box"];19 -> 20[label="",style="solid", color="black", weight=3]; 14.14/5.18 20[label="primPlusInt (Pos (Succ Zero)) (truncateM0 (CnPc wy30 wy31) (Tup2 (fromIntMyInt (properFractionQ wy30 wy31)) (CnPc (properFractionR wy30 wy31) wy31)))",fontsize=16,color="black",shape="box"];20 -> 21[label="",style="solid", color="black", weight=3]; 14.14/5.18 21[label="primPlusInt (Pos (Succ Zero)) (fromIntMyInt (properFractionQ wy30 wy31))",fontsize=16,color="black",shape="box"];21 -> 22[label="",style="solid", color="black", weight=3]; 14.14/5.18 22[label="primPlusInt (Pos (Succ Zero)) (properFractionQ wy30 wy31)",fontsize=16,color="black",shape="box"];22 -> 23[label="",style="solid", color="black", weight=3]; 14.14/5.18 23[label="primPlusInt (Pos (Succ Zero)) (properFractionQ1 wy30 wy31 (properFractionVu30 wy30 wy31))",fontsize=16,color="black",shape="box"];23 -> 24[label="",style="solid", color="black", weight=3]; 14.14/5.18 24[label="primPlusInt (Pos (Succ Zero)) (properFractionQ1 wy30 wy31 (quotRemMyInt wy30 wy31))",fontsize=16,color="black",shape="box"];24 -> 25[label="",style="solid", color="black", weight=3]; 14.14/5.18 25[label="primPlusInt (Pos (Succ Zero)) (properFractionQ1 wy30 wy31 (primQrmInt wy30 wy31))",fontsize=16,color="black",shape="box"];25 -> 26[label="",style="solid", color="black", weight=3]; 14.14/5.18 26[label="primPlusInt (Pos (Succ Zero)) (properFractionQ1 wy30 wy31 (Tup2 (primQuotInt wy30 wy31) (primRemInt wy30 wy31)))",fontsize=16,color="black",shape="box"];26 -> 27[label="",style="solid", color="black", weight=3]; 14.14/5.18 27[label="primPlusInt (Pos (Succ Zero)) (primQuotInt wy30 wy31)",fontsize=16,color="burlywood",shape="box"];2390[label="wy30/Pos wy300",fontsize=10,color="white",style="solid",shape="box"];27 -> 2390[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2390 -> 28[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2391[label="wy30/Neg wy300",fontsize=10,color="white",style="solid",shape="box"];27 -> 2391[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2391 -> 29[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 28[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Pos wy300) wy31)",fontsize=16,color="burlywood",shape="box"];2392[label="wy31/Pos wy310",fontsize=10,color="white",style="solid",shape="box"];28 -> 2392[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2392 -> 30[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2393[label="wy31/Neg wy310",fontsize=10,color="white",style="solid",shape="box"];28 -> 2393[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2393 -> 31[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 29[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Neg wy300) wy31)",fontsize=16,color="burlywood",shape="box"];2394[label="wy31/Pos wy310",fontsize=10,color="white",style="solid",shape="box"];29 -> 2394[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2394 -> 32[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2395[label="wy31/Neg wy310",fontsize=10,color="white",style="solid",shape="box"];29 -> 2395[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2395 -> 33[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 30[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Pos wy300) (Pos wy310))",fontsize=16,color="burlywood",shape="box"];2396[label="wy310/Succ wy3100",fontsize=10,color="white",style="solid",shape="box"];30 -> 2396[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2396 -> 34[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2397[label="wy310/Zero",fontsize=10,color="white",style="solid",shape="box"];30 -> 2397[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2397 -> 35[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 31[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Pos wy300) (Neg wy310))",fontsize=16,color="burlywood",shape="box"];2398[label="wy310/Succ wy3100",fontsize=10,color="white",style="solid",shape="box"];31 -> 2398[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2398 -> 36[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2399[label="wy310/Zero",fontsize=10,color="white",style="solid",shape="box"];31 -> 2399[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2399 -> 37[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 32[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Neg wy300) (Pos wy310))",fontsize=16,color="burlywood",shape="box"];2400[label="wy310/Succ wy3100",fontsize=10,color="white",style="solid",shape="box"];32 -> 2400[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2400 -> 38[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2401[label="wy310/Zero",fontsize=10,color="white",style="solid",shape="box"];32 -> 2401[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2401 -> 39[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 33[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Neg wy300) (Neg wy310))",fontsize=16,color="burlywood",shape="box"];2402[label="wy310/Succ wy3100",fontsize=10,color="white",style="solid",shape="box"];33 -> 2402[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2402 -> 40[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2403[label="wy310/Zero",fontsize=10,color="white",style="solid",shape="box"];33 -> 2403[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2403 -> 41[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 34[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Pos wy300) (Pos (Succ wy3100)))",fontsize=16,color="black",shape="box"];34 -> 42[label="",style="solid", color="black", weight=3]; 14.14/5.18 35[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Pos wy300) (Pos Zero))",fontsize=16,color="black",shape="box"];35 -> 43[label="",style="solid", color="black", weight=3]; 14.14/5.18 36[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Pos wy300) (Neg (Succ wy3100)))",fontsize=16,color="black",shape="box"];36 -> 44[label="",style="solid", color="black", weight=3]; 14.14/5.18 37[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Pos wy300) (Neg Zero))",fontsize=16,color="black",shape="box"];37 -> 45[label="",style="solid", color="black", weight=3]; 14.14/5.18 38[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Neg wy300) (Pos (Succ wy3100)))",fontsize=16,color="black",shape="box"];38 -> 46[label="",style="solid", color="black", weight=3]; 14.14/5.18 39[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Neg wy300) (Pos Zero))",fontsize=16,color="black",shape="box"];39 -> 47[label="",style="solid", color="black", weight=3]; 14.14/5.18 40[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Neg wy300) (Neg (Succ wy3100)))",fontsize=16,color="black",shape="box"];40 -> 48[label="",style="solid", color="black", weight=3]; 14.14/5.18 41[label="primPlusInt (Pos (Succ Zero)) (primQuotInt (Neg wy300) (Neg Zero))",fontsize=16,color="black",shape="box"];41 -> 49[label="",style="solid", color="black", weight=3]; 14.14/5.18 42[label="primPlusInt (Pos (Succ Zero)) (Pos (primDivNatS wy300 (Succ wy3100)))",fontsize=16,color="black",shape="triangle"];42 -> 50[label="",style="solid", color="black", weight=3]; 14.14/5.18 43[label="primPlusInt (Pos (Succ Zero)) error",fontsize=16,color="black",shape="triangle"];43 -> 51[label="",style="solid", color="black", weight=3]; 14.14/5.18 44[label="primPlusInt (Pos (Succ Zero)) (Neg (primDivNatS wy300 (Succ wy3100)))",fontsize=16,color="black",shape="triangle"];44 -> 52[label="",style="solid", color="black", weight=3]; 14.14/5.18 45 -> 43[label="",style="dashed", color="red", weight=0]; 14.14/5.18 45[label="primPlusInt (Pos (Succ Zero)) error",fontsize=16,color="magenta"];46 -> 44[label="",style="dashed", color="red", weight=0]; 14.14/5.18 46[label="primPlusInt (Pos (Succ Zero)) (Neg (primDivNatS wy300 (Succ wy3100)))",fontsize=16,color="magenta"];46 -> 53[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 46 -> 54[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 47 -> 43[label="",style="dashed", color="red", weight=0]; 14.14/5.18 47[label="primPlusInt (Pos (Succ Zero)) error",fontsize=16,color="magenta"];48 -> 42[label="",style="dashed", color="red", weight=0]; 14.14/5.18 48[label="primPlusInt (Pos (Succ Zero)) (Pos (primDivNatS wy300 (Succ wy3100)))",fontsize=16,color="magenta"];48 -> 55[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 48 -> 56[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 49 -> 43[label="",style="dashed", color="red", weight=0]; 14.14/5.18 49[label="primPlusInt (Pos (Succ Zero)) error",fontsize=16,color="magenta"];50[label="Pos (primPlusNat (Succ Zero) (primDivNatS wy300 (Succ wy3100)))",fontsize=16,color="green",shape="box"];50 -> 57[label="",style="dashed", color="green", weight=3]; 14.14/5.18 51[label="primPlusInt (Pos (Succ Zero)) (stop MyTrue)",fontsize=16,color="black",shape="box"];51 -> 58[label="",style="solid", color="black", weight=3]; 14.14/5.18 52[label="primMinusNat (Succ Zero) (primDivNatS wy300 (Succ wy3100))",fontsize=16,color="burlywood",shape="box"];2404[label="wy300/Succ wy3000",fontsize=10,color="white",style="solid",shape="box"];52 -> 2404[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2404 -> 59[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2405[label="wy300/Zero",fontsize=10,color="white",style="solid",shape="box"];52 -> 2405[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2405 -> 60[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 53[label="wy300",fontsize=16,color="green",shape="box"];54[label="wy3100",fontsize=16,color="green",shape="box"];55[label="wy300",fontsize=16,color="green",shape="box"];56[label="wy3100",fontsize=16,color="green",shape="box"];57[label="primPlusNat (Succ Zero) (primDivNatS wy300 (Succ wy3100))",fontsize=16,color="burlywood",shape="box"];2406[label="wy300/Succ wy3000",fontsize=10,color="white",style="solid",shape="box"];57 -> 2406[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2406 -> 61[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2407[label="wy300/Zero",fontsize=10,color="white",style="solid",shape="box"];57 -> 2407[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2407 -> 62[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 58[label="error []",fontsize=16,color="red",shape="box"];59[label="primMinusNat (Succ Zero) (primDivNatS (Succ wy3000) (Succ wy3100))",fontsize=16,color="black",shape="box"];59 -> 63[label="",style="solid", color="black", weight=3]; 14.14/5.18 60[label="primMinusNat (Succ Zero) (primDivNatS Zero (Succ wy3100))",fontsize=16,color="black",shape="box"];60 -> 64[label="",style="solid", color="black", weight=3]; 14.14/5.18 61[label="primPlusNat (Succ Zero) (primDivNatS (Succ wy3000) (Succ wy3100))",fontsize=16,color="black",shape="box"];61 -> 65[label="",style="solid", color="black", weight=3]; 14.14/5.18 62[label="primPlusNat (Succ Zero) (primDivNatS Zero (Succ wy3100))",fontsize=16,color="black",shape="box"];62 -> 66[label="",style="solid", color="black", weight=3]; 14.14/5.18 63[label="primMinusNat (Succ Zero) (primDivNatS0 wy3000 wy3100 (primGEqNatS wy3000 wy3100))",fontsize=16,color="burlywood",shape="box"];2408[label="wy3000/Succ wy30000",fontsize=10,color="white",style="solid",shape="box"];63 -> 2408[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2408 -> 67[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2409[label="wy3000/Zero",fontsize=10,color="white",style="solid",shape="box"];63 -> 2409[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2409 -> 68[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 64[label="primMinusNat (Succ Zero) Zero",fontsize=16,color="black",shape="triangle"];64 -> 69[label="",style="solid", color="black", weight=3]; 14.14/5.18 65[label="primPlusNat (Succ Zero) (primDivNatS0 wy3000 wy3100 (primGEqNatS wy3000 wy3100))",fontsize=16,color="burlywood",shape="box"];2410[label="wy3000/Succ wy30000",fontsize=10,color="white",style="solid",shape="box"];65 -> 2410[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2410 -> 70[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2411[label="wy3000/Zero",fontsize=10,color="white",style="solid",shape="box"];65 -> 2411[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2411 -> 71[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 66[label="primPlusNat (Succ Zero) Zero",fontsize=16,color="black",shape="triangle"];66 -> 72[label="",style="solid", color="black", weight=3]; 14.14/5.18 67[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ wy30000) wy3100 (primGEqNatS (Succ wy30000) wy3100))",fontsize=16,color="burlywood",shape="box"];2412[label="wy3100/Succ wy31000",fontsize=10,color="white",style="solid",shape="box"];67 -> 2412[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2412 -> 73[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2413[label="wy3100/Zero",fontsize=10,color="white",style="solid",shape="box"];67 -> 2413[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2413 -> 74[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 68[label="primMinusNat (Succ Zero) (primDivNatS0 Zero wy3100 (primGEqNatS Zero wy3100))",fontsize=16,color="burlywood",shape="box"];2414[label="wy3100/Succ wy31000",fontsize=10,color="white",style="solid",shape="box"];68 -> 2414[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2414 -> 75[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2415[label="wy3100/Zero",fontsize=10,color="white",style="solid",shape="box"];68 -> 2415[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2415 -> 76[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 69[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];70[label="primPlusNat (Succ Zero) (primDivNatS0 (Succ wy30000) wy3100 (primGEqNatS (Succ wy30000) wy3100))",fontsize=16,color="burlywood",shape="box"];2416[label="wy3100/Succ wy31000",fontsize=10,color="white",style="solid",shape="box"];70 -> 2416[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2416 -> 77[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2417[label="wy3100/Zero",fontsize=10,color="white",style="solid",shape="box"];70 -> 2417[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2417 -> 78[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 71[label="primPlusNat (Succ Zero) (primDivNatS0 Zero wy3100 (primGEqNatS Zero wy3100))",fontsize=16,color="burlywood",shape="box"];2418[label="wy3100/Succ wy31000",fontsize=10,color="white",style="solid",shape="box"];71 -> 2418[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2418 -> 79[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2419[label="wy3100/Zero",fontsize=10,color="white",style="solid",shape="box"];71 -> 2419[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2419 -> 80[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 72[label="Succ Zero",fontsize=16,color="green",shape="box"];73[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ wy30000) (Succ wy31000) (primGEqNatS (Succ wy30000) (Succ wy31000)))",fontsize=16,color="black",shape="box"];73 -> 81[label="",style="solid", color="black", weight=3]; 14.14/5.18 74[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ wy30000) Zero (primGEqNatS (Succ wy30000) Zero))",fontsize=16,color="black",shape="box"];74 -> 82[label="",style="solid", color="black", weight=3]; 14.14/5.18 75[label="primMinusNat (Succ Zero) (primDivNatS0 Zero (Succ wy31000) (primGEqNatS Zero (Succ wy31000)))",fontsize=16,color="black",shape="box"];75 -> 83[label="",style="solid", color="black", weight=3]; 14.14/5.18 76[label="primMinusNat (Succ Zero) (primDivNatS0 Zero Zero (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];76 -> 84[label="",style="solid", color="black", weight=3]; 14.14/5.18 77[label="primPlusNat (Succ Zero) (primDivNatS0 (Succ wy30000) (Succ wy31000) (primGEqNatS (Succ wy30000) (Succ wy31000)))",fontsize=16,color="black",shape="box"];77 -> 85[label="",style="solid", color="black", weight=3]; 14.14/5.18 78[label="primPlusNat (Succ Zero) (primDivNatS0 (Succ wy30000) Zero (primGEqNatS (Succ wy30000) Zero))",fontsize=16,color="black",shape="box"];78 -> 86[label="",style="solid", color="black", weight=3]; 14.14/5.18 79[label="primPlusNat (Succ Zero) (primDivNatS0 Zero (Succ wy31000) (primGEqNatS Zero (Succ wy31000)))",fontsize=16,color="black",shape="box"];79 -> 87[label="",style="solid", color="black", weight=3]; 14.14/5.18 80[label="primPlusNat (Succ Zero) (primDivNatS0 Zero Zero (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];80 -> 88[label="",style="solid", color="black", weight=3]; 14.14/5.18 81 -> 692[label="",style="dashed", color="red", weight=0]; 14.14/5.18 81[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ wy30000) (Succ wy31000) (primGEqNatS wy30000 wy31000))",fontsize=16,color="magenta"];81 -> 693[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 81 -> 694[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 81 -> 695[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 81 -> 696[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 82[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ wy30000) Zero MyTrue)",fontsize=16,color="black",shape="box"];82 -> 91[label="",style="solid", color="black", weight=3]; 14.14/5.18 83[label="primMinusNat (Succ Zero) (primDivNatS0 Zero (Succ wy31000) MyFalse)",fontsize=16,color="black",shape="box"];83 -> 92[label="",style="solid", color="black", weight=3]; 14.14/5.18 84[label="primMinusNat (Succ Zero) (primDivNatS0 Zero Zero MyTrue)",fontsize=16,color="black",shape="box"];84 -> 93[label="",style="solid", color="black", weight=3]; 14.14/5.18 85 -> 735[label="",style="dashed", color="red", weight=0]; 14.14/5.18 85[label="primPlusNat (Succ Zero) (primDivNatS0 (Succ wy30000) (Succ wy31000) (primGEqNatS wy30000 wy31000))",fontsize=16,color="magenta"];85 -> 736[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 85 -> 737[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 85 -> 738[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 85 -> 739[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 86[label="primPlusNat (Succ Zero) (primDivNatS0 (Succ wy30000) Zero MyTrue)",fontsize=16,color="black",shape="box"];86 -> 96[label="",style="solid", color="black", weight=3]; 14.14/5.18 87[label="primPlusNat (Succ Zero) (primDivNatS0 Zero (Succ wy31000) MyFalse)",fontsize=16,color="black",shape="box"];87 -> 97[label="",style="solid", color="black", weight=3]; 14.14/5.18 88[label="primPlusNat (Succ Zero) (primDivNatS0 Zero Zero MyTrue)",fontsize=16,color="black",shape="box"];88 -> 98[label="",style="solid", color="black", weight=3]; 14.14/5.18 693[label="wy31000",fontsize=16,color="green",shape="box"];694[label="wy30000",fontsize=16,color="green",shape="box"];695[label="wy30000",fontsize=16,color="green",shape="box"];696[label="wy31000",fontsize=16,color="green",shape="box"];692[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ wy45) (Succ wy46) (primGEqNatS wy47 wy48))",fontsize=16,color="burlywood",shape="triangle"];2420[label="wy47/Succ wy470",fontsize=10,color="white",style="solid",shape="box"];692 -> 2420[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2420 -> 733[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2421[label="wy47/Zero",fontsize=10,color="white",style="solid",shape="box"];692 -> 2421[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2421 -> 734[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 91[label="primMinusNat (Succ Zero) (Succ (primDivNatS (primMinusNatS (Succ wy30000) Zero) (Succ Zero)))",fontsize=16,color="black",shape="box"];91 -> 103[label="",style="solid", color="black", weight=3]; 14.14/5.18 92 -> 64[label="",style="dashed", color="red", weight=0]; 14.14/5.18 92[label="primMinusNat (Succ Zero) Zero",fontsize=16,color="magenta"];93[label="primMinusNat (Succ Zero) (Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero)))",fontsize=16,color="black",shape="box"];93 -> 104[label="",style="solid", color="black", weight=3]; 14.14/5.18 736[label="wy31000",fontsize=16,color="green",shape="box"];737[label="wy30000",fontsize=16,color="green",shape="box"];738[label="wy31000",fontsize=16,color="green",shape="box"];739[label="wy30000",fontsize=16,color="green",shape="box"];735[label="primPlusNat (Succ Zero) (primDivNatS0 (Succ wy50) (Succ wy51) (primGEqNatS wy52 wy53))",fontsize=16,color="burlywood",shape="triangle"];2422[label="wy52/Succ wy520",fontsize=10,color="white",style="solid",shape="box"];735 -> 2422[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2422 -> 776[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2423[label="wy52/Zero",fontsize=10,color="white",style="solid",shape="box"];735 -> 2423[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2423 -> 777[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 96[label="primPlusNat (Succ Zero) (Succ (primDivNatS (primMinusNatS (Succ wy30000) Zero) (Succ Zero)))",fontsize=16,color="black",shape="box"];96 -> 109[label="",style="solid", color="black", weight=3]; 14.14/5.18 97 -> 66[label="",style="dashed", color="red", weight=0]; 14.14/5.18 97[label="primPlusNat (Succ Zero) Zero",fontsize=16,color="magenta"];98[label="primPlusNat (Succ Zero) (Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero)))",fontsize=16,color="black",shape="box"];98 -> 110[label="",style="solid", color="black", weight=3]; 14.14/5.18 733[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ wy45) (Succ wy46) (primGEqNatS (Succ wy470) wy48))",fontsize=16,color="burlywood",shape="box"];2424[label="wy48/Succ wy480",fontsize=10,color="white",style="solid",shape="box"];733 -> 2424[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2424 -> 778[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2425[label="wy48/Zero",fontsize=10,color="white",style="solid",shape="box"];733 -> 2425[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2425 -> 779[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 734[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ wy45) (Succ wy46) (primGEqNatS Zero wy48))",fontsize=16,color="burlywood",shape="box"];2426[label="wy48/Succ wy480",fontsize=10,color="white",style="solid",shape="box"];734 -> 2426[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2426 -> 780[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2427[label="wy48/Zero",fontsize=10,color="white",style="solid",shape="box"];734 -> 2427[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2427 -> 781[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 103 -> 1195[label="",style="dashed", color="red", weight=0]; 14.14/5.18 103[label="primMinusNat Zero (primDivNatS (primMinusNatS (Succ wy30000) Zero) (Succ Zero))",fontsize=16,color="magenta"];103 -> 1196[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 103 -> 1197[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 103 -> 1198[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 104 -> 1195[label="",style="dashed", color="red", weight=0]; 14.14/5.18 104[label="primMinusNat Zero (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="magenta"];104 -> 1199[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 104 -> 1200[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 104 -> 1201[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 776[label="primPlusNat (Succ Zero) (primDivNatS0 (Succ wy50) (Succ wy51) (primGEqNatS (Succ wy520) wy53))",fontsize=16,color="burlywood",shape="box"];2428[label="wy53/Succ wy530",fontsize=10,color="white",style="solid",shape="box"];776 -> 2428[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2428 -> 782[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2429[label="wy53/Zero",fontsize=10,color="white",style="solid",shape="box"];776 -> 2429[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2429 -> 783[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 777[label="primPlusNat (Succ Zero) (primDivNatS0 (Succ wy50) (Succ wy51) (primGEqNatS Zero wy53))",fontsize=16,color="burlywood",shape="box"];2430[label="wy53/Succ wy530",fontsize=10,color="white",style="solid",shape="box"];777 -> 2430[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2430 -> 784[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2431[label="wy53/Zero",fontsize=10,color="white",style="solid",shape="box"];777 -> 2431[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2431 -> 785[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 109[label="Succ (Succ (primPlusNat Zero (primDivNatS (primMinusNatS (Succ wy30000) Zero) (Succ Zero))))",fontsize=16,color="green",shape="box"];109 -> 121[label="",style="dashed", color="green", weight=3]; 14.14/5.18 110[label="Succ (Succ (primPlusNat Zero (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))))",fontsize=16,color="green",shape="box"];110 -> 122[label="",style="dashed", color="green", weight=3]; 14.14/5.18 778[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ wy45) (Succ wy46) (primGEqNatS (Succ wy470) (Succ wy480)))",fontsize=16,color="black",shape="box"];778 -> 786[label="",style="solid", color="black", weight=3]; 14.14/5.18 779[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ wy45) (Succ wy46) (primGEqNatS (Succ wy470) Zero))",fontsize=16,color="black",shape="box"];779 -> 787[label="",style="solid", color="black", weight=3]; 14.14/5.18 780[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ wy45) (Succ wy46) (primGEqNatS Zero (Succ wy480)))",fontsize=16,color="black",shape="box"];780 -> 788[label="",style="solid", color="black", weight=3]; 14.14/5.18 781[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ wy45) (Succ wy46) (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];781 -> 789[label="",style="solid", color="black", weight=3]; 14.14/5.18 1196[label="Succ wy30000",fontsize=16,color="green",shape="box"];1197[label="Zero",fontsize=16,color="green",shape="box"];1198[label="Zero",fontsize=16,color="green",shape="box"];1195[label="primMinusNat Zero (primDivNatS (primMinusNatS wy57 wy58) (Succ wy59))",fontsize=16,color="burlywood",shape="triangle"];2432[label="wy57/Succ wy570",fontsize=10,color="white",style="solid",shape="box"];1195 -> 2432[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2432 -> 1229[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2433[label="wy57/Zero",fontsize=10,color="white",style="solid",shape="box"];1195 -> 2433[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2433 -> 1230[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 1199[label="Zero",fontsize=16,color="green",shape="box"];1200[label="Zero",fontsize=16,color="green",shape="box"];1201[label="Zero",fontsize=16,color="green",shape="box"];782[label="primPlusNat (Succ Zero) (primDivNatS0 (Succ wy50) (Succ wy51) (primGEqNatS (Succ wy520) (Succ wy530)))",fontsize=16,color="black",shape="box"];782 -> 790[label="",style="solid", color="black", weight=3]; 14.14/5.18 783[label="primPlusNat (Succ Zero) (primDivNatS0 (Succ wy50) (Succ wy51) (primGEqNatS (Succ wy520) Zero))",fontsize=16,color="black",shape="box"];783 -> 791[label="",style="solid", color="black", weight=3]; 14.14/5.18 784[label="primPlusNat (Succ Zero) (primDivNatS0 (Succ wy50) (Succ wy51) (primGEqNatS Zero (Succ wy530)))",fontsize=16,color="black",shape="box"];784 -> 792[label="",style="solid", color="black", weight=3]; 14.14/5.18 785[label="primPlusNat (Succ Zero) (primDivNatS0 (Succ wy50) (Succ wy51) (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];785 -> 793[label="",style="solid", color="black", weight=3]; 14.14/5.18 121 -> 1250[label="",style="dashed", color="red", weight=0]; 14.14/5.18 121[label="primPlusNat Zero (primDivNatS (primMinusNatS (Succ wy30000) Zero) (Succ Zero))",fontsize=16,color="magenta"];121 -> 1251[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 121 -> 1252[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 121 -> 1253[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 122 -> 1250[label="",style="dashed", color="red", weight=0]; 14.14/5.18 122[label="primPlusNat Zero (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="magenta"];122 -> 1254[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 122 -> 1255[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 122 -> 1256[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 786 -> 692[label="",style="dashed", color="red", weight=0]; 14.14/5.18 786[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ wy45) (Succ wy46) (primGEqNatS wy470 wy480))",fontsize=16,color="magenta"];786 -> 794[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 786 -> 795[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 787[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ wy45) (Succ wy46) MyTrue)",fontsize=16,color="black",shape="triangle"];787 -> 796[label="",style="solid", color="black", weight=3]; 14.14/5.18 788[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ wy45) (Succ wy46) MyFalse)",fontsize=16,color="black",shape="box"];788 -> 797[label="",style="solid", color="black", weight=3]; 14.14/5.18 789 -> 787[label="",style="dashed", color="red", weight=0]; 14.14/5.18 789[label="primMinusNat (Succ Zero) (primDivNatS0 (Succ wy45) (Succ wy46) MyTrue)",fontsize=16,color="magenta"];1229[label="primMinusNat Zero (primDivNatS (primMinusNatS (Succ wy570) wy58) (Succ wy59))",fontsize=16,color="burlywood",shape="box"];2434[label="wy58/Succ wy580",fontsize=10,color="white",style="solid",shape="box"];1229 -> 2434[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2434 -> 1246[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2435[label="wy58/Zero",fontsize=10,color="white",style="solid",shape="box"];1229 -> 2435[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2435 -> 1247[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 1230[label="primMinusNat Zero (primDivNatS (primMinusNatS Zero wy58) (Succ wy59))",fontsize=16,color="burlywood",shape="box"];2436[label="wy58/Succ wy580",fontsize=10,color="white",style="solid",shape="box"];1230 -> 2436[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2436 -> 1248[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2437[label="wy58/Zero",fontsize=10,color="white",style="solid",shape="box"];1230 -> 2437[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2437 -> 1249[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 790 -> 735[label="",style="dashed", color="red", weight=0]; 14.14/5.18 790[label="primPlusNat (Succ Zero) (primDivNatS0 (Succ wy50) (Succ wy51) (primGEqNatS wy520 wy530))",fontsize=16,color="magenta"];790 -> 798[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 790 -> 799[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 791[label="primPlusNat (Succ Zero) (primDivNatS0 (Succ wy50) (Succ wy51) MyTrue)",fontsize=16,color="black",shape="triangle"];791 -> 800[label="",style="solid", color="black", weight=3]; 14.14/5.18 792[label="primPlusNat (Succ Zero) (primDivNatS0 (Succ wy50) (Succ wy51) MyFalse)",fontsize=16,color="black",shape="box"];792 -> 801[label="",style="solid", color="black", weight=3]; 14.14/5.18 793 -> 791[label="",style="dashed", color="red", weight=0]; 14.14/5.18 793[label="primPlusNat (Succ Zero) (primDivNatS0 (Succ wy50) (Succ wy51) MyTrue)",fontsize=16,color="magenta"];1251[label="Succ wy30000",fontsize=16,color="green",shape="box"];1252[label="Zero",fontsize=16,color="green",shape="box"];1253[label="Zero",fontsize=16,color="green",shape="box"];1250[label="primPlusNat Zero (primDivNatS (primMinusNatS wy61 wy62) (Succ wy63))",fontsize=16,color="burlywood",shape="triangle"];2438[label="wy61/Succ wy610",fontsize=10,color="white",style="solid",shape="box"];1250 -> 2438[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2438 -> 1284[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2439[label="wy61/Zero",fontsize=10,color="white",style="solid",shape="box"];1250 -> 2439[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2439 -> 1285[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 1254[label="Zero",fontsize=16,color="green",shape="box"];1255[label="Zero",fontsize=16,color="green",shape="box"];1256[label="Zero",fontsize=16,color="green",shape="box"];794[label="wy470",fontsize=16,color="green",shape="box"];795[label="wy480",fontsize=16,color="green",shape="box"];796[label="primMinusNat (Succ Zero) (Succ (primDivNatS (primMinusNatS (Succ wy45) (Succ wy46)) (Succ (Succ wy46))))",fontsize=16,color="black",shape="box"];796 -> 802[label="",style="solid", color="black", weight=3]; 14.14/5.18 797 -> 64[label="",style="dashed", color="red", weight=0]; 14.14/5.18 797[label="primMinusNat (Succ Zero) Zero",fontsize=16,color="magenta"];1246[label="primMinusNat Zero (primDivNatS (primMinusNatS (Succ wy570) (Succ wy580)) (Succ wy59))",fontsize=16,color="black",shape="box"];1246 -> 1286[label="",style="solid", color="black", weight=3]; 14.14/5.18 1247[label="primMinusNat Zero (primDivNatS (primMinusNatS (Succ wy570) Zero) (Succ wy59))",fontsize=16,color="black",shape="box"];1247 -> 1287[label="",style="solid", color="black", weight=3]; 14.14/5.18 1248[label="primMinusNat Zero (primDivNatS (primMinusNatS Zero (Succ wy580)) (Succ wy59))",fontsize=16,color="black",shape="box"];1248 -> 1288[label="",style="solid", color="black", weight=3]; 14.14/5.18 1249[label="primMinusNat Zero (primDivNatS (primMinusNatS Zero Zero) (Succ wy59))",fontsize=16,color="black",shape="box"];1249 -> 1289[label="",style="solid", color="black", weight=3]; 14.14/5.18 798[label="wy530",fontsize=16,color="green",shape="box"];799[label="wy520",fontsize=16,color="green",shape="box"];800[label="primPlusNat (Succ Zero) (Succ (primDivNatS (primMinusNatS (Succ wy50) (Succ wy51)) (Succ (Succ wy51))))",fontsize=16,color="black",shape="box"];800 -> 803[label="",style="solid", color="black", weight=3]; 14.14/5.18 801 -> 66[label="",style="dashed", color="red", weight=0]; 14.14/5.18 801[label="primPlusNat (Succ Zero) Zero",fontsize=16,color="magenta"];1284[label="primPlusNat Zero (primDivNatS (primMinusNatS (Succ wy610) wy62) (Succ wy63))",fontsize=16,color="burlywood",shape="box"];2440[label="wy62/Succ wy620",fontsize=10,color="white",style="solid",shape="box"];1284 -> 2440[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2440 -> 1290[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2441[label="wy62/Zero",fontsize=10,color="white",style="solid",shape="box"];1284 -> 2441[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2441 -> 1291[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 1285[label="primPlusNat Zero (primDivNatS (primMinusNatS Zero wy62) (Succ wy63))",fontsize=16,color="burlywood",shape="box"];2442[label="wy62/Succ wy620",fontsize=10,color="white",style="solid",shape="box"];1285 -> 2442[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2442 -> 1292[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2443[label="wy62/Zero",fontsize=10,color="white",style="solid",shape="box"];1285 -> 2443[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2443 -> 1293[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 802 -> 1195[label="",style="dashed", color="red", weight=0]; 14.14/5.18 802[label="primMinusNat Zero (primDivNatS (primMinusNatS (Succ wy45) (Succ wy46)) (Succ (Succ wy46)))",fontsize=16,color="magenta"];802 -> 1202[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 802 -> 1203[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 802 -> 1204[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1286 -> 1195[label="",style="dashed", color="red", weight=0]; 14.14/5.18 1286[label="primMinusNat Zero (primDivNatS (primMinusNatS wy570 wy580) (Succ wy59))",fontsize=16,color="magenta"];1286 -> 1294[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1286 -> 1295[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1287[label="primMinusNat Zero (primDivNatS (Succ wy570) (Succ wy59))",fontsize=16,color="black",shape="box"];1287 -> 1296[label="",style="solid", color="black", weight=3]; 14.14/5.18 1288[label="primMinusNat Zero (primDivNatS Zero (Succ wy59))",fontsize=16,color="black",shape="triangle"];1288 -> 1297[label="",style="solid", color="black", weight=3]; 14.14/5.18 1289 -> 1288[label="",style="dashed", color="red", weight=0]; 14.14/5.18 1289[label="primMinusNat Zero (primDivNatS Zero (Succ wy59))",fontsize=16,color="magenta"];803[label="Succ (Succ (primPlusNat Zero (primDivNatS (primMinusNatS (Succ wy50) (Succ wy51)) (Succ (Succ wy51)))))",fontsize=16,color="green",shape="box"];803 -> 805[label="",style="dashed", color="green", weight=3]; 14.14/5.18 1290[label="primPlusNat Zero (primDivNatS (primMinusNatS (Succ wy610) (Succ wy620)) (Succ wy63))",fontsize=16,color="black",shape="box"];1290 -> 1298[label="",style="solid", color="black", weight=3]; 14.14/5.18 1291[label="primPlusNat Zero (primDivNatS (primMinusNatS (Succ wy610) Zero) (Succ wy63))",fontsize=16,color="black",shape="box"];1291 -> 1299[label="",style="solid", color="black", weight=3]; 14.14/5.18 1292[label="primPlusNat Zero (primDivNatS (primMinusNatS Zero (Succ wy620)) (Succ wy63))",fontsize=16,color="black",shape="box"];1292 -> 1300[label="",style="solid", color="black", weight=3]; 14.14/5.18 1293[label="primPlusNat Zero (primDivNatS (primMinusNatS Zero Zero) (Succ wy63))",fontsize=16,color="black",shape="box"];1293 -> 1301[label="",style="solid", color="black", weight=3]; 14.14/5.18 1202[label="Succ wy45",fontsize=16,color="green",shape="box"];1203[label="Succ wy46",fontsize=16,color="green",shape="box"];1204[label="Succ wy46",fontsize=16,color="green",shape="box"];1294[label="wy570",fontsize=16,color="green",shape="box"];1295[label="wy580",fontsize=16,color="green",shape="box"];1296[label="primMinusNat Zero (primDivNatS0 wy570 wy59 (primGEqNatS wy570 wy59))",fontsize=16,color="burlywood",shape="box"];2444[label="wy570/Succ wy5700",fontsize=10,color="white",style="solid",shape="box"];1296 -> 2444[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2444 -> 1302[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2445[label="wy570/Zero",fontsize=10,color="white",style="solid",shape="box"];1296 -> 2445[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2445 -> 1303[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 1297[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="triangle"];1297 -> 1304[label="",style="solid", color="black", weight=3]; 14.14/5.18 805 -> 1250[label="",style="dashed", color="red", weight=0]; 14.14/5.18 805[label="primPlusNat Zero (primDivNatS (primMinusNatS (Succ wy50) (Succ wy51)) (Succ (Succ wy51)))",fontsize=16,color="magenta"];805 -> 1257[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 805 -> 1258[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 805 -> 1259[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1298 -> 1250[label="",style="dashed", color="red", weight=0]; 14.14/5.18 1298[label="primPlusNat Zero (primDivNatS (primMinusNatS wy610 wy620) (Succ wy63))",fontsize=16,color="magenta"];1298 -> 1305[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1298 -> 1306[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1299[label="primPlusNat Zero (primDivNatS (Succ wy610) (Succ wy63))",fontsize=16,color="black",shape="box"];1299 -> 1307[label="",style="solid", color="black", weight=3]; 14.14/5.18 1300[label="primPlusNat Zero (primDivNatS Zero (Succ wy63))",fontsize=16,color="black",shape="triangle"];1300 -> 1308[label="",style="solid", color="black", weight=3]; 14.14/5.18 1301 -> 1300[label="",style="dashed", color="red", weight=0]; 14.14/5.18 1301[label="primPlusNat Zero (primDivNatS Zero (Succ wy63))",fontsize=16,color="magenta"];1302[label="primMinusNat Zero (primDivNatS0 (Succ wy5700) wy59 (primGEqNatS (Succ wy5700) wy59))",fontsize=16,color="burlywood",shape="box"];2446[label="wy59/Succ wy590",fontsize=10,color="white",style="solid",shape="box"];1302 -> 2446[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2446 -> 1309[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2447[label="wy59/Zero",fontsize=10,color="white",style="solid",shape="box"];1302 -> 2447[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2447 -> 1310[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 1303[label="primMinusNat Zero (primDivNatS0 Zero wy59 (primGEqNatS Zero wy59))",fontsize=16,color="burlywood",shape="box"];2448[label="wy59/Succ wy590",fontsize=10,color="white",style="solid",shape="box"];1303 -> 2448[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2448 -> 1311[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2449[label="wy59/Zero",fontsize=10,color="white",style="solid",shape="box"];1303 -> 2449[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2449 -> 1312[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 1304[label="Pos Zero",fontsize=16,color="green",shape="box"];1257[label="Succ wy50",fontsize=16,color="green",shape="box"];1258[label="Succ wy51",fontsize=16,color="green",shape="box"];1259[label="Succ wy51",fontsize=16,color="green",shape="box"];1305[label="wy610",fontsize=16,color="green",shape="box"];1306[label="wy620",fontsize=16,color="green",shape="box"];1307[label="primPlusNat Zero (primDivNatS0 wy610 wy63 (primGEqNatS wy610 wy63))",fontsize=16,color="burlywood",shape="box"];2450[label="wy610/Succ wy6100",fontsize=10,color="white",style="solid",shape="box"];1307 -> 2450[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2450 -> 1313[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2451[label="wy610/Zero",fontsize=10,color="white",style="solid",shape="box"];1307 -> 2451[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2451 -> 1314[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 1308[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="triangle"];1308 -> 1315[label="",style="solid", color="black", weight=3]; 14.14/5.18 1309[label="primMinusNat Zero (primDivNatS0 (Succ wy5700) (Succ wy590) (primGEqNatS (Succ wy5700) (Succ wy590)))",fontsize=16,color="black",shape="box"];1309 -> 1316[label="",style="solid", color="black", weight=3]; 14.14/5.18 1310[label="primMinusNat Zero (primDivNatS0 (Succ wy5700) Zero (primGEqNatS (Succ wy5700) Zero))",fontsize=16,color="black",shape="box"];1310 -> 1317[label="",style="solid", color="black", weight=3]; 14.14/5.18 1311[label="primMinusNat Zero (primDivNatS0 Zero (Succ wy590) (primGEqNatS Zero (Succ wy590)))",fontsize=16,color="black",shape="box"];1311 -> 1318[label="",style="solid", color="black", weight=3]; 14.14/5.18 1312[label="primMinusNat Zero (primDivNatS0 Zero Zero (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];1312 -> 1319[label="",style="solid", color="black", weight=3]; 14.14/5.18 1313[label="primPlusNat Zero (primDivNatS0 (Succ wy6100) wy63 (primGEqNatS (Succ wy6100) wy63))",fontsize=16,color="burlywood",shape="box"];2452[label="wy63/Succ wy630",fontsize=10,color="white",style="solid",shape="box"];1313 -> 2452[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2452 -> 1320[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2453[label="wy63/Zero",fontsize=10,color="white",style="solid",shape="box"];1313 -> 2453[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2453 -> 1321[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 1314[label="primPlusNat Zero (primDivNatS0 Zero wy63 (primGEqNatS Zero wy63))",fontsize=16,color="burlywood",shape="box"];2454[label="wy63/Succ wy630",fontsize=10,color="white",style="solid",shape="box"];1314 -> 2454[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2454 -> 1322[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2455[label="wy63/Zero",fontsize=10,color="white",style="solid",shape="box"];1314 -> 2455[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2455 -> 1323[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 1315[label="Zero",fontsize=16,color="green",shape="box"];1316 -> 1879[label="",style="dashed", color="red", weight=0]; 14.14/5.18 1316[label="primMinusNat Zero (primDivNatS0 (Succ wy5700) (Succ wy590) (primGEqNatS wy5700 wy590))",fontsize=16,color="magenta"];1316 -> 1880[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1316 -> 1881[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1316 -> 1882[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1316 -> 1883[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1317[label="primMinusNat Zero (primDivNatS0 (Succ wy5700) Zero MyTrue)",fontsize=16,color="black",shape="box"];1317 -> 1326[label="",style="solid", color="black", weight=3]; 14.14/5.18 1318[label="primMinusNat Zero (primDivNatS0 Zero (Succ wy590) MyFalse)",fontsize=16,color="black",shape="box"];1318 -> 1327[label="",style="solid", color="black", weight=3]; 14.14/5.18 1319[label="primMinusNat Zero (primDivNatS0 Zero Zero MyTrue)",fontsize=16,color="black",shape="box"];1319 -> 1328[label="",style="solid", color="black", weight=3]; 14.14/5.18 1320[label="primPlusNat Zero (primDivNatS0 (Succ wy6100) (Succ wy630) (primGEqNatS (Succ wy6100) (Succ wy630)))",fontsize=16,color="black",shape="box"];1320 -> 1329[label="",style="solid", color="black", weight=3]; 14.14/5.18 1321[label="primPlusNat Zero (primDivNatS0 (Succ wy6100) Zero (primGEqNatS (Succ wy6100) Zero))",fontsize=16,color="black",shape="box"];1321 -> 1330[label="",style="solid", color="black", weight=3]; 14.14/5.18 1322[label="primPlusNat Zero (primDivNatS0 Zero (Succ wy630) (primGEqNatS Zero (Succ wy630)))",fontsize=16,color="black",shape="box"];1322 -> 1331[label="",style="solid", color="black", weight=3]; 14.14/5.18 1323[label="primPlusNat Zero (primDivNatS0 Zero Zero (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];1323 -> 1332[label="",style="solid", color="black", weight=3]; 14.14/5.18 1880[label="wy590",fontsize=16,color="green",shape="box"];1881[label="wy5700",fontsize=16,color="green",shape="box"];1882[label="wy5700",fontsize=16,color="green",shape="box"];1883[label="wy590",fontsize=16,color="green",shape="box"];1879[label="primMinusNat Zero (primDivNatS0 (Succ wy94) (Succ wy95) (primGEqNatS wy96 wy97))",fontsize=16,color="burlywood",shape="triangle"];2456[label="wy96/Succ wy960",fontsize=10,color="white",style="solid",shape="box"];1879 -> 2456[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2456 -> 1920[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2457[label="wy96/Zero",fontsize=10,color="white",style="solid",shape="box"];1879 -> 2457[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2457 -> 1921[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 1326 -> 1685[label="",style="dashed", color="red", weight=0]; 14.14/5.18 1326[label="primMinusNat Zero (Succ (primDivNatS (primMinusNatS (Succ wy5700) Zero) (Succ Zero)))",fontsize=16,color="magenta"];1326 -> 1686[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1327 -> 1297[label="",style="dashed", color="red", weight=0]; 14.14/5.18 1327[label="primMinusNat Zero Zero",fontsize=16,color="magenta"];1328 -> 1685[label="",style="dashed", color="red", weight=0]; 14.14/5.18 1328[label="primMinusNat Zero (Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero)))",fontsize=16,color="magenta"];1328 -> 1687[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1329 -> 1984[label="",style="dashed", color="red", weight=0]; 14.14/5.18 1329[label="primPlusNat Zero (primDivNatS0 (Succ wy6100) (Succ wy630) (primGEqNatS wy6100 wy630))",fontsize=16,color="magenta"];1329 -> 1985[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1329 -> 1986[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1329 -> 1987[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1329 -> 1988[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1330[label="primPlusNat Zero (primDivNatS0 (Succ wy6100) Zero MyTrue)",fontsize=16,color="black",shape="box"];1330 -> 1341[label="",style="solid", color="black", weight=3]; 14.14/5.18 1331[label="primPlusNat Zero (primDivNatS0 Zero (Succ wy630) MyFalse)",fontsize=16,color="black",shape="box"];1331 -> 1342[label="",style="solid", color="black", weight=3]; 14.14/5.18 1332[label="primPlusNat Zero (primDivNatS0 Zero Zero MyTrue)",fontsize=16,color="black",shape="box"];1332 -> 1343[label="",style="solid", color="black", weight=3]; 14.14/5.18 1920[label="primMinusNat Zero (primDivNatS0 (Succ wy94) (Succ wy95) (primGEqNatS (Succ wy960) wy97))",fontsize=16,color="burlywood",shape="box"];2458[label="wy97/Succ wy970",fontsize=10,color="white",style="solid",shape="box"];1920 -> 2458[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2458 -> 1934[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2459[label="wy97/Zero",fontsize=10,color="white",style="solid",shape="box"];1920 -> 2459[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2459 -> 1935[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 1921[label="primMinusNat Zero (primDivNatS0 (Succ wy94) (Succ wy95) (primGEqNatS Zero wy97))",fontsize=16,color="burlywood",shape="box"];2460[label="wy97/Succ wy970",fontsize=10,color="white",style="solid",shape="box"];1921 -> 2460[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2460 -> 1936[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2461[label="wy97/Zero",fontsize=10,color="white",style="solid",shape="box"];1921 -> 2461[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2461 -> 1937[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 1686 -> 2104[label="",style="dashed", color="red", weight=0]; 14.14/5.18 1686[label="primDivNatS (primMinusNatS (Succ wy5700) Zero) (Succ Zero)",fontsize=16,color="magenta"];1686 -> 2105[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1686 -> 2106[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1686 -> 2107[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1685[label="primMinusNat Zero (Succ wy79)",fontsize=16,color="black",shape="triangle"];1685 -> 1701[label="",style="solid", color="black", weight=3]; 14.14/5.18 1687 -> 2104[label="",style="dashed", color="red", weight=0]; 14.14/5.18 1687[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];1687 -> 2108[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1687 -> 2109[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1687 -> 2110[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1985[label="wy6100",fontsize=16,color="green",shape="box"];1986[label="wy630",fontsize=16,color="green",shape="box"];1987[label="wy6100",fontsize=16,color="green",shape="box"];1988[label="wy630",fontsize=16,color="green",shape="box"];1984[label="primPlusNat Zero (primDivNatS0 (Succ wy107) (Succ wy108) (primGEqNatS wy109 wy110))",fontsize=16,color="burlywood",shape="triangle"];2462[label="wy109/Succ wy1090",fontsize=10,color="white",style="solid",shape="box"];1984 -> 2462[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2462 -> 2025[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2463[label="wy109/Zero",fontsize=10,color="white",style="solid",shape="box"];1984 -> 2463[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2463 -> 2026[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 1341 -> 1749[label="",style="dashed", color="red", weight=0]; 14.14/5.18 1341[label="primPlusNat Zero (Succ (primDivNatS (primMinusNatS (Succ wy6100) Zero) (Succ Zero)))",fontsize=16,color="magenta"];1341 -> 1750[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1342 -> 1308[label="",style="dashed", color="red", weight=0]; 14.14/5.18 1342[label="primPlusNat Zero Zero",fontsize=16,color="magenta"];1343 -> 1749[label="",style="dashed", color="red", weight=0]; 14.14/5.18 1343[label="primPlusNat Zero (Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero)))",fontsize=16,color="magenta"];1343 -> 1751[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1934[label="primMinusNat Zero (primDivNatS0 (Succ wy94) (Succ wy95) (primGEqNatS (Succ wy960) (Succ wy970)))",fontsize=16,color="black",shape="box"];1934 -> 1951[label="",style="solid", color="black", weight=3]; 14.14/5.18 1935[label="primMinusNat Zero (primDivNatS0 (Succ wy94) (Succ wy95) (primGEqNatS (Succ wy960) Zero))",fontsize=16,color="black",shape="box"];1935 -> 1952[label="",style="solid", color="black", weight=3]; 14.14/5.18 1936[label="primMinusNat Zero (primDivNatS0 (Succ wy94) (Succ wy95) (primGEqNatS Zero (Succ wy970)))",fontsize=16,color="black",shape="box"];1936 -> 1953[label="",style="solid", color="black", weight=3]; 14.14/5.18 1937[label="primMinusNat Zero (primDivNatS0 (Succ wy94) (Succ wy95) (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];1937 -> 1954[label="",style="solid", color="black", weight=3]; 14.14/5.18 2105[label="Zero",fontsize=16,color="green",shape="box"];2106[label="Succ wy5700",fontsize=16,color="green",shape="box"];2107[label="Zero",fontsize=16,color="green",shape="box"];2104[label="primDivNatS (primMinusNatS wy115 wy116) (Succ wy117)",fontsize=16,color="burlywood",shape="triangle"];2464[label="wy115/Succ wy1150",fontsize=10,color="white",style="solid",shape="box"];2104 -> 2464[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2464 -> 2156[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2465[label="wy115/Zero",fontsize=10,color="white",style="solid",shape="box"];2104 -> 2465[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2465 -> 2157[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 1701[label="Neg (Succ wy79)",fontsize=16,color="green",shape="box"];2108[label="Zero",fontsize=16,color="green",shape="box"];2109[label="Zero",fontsize=16,color="green",shape="box"];2110[label="Zero",fontsize=16,color="green",shape="box"];2025[label="primPlusNat Zero (primDivNatS0 (Succ wy107) (Succ wy108) (primGEqNatS (Succ wy1090) wy110))",fontsize=16,color="burlywood",shape="box"];2466[label="wy110/Succ wy1100",fontsize=10,color="white",style="solid",shape="box"];2025 -> 2466[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2466 -> 2041[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2467[label="wy110/Zero",fontsize=10,color="white",style="solid",shape="box"];2025 -> 2467[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2467 -> 2042[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2026[label="primPlusNat Zero (primDivNatS0 (Succ wy107) (Succ wy108) (primGEqNatS Zero wy110))",fontsize=16,color="burlywood",shape="box"];2468[label="wy110/Succ wy1100",fontsize=10,color="white",style="solid",shape="box"];2026 -> 2468[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2468 -> 2043[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2469[label="wy110/Zero",fontsize=10,color="white",style="solid",shape="box"];2026 -> 2469[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2469 -> 2044[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 1750 -> 2104[label="",style="dashed", color="red", weight=0]; 14.14/5.18 1750[label="primDivNatS (primMinusNatS (Succ wy6100) Zero) (Succ Zero)",fontsize=16,color="magenta"];1750 -> 2117[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1750 -> 2118[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1750 -> 2119[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1749[label="primPlusNat Zero (Succ wy82)",fontsize=16,color="black",shape="triangle"];1749 -> 1765[label="",style="solid", color="black", weight=3]; 14.14/5.18 1751 -> 2104[label="",style="dashed", color="red", weight=0]; 14.14/5.18 1751[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];1751 -> 2120[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1751 -> 2121[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1751 -> 2122[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1951 -> 1879[label="",style="dashed", color="red", weight=0]; 14.14/5.18 1951[label="primMinusNat Zero (primDivNatS0 (Succ wy94) (Succ wy95) (primGEqNatS wy960 wy970))",fontsize=16,color="magenta"];1951 -> 1969[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1951 -> 1970[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1952[label="primMinusNat Zero (primDivNatS0 (Succ wy94) (Succ wy95) MyTrue)",fontsize=16,color="black",shape="triangle"];1952 -> 1971[label="",style="solid", color="black", weight=3]; 14.14/5.18 1953[label="primMinusNat Zero (primDivNatS0 (Succ wy94) (Succ wy95) MyFalse)",fontsize=16,color="black",shape="box"];1953 -> 1972[label="",style="solid", color="black", weight=3]; 14.14/5.18 1954 -> 1952[label="",style="dashed", color="red", weight=0]; 14.14/5.18 1954[label="primMinusNat Zero (primDivNatS0 (Succ wy94) (Succ wy95) MyTrue)",fontsize=16,color="magenta"];2156[label="primDivNatS (primMinusNatS (Succ wy1150) wy116) (Succ wy117)",fontsize=16,color="burlywood",shape="box"];2470[label="wy116/Succ wy1160",fontsize=10,color="white",style="solid",shape="box"];2156 -> 2470[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2470 -> 2158[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2471[label="wy116/Zero",fontsize=10,color="white",style="solid",shape="box"];2156 -> 2471[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2471 -> 2159[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2157[label="primDivNatS (primMinusNatS Zero wy116) (Succ wy117)",fontsize=16,color="burlywood",shape="box"];2472[label="wy116/Succ wy1160",fontsize=10,color="white",style="solid",shape="box"];2157 -> 2472[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2472 -> 2160[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2473[label="wy116/Zero",fontsize=10,color="white",style="solid",shape="box"];2157 -> 2473[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2473 -> 2161[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2041[label="primPlusNat Zero (primDivNatS0 (Succ wy107) (Succ wy108) (primGEqNatS (Succ wy1090) (Succ wy1100)))",fontsize=16,color="black",shape="box"];2041 -> 2054[label="",style="solid", color="black", weight=3]; 14.14/5.18 2042[label="primPlusNat Zero (primDivNatS0 (Succ wy107) (Succ wy108) (primGEqNatS (Succ wy1090) Zero))",fontsize=16,color="black",shape="box"];2042 -> 2055[label="",style="solid", color="black", weight=3]; 14.14/5.18 2043[label="primPlusNat Zero (primDivNatS0 (Succ wy107) (Succ wy108) (primGEqNatS Zero (Succ wy1100)))",fontsize=16,color="black",shape="box"];2043 -> 2056[label="",style="solid", color="black", weight=3]; 14.14/5.18 2044[label="primPlusNat Zero (primDivNatS0 (Succ wy107) (Succ wy108) (primGEqNatS Zero Zero))",fontsize=16,color="black",shape="box"];2044 -> 2057[label="",style="solid", color="black", weight=3]; 14.14/5.18 2117[label="Zero",fontsize=16,color="green",shape="box"];2118[label="Succ wy6100",fontsize=16,color="green",shape="box"];2119[label="Zero",fontsize=16,color="green",shape="box"];1765[label="Succ wy82",fontsize=16,color="green",shape="box"];2120[label="Zero",fontsize=16,color="green",shape="box"];2121[label="Zero",fontsize=16,color="green",shape="box"];2122[label="Zero",fontsize=16,color="green",shape="box"];1969[label="wy970",fontsize=16,color="green",shape="box"];1970[label="wy960",fontsize=16,color="green",shape="box"];1971 -> 1685[label="",style="dashed", color="red", weight=0]; 14.14/5.18 1971[label="primMinusNat Zero (Succ (primDivNatS (primMinusNatS (Succ wy94) (Succ wy95)) (Succ (Succ wy95))))",fontsize=16,color="magenta"];1971 -> 2027[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 1972 -> 1297[label="",style="dashed", color="red", weight=0]; 14.14/5.18 1972[label="primMinusNat Zero Zero",fontsize=16,color="magenta"];2158[label="primDivNatS (primMinusNatS (Succ wy1150) (Succ wy1160)) (Succ wy117)",fontsize=16,color="black",shape="box"];2158 -> 2162[label="",style="solid", color="black", weight=3]; 14.14/5.18 2159[label="primDivNatS (primMinusNatS (Succ wy1150) Zero) (Succ wy117)",fontsize=16,color="black",shape="box"];2159 -> 2163[label="",style="solid", color="black", weight=3]; 14.14/5.18 2160[label="primDivNatS (primMinusNatS Zero (Succ wy1160)) (Succ wy117)",fontsize=16,color="black",shape="box"];2160 -> 2164[label="",style="solid", color="black", weight=3]; 14.14/5.18 2161[label="primDivNatS (primMinusNatS Zero Zero) (Succ wy117)",fontsize=16,color="black",shape="box"];2161 -> 2165[label="",style="solid", color="black", weight=3]; 14.14/5.18 2054 -> 1984[label="",style="dashed", color="red", weight=0]; 14.14/5.18 2054[label="primPlusNat Zero (primDivNatS0 (Succ wy107) (Succ wy108) (primGEqNatS wy1090 wy1100))",fontsize=16,color="magenta"];2054 -> 2064[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2054 -> 2065[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2055[label="primPlusNat Zero (primDivNatS0 (Succ wy107) (Succ wy108) MyTrue)",fontsize=16,color="black",shape="triangle"];2055 -> 2066[label="",style="solid", color="black", weight=3]; 14.14/5.18 2056[label="primPlusNat Zero (primDivNatS0 (Succ wy107) (Succ wy108) MyFalse)",fontsize=16,color="black",shape="box"];2056 -> 2067[label="",style="solid", color="black", weight=3]; 14.14/5.18 2057 -> 2055[label="",style="dashed", color="red", weight=0]; 14.14/5.18 2057[label="primPlusNat Zero (primDivNatS0 (Succ wy107) (Succ wy108) MyTrue)",fontsize=16,color="magenta"];2027 -> 2104[label="",style="dashed", color="red", weight=0]; 14.14/5.18 2027[label="primDivNatS (primMinusNatS (Succ wy94) (Succ wy95)) (Succ (Succ wy95))",fontsize=16,color="magenta"];2027 -> 2126[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2027 -> 2127[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2027 -> 2128[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2162 -> 2104[label="",style="dashed", color="red", weight=0]; 14.14/5.18 2162[label="primDivNatS (primMinusNatS wy1150 wy1160) (Succ wy117)",fontsize=16,color="magenta"];2162 -> 2166[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2162 -> 2167[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2163[label="primDivNatS (Succ wy1150) (Succ wy117)",fontsize=16,color="black",shape="box"];2163 -> 2168[label="",style="solid", color="black", weight=3]; 14.14/5.18 2164[label="primDivNatS Zero (Succ wy117)",fontsize=16,color="black",shape="triangle"];2164 -> 2169[label="",style="solid", color="black", weight=3]; 14.14/5.18 2165 -> 2164[label="",style="dashed", color="red", weight=0]; 14.14/5.18 2165[label="primDivNatS Zero (Succ wy117)",fontsize=16,color="magenta"];2064[label="wy1090",fontsize=16,color="green",shape="box"];2065[label="wy1100",fontsize=16,color="green",shape="box"];2066 -> 1749[label="",style="dashed", color="red", weight=0]; 14.14/5.18 2066[label="primPlusNat Zero (Succ (primDivNatS (primMinusNatS (Succ wy107) (Succ wy108)) (Succ (Succ wy108))))",fontsize=16,color="magenta"];2066 -> 2078[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2067 -> 1308[label="",style="dashed", color="red", weight=0]; 14.14/5.18 2067[label="primPlusNat Zero Zero",fontsize=16,color="magenta"];2126[label="Succ wy95",fontsize=16,color="green",shape="box"];2127[label="Succ wy94",fontsize=16,color="green",shape="box"];2128[label="Succ wy95",fontsize=16,color="green",shape="box"];2166[label="wy1160",fontsize=16,color="green",shape="box"];2167[label="wy1150",fontsize=16,color="green",shape="box"];2168[label="primDivNatS0 wy1150 wy117 (primGEqNatS wy1150 wy117)",fontsize=16,color="burlywood",shape="box"];2474[label="wy1150/Succ wy11500",fontsize=10,color="white",style="solid",shape="box"];2168 -> 2474[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2474 -> 2170[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2475[label="wy1150/Zero",fontsize=10,color="white",style="solid",shape="box"];2168 -> 2475[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2475 -> 2171[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2169[label="Zero",fontsize=16,color="green",shape="box"];2078 -> 2104[label="",style="dashed", color="red", weight=0]; 14.14/5.18 2078[label="primDivNatS (primMinusNatS (Succ wy107) (Succ wy108)) (Succ (Succ wy108))",fontsize=16,color="magenta"];2078 -> 2129[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2078 -> 2130[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2078 -> 2131[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2170[label="primDivNatS0 (Succ wy11500) wy117 (primGEqNatS (Succ wy11500) wy117)",fontsize=16,color="burlywood",shape="box"];2476[label="wy117/Succ wy1170",fontsize=10,color="white",style="solid",shape="box"];2170 -> 2476[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2476 -> 2172[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2477[label="wy117/Zero",fontsize=10,color="white",style="solid",shape="box"];2170 -> 2477[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2477 -> 2173[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2171[label="primDivNatS0 Zero wy117 (primGEqNatS Zero wy117)",fontsize=16,color="burlywood",shape="box"];2478[label="wy117/Succ wy1170",fontsize=10,color="white",style="solid",shape="box"];2171 -> 2478[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2478 -> 2174[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2479[label="wy117/Zero",fontsize=10,color="white",style="solid",shape="box"];2171 -> 2479[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2479 -> 2175[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2129[label="Succ wy108",fontsize=16,color="green",shape="box"];2130[label="Succ wy107",fontsize=16,color="green",shape="box"];2131[label="Succ wy108",fontsize=16,color="green",shape="box"];2172[label="primDivNatS0 (Succ wy11500) (Succ wy1170) (primGEqNatS (Succ wy11500) (Succ wy1170))",fontsize=16,color="black",shape="box"];2172 -> 2176[label="",style="solid", color="black", weight=3]; 14.14/5.18 2173[label="primDivNatS0 (Succ wy11500) Zero (primGEqNatS (Succ wy11500) Zero)",fontsize=16,color="black",shape="box"];2173 -> 2177[label="",style="solid", color="black", weight=3]; 14.14/5.18 2174[label="primDivNatS0 Zero (Succ wy1170) (primGEqNatS Zero (Succ wy1170))",fontsize=16,color="black",shape="box"];2174 -> 2178[label="",style="solid", color="black", weight=3]; 14.14/5.18 2175[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];2175 -> 2179[label="",style="solid", color="black", weight=3]; 14.14/5.18 2176 -> 2338[label="",style="dashed", color="red", weight=0]; 14.14/5.18 2176[label="primDivNatS0 (Succ wy11500) (Succ wy1170) (primGEqNatS wy11500 wy1170)",fontsize=16,color="magenta"];2176 -> 2339[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2176 -> 2340[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2176 -> 2341[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2176 -> 2342[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2177[label="primDivNatS0 (Succ wy11500) Zero MyTrue",fontsize=16,color="black",shape="box"];2177 -> 2182[label="",style="solid", color="black", weight=3]; 14.14/5.18 2178[label="primDivNatS0 Zero (Succ wy1170) MyFalse",fontsize=16,color="black",shape="box"];2178 -> 2183[label="",style="solid", color="black", weight=3]; 14.14/5.18 2179[label="primDivNatS0 Zero Zero MyTrue",fontsize=16,color="black",shape="box"];2179 -> 2184[label="",style="solid", color="black", weight=3]; 14.14/5.18 2339[label="wy1170",fontsize=16,color="green",shape="box"];2340[label="wy11500",fontsize=16,color="green",shape="box"];2341[label="wy11500",fontsize=16,color="green",shape="box"];2342[label="wy1170",fontsize=16,color="green",shape="box"];2338[label="primDivNatS0 (Succ wy134) (Succ wy135) (primGEqNatS wy136 wy137)",fontsize=16,color="burlywood",shape="triangle"];2480[label="wy136/Succ wy1360",fontsize=10,color="white",style="solid",shape="box"];2338 -> 2480[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2480 -> 2371[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2481[label="wy136/Zero",fontsize=10,color="white",style="solid",shape="box"];2338 -> 2481[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2481 -> 2372[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2182[label="Succ (primDivNatS (primMinusNatS (Succ wy11500) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];2182 -> 2189[label="",style="dashed", color="green", weight=3]; 14.14/5.18 2183[label="Zero",fontsize=16,color="green",shape="box"];2184[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];2184 -> 2190[label="",style="dashed", color="green", weight=3]; 14.14/5.18 2371[label="primDivNatS0 (Succ wy134) (Succ wy135) (primGEqNatS (Succ wy1360) wy137)",fontsize=16,color="burlywood",shape="box"];2482[label="wy137/Succ wy1370",fontsize=10,color="white",style="solid",shape="box"];2371 -> 2482[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2482 -> 2373[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2483[label="wy137/Zero",fontsize=10,color="white",style="solid",shape="box"];2371 -> 2483[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2483 -> 2374[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2372[label="primDivNatS0 (Succ wy134) (Succ wy135) (primGEqNatS Zero wy137)",fontsize=16,color="burlywood",shape="box"];2484[label="wy137/Succ wy1370",fontsize=10,color="white",style="solid",shape="box"];2372 -> 2484[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2484 -> 2375[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2485[label="wy137/Zero",fontsize=10,color="white",style="solid",shape="box"];2372 -> 2485[label="",style="solid", color="burlywood", weight=9]; 14.14/5.18 2485 -> 2376[label="",style="solid", color="burlywood", weight=3]; 14.14/5.18 2189 -> 2104[label="",style="dashed", color="red", weight=0]; 14.14/5.18 2189[label="primDivNatS (primMinusNatS (Succ wy11500) Zero) (Succ Zero)",fontsize=16,color="magenta"];2189 -> 2195[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2189 -> 2196[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2189 -> 2197[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2190 -> 2104[label="",style="dashed", color="red", weight=0]; 14.14/5.18 2190[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];2190 -> 2198[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2190 -> 2199[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2190 -> 2200[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2373[label="primDivNatS0 (Succ wy134) (Succ wy135) (primGEqNatS (Succ wy1360) (Succ wy1370))",fontsize=16,color="black",shape="box"];2373 -> 2377[label="",style="solid", color="black", weight=3]; 14.14/5.18 2374[label="primDivNatS0 (Succ wy134) (Succ wy135) (primGEqNatS (Succ wy1360) Zero)",fontsize=16,color="black",shape="box"];2374 -> 2378[label="",style="solid", color="black", weight=3]; 14.14/5.18 2375[label="primDivNatS0 (Succ wy134) (Succ wy135) (primGEqNatS Zero (Succ wy1370))",fontsize=16,color="black",shape="box"];2375 -> 2379[label="",style="solid", color="black", weight=3]; 14.14/5.18 2376[label="primDivNatS0 (Succ wy134) (Succ wy135) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];2376 -> 2380[label="",style="solid", color="black", weight=3]; 14.14/5.18 2195[label="Zero",fontsize=16,color="green",shape="box"];2196[label="Succ wy11500",fontsize=16,color="green",shape="box"];2197[label="Zero",fontsize=16,color="green",shape="box"];2198[label="Zero",fontsize=16,color="green",shape="box"];2199[label="Zero",fontsize=16,color="green",shape="box"];2200[label="Zero",fontsize=16,color="green",shape="box"];2377 -> 2338[label="",style="dashed", color="red", weight=0]; 14.14/5.18 2377[label="primDivNatS0 (Succ wy134) (Succ wy135) (primGEqNatS wy1360 wy1370)",fontsize=16,color="magenta"];2377 -> 2381[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2377 -> 2382[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2378[label="primDivNatS0 (Succ wy134) (Succ wy135) MyTrue",fontsize=16,color="black",shape="triangle"];2378 -> 2383[label="",style="solid", color="black", weight=3]; 14.14/5.18 2379[label="primDivNatS0 (Succ wy134) (Succ wy135) MyFalse",fontsize=16,color="black",shape="box"];2379 -> 2384[label="",style="solid", color="black", weight=3]; 14.14/5.18 2380 -> 2378[label="",style="dashed", color="red", weight=0]; 14.14/5.18 2380[label="primDivNatS0 (Succ wy134) (Succ wy135) MyTrue",fontsize=16,color="magenta"];2381[label="wy1370",fontsize=16,color="green",shape="box"];2382[label="wy1360",fontsize=16,color="green",shape="box"];2383[label="Succ (primDivNatS (primMinusNatS (Succ wy134) (Succ wy135)) (Succ (Succ wy135)))",fontsize=16,color="green",shape="box"];2383 -> 2385[label="",style="dashed", color="green", weight=3]; 14.14/5.18 2384[label="Zero",fontsize=16,color="green",shape="box"];2385 -> 2104[label="",style="dashed", color="red", weight=0]; 14.14/5.18 2385[label="primDivNatS (primMinusNatS (Succ wy134) (Succ wy135)) (Succ (Succ wy135))",fontsize=16,color="magenta"];2385 -> 2386[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2385 -> 2387[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2385 -> 2388[label="",style="dashed", color="magenta", weight=3]; 14.14/5.18 2386[label="Succ wy135",fontsize=16,color="green",shape="box"];2387[label="Succ wy134",fontsize=16,color="green",shape="box"];2388[label="Succ wy135",fontsize=16,color="green",shape="box"];} 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (6) 14.14/5.18 Complex Obligation (AND) 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (7) 14.14/5.18 Obligation: 14.14/5.18 Q DP problem: 14.14/5.18 The TRS P consists of the following rules: 14.14/5.18 14.14/5.18 new_primPlusNat(wy107, wy108, Main.Succ(wy1090), Main.Succ(wy1100)) -> new_primPlusNat(wy107, wy108, wy1090, wy1100) 14.14/5.18 14.14/5.18 R is empty. 14.14/5.18 Q is empty. 14.14/5.18 We have to consider all minimal (P,Q,R)-chains. 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (8) QDPSizeChangeProof (EQUIVALENT) 14.14/5.18 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. 14.14/5.18 14.14/5.18 From the DPs we obtained the following set of size-change graphs: 14.14/5.18 *new_primPlusNat(wy107, wy108, Main.Succ(wy1090), Main.Succ(wy1100)) -> new_primPlusNat(wy107, wy108, wy1090, wy1100) 14.14/5.18 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 14.14/5.18 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (9) 14.14/5.18 YES 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (10) 14.14/5.18 Obligation: 14.14/5.18 Q DP problem: 14.14/5.18 The TRS P consists of the following rules: 14.14/5.18 14.14/5.18 new_primMinusNat1(wy45, wy46, Main.Succ(wy470), Main.Succ(wy480)) -> new_primMinusNat1(wy45, wy46, wy470, wy480) 14.14/5.18 14.14/5.18 R is empty. 14.14/5.18 Q is empty. 14.14/5.18 We have to consider all minimal (P,Q,R)-chains. 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (11) QDPSizeChangeProof (EQUIVALENT) 14.14/5.18 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. 14.14/5.18 14.14/5.18 From the DPs we obtained the following set of size-change graphs: 14.14/5.18 *new_primMinusNat1(wy45, wy46, Main.Succ(wy470), Main.Succ(wy480)) -> new_primMinusNat1(wy45, wy46, wy470, wy480) 14.14/5.18 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 14.14/5.18 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (12) 14.14/5.18 YES 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (13) 14.14/5.18 Obligation: 14.14/5.18 Q DP problem: 14.14/5.18 The TRS P consists of the following rules: 14.14/5.18 14.14/5.18 new_primPlusNat1(wy50, wy51, Main.Succ(wy520), Main.Succ(wy530)) -> new_primPlusNat1(wy50, wy51, wy520, wy530) 14.14/5.18 14.14/5.18 R is empty. 14.14/5.18 Q is empty. 14.14/5.18 We have to consider all minimal (P,Q,R)-chains. 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (14) QDPSizeChangeProof (EQUIVALENT) 14.14/5.18 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. 14.14/5.18 14.14/5.18 From the DPs we obtained the following set of size-change graphs: 14.14/5.18 *new_primPlusNat1(wy50, wy51, Main.Succ(wy520), Main.Succ(wy530)) -> new_primPlusNat1(wy50, wy51, wy520, wy530) 14.14/5.18 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 14.14/5.18 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (15) 14.14/5.18 YES 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (16) 14.14/5.18 Obligation: 14.14/5.18 Q DP problem: 14.14/5.18 The TRS P consists of the following rules: 14.14/5.18 14.14/5.18 new_primMinusNat(wy94, wy95, Main.Succ(wy960), Main.Succ(wy970)) -> new_primMinusNat(wy94, wy95, wy960, wy970) 14.14/5.18 14.14/5.18 R is empty. 14.14/5.18 Q is empty. 14.14/5.18 We have to consider all minimal (P,Q,R)-chains. 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (17) QDPSizeChangeProof (EQUIVALENT) 14.14/5.18 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. 14.14/5.18 14.14/5.18 From the DPs we obtained the following set of size-change graphs: 14.14/5.18 *new_primMinusNat(wy94, wy95, Main.Succ(wy960), Main.Succ(wy970)) -> new_primMinusNat(wy94, wy95, wy960, wy970) 14.14/5.18 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 14.14/5.18 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (18) 14.14/5.18 YES 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (19) 14.14/5.18 Obligation: 14.14/5.18 Q DP problem: 14.14/5.18 The TRS P consists of the following rules: 14.14/5.18 14.14/5.18 new_primMinusNat0(Main.Succ(wy570), Main.Succ(wy580), wy59) -> new_primMinusNat0(wy570, wy580, wy59) 14.14/5.18 14.14/5.18 R is empty. 14.14/5.18 Q is empty. 14.14/5.18 We have to consider all minimal (P,Q,R)-chains. 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (20) QDPSizeChangeProof (EQUIVALENT) 14.14/5.18 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. 14.14/5.18 14.14/5.18 From the DPs we obtained the following set of size-change graphs: 14.14/5.18 *new_primMinusNat0(Main.Succ(wy570), Main.Succ(wy580), wy59) -> new_primMinusNat0(wy570, wy580, wy59) 14.14/5.18 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 14.14/5.18 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (21) 14.14/5.18 YES 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (22) 14.14/5.18 Obligation: 14.14/5.18 Q DP problem: 14.14/5.18 The TRS P consists of the following rules: 14.14/5.18 14.14/5.18 new_primPlusNat0(Main.Succ(wy610), Main.Succ(wy620), wy63) -> new_primPlusNat0(wy610, wy620, wy63) 14.14/5.18 14.14/5.18 R is empty. 14.14/5.18 Q is empty. 14.14/5.18 We have to consider all minimal (P,Q,R)-chains. 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (23) QDPSizeChangeProof (EQUIVALENT) 14.14/5.18 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. 14.14/5.18 14.14/5.18 From the DPs we obtained the following set of size-change graphs: 14.14/5.18 *new_primPlusNat0(Main.Succ(wy610), Main.Succ(wy620), wy63) -> new_primPlusNat0(wy610, wy620, wy63) 14.14/5.18 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 14.14/5.18 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (24) 14.14/5.18 YES 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (25) 14.14/5.18 Obligation: 14.14/5.18 Q DP problem: 14.14/5.18 The TRS P consists of the following rules: 14.14/5.18 14.14/5.18 new_primDivNatS(Main.Succ(wy1150), Main.Succ(wy1160), wy117) -> new_primDivNatS(wy1150, wy1160, wy117) 14.14/5.18 new_primDivNatS0(wy134, wy135, Main.Succ(wy1360), Main.Succ(wy1370)) -> new_primDivNatS0(wy134, wy135, wy1360, wy1370) 14.14/5.18 new_primDivNatS00(wy134, wy135) -> new_primDivNatS(Main.Succ(wy134), Main.Succ(wy135), Main.Succ(wy135)) 14.14/5.18 new_primDivNatS(Main.Succ(Main.Succ(wy11500)), Main.Zero, Main.Zero) -> new_primDivNatS(Main.Succ(wy11500), Main.Zero, Main.Zero) 14.14/5.18 new_primDivNatS(Main.Succ(Main.Zero), Main.Zero, Main.Zero) -> new_primDivNatS(Main.Zero, Main.Zero, Main.Zero) 14.14/5.18 new_primDivNatS(Main.Succ(Main.Succ(wy11500)), Main.Zero, Main.Succ(wy1170)) -> new_primDivNatS0(wy11500, wy1170, wy11500, wy1170) 14.14/5.18 new_primDivNatS0(wy134, wy135, Main.Succ(wy1360), Main.Zero) -> new_primDivNatS(Main.Succ(wy134), Main.Succ(wy135), Main.Succ(wy135)) 14.14/5.18 new_primDivNatS0(wy134, wy135, Main.Zero, Main.Zero) -> new_primDivNatS00(wy134, wy135) 14.14/5.18 14.14/5.18 R is empty. 14.14/5.18 Q is empty. 14.14/5.18 We have to consider all minimal (P,Q,R)-chains. 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (26) DependencyGraphProof (EQUIVALENT) 14.14/5.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (27) 14.14/5.18 Complex Obligation (AND) 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (28) 14.14/5.18 Obligation: 14.14/5.18 Q DP problem: 14.14/5.18 The TRS P consists of the following rules: 14.14/5.18 14.14/5.18 new_primDivNatS(Main.Succ(Main.Succ(wy11500)), Main.Zero, Main.Zero) -> new_primDivNatS(Main.Succ(wy11500), Main.Zero, Main.Zero) 14.14/5.18 14.14/5.18 R is empty. 14.14/5.18 Q is empty. 14.14/5.18 We have to consider all minimal (P,Q,R)-chains. 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (29) QDPSizeChangeProof (EQUIVALENT) 14.14/5.18 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. 14.14/5.18 14.14/5.18 From the DPs we obtained the following set of size-change graphs: 14.14/5.18 *new_primDivNatS(Main.Succ(Main.Succ(wy11500)), Main.Zero, Main.Zero) -> new_primDivNatS(Main.Succ(wy11500), Main.Zero, Main.Zero) 14.14/5.18 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 2, 2 >= 3, 3 >= 3 14.14/5.18 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (30) 14.14/5.18 YES 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (31) 14.14/5.18 Obligation: 14.14/5.18 Q DP problem: 14.14/5.18 The TRS P consists of the following rules: 14.14/5.18 14.14/5.18 new_primDivNatS(Main.Succ(Main.Succ(wy11500)), Main.Zero, Main.Succ(wy1170)) -> new_primDivNatS0(wy11500, wy1170, wy11500, wy1170) 14.14/5.18 new_primDivNatS0(wy134, wy135, Main.Succ(wy1360), Main.Succ(wy1370)) -> new_primDivNatS0(wy134, wy135, wy1360, wy1370) 14.14/5.18 new_primDivNatS0(wy134, wy135, Main.Succ(wy1360), Main.Zero) -> new_primDivNatS(Main.Succ(wy134), Main.Succ(wy135), Main.Succ(wy135)) 14.14/5.18 new_primDivNatS(Main.Succ(wy1150), Main.Succ(wy1160), wy117) -> new_primDivNatS(wy1150, wy1160, wy117) 14.14/5.18 new_primDivNatS0(wy134, wy135, Main.Zero, Main.Zero) -> new_primDivNatS00(wy134, wy135) 14.14/5.18 new_primDivNatS00(wy134, wy135) -> new_primDivNatS(Main.Succ(wy134), Main.Succ(wy135), Main.Succ(wy135)) 14.14/5.18 14.14/5.18 R is empty. 14.14/5.18 Q is empty. 14.14/5.18 We have to consider all minimal (P,Q,R)-chains. 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (32) QDPOrderProof (EQUIVALENT) 14.14/5.18 We use the reduction pair processor [LPAR04,JAR06]. 14.14/5.18 14.14/5.18 14.14/5.18 The following pairs can be oriented strictly and are deleted. 14.14/5.18 14.14/5.18 new_primDivNatS(Main.Succ(Main.Succ(wy11500)), Main.Zero, Main.Succ(wy1170)) -> new_primDivNatS0(wy11500, wy1170, wy11500, wy1170) 14.14/5.18 new_primDivNatS(Main.Succ(wy1150), Main.Succ(wy1160), wy117) -> new_primDivNatS(wy1150, wy1160, wy117) 14.14/5.18 The remaining pairs can at least be oriented weakly. 14.14/5.18 Used ordering: Polynomial interpretation [POLO]: 14.14/5.18 14.14/5.18 POL(Main.Succ(x_1)) = 1 + x_1 14.14/5.18 POL(Main.Zero) = 1 14.14/5.18 POL(new_primDivNatS(x_1, x_2, x_3)) = x_1 14.14/5.18 POL(new_primDivNatS0(x_1, x_2, x_3, x_4)) = 1 + x_1 14.14/5.18 POL(new_primDivNatS00(x_1, x_2)) = 1 + x_1 14.14/5.18 14.14/5.18 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 14.14/5.18 none 14.14/5.18 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (33) 14.14/5.18 Obligation: 14.14/5.18 Q DP problem: 14.14/5.18 The TRS P consists of the following rules: 14.14/5.18 14.14/5.18 new_primDivNatS0(wy134, wy135, Main.Succ(wy1360), Main.Succ(wy1370)) -> new_primDivNatS0(wy134, wy135, wy1360, wy1370) 14.14/5.18 new_primDivNatS0(wy134, wy135, Main.Succ(wy1360), Main.Zero) -> new_primDivNatS(Main.Succ(wy134), Main.Succ(wy135), Main.Succ(wy135)) 14.14/5.18 new_primDivNatS0(wy134, wy135, Main.Zero, Main.Zero) -> new_primDivNatS00(wy134, wy135) 14.14/5.18 new_primDivNatS00(wy134, wy135) -> new_primDivNatS(Main.Succ(wy134), Main.Succ(wy135), Main.Succ(wy135)) 14.14/5.18 14.14/5.18 R is empty. 14.14/5.18 Q is empty. 14.14/5.18 We have to consider all minimal (P,Q,R)-chains. 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (34) DependencyGraphProof (EQUIVALENT) 14.14/5.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (35) 14.14/5.18 Obligation: 14.14/5.18 Q DP problem: 14.14/5.18 The TRS P consists of the following rules: 14.14/5.18 14.14/5.18 new_primDivNatS0(wy134, wy135, Main.Succ(wy1360), Main.Succ(wy1370)) -> new_primDivNatS0(wy134, wy135, wy1360, wy1370) 14.14/5.18 14.14/5.18 R is empty. 14.14/5.18 Q is empty. 14.14/5.18 We have to consider all minimal (P,Q,R)-chains. 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (36) QDPSizeChangeProof (EQUIVALENT) 14.14/5.18 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. 14.14/5.18 14.14/5.18 From the DPs we obtained the following set of size-change graphs: 14.14/5.18 *new_primDivNatS0(wy134, wy135, Main.Succ(wy1360), Main.Succ(wy1370)) -> new_primDivNatS0(wy134, wy135, wy1360, wy1370) 14.14/5.18 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 14.14/5.18 14.14/5.18 14.14/5.18 ---------------------------------------- 14.14/5.18 14.14/5.18 (37) 14.14/5.18 YES 14.26/5.25 EOF