← suite examples

sympy-refine

suite examples · 2026-10-13 16:38:59 · CAS sympy 1.14.0, mode fork · machine pi5 · dialect sympy · case set 03f5149718d0

By category

old report format (graded with a combined score): its nulls are shown as no verdict, because an old report cannot tell a correct decline on a contingent case from no verdict

categorynsolvedwrongdeclined correctlyno verdicttimeoutunsupported
branch-cuts5200300
conventions2000200
log-exp2200000
parity5400100
primes2000200
radicals6400200
sign5200300
trig2000200
total2914001500

Setup (run once per start, not counted in the per-query times)

measured setup time: 0.35 s

setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
sympysympy.__version__→1.14.0
warm-uprefine(Abs(W), Q.positive(W))→W

Cases

casecategoryoutcomequery (as sent)answersteps (from the trace)sdetail
demo-atan2-01 truebranch-cutssolvedQ.real(x) ∧ Q.real(y) ∧ Q.positive(x) ⊢ Eq(atan2(y, x), atan((y/x)))truedifference → -atan(y/x) + atan2(y, x) · refine → 00.043true
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
x = Symbol('x', real=True)
y = Symbol('y', real=True)
Assum = And(Q.real(x), Q.real(y), Q.positive(x))
Residual = atan2(y, x) - atan(y / x)
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differenceatan2(y, x) - atan(y / x)→-atan(y/x) + atan2(y, x)
refinerefine(Residual, Assum)→0
answertrue
demo-atan2-02 falsebranch-cutssolvedQ.real(x) ∧ Q.real(y) ∧ Q.negative(x) ∧ Q.positive(y) ⊢ Eq(atan2(y, x), atan((y/x)))falsedifference → -atan(y/x) + atan2(y, x) · refine → pi0.046false
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
x = Symbol('x', real=True)
y = Symbol('y', real=True)
Assum = And(Q.real(x), Q.real(y), Q.negative(x), Q.positive(y))
Residual = atan2(y, x) - atan(y / x)
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differenceatan2(y, x) - atan(y / x)→-atan(y/x) + atan2(y, x)
refinerefine(Residual, Assum)→pi
answerfalse
demo-log-01 truebranch-cutsno verdictQ.real(x) ∧ Q.real(y) ∧ Q.positive(x) ∧ Q.positive(y) ⊢ Eq(log((x*y)), (log(x) + log(y)))nulldifference → -log(x) - log(y) + log(x*y) · refine → -log(x) - log(y) + log(x*y)0.043null
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
x = Symbol('x', real=True)
y = Symbol('y', real=True)
Assum = And(Q.real(x), Q.real(y), Q.positive(x), Q.positive(y))
Residual = log(x * y) - (log(x) + log(y))
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differencelog(x * y) - (log(x) + log(y))→-log(x) - log(y) + log(x*y)
refinerefine(Residual, Assum)→-log(x) - log(y) + log(x*y)
answernull
demo-log-02 contingentbranch-cutsno verdictQ.complex(z) ∧ Q.complex(w) ∧ (~Q.zero(z)) ∧ (~Q.zero(w)) ⊢ Eq(log((z*w)), (log(z) + log(w)))nulldifference → -log(w) - log(z) + log(w*z) · refine → -log(w) - log(z) + log(w*z)0.046null
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
z = Symbol('z', complex=True)
w = Symbol('w', complex=True)
Assum = And(Q.complex(z), Q.complex(w), ~Q.zero(z), ~Q.zero(w))
Residual = log(z * w) - (log(z) + log(w))
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differencelog(z * w) - (log(z) + log(w))→-log(w) - log(z) + log(w*z)
refinerefine(Residual, Assum)→-log(w) - log(z) + log(w*z)
answernull
demo-log-03 falsebranch-cutsno verdictQ.real(x) ∧ Q.negative(x) ⊢ Eq(log(x), log((-x)))nulldifference → -log(-x) + log(x) · refine → -log(-x) + log(x)0.041null
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
x = Symbol('x', real=True)
Assum = And(Q.real(x), Q.negative(x))
Residual = log(x) - log(-x)
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differencelog(x) - log(-x)→-log(-x) + log(x)
refinerefine(Residual, Assum)→-log(-x) + log(x)
answernull
demo-acot-01 trueconventionsno verdictQ.real(x) ∧ Q.positive(x) ⊢ Eq(acot(x), atan((1/x)))nulldifference → acot(x) - atan(1/x) · refine → acot(x) - atan(1/x)0.038null
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
x = Symbol('x', real=True)
Assum = And(Q.real(x), Q.positive(x))
Residual = acot(x) - atan(1 / x)
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differenceacot(x) - atan(1 / x)→acot(x) - atan(1/x)
refinerefine(Residual, Assum)→acot(x) - atan(1/x)
answernull
demo-heaviside-01 trueconventionsno verdictQ.real(x) ∧ (~Q.zero(x)) ⊢ Eq((Heaviside(x) + Heaviside((-x))), 1)nulldifference → Heaviside(-x) + Heaviside(x) - 1 · refine → Heaviside(-x) + Heaviside(x) - 10.036null
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
x = Symbol('x', real=True)
Assum = And(Q.real(x), ~Q.zero(x))
Residual = Heaviside(x) + Heaviside(-x) - 1
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differenceHeaviside(x) + Heaviside(-x) - 1→Heaviside(-x) + Heaviside(x) - 1
refinerefine(Residual, Assum)→Heaviside(-x) + Heaviside(x) - 1
answernull
demo-eq-log-01 truelog-expsolvedQ.real(x) ∧ Q.positive(x) ⊢ Eq(log(exp(x)), x)truedifference → 0 · refine → 00.034true
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
x = Symbol('x', real=True)
Assum = And(Q.real(x), Q.positive(x))
Residual = log(exp(x)) - x
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differencelog(exp(x)) - x→0
refinerefine(Residual, Assum)→0
answertrue
demo-eq-pow-01 truelog-expsolvedQ.integer(n) ⊢ Eq(Pow((-1), (2*n)), 1)truedifference → 0 · refine → 00.008true
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
n = Symbol('n', integer=True)
Assum = And(Q.integer(n))
Residual = Pow(-1, 2 * n) - 1
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differencePow(-1, 2 * n) - 1→0
refinerefine(Residual, Assum)→0
answertrue
demo-parity-01 trueparitysolvedQ.integer(n) ∧ Q.odd(n) ⊢ Eq(Pow((-1), (n + 1)), 1)truedifference → (-1)**(n + 1) - 1 · refine → 00.041true
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
n = Symbol('n', integer=True)
Assum = And(Q.integer(n), Q.odd(n))
Residual = Pow(-1, n + 1) - 1
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differencePow(-1, n + 1) - 1→(-1)**(n + 1) - 1
refinerefine(Residual, Assum)→0
answertrue
demo-parity-02 falseparitysolvedQ.integer(n) ∧ Q.integer(m) ∧ Q.odd(n) ∧ Q.odd(m) ⊢ Eq(Pow((-1), (n*m)), 1)falsedifference → (-1)**(m*n) - 1 · refine → -20.051false
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
n = Symbol('n', integer=True)
m = Symbol('m', integer=True)
Assum = And(Q.integer(n), Q.integer(m), Q.odd(n), Q.odd(m))
Residual = Pow(-1, n * m) - 1
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differencePow(-1, n * m) - 1→(-1)**(m*n) - 1
refinerefine(Residual, Assum)→-2
answerfalse
demo-parity-03 trueparitysolvedQ.integer(n) ⊢ Eq(Pow((-1), (n*(n + 1))), 1)truedifference → 0 · refine → 00.036true
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
n = Symbol('n', integer=True)
Assum = And(Q.integer(n))
Residual = Pow(-1, n * (n + 1)) - 1
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differencePow(-1, n * (n + 1)) - 1→0
refinerefine(Residual, Assum)→0
answertrue
demo-parity-04 contingentparityno verdictQ.integer(n) ∧ Q.even(n) ⊢ Eq(Pow(I, n), 1)nulldifference → I**n - 1 · refine → I**n - 10.037null
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
n = Symbol('n', integer=True)
Assum = And(Q.integer(n), Q.even(n))
Residual = Pow(I, n) - 1
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differencePow(I, n) - 1→I**n - 1
refinerefine(Residual, Assum)→I**n - 1
answernull
demo-parity-05 trueparitysolvedQ.integer(n) ∧ Q.integer(m) ∧ Q.odd(n) ∧ Q.odd(m) ⊢ Eq(Pow((-1), (n*m)), (-1))truedifference → (-1)**(m*n) + 1 · refine → 00.051true
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
n = Symbol('n', integer=True)
m = Symbol('m', integer=True)
Assum = And(Q.integer(n), Q.integer(m), Q.odd(n), Q.odd(m))
Residual = Pow(-1, n * m) - (-1)
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differencePow(-1, n * m) - (-1)→(-1)**(m*n) + 1
refinerefine(Residual, Assum)→0
answertrue
demo-prime-01 trueprimesno verdictQ.integer(p) ∧ Q.prime(p) ∧ (p > 2) ⊢ Eq(Pow((-1), p), (-1))nulldifference → (-1)**p + 1 · refine → (-1)**p + 10.057null
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
p = Symbol('p', integer=True)
Assum = And(Q.integer(p), Q.prime(p), p > 2)
Residual = Pow(-1, p) - (-1)
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differencePow(-1, p) - (-1)→(-1)**p + 1
refinerefine(Residual, Assum)→(-1)**p + 1
answernull
demo-prime-02 contingentprimesno verdictQ.integer(p) ∧ Q.prime(p) ⊢ Eq(Pow((-1), p), (-1))nulldifference → (-1)**p + 1 · refine → (-1)**p + 10.05null
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
p = Symbol('p', integer=True)
Assum = And(Q.integer(p), Q.prime(p))
Residual = Pow(-1, p) - (-1)
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differencePow(-1, p) - (-1)→(-1)**p + 1
refinerefine(Residual, Assum)→(-1)**p + 1
answernull
demo-eq-abs-01 trueradicalssolvedQ.real(x) ∧ Q.negative(x) ⊢ Eq(Abs(x), (-x))truedifference → x + Abs(x) · refine → 00.038true
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
x = Symbol('x', real=True)
Assum = And(Q.real(x), Q.negative(x))
Residual = Abs(x) - (-x)
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differenceAbs(x) - (-x)→x + Abs(x)
refinerefine(Residual, Assum)→0
answertrue
demo-eq-abs-02 falseradicalsno verdictQ.real(x) ∧ Q.negative(x) ⊢ Eq(Abs(x), x)nulldifference → -x + Abs(x) · refine → -2*x0.038null
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
x = Symbol('x', real=True)
Assum = And(Q.real(x), Q.negative(x))
Residual = Abs(x) - x
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differenceAbs(x) - x→-x + Abs(x)
refinerefine(Residual, Assum)→-2*x
answernull
demo-eq-sqrt-01 trueradicalssolvedQ.real(x) ∧ Q.positive(x) ⊢ Eq(sqrt(Pow(x, 2)), x)truedifference → -x + Abs(x) · refine → 00.038true
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
x = Symbol('x', real=True)
Assum = And(Q.real(x), Q.positive(x))
Residual = sqrt(Pow(x, 2)) - x
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differencesqrt(Pow(x, 2)) - x→-x + Abs(x)
refinerefine(Residual, Assum)→0
answertrue
demo-eq-sqrt-02 trueradicalssolvedQ.real(x) ⊢ Eq(sqrt(Pow(x, 2)), Abs(x))truedifference → 0 · refine → 00.034true
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
x = Symbol('x', real=True)
Assum = And(Q.real(x))
Residual = sqrt(Pow(x, 2)) - Abs(x)
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differencesqrt(Pow(x, 2)) - Abs(x)→0
refinerefine(Residual, Assum)→0
answertrue
demo-eq-sqrt-03 contingentradicalsno verdictQ.real(x) ⊢ Eq(sqrt(Pow(x, 2)), x)nulldifference → -x + Abs(x) · refine → -x + Abs(x)0.046null
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
x = Symbol('x', real=True)
Assum = And(Q.real(x))
Residual = sqrt(Pow(x, 2)) - x
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differencesqrt(Pow(x, 2)) - x→-x + Abs(x)
refinerefine(Residual, Assum)→-x + Abs(x)
answernull
demo-eq-sqrt-04 falseradicalssolvedQ.real(x) ∧ Q.positive(x) ⊢ Eq((sqrt(Pow(x, 2)) + 1), x)falsedifference → -x + Abs(x) + 1 · refine → 10.038false
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
x = Symbol('x', real=True)
Assum = And(Q.real(x), Q.positive(x))
Residual = sqrt(Pow(x, 2)) + 1 - x
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differencesqrt(Pow(x, 2)) + 1 - x→-x + Abs(x) + 1
refinerefine(Residual, Assum)→1
answerfalse
demo-nonzero-01 truesignno verdictQ.complex(z) ∧ Q.imaginary(z) ⊢ Eq(Abs(sign(z)), 1)nulldifference → Abs(sign(z)) - 1 · refine → Abs(sign(z)) - 10.046null
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
z = Symbol('z', complex=True)
Assum = And(Q.complex(z), Q.imaginary(z))
Residual = Abs(sign(z)) - 1
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differenceAbs(sign(z)) - 1→Abs(sign(z)) - 1
refinerefine(Residual, Assum)→Abs(sign(z)) - 1
answernull
demo-sign-02 truesignsolvedQ.real(x) ∧ (~Q.zero(x)) ⊢ Eq(sign(Pow(x, 2)), 1)truedifference → sign(x**2) - 1 · refine → 00.066true
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
x = Symbol('x', real=True)
Assum = And(Q.real(x), ~Q.zero(x))
Residual = sign(Pow(x, 2)) - 1
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differencesign(Pow(x, 2)) - 1→sign(x**2) - 1
refinerefine(Residual, Assum)→0
answertrue
demo-sign-03 contingentsignno verdictQ.complex(x) ∧ (~Q.zero(x)) ⊢ Eq(sign(Pow(x, 2)), 1)nulldifference → sign(x**2) - 1 · refine → sign(x**2) - 10.079null
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
x = Symbol('x', complex=True)
Assum = And(Q.complex(x), ~Q.zero(x))
Residual = sign(Pow(x, 2)) - 1
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differencesign(Pow(x, 2)) - 1→sign(x**2) - 1
refinerefine(Residual, Assum)→sign(x**2) - 1
answernull
demo-sign-04 truesignno verdictQ.complex(z) ⊢ Eq(Abs((z*conjugate(z))), (z*conjugate(z)))nulldifference → -z*conjugate(z) + Abs(z*conjugate(z)) · refine → -z*conjugate(z) + Abs(z**2)0.088null
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
z = Symbol('z', complex=True)
Assum = And(Q.complex(z))
Residual = Abs(z * conjugate(z)) - (z * conjugate(z))
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differenceAbs(z * conjugate(z)) - (z * conjugate(z))→-z*conjugate(z) + Abs(z*conjugate(z))
refinerefine(Residual, Assum)→-z*conjugate(z) + Abs(z**2)
answernull
demo-sign-05 truesignsolvedQ.real(x) ∧ Q.real(y) ∧ Q.positive(x) ∧ Q.negative(y) ⊢ Eq(Abs((x - y)), (x - y))truedifference → -x + y + Abs(x - y) · refine → 00.065true
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
x = Symbol('x', real=True)
y = Symbol('y', real=True)
Assum = And(Q.real(x), Q.real(y), Q.positive(x), Q.negative(y))
Residual = Abs(x - y) - (x - y)
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differenceAbs(x - y) - (x - y)→-x + y + Abs(x - y)
refinerefine(Residual, Assum)→0
answertrue
demo-eq-trig-01 truetrigno verdictQ.complex(x) ⊢ Eq((Pow(sin(x), 2) + Pow(cos(x), 2)), 1)nulldifference → sin(x)**2 + cos(x)**2 - 1 · refine → sin(x)**2 + cos(x)**2 - 10.047null
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
x = Symbol('x', complex=True)
Assum = And(Q.complex(x))
Residual = Pow(sin(x), 2) + Pow(cos(x), 2) - 1
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
differencePow(sin(x), 2) + Pow(cos(x), 2) - 1→sin(x)**2 + cos(x)**2 - 1
refinerefine(Residual, Assum)→sin(x)**2 + cos(x)**2 - 1
answernull
demo-eq-trig-02 truetrigno verdictQ.complex(x) ⊢ Eq((2*sin(x)*cos(x)), sin((2*x)))nulldifference → 2*sin(x)*cos(x) - sin(2*x) · refine → 2*sin(x)*cos(x) - sin(2*x)0.037null
code
setup — not timed
from sympy import *
import sympy

SympyVersion = sympy.__version__
# warm-up: a fixed generic expression, never case content
W = Symbol('W')
Warmup = refine(Abs(W), Q.positive(W))
# every query then runs in its own forked process, starting from this state:
# the expression caches are dropped (imported and lazily loaded modules stay)
sympy.core.cache.clear_cache()
x = Symbol('x', complex=True)
Assum = And(Q.complex(x))
Residual = 2 * sin(x) * cos(x) - sin(2 * x)
Result = refine(Residual, Assum)
# true iff the result is 0; false only if it is a definite nonzero number
Answer = True if Result == 0 else False if (Result.is_number and Result.is_finite and Result.is_zero is False) else None
print(Result, Answer, sep='\n')
difference2 * sin(x) * cos(x) - sin(2 * x)→2*sin(x)*cos(x) - sin(2*x)
refinerefine(Residual, Assum)→2*sin(x)*cos(x) - sin(2*x)
answernull