sign
Case set df65d778fc5c
demo-nonzero-01
the two sides are equal at every admissible point
|sign z| = 1 says z != 0. Trap: SymPy's Q.nonzero means real-and-nonzero; our nonzero does not.
(case demo-nonzero-01 (category sign) (note "|sign z| = 1 says z != 0. Trap: SymPy's Q.nonzero means real-and-nonzero; our nonzero does not.") (var z complex) (assume (imaginary z)) (ask (= (abs (sign z)) 1)) (expect true))
demo-sign-02
the two sides are equal at every admissible point
(case demo-sign-02 (category sign) (var x real) (assume (nonzero x)) (ask (= (sign (pow x 2)) 1)) (expect true))
demo-sign-03
equal at some admissible points, different at others
witness (true): \(x = 1\)
witness (false): \(x = i\)
Same as demo-sign-02 but x is complex: sign(1^2) = 1, but sign(i^2) = -1.
(case demo-sign-03 (category sign) (note "Same as demo-sign-02 but x is complex: sign(1^2) = 1, but sign(i^2) = -1.") (var x complex) (assume (nonzero x)) (ask (= (sign (pow x 2)) 1)) (expect contingent) (witness true (x 1)) (witness false (x i)))
demo-sign-04
the two sides are equal at every admissible point
z conj(z) = |z|^2 is a nonnegative real, so it equals its absolute value.
(case demo-sign-04 (category sign) (note "z conj(z) = |z|^2 is a nonnegative real, so it equals its absolute value.") (var z complex) (ask (= (abs (* z (conj z))) (* z (conj z)))) (expect true))
demo-sign-05
the two sides are equal at every admissible point
(case demo-sign-05 (category sign) (var x real) (var y real) (assume (positive x)) (assume (negative y)) (ask (= (abs (- x y)) (- x y))) (expect true))
Case set 03f5149718d0
demo-nonzero-01
the two sides are equal at every admissible point
|sign z| = 1 says z != 0. Trap: SymPy's Q.nonzero means real-and-nonzero; our nonzero does not.
(case demo-nonzero-01 (category sign) (note "|sign z| = 1 says z != 0. Trap: SymPy's Q.nonzero means real-and-nonzero; our nonzero does not.") (var z complex) (assume (imaginary z)) (ask (= (abs (sign z)) 1)) (expect true))
demo-sign-02
the two sides are equal at every admissible point
(case demo-sign-02 (category sign) (var x real) (assume (nonzero x)) (ask (= (sign (pow x 2)) 1)) (expect true))
demo-sign-03
equal at some admissible points, different at others
witness (true): \(x = 1\)
witness (false): \(x = i\)
Same as demo-sign-02 but x is complex: sign(1^2) = 1, but sign(i^2) = -1.
(case demo-sign-03 (category sign) (note "Same as demo-sign-02 but x is complex: sign(1^2) = 1, but sign(i^2) = -1.") (var x complex) (assume (nonzero x)) (ask (= (sign (pow x 2)) 1)) (expect contingent) (witness true (x 1)) (witness false (x i)))
demo-sign-04
the two sides are equal at every admissible point
z conj(z) = |z|^2 is a nonnegative real, so it equals its absolute value.
(case demo-sign-04 (category sign) (note "z conj(z) = |z|^2 is a nonnegative real, so it equals its absolute value.") (var z complex) (ask (= (abs (* z (conj z))) (* z (conj z)))) (expect true))
demo-sign-05
the two sides are equal at every admissible point
(case demo-sign-05 (category sign) (var x real) (var y real) (assume (positive x)) (assume (negative y)) (ask (= (abs (- x y)) (- x y))) (expect true))
Case set d7af4def9aaa
demo-nonzero-01
the two sides are equal at every admissible point
|sign z| = 1 says z != 0. Trap: SymPy's Q.nonzero means real-and-nonzero; our nonzero does not.
(case demo-nonzero-01 (category sign) (note "|sign z| = 1 says z != 0. Trap: SymPy's Q.nonzero means real-and-nonzero; our nonzero does not.") (var z complex) (assume (imaginary z)) (ask (= (abs (sign z)) 1)) (expect true))
demo-sign-02
the two sides are equal at every admissible point
(case demo-sign-02 (category sign) (var x real) (assume (nonzero x)) (ask (= (sign (pow x 2)) 1)) (expect true))
demo-sign-03
equal at some admissible points, different at others
witness (true): \(x = 1\)
witness (false): \(x = i\)
Same as demo-sign-02 but x is complex: sign(1^2) = 1, but sign(i^2) = -1.
(case demo-sign-03 (category sign) (note "Same as demo-sign-02 but x is complex: sign(1^2) = 1, but sign(i^2) = -1.") (var x complex) (assume (nonzero x)) (ask (= (sign (pow x 2)) 1)) (expect contingent) (witness true (x 1)) (witness false (x i)))
demo-sign-04
the two sides are equal at every admissible point
z conj(z) = |z|^2 is a nonnegative real, so it equals its absolute value.
(case demo-sign-04 (category sign) (note "z conj(z) = |z|^2 is a nonnegative real, so it equals its absolute value.") (var z complex) (ask (= (abs (* z (conj z))) (* z (conj z)))) (expect true))
demo-sign-05
the two sides are equal at every admissible point