parity
Case set df65d778fc5c
demo-parity-01
the two sides are equal at every admissible point
(case demo-parity-01 (category parity) (var n integer) (assume (odd n)) (ask (= (pow -1 (+ n 1)) 1)) (expect true))
demo-parity-02
the two sides differ at every admissible point
witness (false): \(n = 1, m = 3\)
n m is odd, so (-1)^(n m) = -1: the difference is the constant -2.
(case demo-parity-02 (category parity) (note "n m is odd, so (-1)^(n m) = -1: the difference is the constant -2.") (var n integer) (var m integer) (assume (odd n)) (assume (odd m)) (ask (= (pow -1 (* n m)) 1)) (expect false) (witness false (n 1) (m 3)))
demo-parity-03
the two sides are equal at every admissible point
(case demo-parity-03 (category parity) (var n integer) (ask (= (pow -1 (* n (+ n 1))) 1)) (expect true))
demo-parity-04
equal at some admissible points, different at others
witness (true): \(n = 4\)
witness (false): \(n = 2\)
i^n = (-1)^(n/2) for even n. Written with (pow -1 (/ n 2)) it hits a SymPy 1.14 bug: ask(Q.zero((-1)**(k/2) - 1), Q.integer(k)) is False, though k = 4 gives 0.
(case demo-parity-04 (category parity) (note "i^n = (-1)^(n/2) for even n. Written with (pow -1 (/ n 2)) it hits a SymPy 1.14 bug: ask(Q.zero((-1)**(k/2) - 1), Q.integer(k)) is False, though k = 4 gives 0.") (var n integer) (assume (even n)) (ask (= (pow i n) 1)) (expect contingent) (witness true (n 4)) (witness false (n 2)))
demo-parity-05
the two sides are equal at every admissible point
(case demo-parity-05 (category parity) (var n integer) (var m integer) (assume (odd n)) (assume (odd m)) (ask (= (pow -1 (* n m)) -1)) (expect true))
Case set 03f5149718d0
demo-parity-01
the two sides are equal at every admissible point
(case demo-parity-01 (category parity) (var n integer) (assume (odd n)) (ask (= (pow -1 (+ n 1)) 1)) (expect true))
demo-parity-02
the two sides differ at every admissible point
witness (false): \(n = 1, m = 3\)
n m is odd, so (-1)^(n m) = -1: the difference is the constant -2.
(case demo-parity-02 (category parity) (note "n m is odd, so (-1)^(n m) = -1: the difference is the constant -2.") (var n integer) (var m integer) (assume (odd n)) (assume (odd m)) (ask (= (pow -1 (* n m)) 1)) (expect false) (witness false (n 1) (m 3)))
demo-parity-03
the two sides are equal at every admissible point
(case demo-parity-03 (category parity) (var n integer) (ask (= (pow -1 (* n (+ n 1))) 1)) (expect true))
demo-parity-04
equal at some admissible points, different at others
witness (true): \(n = 4\)
witness (false): \(n = 2\)
i^n = (-1)^(n/2) for even n. Written with (pow -1 (/ n 2)) it hits a SymPy 1.14 bug: ask(Q.zero((-1)**(k/2) - 1), Q.integer(k)) is False, though k = 4 gives 0.
(case demo-parity-04 (category parity) (note "i^n = (-1)^(n/2) for even n. Written with (pow -1 (/ n 2)) it hits a SymPy 1.14 bug: ask(Q.zero((-1)**(k/2) - 1), Q.integer(k)) is False, though k = 4 gives 0.") (var n integer) (assume (even n)) (ask (= (pow i n) 1)) (expect contingent) (witness true (n 4)) (witness false (n 2)))
demo-parity-05
the two sides are equal at every admissible point
(case demo-parity-05 (category parity) (var n integer) (var m integer) (assume (odd n)) (assume (odd m)) (ask (= (pow -1 (* n m)) -1)) (expect true))
Case set d7af4def9aaa
demo-parity-01
the two sides are equal at every admissible point
(case demo-parity-01 (category parity) (var n integer) (assume (odd n)) (ask (= (pow -1 (+ n 1)) 1)) (expect true))
demo-parity-02
the two sides differ at every admissible point
witness (false): \(n = 1, m = 3\)
n m is odd, so (-1)^(n m) = -1: the difference is the constant -2.
(case demo-parity-02 (category parity) (note "n m is odd, so (-1)^(n m) = -1: the difference is the constant -2.") (var n integer) (var m integer) (assume (odd n)) (assume (odd m)) (ask (= (pow -1 (* n m)) 1)) (expect false) (witness false (n 1) (m 3)))
demo-parity-03
the two sides are equal at every admissible point
(case demo-parity-03 (category parity) (var n integer) (ask (= (pow -1 (* n (+ n 1))) 1)) (expect true))
demo-parity-04
equal at some admissible points, different at others
witness (true): \(n = 4\)
witness (false): \(n = 2\)
i^n = (-1)^(n/2) for even n. Written with (pow -1 (/ n 2)) it hits a SymPy 1.14 bug: ask(Q.zero((-1)**(k/2) - 1), Q.integer(k)) is False, though k = 4 gives 0.
(case demo-parity-04 (category parity) (note "i^n = (-1)^(n/2) for even n. Written with (pow -1 (/ n 2)) it hits a SymPy 1.14 bug: ask(Q.zero((-1)**(k/2) - 1), Q.integer(k)) is False, though k = 4 gives 0.") (var n integer) (assume (even n)) (ask (= (pow i n) 1)) (expect contingent) (witness true (n 4)) (witness false (n 2)))
demo-parity-05
the two sides are equal at every admissible point