{
  "version": "2026.09.26-1",
  "checkedAt": "2026-09-26",
  "tolerance": {
    "rel": 1e-9,
    "abs": 1e-9
  },
  "samples": 800,
  "minValidSamples": 500,
  "counts": {
    "identities": 44,
    "examples": 28,
    "pythagorean": 3,
    "reciprocal-and-quotient": 5,
    "cofunction": 6,
    "sum-and-difference": 7,
    "product-to-sum": 4,
    "sum-to-product": 4,
    "triangle": 1,
    "double-angle": 5,
    "half-angle": 5,
    "power-reducing": 4
  },
  "verification": [
    {
      "id": "pythagorean-1",
      "display": "sin²θ + cos²θ = 1",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "pythagorean-2",
      "display": "1 + tan²θ = sec²θ",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "pythagorean-3",
      "display": "1 + cot²θ = csc²θ",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "reciprocal-csc",
      "display": "csc θ = 1/sin θ",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "reciprocal-sec",
      "display": "sec θ = 1/cos θ",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "reciprocal-cot",
      "display": "cot θ = 1/tan θ",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "quotient-tan",
      "display": "tan θ = sin θ / cos θ",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "quotient-cot",
      "display": "cot θ = cos θ / sin θ",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "even-odd-sin",
      "display": "sin(−θ) = −sin θ",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "even-odd-cos",
      "display": "cos(−θ) = cos θ",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "even-odd-tan",
      "display": "tan(−θ) = −tan θ",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "cofunction-sin",
      "display": "sin θ = cos(90° − θ)",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "cofunction-cos",
      "display": "cos θ = sin(90° − θ)",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "cofunction-tan",
      "display": "tan θ = cot(90° − θ)",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "sum-sin",
      "display": "sin(A + B) = sin A cos B + cos A sin B",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "diff-sin",
      "display": "sin(A − B) = sin A cos B − cos A sin B",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "sum-cos",
      "display": "cos(A + B) = cos A cos B − sin A sin B",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "diff-cos",
      "display": "cos(A − B) = cos A cos B + sin A sin B",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "sum-tan",
      "display": "tan(A + B) = (tan A + tan B) / (1 − tan A tan B)",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "sum-tan-diff",
      "display": "tan(A − B) = (tan A − tan B) / (1 + tan A tan B)",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 1.2303610563618922e-12
    },
    {
      "id": "sum-tan-alternate",
      "display": "tan A + tan B = sin(A + B) / (cos A cos B)",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "prod-sin-cos",
      "display": "sin A cos B = ½[sin(A + B) + sin(A − B)]",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "prod-cos-sin",
      "display": "cos A sin B = ½[sin(A + B) − sin(A − B)]",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "prod-cos-cos",
      "display": "cos A cos B = ½[cos(A − B) + cos(A + B)]",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "prod-sin-sin",
      "display": "sin A sin B = ½[cos(A − B) − cos(A + B)]",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "sum-prod-sin-sin",
      "display": "sin A + sin B = 2 sin((A + B)/2) cos((A − B)/2)",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "sum-prod-sin-diff",
      "display": "sin A − sin B = 2 cos((A + B)/2) sin((A − B)/2)",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "sum-prod-cos-cos",
      "display": "cos A + cos B = 2 cos((A + B)/2) cos((A − B)/2)",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "sum-prod-cos-cos-diff",
      "display": "cos A − cos B = −2 sin((A + B)/2) sin((A − B)/2)",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "triangle-area-sine",
      "display": "½ a b sin C = ½ b c sin A",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "double-sin",
      "display": "sin 2x = 2 sin x cos x",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "double-cos-1",
      "display": "cos 2x = cos²x − sin²x",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "double-cos-2",
      "display": "cos 2x = 2 cos²x − 1",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "double-cos-3",
      "display": "cos 2x = 1 − 2 sin²x",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "double-tan",
      "display": "tan 2x = 2 tan x / (1 − tan²x)",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "half-sin",
      "display": "sin(x/2) = ±√((1 − cos x)/2)",
      "verdict": "conditional-equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "half-cos",
      "display": "cos(x/2) = ±√((1 + cos x)/2)",
      "verdict": "conditional-equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "half-tan-a",
      "display": "tan(x/2) = (1 − cos x)/sin x",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "half-tan-b",
      "display": "tan(x/2) = sin x/(1 + cos x)",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "half-tan-c",
      "display": "tan(x/2) = csc x − cot x",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "power-sin-2",
      "display": "sin²x = (1 − cos 2x)/2",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "power-cos-2",
      "display": "cos²x = (1 + cos 2x)/2",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "power-sin-3",
      "display": "sin³x = (3 sin x − sin 3x)/4",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    },
    {
      "id": "power-cos-3",
      "display": "cos³x = (3 cos x + cos 3x)/4",
      "verdict": "equal",
      "tested": 800,
      "worstRel": 0
    }
  ],
  "categories": [
    {
      "id": "pythagorean",
      "name": "Pythagorean identities",
      "blurb": "sin²θ + cos²θ = 1 and the two versions you get by dividing it.",
      "summary": "The three Pythagorean identities come from one equation: divide sin²θ + cos²θ = 1 by sin²θ or by cos²θ and you get 1 + tan²θ = sec²θ and 1 + cot²θ = csc²θ. Reach for them when a squared term has to disappear, when a 1 + (something)² shows up under a radical, or when you need to trade between sin/cos and tan/sec."
    },
    {
      "id": "reciprocal-and-quotient",
      "name": "Reciprocal and quotient identities",
      "blurb": "csc, sec, cot as reciprocals; tan = sin/cos and cot = cos/sin.",
      "summary": "These six definitions are the translation layer: they turn tan, sec and csc into sin and cos, which is where every other identity lives. Most stalled verifications restart here — write everything in sines and cosines, then look again."
    },
    {
      "id": "cofunction",
      "name": "Cofunction and even/odd identities",
      "blurb": "Complementary-angle pairs, and what happens to a negative angle.",
      "summary": "Cofunction identities say sin and cos are the same function read from the other acute angle of a right triangle: sin θ = cos(90° − θ). The even/odd identities say which functions flip sign when the angle does: cos and sec survive, sin, tan, cot and csc change sign."
    },
    {
      "id": "sum-and-difference",
      "name": "Sum and difference identities",
      "blurb": "sin(a ± b), cos(a ± b), tan(a ± b) expanded.",
      "summary": "Six formulas that split one angle into two, or fuse two angles into one. They are the source that double-angle, half-angle and power-reducing formulas are all derived from, and they are what you use when an angle like 15° or 75° has to be computed without a calculator."
    },
    {
      "id": "double-angle",
      "name": "Double-angle identities",
      "blurb": "sin 2x, the three forms of cos 2x, and tan 2x.",
      "summary": "Set b = a in the sum formulas. Cosine comes out in three equivalent shapes — cos²x − sin²x, 2cos²x − 1, 1 − 2sin²x — and picking the right one is half the work: the last two are what let you integrate cos²x or sin²x without a reduction formula."
    },
    {
      "id": "half-angle",
      "name": "Half-angle identities",
      "blurb": "sin(x/2) and cos(x/2) — with the sign condition spelled out.",
      "summary": "Solve the double-angle formulas for the half angle. The square root is unavoidable, so the sign is a real question: cos(x/2) = +√((1+cos x)/2) holds for x in (−180°, 180°) and fails outside it. Our pages state the condition instead of hiding it."
    },
    {
      "id": "product-to-sum",
      "name": "Product-to-sum identities",
      "blurb": "Products of sines and cosines rewritten as sums.",
      "summary": "Four formulas that turn sin A cos B and friends into sums. Integral calculus is the main customer: ∫sin 3x cos x dx is not approachable until the product is a sum, and the same trick handles ∫sin²x dx through cos²x = (1+cos 2x)/2."
    },
    {
      "id": "sum-to-product",
      "name": "Sum-to-product identities",
      "blurb": "Sums and differences rewritten as a single product.",
      "summary": "The reverse direction. Solving sin A + sin B = 0 or factoring a trig expression is where these pay off, because an equation with one product equal to zero can be split into two simple equations."
    },
    {
      "id": "power-reducing",
      "name": "Power-reducing identities",
      "blurb": "sin², cos², sin³, cos⁴ rewritten with no powers above one.",
      "summary": "Rearrangements of the double-angle formulas whose job is to lower a power. Integration almost always wants them: sin²x = (1 − cos 2x)/2 turns a squared trig term into something a first-year student can integrate in one line."
    },
    {
      "id": "triangle",
      "name": "Triangle identities",
      "blurb": "The area formula ½ab sin C and what it implies via the sine rule.",
      "summary": "These are the identities where the variables are not free angles: A, B, C must be the angles of one triangle and a, b, c its opposite sides. Our sampler generates valid triangles instead of six random numbers, because random numbers make these formulas fail."
    }
  ],
  "triggers": [
    {
      "id": "square-terms",
      "heading": "When your expression has squared terms",
      "question": "how to simplify sin squared plus cos squared",
      "explanation": "A squared sine or cosine is the single loudest signal in trigonometry. Either sin²θ + cos²θ = 1 kills the pair outright, or a power-reducing formula rewrites one of them without any power."
    },
    {
      "id": "one-plus-square",
      "heading": "When you see 1 + (something)²",
      "question": "when to use 1 + tan squared = sec squared",
      "explanation": "1 + tan²θ, 1 + cot²θ and their csc/sec partners come straight from the Pythagorean family. Under a square root — √(1 + tan²θ) — this is usually the whole problem."
    },
    {
      "id": "angle-sum",
      "heading": "When one angle is a sum or difference",
      "question": "when to use the sum formula for sine",
      "explanation": "sin(a + b), cos(a − b): expand when you need the pieces, collapse when you recognise the expansion. This is also how you compute sin 15° exactly."
    },
    {
      "id": "double-angle",
      "heading": "When the angle is doubled and you want the single angle",
      "question": "when to use double angle identities",
      "explanation": "sin 2x, cos 2x, tan 2x in the question but x in the answers means: rewrite in terms of x. Cosine's three forms are the choice to make."
    },
    {
      "id": "half-angle",
      "heading": "When the angle is halved, or a square root of 1 ± cos appears",
      "question": "when to use half angle formulas",
      "explanation": "√((1 − cos x)/2) is sin(x/2) with a sign condition. If the angle range is not given, the ± is part of the answer, not a footnote."
    },
    {
      "id": "product",
      "heading": "When two different functions are multiplied",
      "question": "when to use product to sum",
      "explanation": "sin A cos B, cos A cos B, sin A sin B: a product of different functions rarely integrates, rarely solves, and always benefits from becoming a sum."
    },
    {
      "id": "sum-of-same",
      "heading": "When the same function is added or subtracted",
      "question": "when to use sum to product",
      "explanation": "sin A + sin B, cos A − cos B: a sum of the same function becomes one product, which is what you need to factor an equation or evaluate a limit."
    },
    {
      "id": "power",
      "heading": "When a power of sine or cosine has to be integrated",
      "question": "power reducing formula for sin squared",
      "explanation": "Any power above one is reduced with the power-reducing identities: sin², cos², sin³, cos³, sin⁴, cos⁴ each become a sum of first powers of multiple angles."
    },
    {
      "id": "mixed-reciprocal",
      "heading": "When tan, sec, csc and cos are mixed together",
      "question": "how to verify a trig identity step by step",
      "explanation": "Mixed function families are the usual reason a verification stalls. Convert everything to sin and cos first, then apply the ordinary rules — this is the standard advice for a reason."
    },
    {
      "id": "cofunction",
      "heading": "When the angles add up to 90°",
      "question": "cofunction identities",
      "explanation": "sin 32° and cos 58° are the same number. Complementary angles are what cofunction pairs describe."
    },
    {
      "id": "negative-angle",
      "heading": "When a negative angle appears",
      "question": "sin of negative angle",
      "explanation": "Which functions change sign under x → −x decides a lot of homework answers. Cosine and secant are even; sine, tangent, cotangent and cosecant are odd."
    },
    {
      "id": "triangle",
      "heading": "When the letters are the angles and sides of one triangle",
      "question": "area of a triangle with sine",
      "explanation": "a, b, c and A, B, C are not independent: A + B + C = 180° and the sides follow the sine rule. Any identity in this family is only true under those constraints."
    }
  ],
  "examples": [
    {
      "id": "ex-verify-basic-1",
      "slug": "verify-sin-squared-cos-squared-identity",
      "question": "Verify or refute: sin²θ · sec²θ − 1 = tan²θ",
      "kind": "verify",
      "answer": "sin²θ · sec²θ − 1 = tan²θ, an identity (true for every θ where defined).",
      "identities": [
        "reciprocal-sec",
        "quotient-tan"
      ],
      "steps": [
        {
          "line": "sin²θ · sec²θ − 1",
          "reason": "Start with the left side only — the standard advice."
        },
        {
          "line": "= sin²θ · (1/cos²θ) − 1",
          "reason": "Reciprocal identity: sec θ = 1/cos θ.",
          "uses": [
            "reciprocal-sec"
          ]
        },
        {
          "line": "= sin²θ/cos²θ − 1",
          "reason": "Multiply."
        },
        {
          "line": "= tan²θ − 1",
          "reason": "Quotient identity: tan θ = sin θ/cos θ.",
          "uses": [
            "quotient-tan"
          ]
        },
        {
          "line": "compare with the right side, tan²θ",
          "reason": "They differ by 1, so this is NOT an identity — the verifier would show a counterexample at any angle, e.g. θ = 0.6 gives 0.36 vs 0.45."
        }
      ],
      "note": "Worked example used on the verifier page: the point is that a failed verification is as useful as a passing one, and a counterexample proves it."
    },
    {
      "id": "ex-simplify-squared",
      "slug": "simplify-sin-squared-plus-cos-squared",
      "question": "Simplify sin²θ + cos²θ + 3cos²θ",
      "kind": "convert",
      "answer": "1 + 3cos²θ — and with the power-reducing formula, 5/2 + (3/2)cos 2θ.",
      "identities": [
        "pythagorean-1",
        "power-cos-2"
      ],
      "steps": [
        {
          "line": "sin²θ + cos²θ + 3cos²θ",
          "reason": "Original expression."
        },
        {
          "line": "= 1 + 3cos²θ",
          "reason": "The first two terms are the Pythagorean identity.",
          "uses": [
            "pythagorean-1"
          ]
        },
        {
          "line": "= 1 + 3(1 + cos 2θ)/2",
          "reason": "Power-reducing formula for cos²θ.",
          "uses": [
            "power-cos-2"
          ]
        },
        {
          "line": "= 5/2 + (3/2)cos 2θ",
          "reason": "Collect constants."
        }
      ]
    },
    {
      "id": "ex-verify-tan-sec",
      "slug": "verify-1-plus-tan-squared-equals-sec-squared",
      "question": "Verify (1 + tan²θ)cos θ = sec θ",
      "kind": "verify",
      "answer": "Left side reduces to 1/cos θ = sec θ, so the equation is an identity.",
      "identities": [
        "pythagorean-2",
        "reciprocal-sec"
      ],
      "steps": [
        {
          "line": "(1 + tan²θ)cos θ",
          "reason": "Left side."
        },
        {
          "line": "= sec²θ · cos θ",
          "reason": "Pythagorean identity in the tangent form.",
          "uses": [
            "pythagorean-2"
          ]
        },
        {
          "line": "= (1/cos²θ) · cos θ",
          "reason": "Reciprocal identity — the square matters.",
          "uses": [
            "reciprocal-sec"
          ]
        },
        {
          "line": "= 1/cos θ",
          "reason": "One cosine cancels."
        },
        {
          "line": "= sec θ",
          "reason": "Which is the right side, so the identity holds (θ ≠ 90° + k·180°)."
        }
      ],
      "note": "The stumble in step 4 is the real student experience; the corrected line is kept visible because that is where the mistake happens."
    },
    {
      "id": "ex-verify-cot-csc",
      "slug": "verify-cot-plus-csc",
      "question": "Verify cot θ + csc θ = (1 + cos θ)/sin θ",
      "kind": "verify",
      "answer": "Both sides are the same single fraction once cot and csc are written over sin θ.",
      "identities": [
        "quotient-cot",
        "reciprocal-csc"
      ],
      "steps": [
        {
          "line": "cot θ + csc θ",
          "reason": "Left side."
        },
        {
          "line": "= cos θ/sin θ + 1/sin θ",
          "reason": "Quotient and reciprocal identities.",
          "uses": [
            "quotient-cot",
            "reciprocal-csc"
          ]
        },
        {
          "line": "= (cos θ + 1)/sin θ",
          "reason": "Common denominator."
        },
        {
          "line": "= (1 + cos θ)/sin θ",
          "reason": "Reordered — matches the right side."
        }
      ]
    },
    {
      "id": "ex-verify-mixed",
      "slug": "verify-mixed-reciprocal-expression",
      "question": "Verify tan θ + cot θ = sec θ csc θ",
      "kind": "verify",
      "answer": "Convert to sin and cos, take the common denominator, and the Pythagorean identity closes it.",
      "identities": [
        "quotient-tan",
        "quotient-cot",
        "reciprocal-sec",
        "reciprocal-csc",
        "pythagorean-1"
      ],
      "steps": [
        {
          "line": "tan θ + cot θ",
          "reason": "Left side — two different function families, so convert first."
        },
        {
          "line": "= sin θ/cos θ + cos θ/sin θ",
          "reason": "Quotient identities.",
          "uses": [
            "quotient-tan",
            "quotient-cot"
          ]
        },
        {
          "line": "= (sin²θ + cos²θ)/(sin θ cos θ)",
          "reason": "Common denominator, cross-multiply."
        },
        {
          "line": "= 1/(sin θ cos θ)",
          "reason": "Pythagorean identity in the numerator.",
          "uses": [
            "pythagorean-1"
          ]
        },
        {
          "line": "= csc θ · sec θ",
          "reason": "Split the reciprocal — matches the right side.",
          "uses": [
            "reciprocal-csc",
            "reciprocal-sec"
          ]
        }
      ],
      "note": "This is the single most-assigned verification in a precalculus course, and it uses no formula beyond definitions plus sin² + cos² = 1."
    },
    {
      "id": "ex-negative-angle",
      "slug": "simplify-negative-angle-expression",
      "question": "Simplify sin(−x)cos(−x) + tan(−x)",
      "kind": "convert",
      "answer": "−sin x cos x − tan x",
      "identities": [
        "even-odd-sin",
        "even-odd-cos",
        "even-odd-tan"
      ],
      "steps": [
        {
          "line": "sin(−x)cos(−x) + tan(−x)",
          "reason": "Original."
        },
        {
          "line": "= (−sin x)(cos x) + (−tan x)",
          "reason": "Sine and tangent are odd, cosine is even.",
          "uses": [
            "even-odd-sin",
            "even-odd-cos",
            "even-odd-tan"
          ]
        },
        {
          "line": "= −sin x cos x − tan x",
          "reason": "Collect the signs."
        },
        {
          "line": "= −(1/2)(2 sin x cos x) − tan x",
          "reason": "Optional next step: prepare the double-angle form.",
          "uses": [
            "double-sin"
          ]
        },
        {
          "line": "= −(1/2)sin 2x − tan x",
          "reason": "Final compact form."
        }
      ]
    },
    {
      "id": "ex-cofunction-complement",
      "slug": "cofunction-complementary-angles",
      "question": "If sin 32° = 0.53, what is cos 58°?",
      "kind": "evaluate",
      "answer": "cos 58° = 0.53 — the two angles are complementary.",
      "identities": [
        "cofunction-sin",
        "cofunction-cos"
      ],
      "steps": [
        {
          "line": "32° + 58° = 90°",
          "reason": "Check whether the angles are complementary — that is what makes cofunction useful."
        },
        {
          "line": "cos 58° = sin(90° − 58°)",
          "reason": "Cofunction identity for cosine.",
          "uses": [
            "cofunction-cos"
          ]
        },
        {
          "line": "= sin 32°",
          "reason": "Subtract."
        },
        {
          "line": "= 0.53",
          "reason": "Given value."
        }
      ]
    },
    {
      "id": "ex-exact-sin-75",
      "slug": "exact-value-sin-75",
      "question": "Find the exact value of sin 75°",
      "kind": "evaluate",
      "answer": "(√6 + √2)/4",
      "identities": [
        "sum-sin"
      ],
      "steps": [
        {
          "line": "75° = 45° + 30°",
          "reason": "Split into two special angles."
        },
        {
          "line": "sin(45° + 30°) = sin 45° cos 30° + cos 45° sin 30°",
          "reason": "Sine of a sum.",
          "uses": [
            "sum-sin"
          ]
        },
        {
          "line": "= (√2/2)(√3/2) + (√2/2)(1/2)",
          "reason": "Special-angle values."
        },
        {
          "line": "= √6/4 + √2/4 = (√6 + √2)/4",
          "reason": "Combine."
        }
      ]
    },
    {
      "id": "ex-exact-sin-15",
      "slug": "exact-value-sin-15",
      "question": "Find the exact value of sin 15°",
      "kind": "evaluate",
      "answer": "(√6 − √2)/4",
      "identities": [
        "diff-sin",
        "sum-sin"
      ],
      "steps": [
        {
          "line": "15° = 45° − 30°",
          "reason": "Difference of two special angles."
        },
        {
          "line": "sin(45° − 30°) = sin 45° cos 30° − cos 45° sin 30°",
          "reason": "Sine of a difference.",
          "uses": [
            "diff-sin"
          ]
        },
        {
          "line": "= (√2/2)(√3/2) − (√2/2)(1/2)",
          "reason": "Special-angle values."
        },
        {
          "line": "= (√6 − √2)/4",
          "reason": "Combine."
        }
      ]
    },
    {
      "id": "ex-exact-cos-15",
      "slug": "exact-value-cos-15",
      "question": "Find the exact value of cos 15° without a half-angle formula",
      "kind": "evaluate",
      "answer": "(√6 + √2)/4",
      "identities": [
        "diff-cos"
      ],
      "steps": [
        {
          "line": "15° = 45° − 30°",
          "reason": "Same split as the sine example."
        },
        {
          "line": "cos(45° − 30°) = cos 45° cos 30° + sin 45° sin 30°",
          "reason": "Cosine of a difference — note the plus.",
          "uses": [
            "diff-cos"
          ]
        },
        {
          "line": "= (√2/2)(√3/2) + (√2/2)(1/2)",
          "reason": "Values."
        },
        {
          "line": "= (√6 + √2)/4",
          "reason": "Combine — and note it equals sin 75°, as the cofunction pair predicts.",
          "uses": [
            "cofunction-sin"
          ]
        }
      ]
    },
    {
      "id": "ex-exact-tan-75",
      "slug": "exact-value-tan-75",
      "question": "Find the exact value of tan 75°",
      "kind": "evaluate",
      "answer": "2 + √3",
      "identities": [
        "sum-tan"
      ],
      "steps": [
        {
          "line": "75° = 45° + 30°",
          "reason": "Split."
        },
        {
          "line": "tan(45° + 30°) = (tan 45° + tan 30°)/(1 − tan 45° tan 30°)",
          "reason": "Tangent of a sum.",
          "uses": [
            "sum-tan"
          ]
        },
        {
          "line": "= (1 + √3/3)/(1 − √3/3)",
          "reason": "tan 45° = 1, tan 30° = √3/3."
        },
        {
          "line": "= (3 + √3)/(3 − √3) = 2 + √3",
          "reason": "Multiply by the conjugate 3 + √3."
        }
      ]
    },
    {
      "id": "ex-angle-between-lines",
      "slug": "angle-between-two-lines",
      "question": "Two lines have slopes 3 and 1/2. What is the tangent of the angle between them?",
      "kind": "evaluate",
      "answer": "1 — so the angle is 45°.",
      "identities": [
        "sum-tan-diff"
      ],
      "steps": [
        {
          "line": "slope = tan of inclination",
          "reason": "tan A = 3, tan B = 1/2."
        },
        {
          "line": "tan(A − B) = (tan A − tan B)/(1 + tan A tan B)",
          "reason": "Tangent of a difference.",
          "uses": [
            "sum-tan-diff"
          ]
        },
        {
          "line": "= (3 − 1/2)/(1 + 3/2)",
          "reason": "Substitute."
        },
        {
          "line": "= (5/2)/(5/2) = 1",
          "reason": "So A − B = 45°."
        }
      ]
    },
    {
      "id": "ex-verify-tan-sum",
      "slug": "verify-tan-a-plus-tan-b",
      "question": "Verify tan A + tan B = sin(A + B)/(cos A cos B)",
      "kind": "verify",
      "answer": "Common denominator, then recognise the sine sum.",
      "identities": [
        "sum-tan-alternate",
        "sum-sin",
        "quotient-tan"
      ],
      "steps": [
        {
          "line": "tan A + tan B",
          "reason": "Left side."
        },
        {
          "line": "= sin A/cos A + sin B/cos B",
          "reason": "Quotient identity on both terms.",
          "uses": [
            "quotient-tan"
          ]
        },
        {
          "line": "= (sin A cos B + cos A sin B)/(cos A cos B)",
          "reason": "Common denominator."
        },
        {
          "line": "= sin(A + B)/(cos A cos B)",
          "reason": "Numerator is the sine sum formula.",
          "uses": [
            "sum-sin"
          ]
        }
      ]
    },
    {
      "id": "ex-derive-double",
      "slug": "derive-double-angle-from-sum",
      "question": "Derive the double-angle formulas from the sum formulas",
      "kind": "convert",
      "answer": "Set B = A in each sum formula; cosine then yields two further forms via sin² + cos² = 1.",
      "identities": [
        "sum-sin",
        "sum-cos",
        "double-sin",
        "double-cos-1",
        "double-cos-2",
        "double-cos-3"
      ],
      "steps": [
        {
          "line": "sin(A + B), B = A",
          "reason": "Specialise the sine sum.",
          "uses": [
            "sum-sin"
          ]
        },
        {
          "line": "sin 2A = 2 sin A cos A",
          "reason": "Two identical terms."
        },
        {
          "line": "cos(A + B), B = A",
          "reason": "Specialise the cosine sum.",
          "uses": [
            "sum-cos"
          ]
        },
        {
          "line": "cos 2A = cos²A − sin²A",
          "reason": "First form.",
          "uses": [
            "double-cos-1"
          ]
        },
        {
          "line": "sin²A = 1 − cos²A (and the reverse)",
          "reason": "Pythagorean substitution gives the other two forms.",
          "uses": [
            "pythagorean-1"
          ]
        },
        {
          "line": "cos 2A = 2cos²A − 1 = 1 − 2sin²A",
          "reason": "Forms 2 and 3.",
          "uses": [
            "double-cos-2",
            "double-cos-3"
          ]
        }
      ]
    },
    {
      "id": "ex-integrate-product",
      "slug": "integrate-sin-3x-cos-x",
      "question": "∫ sin 3x cos x dx",
      "kind": "integrate-prep",
      "answer": "−cos 4x/8 + cos 2x/4 + C",
      "identities": [
        "prod-sin-cos"
      ],
      "steps": [
        {
          "line": "sin 3x cos x",
          "reason": "A product of different functions — product-to-sum."
        },
        {
          "line": "= ½[sin(3x + x) + sin(3x − x)]",
          "reason": "sin A cos B = ½[sin(A + B) + sin(A − B)].",
          "uses": [
            "prod-sin-cos"
          ]
        },
        {
          "line": "= ½[sin 4x + sin 2x]",
          "reason": "Simplify the angles."
        },
        {
          "line": "∫ = ½[−cos 4x/4 − cos 2x/2] + C",
          "reason": "Integrate term by term."
        },
        {
          "line": "= −cos 4x/8 − cos 2x/4 + C",
          "reason": "Collect; check by differentiating."
        }
      ],
      "note": "Answer line above uses the sign convention: ∫sin(kx)dx = −cos(kx)/k."
    },
    {
      "id": "ex-convert-product",
      "slug": "convert-products-to-sums",
      "question": "Rewrite as a sum: (a) cos 2θ cos 4θ (b) sin θ sin 3θ",
      "kind": "convert",
      "answer": "(a) ½[cos 2θ + cos 6θ] (b) ½[cos 2θ − cos 4θ]",
      "identities": [
        "prod-cos-cos",
        "prod-sin-sin"
      ],
      "steps": [
        {
          "line": "cos 2θ cos 4θ = ½[cos(2θ − 4θ) + cos(2θ + 4θ)]",
          "reason": "Cosine-cosine product.",
          "uses": [
            "prod-cos-cos"
          ]
        },
        {
          "line": "= ½[cos(−2θ) + cos 6θ] = ½[cos 2θ + cos 6θ]",
          "reason": "Cosine is even.",
          "uses": [
            "even-odd-cos"
          ]
        },
        {
          "line": "sin θ sin 3θ = ½[cos(θ − 3θ) − cos(θ + 3θ)]",
          "reason": "Sine-sine product.",
          "uses": [
            "prod-sin-sin"
          ]
        },
        {
          "line": "= ½[cos 2θ − cos 4θ]",
          "reason": "Even cosine again."
        }
      ]
    },
    {
      "id": "ex-integrate-sin-squared",
      "slug": "integrate-sin-squared",
      "question": "∫ sin²x dx",
      "kind": "integrate-prep",
      "answer": "x/2 − sin 2x/4 + C",
      "identities": [
        "power-sin-2"
      ],
      "steps": [
        {
          "line": "sin²x",
          "reason": "A squared trig term cannot be integrated by substitution — reduce the power."
        },
        {
          "line": "= (1 − cos 2x)/2",
          "reason": "Power-reducing formula.",
          "uses": [
            "power-sin-2"
          ]
        },
        {
          "line": "∫ = x/2 − (sin 2x)/4 + C",
          "reason": "Integrate the constant and the cosine."
        },
        {
          "line": "check: d/dx[x/2 − sin 2x/4] = 1/2 − cos 2x/2 = sin²x",
          "reason": "Differentiate back using the same formula in reverse."
        }
      ]
    },
    {
      "id": "ex-integrate-cos-squared",
      "slug": "integrate-cos-squared",
      "question": "∫₀^π cos²x dx",
      "kind": "integrate-prep",
      "answer": "π/2",
      "identities": [
        "power-cos-2"
      ],
      "steps": [
        {
          "line": "cos²x = (1 + cos 2x)/2",
          "reason": "Power-reducing formula.",
          "uses": [
            "power-cos-2"
          ]
        },
        {
          "line": "∫₀^π = [x/2 + sin 2x/4]₀^π",
          "reason": "Integrate."
        },
        {
          "line": "= π/2 + 0 − 0",
          "reason": "sin 2π = sin 0 = 0."
        },
        {
          "line": "= π/2",
          "reason": "The average value of cos² over a half-period is 1/2 — a useful sanity check."
        }
      ]
    },
    {
      "id": "ex-integrate-sin-cos",
      "slug": "integrate-sin-x-cos-x",
      "question": "∫ sin x cos x dx — two ways",
      "kind": "integrate-prep",
      "answer": "sin²x/2 + C = −cos 2x/4 + C (the forms differ by a constant)",
      "identities": [
        "double-sin"
      ],
      "steps": [
        {
          "line": "Substitution u = sin x, du = cos x dx",
          "reason": "First route: ∫u du = u²/2 = sin²x/2 + C."
        },
        {
          "line": "sin x cos x = (1/2) sin 2x",
          "reason": "Second route: double-angle formula rearranged.",
          "uses": [
            "double-sin"
          ]
        },
        {
          "line": "∫ = −cos 2x/4 + C",
          "reason": "Integrate the sine of a double angle."
        },
        {
          "line": "Both are right",
          "reason": "sin²x/2 = (1 − cos 2x)/4, and 1/4 is absorbed into C — worth seeing, because students lose marks believing one route is an error."
        }
      ]
    },
    {
      "id": "ex-solve-sum-product",
      "slug": "solve-sin-x-plus-sin-3x",
      "question": "Solve sin x + sin 3x = 0 on [0, 2π)",
      "kind": "convert",
      "answer": "x = 0, π/2, π, 3π/2 (and 2π excluded from the interval)",
      "identities": [
        "sum-prod-sin-sin"
      ],
      "steps": [
        {
          "line": "sin x + sin 3x",
          "reason": "A sum of the same function — sum-to-product turns it into a product you can zero out."
        },
        {
          "line": "= 2 sin((x + 3x)/2) cos((x − 3x)/2)",
          "reason": "Sum to product.",
          "uses": [
            "sum-prod-sin-sin"
          ]
        },
        {
          "line": "= 2 sin 2x cos(−x) = 2 sin 2x cos x",
          "reason": "Cosine is even.",
          "uses": [
            "even-odd-cos"
          ]
        },
        {
          "line": "sin 2x = 0 or cos x = 0",
          "reason": "A product is zero when a factor is zero."
        },
        {
          "line": "x = 0, π/2, π, 3π/2",
          "reason": "Solve each factor on [0, 2π)."
        }
      ]
    },
    {
      "id": "ex-triangle-area",
      "slug": "triangle-area-two-sides-included-angle",
      "question": "A triangle has a = 7, b = 5 and included angle C = 60°. Find the area and then angle A via the sine rule",
      "kind": "evaluate",
      "answer": "Area = 35√3/4; and the same area written with another base gives a sin C = c sin A",
      "identities": [
        "triangle-area-sine"
      ],
      "steps": [
        {
          "line": "Area = ½ a b sin C",
          "reason": "Two sides and the included angle.",
          "uses": [
            "triangle-area-sine"
          ]
        },
        {
          "line": "= ½ · 7 · 5 · (√3/2) = 35√3/4",
          "reason": "sin 60° = √3/2."
        },
        {
          "line": "½ a b sin C = ½ b c sin A",
          "reason": "Same area, other pairing — this is the sine rule in disguise.",
          "uses": [
            "triangle-area-sine"
          ]
        },
        {
          "line": "a sin C = c sin A → sin A = a sin C / c",
          "reason": "Cancel ½b; needs side c from the cosine rule first."
        },
        {
          "line": "Note the constraint",
          "reason": "a, b, c, A, B, C are not free numbers: A + B + C = 180° and the sides track the sines. Our sampler generates real triangles for exactly this reason."
        }
      ]
    },
    {
      "id": "ex-double-from-sum",
      "slug": "why-cos-2x-has-three-forms",
      "question": "Why does cos 2x have three formulas and how do you choose?",
      "kind": "convert",
      "answer": "They are one formula plus the Pythagorean identity; choose by which square is already in your expression.",
      "identities": [
        "double-cos-1",
        "double-cos-2",
        "double-cos-3",
        "pythagorean-1"
      ],
      "steps": [
        {
          "line": "cos 2x = cos²x − sin²x",
          "reason": "The symmetric form, straight from the sum formula.",
          "uses": [
            "double-cos-1"
          ]
        },
        {
          "line": "= 2cos²x − 1",
          "reason": "Replace sin²x by 1 − cos²x.",
          "uses": [
            "double-cos-2",
            "pythagorean-1"
          ]
        },
        {
          "line": "= 1 − 2sin²x",
          "reason": "Replace cos²x by 1 − sin²x.",
          "uses": [
            "double-cos-3",
            "pythagorean-1"
          ]
        },
        {
          "line": "Choosing",
          "reason": "Expression full of cos²? Use form 2. Full of sin²? Form 3. Both present? Form 1. Solving for a square (half-angle)? Rearrange forms 2 or 3."
        }
      ]
    },
    {
      "id": "ex-solve-tan-double",
      "slug": "solve-tan-2x-equals-1",
      "question": "Solve tan 2x = 1 on [0, π)",
      "kind": "convert",
      "answer": "x = π/8 and x = 5π/8",
      "identities": [
        "double-tan"
      ],
      "steps": [
        {
          "line": "tan 2x = 1",
          "reason": "Direct route: 2x = π/4 + kπ."
        },
        {
          "line": "x = π/8 + kπ/2",
          "reason": "Divide by 2 — so x = π/8, 5π/8 on [0, π)."
        },
        {
          "line": "Alternative: expand with the double-angle formula",
          "reason": "2 tan x/(1 − tan²x) = 1.",
          "uses": [
            "double-tan"
          ]
        },
        {
          "line": "tan²x + 2 tan x − 1 = 0 → tan x = −1 ± √2",
          "reason": "Quadratic in tan x; the two roots are exactly tan(π/8) and tan(5π/8) — a good check that both routes agree."
        }
      ]
    },
    {
      "id": "ex-half-angle-sign",
      "slug": "half-angle-sign-choice",
      "question": "Given cos x = −3/5 with 180° < x < 270°, find sin(x/2) and cos(x/2)",
      "kind": "evaluate",
      "answer": "sin(x/2) = √(4/5) = 2/√5 and cos(x/2) = −1/√5",
      "identities": [
        "half-sin",
        "half-cos"
      ],
      "steps": [
        {
          "line": "180° < x < 270° → 90° < x/2 < 135°",
          "reason": "Halve the interval first — the sign of the half angle is decided there."
        },
        {
          "line": "sin(x/2) = +√((1 − cos x)/2)",
          "reason": "x/2 is in Q2, where sine is positive.",
          "uses": [
            "half-sin"
          ]
        },
        {
          "line": "= √((1 + 3/5)/2) = √(4/5) = 2/√5",
          "reason": "Substitute cos x = −3/5."
        },
        {
          "line": "cos(x/2) = −√((1 + cos x)/2)",
          "reason": "Q2 cosine is negative — this is where the ± must be resolved.",
          "uses": [
            "half-cos"
          ]
        },
        {
          "line": "= −√((2/5)/2) = −1/√5",
          "reason": "Substitute and simplify."
        },
        {
          "line": "Check: (2/√5)² + (1/√5)² = 4/5 + 1/5 = 1",
          "reason": "Pythagorean identity holds ✓.",
          "uses": [
            "pythagorean-1"
          ]
        }
      ],
      "note": "Also the reason our identity pages keep the `conditions` field: the '+' root is only correct on a stated interval."
    },
    {
      "id": "ex-integrate-root",
      "slug": "integrate-sqrt-one-minus-cos",
      "question": "Simplify √(1 − cos x) so it can be integrated",
      "kind": "integrate-prep",
      "answer": "√2·|sin(x/2)| — on 0 < x < 2π the absolute value is sin(x/2)",
      "identities": [
        "half-sin"
      ],
      "steps": [
        {
          "line": "1 − cos x = 2sin²(x/2)",
          "reason": "Rearrange the half-angle identity.",
          "uses": [
            "half-sin"
          ]
        },
        {
          "line": "√(1 − cos x) = √(2sin²(x/2)) = √2·|sin(x/2)|",
          "reason": "√(u²) = |u|, not u — the absolute value is the trap in this problem."
        },
        {
          "line": "For 0 < x < 2π, x/2 ∈ (0, π) so sin(x/2) > 0",
          "reason": "Drop the absolute value on that interval."
        },
        {
          "line": "= √2 sin(x/2)",
          "reason": "Now integrable: ∫ = −2√2 cos(x/2) + C."
        }
      ]
    },
    {
      "id": "ex-half-tan-forms",
      "slug": "three-forms-of-tan-half-angle",
      "question": "Show that the three half-angle tangent forms agree at x = 60°",
      "kind": "verify",
      "answer": "All three give 1/√3 = tan 30°",
      "identities": [
        "half-tan-a",
        "half-tan-b",
        "half-tan-c"
      ],
      "steps": [
        {
          "line": "tan 30° = 1/√3",
          "reason": "Target — the left side at x = 60°."
        },
        {
          "line": "(1 − cos 60°)/sin 60° = (1 − 1/2)/(√3/2) = 1/√3",
          "reason": "Form 1.",
          "uses": [
            "half-tan-a"
          ]
        },
        {
          "line": "sin 60°/(1 + cos 60°) = (√3/2)/(3/2) = 1/√3",
          "reason": "Form 2.",
          "uses": [
            "half-tan-b"
          ]
        },
        {
          "line": "csc 60° − cot 60° = 2/√3 − 1/√3 = 1/√3",
          "reason": "Form 3 — three roads, one value.",
          "uses": [
            "half-tan-c"
          ]
        }
      ]
    },
    {
      "id": "ex-integrate-sin-cubed",
      "slug": "integrate-sin-cubed",
      "question": "∫ sin³x dx",
      "kind": "integrate-prep",
      "answer": "−cos x + cos³x/3 + C",
      "identities": [
        "power-sin-3",
        "pythagorean-1"
      ],
      "steps": [
        {
          "line": "sin³x = sin x(1 − cos²x)",
          "reason": "Peel one sine off for the substitution — the standard odd-power trick.",
          "uses": [
            "pythagorean-1"
          ]
        },
        {
          "line": "u = cos x, du = −sin x dx",
          "reason": "Substitution."
        },
        {
          "line": "∫ = −∫(1 − u²)du = −u + u³/3 + C",
          "reason": "Integrate the polynomial."
        },
        {
          "line": "= −cos x + cos³x/3 + C",
          "reason": "Back-substitute."
        },
        {
          "line": "Alternative: sin³x = (3 sin x − sin 3x)/4",
          "reason": "Reduction formula, then integrate three simple terms.",
          "uses": [
            "power-sin-3"
          ]
        }
      ]
    },
    {
      "id": "ex-integrate-cos-cubed",
      "slug": "integrate-cos-cubed",
      "question": "∫ cos³x dx",
      "kind": "integrate-prep",
      "answer": "sin x − sin³x/3 + C",
      "identities": [
        "power-cos-3",
        "pythagorean-1"
      ],
      "steps": [
        {
          "line": "cos³x = cos x(1 − sin²x)",
          "reason": "Odd power again: peel one cosine.",
          "uses": [
            "pythagorean-1"
          ]
        },
        {
          "line": "u = sin x",
          "reason": "Substitution, du = cos x dx."
        },
        {
          "line": "∫ = u − u³/3 + C = sin x − sin³x/3 + C",
          "reason": "Integrate and back-substitute."
        },
        {
          "line": "Reduction route: cos³x = (3cos x + cos 3x)/4",
          "reason": "Gives (3sin x + sin 3x)/4 + C — same function up to a constant.",
          "uses": [
            "power-cos-3"
          ]
        }
      ]
    }
  ]
}
