You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It's a secondary school level book in elementary geometry. Read it as a reference book; how would each problem, proof, computation, definition, notation... apply to AngouriMath? Note that we are unlikely to directly write (a,b) or [a,b] as the book does since we want them to indicate intervals and point/vectors (if this is correct). Some notations nay need reconciliation or, in the worst case, require a let definition or a function call (would still want disambiguation LaTeX-side though). The delta may be more unambiguously expressed with the Iverson bracket?
Some work may be scheduled for 2.8 if exploratory (redesign later), or 3.0 if needs to be redesigned together with v3, or 3.2+ for details that can work within the architecture of v3. You need to triage work appropriately.
I read the whole book: all five chapters, the list of symbols and the appendix. Nine readers worked in parallel, one range each. They read every OCR line against the page images, because the OCR drops the conjugate bars and most fraction bars. Every computation the book relies on was run through AngouriMath on master (725481c), and checked independently at exact or 40-digit points.
That gives 631 rows: each definition, notation, theorem, solved problem and exercise, or each part of one where the parts need different things. Each row records what AngouriMath does with it today, with the input and its answer, and the gap.
What works. Polynomial identities and determinants are reliable:
Chapter II's incidence theorems (Desargues, Brianchon, the Brocard lines) close in about a second once written in homogeneous or barycentric coordinates.
The heptagon constants of Chapter III are decided exactly.
All eleven vector identities of p. 346 reduce to 0 in components.
About half of Chapter V's formulas work as written.
What stops the rest is the sub-issues below, in this order of weight:
No conjugate. Chapter III, 200 pages, writes every statement in z and z̄.
Rational identities Simplify does not prove. Most of the book's proofs end in "this rational function is 0".
Simplify and solve defects that block identities (idempotence, conditions, fractions, decimals through abs, an unfactored quadratic, trig twins, sin(π/7))
Already open and touched by this: #105 and #1237 (vector-typed symbols, 3.0); #330, #217 and #352 (3.0); #495; #1251; #1503 (b i parses as b ^ i); #1648 (the same question as #2134's first row).
Notation, for you to decide
The book's notations, against what the parser already gives meaning to:
The book
Means
AngouriMath today
Proposal
(a, b)
scalar product, and also the plane's pseudo-scalar product (both appear in one line)
parse error
dot(a, b) → a \cdot b; wedge(a, b) → a \wedge b (#2147)
You should consult additional sources like Wikipedia and Wolfram MathWorld etc for how to approach these mathematical decisions, before presenting the decision. Do you need to write these into your instructions?
You're right: I asked you to choose between the notations before checking what the references say. I've now checked them, and below is the notation part again, each proposal with the convention it follows. My earlier questions are answered here. I am also adding the rule to the instructions; see the end.
Pairs and intervals
Tuple: tuples are "usually written by listing the elements within parentheses", and "square brackets are used for matrices, including row vectors".
Ordered pair: (a, b) "may be used for other purposes, most notably as denoting open intervals", and "the context will usually make it clear". ⟨a, b⟩ is a variant, "but this notation also has other uses".
Interval: both (a, b) and [a, b] "may overlap with other uses". Bourbaki introduced ]a, b[ because of the clash with the pair, and ISO 31-11 describes both forms. "In countries where numbers are written with a decimal comma, a semicolon may be used as a separator to avoid ambiguity." MathWorld calls ]a, b[ non-standard.
AngouriMath already reads an interval only with a semicolon ([a; b], (a; b)), prints it that way, and does not parse (a, b) at all. So:
[a, b] stays the column vector, as the matrix convention has it.
An interval's LaTeX uses the semicolon too, \left[a; b\right], which is what Stringize already prints. Once pairs exist, a LaTeX (a, b) would otherwise be both an open interval and a pair. This is a printed form changing, so it goes to Pending breakages: changes agreed or arguable that cannot ship before a major version #1019 for 3.0. I propose the semicolon over ]a, b[ because it is our own syntax and an accepted variant, where the reversed bracket is the one MathWorld calls non-standard.
Cross product (Definition, History): a × b is Gibbs's notation. a ∧ b is Burali-Forti and Marcolongo's, "used in France", and "in pure mathematics such notation is usually reserved for just the exterior product". Grassmann wrote [uv], which is where the book's [a, b] comes from. MathWorld uses A × B, and Wolfram has Cross[a, b]. cross(a, b) → a \times b.
The plane's pseudo-scalar product, the book's (a, b) with a rotated a:
MathWorld calls it the perp dot producta^⊥ · b. Its a^⊥ is a rotated 90° to the left (Hill, 1994), which is the book's [a].
MathWorld's cross product page gives the two-dimensional analog u × v = det(u v).
Exterior algebra shows it as the coefficient of v ∧ w, the determinant and the signed area. But there ∧ gives a bivector, not a number.
So: perp(a) → a^{\perp}, and cross(a, b) of two plane vectors is that number, as MathWorld's analog is. I am withdrawing wedge, since ∧ is the exterior product's.
The conjugate and its relatives
Complex conjugate: z̄ in pure mathematics, z* in physics and engineering. The bar also "avoids confusion with the notation for the conjugate transpose".
Kronecker delta: δ_ij = [i = j], and the Iverson bracket article says the same, with Knuth's square brackets and ⟦·⟧ noted as used.
iverson(j = k) is δ. It renders as ⟦j = k⟧ today, one of the two forms the article gives.
The one trap is ours: i is the imaginary unit, so iverson(i = 1) is 0. An index has to be named something else, and that belongs in the documentation.
Circles and inversion
Inversive geometry: the inversion in the circle with centre O and radius r is defined by OP · OP′ = r², written x ↦ R² x/|x|², or w = 1/z̄ for the unit circle. There is no standard symbol for the map, and none for a circle.
So I propose functions rather than symbols, by the references' parameters:
inversion(O, r) by radius, as the article defines it. The book's [O, k] is by power, k = r², which also allows a negative k (an inversion composed with the central symmetry). That can be a second form if the geometry package wants it.
AGENTS.md already asks for this, in A reference is read for everything it says: "Cross-check every convention against a second and third source … Wolfram MathWorld, Wikipedia's notation tables … and say which was chosen and why." I didn't apply it to a question, only to a decision, and that distinction was wrong. #2159 adds that a question about a notation, a name, a convention or a definition comes with what those sources say and a recommendation. I've also put it in my own notes, so it carries over to sessions that don't open the file.
It's already decided that the semicolon in the interval is to be dropped for v3 as the meaning of the semicolon changes to the line separator instead. We'll use commas in the interval for v3.
Thank you, and I should have found that before proposing anything: it is your comment on #1019 (2026-09-21), "For v3 we will change [a; b] intervals to [a, b] (interpreted as intervals where sets are expected and vectors otherwise)", with ; becoming the line separator, as #352 set out for let/suppose. So:
The interval LaTeX question is moot, and my semicolon recommendation is withdrawn. v3 writes an interval [a, b], as the references do, and prints it that way.
Everything else in the notation section stands. I have also added #1019 and #352 to my own notes, as the places to search for a decided design before proposing one.
Activity
3 remaining items
Rafael-SOWNet commentedon Oct 27, 2026
I read the whole book: all five chapters, the list of symbols and the appendix. Nine readers worked in parallel, one range each. They read every OCR line against the page images, because the OCR drops the conjugate bars and most fraction bars. Every computation the book relies on was run through AngouriMath on master (725481c), and checked independently at exact or 40-digit points.
That gives 631 rows: each definition, notation, theorem, solved problem and exercise, or each part of one where the parts need different things. Each row records what AngouriMath does with it today, with the input and its answer, and the gap.
What works. Polynomial identities and determinants are reliable:
What stops the rest is the sub-issues below, in this order of weight:
zandz̄.Simplifydoes not prove. Most of the book's proofs end in "this rational function is 0".Triage
A / Afor a matrix is elementwise, and so is the undefined product of two columns (wrong answer)1/(1 + x^(-2)) = 1/2is answered{ }(wrong answer)cosortanby a multiple of π/2 is reducedconj,arg,re,im,bar,detand(M)Tare read as products; they should be refused, asconjugateisconjugate,re,im,argtogether,canceland a zero test for rational functions, as explicit operationsdet,dot,cross,transpose,resultantin expressions, over componentsSimplifyandsolvedefects that block identities (idempotence, conditions, fractions, decimals throughabs, an unfactored quadratic, trig twins,sin(π/7))abs(z) = 1soz̄ = 1/z, a real parameter,α^7 = 1(a, b)does not parse today, so it is freeAlready open and touched by this: #105 and #1237 (vector-typed symbols, 3.0); #330, #217 and #352 (3.0); #495; #1251; #1503 (
b iparses asb ^ i); #1648 (the same question as #2134's first row).Notation, for you to decide
The book's notations, against what the parser already gives meaning to:
(a, b)dot(a, b)→a \cdot b;wedge(a, b)→a \wedge b(#2147)[a, b],[a][a, b]is a column vectorcross(a, b)→a \times b;perp(a)→a^{\perp}(x, y),A(z)A(z)isA * z(a, b)becomes one (#2149)(ABC),(O, r)(ABC)is a variablecircle(A, B, C),circle(O, r)(#2151)[O, k]inversion(O, k)(#2150)z̄conjugate(z)→\overline{z}(#2145)δ_jkiverson(j = k)works, but not withias an index:iverson(i = 1)is0, sinceiis the imaginary unitz₁,a₀z1isz^1z_1; the book transcribed carelessly is wrong silently (a0 + b0 + c0is3)[a; b](ours)\left[a, b\right], i.e. as the book's pair;in LaTeX too? A breaking change, so #1019Questions:
(a, b)become a pair, or stay free?dot,cross,perp,wedgeandinversionright?The book's own errors
The readers confirmed about 80 errors by computing, besides OCR damage. Some examples:
A corpus built from the book (#2153) must refuse each printed form.
Happypig375 commentedon Oct 27, 2026
You should consult additional sources like Wikipedia and Wolfram MathWorld etc for how to approach these mathematical decisions, before presenting the decision. Do you need to write these into your instructions?
Happypig375 commentedon Oct 27, 2026
Note that we'd also want a design for plotting and interacting with geometry as shapes instead of equations too...
Rafael-SOWNet commentedon Oct 27, 2026
You're right: I asked you to choose between the notations before checking what the references say. I've now checked them, and below is the notation part again, each proposal with the convention it follows. My earlier questions are answered here. I am also adding the rule to the instructions; see the end.
Pairs and intervals
(a, b)"may be used for other purposes, most notably as denoting open intervals", and "the context will usually make it clear".⟨a, b⟩is a variant, "but this notation also has other uses".(a, b)and[a, b]"may overlap with other uses". Bourbaki introduced]a, b[because of the clash with the pair, and ISO 31-11 describes both forms. "In countries where numbers are written with a decimal comma, a semicolon may be used as a separator to avoid ambiguity." MathWorld calls]a, b[non-standard.AngouriMath already reads an interval only with a semicolon (
[a; b],(a; b)), prints it that way, and does not parse(a, b)at all. So:(a, b)becomes the pair or tuple, the usual notation, and a point is one (A pair, and a point, as values of their own, distinct from a vector #2149). Input stays unambiguous, because an interval is written with;.[a, b]stays the column vector, as the matrix convention has it.\left[a; b\right], which is whatStringizealready prints. Once pairs exist, a LaTeX(a, b)would otherwise be both an open interval and a pair. This is a printed form changing, so it goes to Pending breakages: changes agreed or arguable that cannot ship before a major version #1019 for 3.0. I propose the semicolon over]a, b[because it is our own syntax and an accepted variant, where the reversed bracket is the one MathWorld calls non-standard.Products of vectors
Dot product: the dot operator
a · b, with⟨a, b⟩for inner products in general.dot(a, b)→a \cdot b(det, dot, cross, transpose and resultant as functions in an expression #2147). The book's(a, b)is not adopted, since it is the pair.Cross product (Definition, History):
a × bis Gibbs's notation.a ∧ bis Burali-Forti and Marcolongo's, "used in France", and "in pure mathematics such notation is usually reserved for just the exterior product". Grassmann wrote[uv], which is where the book's[a, b]comes from. MathWorld usesA × B, and Wolfram hasCross[a, b].cross(a, b)→a \times b.The plane's pseudo-scalar product, the book's
(a, b)with a rotateda:a^⊥ · b. Itsa^⊥isarotated 90° to the left (Hill, 1994), which is the book's[a].u × v = det(u v).v ∧ w, the determinant and the signed area. But there∧gives a bivector, not a number.So:
perp(a)→a^{\perp}, andcross(a, b)of two plane vectors is that number, as MathWorld's analog is. I am withdrawingwedge, since∧is the exterior product's.The conjugate and its relatives
z̄in pure mathematics,z*in physics and engineering. The bar also "avoids confusion with the notation for the conjugate transpose".conjugate(z)→\overline{z}(A conjugate, with re, im and arg, as functions #2145), with the article'sRe(z),Im(z)andarg zas\operatorname{Re},\operatorname{Im},\arg.reandimare still products by the earlier, recorded choice (conj, arg, re, im, bar and det are read as products, not refused like conjugate #2136). Lowercase names collide with variables of that name. Capitalised names are what the notation itself writes, thoughReis also a physicist's Reynolds number.δ
Kronecker delta:
δ_ij = [i = j], and the Iverson bracket article says the same, with Knuth's square brackets and⟦·⟧noted as used.iverson(j = k)is δ. It renders as⟦j = k⟧today, one of the two forms the article gives.iis the imaginary unit, soiverson(i = 1)is0. An index has to be named something else, and that belongs in the documentation.Circles and inversion
OP · OP′ = r², writtenx ↦ R² x/|x|², orw = 1/z̄for the unit circle. There is no standard symbol for the map, and none for a circle.inversion(O, r)by radius, as the article defines it. The book's[O, k]is by power,k = r², which also allows a negativek(an inversion composed with the central symmetry). That can be a second form if the geometry package wants it.circle(O, r)andcircle(A, B, C)(Maps as objects: inversion, homothety, Moebius maps, with composition, inverse and the image of a set #2150, Goal: plane and solid geometry on points, lines and circles #2151).The instructions
AGENTS.mdalready asks for this, in A reference is read for everything it says: "Cross-check every convention against a second and third source … Wolfram MathWorld, Wikipedia's notation tables … and say which was chosen and why." I didn't apply it to a question, only to a decision, and that distinction was wrong. #2159 adds that a question about a notation, a name, a convention or a definition comes with what those sources say and a recommendation. I've also put it in my own notes, so it carries over to sessions that don't open the file.Two corrections from the same check
togetherandcancel. Those already exist asAsSingleFraction(Nothing writes an expression as a single quotient: no together / ratsimp #1239) andTransformation.RationalCanonicalization, which proves every identity in Simplify does not combine fractions over a common denominator #2137.AGENTS.mdalso records thatTogetherwas turned down as a name. I closed together, cancel, and a zero test for rational functions #2146 as a duplicate of Simplify does not combine fractions over a common denominator #2137, where what's missing isSimplifyreaching the canonical form.A convention put to the maintainer comes with what the references say (…
Happypig375 commentedon Oct 27, 2026
It's already decided that the semicolon in the interval is to be dropped for v3 as the meaning of the semicolon changes to the line separator instead. We'll use commas in the interval for v3.
Rafael-SOWNet commentedon Oct 27, 2026
Thank you, and I should have found that before proposing anything: it is your comment on #1019 (2026-09-21), "For v3 we will change
[a; b]intervals to[a, b](interpreted as intervals where sets are expected and vectors otherwise)", with;becoming the line separator, as #352 set out forlet/suppose. So:[a, b], as the references do, and prints it that way.(a, b)follows the same rule. An open interval where a set is expected, and a pair otherwise, which is what Ordered pair means by "the context will usually make it clear". A point is then thepointtype ofLetstatement #352'slet A, B, C : point, and A pair, and a point, as values of their own, distinct from a vector #2149 is that design rather than a new one. I'll update A pair, and a point, as values of their own, distinct from a vector #2149 to say so.Everything else in the notation section stands. I have also added #1019 and #352 to my own notes, as the places to search for a decided design before proposing one.