← suite trig

sympy-refine

suite trig · 2026-10-12 20:21:45 · CAS sympy 1.15.0.dev, mode fork · machine pi5 · dialect sympy · case set 45d6b9056f06

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
identities5000500
inverse4000400
periodicity4100300
total131001200

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

measured setup time: 0.415 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.15.0.dev
warm-uprefine(Abs(W), Q.positive(W))→W

Cases

casecategoryoutcomequery (as sent)answersteps (from the trace)sdetail
trig-double-01 trueidentitiesno verdictQ.complex(z) ⊢ Eq(sin((2*z)), (2*(sin(z)*cos(z))))nulldifference → -2*sin(z)*cos(z) + sin(2*z) · refine → -2*sin(z)*cos(z) + sin(2*z)0.055null
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 = sin(2 * z) - (2 * (sin(z) * cos(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')
differencesin(2 * z) - (2 * (sin(z) * cos(z)))→-2*sin(z)*cos(z) + sin(2*z)
refinerefine(Residual, Assum)→-2*sin(z)*cos(z) + sin(2*z)
answernull
trig-double-02 falseidentitiesno verdictQ.real(x) ∧ Q.positive(x) ∧ (x < 1) ⊢ Eq(sin((2*x)), (2*sin(x)))nulldifference → -2*sin(x) + sin(2*x) · refine → -2*sin(x) + sin(2*x)0.044null
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), x < 1)
Residual = sin(2 * x) - (2 * sin(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')
differencesin(2 * x) - (2 * sin(x))→-2*sin(x) + sin(2*x)
refinerefine(Residual, Assum)→-2*sin(x) + sin(2*x)
answernull
trig-pyth-01 trueidentitiesno verdictQ.complex(z) ⊢ Eq(((sin(z)*sin(z)) + (cos(z)*cos(z))), 1)nulldifference → sin(z)**2 + cos(z)**2 - 1 · refine → sin(z)**2 + cos(z)**2 - 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()
z = Symbol('z', complex=True)
Assum = And(Q.complex(z))
Residual = sin(z) * sin(z) + cos(z) * cos(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')
differencesin(z) * sin(z) + cos(z) * cos(z) - 1→sin(z)**2 + cos(z)**2 - 1
refinerefine(Residual, Assum)→sin(z)**2 + cos(z)**2 - 1
answernull
trig-sqrt-01 contingentidentitiesno verdictQ.real(x) ⊢ Eq(sqrt((1 - (sin(x)*sin(x)))), cos(x))nulldifference → sqrt(1 - sin(x)**2) - cos(x) · refine → sqrt(1 - sin(x)**2) - cos(x)0.048null
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(1 - sin(x) * sin(x)) - cos(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(1 - sin(x) * sin(x)) - cos(x)→sqrt(1 - sin(x)**2) - cos(x)
refinerefine(Residual, Assum)→sqrt(1 - sin(x)**2) - cos(x)
answernull
trig-tan-01 trueidentitiesno verdictQ.real(x) ∧ (~Q.zero(cos(x))) ⊢ Eq(tan(x), (sin(x)/cos(x)))nulldifference → -sin(x)/cos(x) + tan(x) · refine → -sin(x)/cos(x) + tan(x)0.048null
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(cos(x)))
Residual = tan(x) - (sin(x) / cos(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')
differencetan(x) - (sin(x) / cos(x))→-sin(x)/cos(x) + tan(x)
refinerefine(Residual, Assum)→-sin(x)/cos(x) + tan(x)
answernull
trig-acos-01 trueinverseno verdictQ.real(x) ∧ Q.positive(x) ∧ (x < 3) ⊢ Eq(acos(cos(x)), x)nulldifference → -x + acos(cos(x)) · refine → -x + acos(cos(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.positive(x), x < 3)
Residual = acos(cos(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')
differenceacos(cos(x)) - x→-x + acos(cos(x))
refinerefine(Residual, Assum)→-x + acos(cos(x))
answernull
trig-asin-01 contingentinverseno verdictQ.real(x) ⊢ Eq(asin(sin(x)), x)nulldifference → -x + asin(sin(x)) · refine → -x + asin(sin(x))0.042null
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 = asin(sin(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')
differenceasin(sin(x)) - x→-x + asin(sin(x))
refinerefine(Residual, Assum)→-x + asin(sin(x))
answernull
trig-asin-02 trueinverseno verdictQ.real(x) ∧ (x > (-1)) ∧ (x < 1) ⊢ Eq(asin(sin(x)), x)nulldifference → -x + asin(sin(x)) · refine → -x + asin(sin(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), x > -1, x < 1)
Residual = asin(sin(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')
differenceasin(sin(x)) - x→-x + asin(sin(x))
refinerefine(Residual, Assum)→-x + asin(sin(x))
answernull
trig-atan-01 trueinverseno verdictQ.real(x) ∧ (x > (-1)) ∧ (x < 1) ⊢ Eq(atan(tan(x)), x)nulldifference → -x + atan(tan(x)) · refine → -x + atan(tan(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), x > -1, x < 1)
Residual = atan(tan(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')
differenceatan(tan(x)) - x→-x + atan(tan(x))
refinerefine(Residual, Assum)→-x + atan(tan(x))
answernull
trig-period-01 trueperiodicitysolvedQ.complex(z) ⊢ Eq(sin((z + (2*pi))), sin(z))truedifference → 0 · 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()
z = Symbol('z', complex=True)
Assum = And(Q.complex(z))
Residual = sin(z + 2 * pi) - sin(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')
differencesin(z + 2 * pi) - sin(z)→0
refinerefine(Residual, Assum)→0
answertrue
trig-period-02 contingentperiodicityno verdictQ.real(x) ⊢ Eq(cos((x + pi)), cos(x))nulldifference → -2*cos(x) · refine → -2*cos(x)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)
Assum = And(Q.real(x))
Residual = cos(x + pi) - cos(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')
differencecos(x + pi) - cos(x)→-2*cos(x)
refinerefine(Residual, Assum)→-2*cos(x)
answernull
trig-period-03 contingentperiodicityno verdictQ.real(x) ∧ Q.positive(x) ⊢ Eq(cos((x + pi)), cos(x))nulldifference → -2*cos(x) · refine → -2*cos(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.positive(x))
Residual = cos(x + pi) - cos(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')
differencecos(x + pi) - cos(x)→-2*cos(x)
refinerefine(Residual, Assum)→-2*cos(x)
answernull
trig-shift-01 contingentperiodicityno verdictQ.real(x) ⊢ Eq(sin((x + pi)), sin(x))nulldifference → -2*sin(x) · refine → -2*sin(x)0.042null
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 = sin(x + pi) - sin(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')
differencesin(x + pi) - sin(x)→-2*sin(x)
refinerefine(Residual, Assum)→-2*sin(x)
answernull