Differentiation, Simplification, Solvers: three outputs as master prints them
Caught by the documentation-samples harness against cd3b27b9. Each answer is the same
value in a different form. Two are factor order: since #1635 a product puts a letter or a
power of a letter before a sum, so the outputs are x * (cos(x) + a) and x ^ x * (1 + ln(x)).
The third is a union that now absorbs (sqrt(6) / 2; +oo) into (0; +oo), which contains it.
All 89 samples pass with these three changed.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
Simplification: a section on provided -- a condition the answer's own domain condition states is not written twice
Four examples run on the build of asc-community/AngouriMath's provided-has-a-value branch
(#1394, #1402): x/x, the derivatives of x^x and ln(x)/x, tan(x) provided not cos(x) = 0.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
Make every code sample true of 2.0, and checkable
The pages named APIs the library no longer has and printed outputs it no longer
produces. Measured against a 2.0.0 build, 23 of the 90 samples did not compile and
9 more printed something else.
What was wrong:
- Latexise is Latexize since 2.0, and the extensions live in AngouriMath.Extensions,
which no sample said.
- The whole F# page called a function `dy/dx` that has always been `d/dx`, and opened
Functions and Core by paths that do not resolve, so that sample had never compiled.
- Exceptions documented FutureReleaseException, which 2.0 removed; the gap it stood
for now raises NotSufficientlySupportedException, and the distinction from
AngouriBugException is what a reader needs.
- Compilation and Evaluation used Complex without System.Numerics, and printed it as
(9, 0) -- that type has formatted itself <9; 0> since .NET 8.
- An integral prints its constant of integration, and no page said so.
- Differentiating a set maps over its elements, so { 1, 2 } + sin(x) gives { cos(x) }
rather than an unevaluated derivative.
- Output blocks were tagged cs in fourteen places, so they rendered as C# and read as
code.
- Two samples declared the same variable twice to show equivalent lines, and several
printed a value another block had built.
Outputs are now what the library produces, including the two that are worse than they
should be: abs(-sqrt(6)) is not folded (#881) and a solution matrix is not simplified
entrywise (#882). Both are linked from the page rather than tidied away.
Every sample is now compiled and run against the library, and every stated output
compared: 86 samples, 0 compile errors, 0 output mismatches, 57 outputs verified.
Home.md says what the conventions are, since they are what keeps that working.
Updated 04. Simplification (markdown)