x sQuotRem 0 = (0, x) x sDivMod 0 = (0, x)Note that our instances implement this law even when x is 0 itself. NB. quot truncates toward zero, while div truncates toward negative infinity.
>>> allSat $ \x y -> x `bvDivO` (y::SInt8) Solution #1: s0 = -128 :: Int8 s1 = -1 :: Int8 This is the only solution.
>>> notDiv3 Lemma: notDiv3 Step: 1 (3 way case split) Step: 1.1 Q.E.D. Step: 1.2 Q.E.D. Step: 1.3 Q.E.D. Step: 1.Completeness Q.E.D. Result: Q.E.D. [Proven] notDiv3 :: Ɐn ∷ Integer → Bool
>>> runCached powerOfThreeMod13VarDivisor Inductive lemma: onePower Step: Base Q.E.D. Step: 1 (unfold power) Q.E.D. Step: 2 Q.E.D. Result: Q.E.D. Inductive lemma: modAddMultiple Step: Base Q.E.D. Step: 1 Q.E.D. Step: 2 Q.E.D. Step: 3 Q.E.D. Result: Q.E.D. Lemma: modAddRight Step: 1 Q.E.D. Step: 2 Q.E.D. Result: Q.E.D. Lemma: modAddLeft Step: 1 Q.E.D. Step: 2 Q.E.D. Step: 3 Q.E.D. Result: Q.E.D. Cached: modAddMultiple Q.E.D. Cached: modAddRight Q.E.D. Inductive lemma: modMulRightNonneg Step: Base Q.E.D. Step: 1 Q.E.D. Step: 2 Q.E.D. Step: 3 Q.E.D. Step: 4 Q.E.D. Step: 5 Q.E.D. Step: 6 Q.E.D. Result: Q.E.D. Cached: modAddMultiple Q.E.D. Cached: modAddRight Q.E.D. Cached: modAddLeft Q.E.D. Cached: modAddMultiple Q.E.D. Lemma: modSubRight Step: 1 Q.E.D. Step: 2 Q.E.D. Step: 3 Q.E.D. Result: Q.E.D. Inductive lemma: modMulRightNeg Step: Base Q.E.D. Step: 1 Q.E.D. Step: 2 Q.E.D. Step: 3 Q.E.D. Step: 4 Q.E.D. Step: 5 Q.E.D. Step: 6 Q.E.D. Result: Q.E.D. Lemma: modMulRight Step: 1 (2 way case split) Step: 1.1 Q.E.D. Step: 1.2.1 Q.E.D. Step: 1.2.2 Q.E.D. Step: 1.2.3 Q.E.D. Step: 1.Completeness Q.E.D. Result: Q.E.D. Lemma: modMulLeft Step: 1 Q.E.D. Step: 2 Q.E.D. Step: 3 Q.E.D. Result: Q.E.D. Cached: modAddMultiple Q.E.D. Cached: modAddRight Q.E.D. Cached: modAddLeft Q.E.D. Cached: modAddMultiple Q.E.D. Cached: modAddRight Q.E.D. Cached: modMulRightNonneg Q.E.D. Cached: modAddMultiple Q.E.D. Cached: modAddRight Q.E.D. Cached: modAddLeft Q.E.D. Cached: modAddMultiple Q.E.D. Cached: modSubRight Q.E.D. Cached: modMulRightNeg Q.E.D. Cached: modMulRight Q.E.D. Inductive lemma: powerModInduct Step: Base Q.E.D. Step: 1 Q.E.D. Step: 2 Q.E.D. Step: 3 Q.E.D. Step: 4 Q.E.D. Step: 5 Q.E.D. Step: 6 Q.E.D. Result: Q.E.D. Lemma: powerMod Q.E.D. Lemma: powerOf27 Step: 1 Q.E.D. Step: 2 Q.E.D. Step: 3 Q.E.D. Step: 4 Q.E.D. Result: Q.E.D. Lemma: powerOfThreeMod13VarDivisor Step: 1 Q.E.D. Result: Q.E.D. [Proven. Cached: modAddLeft, modAddMultiple, modAddRight, modMulRight] powerOfThreeMod13VarDivisor :: Ɐn ∷ Integer → Ɐm ∷ Integer → Bool