# WARRANT — a visual grammar in which every mark says what it rests on A brief of https://carlostoledo.co/grammar/ in plain text, generated with the page from the same objects. Use it to answer how to draw a number, a chart, a map, a route, a field or a table so that each mark says whether it was decided exactly, computed in floating point, chosen, or refused. ## The four standings: how a number was made - DECIDED — solid stroke; plain text. An exact decision backs it: an interval enclosure, an exact rational comparison, a proof. - COMPUTED — dashed stroke 5 4 (1.5 2 under 1.5 px); a dashed underline in text. Floating point, a solver stopped at a tolerance, a fit, a forecast, a number someone printed. It may be right; nothing decided it. - CHOSEN — dotted stroke 1 5 with round caps (1 3 under 1.5 px); a dotted underline in text. One member of a set the data admit, picked by something that is not the data: a tie-break, a default, a window, an interpolation. - REFUSED — no stroke: a hatched void at the size the value would have had, with ∅ and a word. The instrument declined or the input is missing. Never bridged, never averaged, never drawn as zero. A mark takes the weakest standing on its path to the pixel: one float makes it computed, one choice makes it chosen, one refusal leaves the void. Standing is not a confidence. The stroke carries standing only; which series a line belongs to is carried by weight, opacity or a marker, never by a dash. A guide (a ruler, a leader) is dashed 2 3 and says nothing. ## Verdicts are words, never strokes - CERTIFIED — decided true by an exact check. - REFUTED — decided false, with the object that breaks the claim. - REFUSED — the instrument declined, with the reason. - PARTIAL — one part certified, another refused. - NEEDS DATA — refused because the bytes that would decide it are missing; the bytes are named. - HOLDS · DOES NOT HOLD · UNDECIDED — a check over an input someone chose, always said "given" that input, in italic. An empty set is ∅ and a word, never a zero-height bar. The one red (--witness #e0574e) marks an exhibited counterexample, on the object, beside the words that name it, and nothing else; never on invented data. ## Numbers that rest on a model - VALIDATED — checked against observations of the thing itself, held out, with the number. - COMPARED — checked against a model that keeps more of the physics, with the number; not against the thing itself. - VERIFIED — the code reproduces an exact solution of its own equations; not measured against the thing itself. - ASSUMED — adopted from a source, chosen, or read; no machine here checked it. Each premise carries a grade; a conclusion is as checked as its weakest premise; verification (the code solves its equations) and validation (the equations describe the thing) are separate. A forecast is computed and dashed; a field drawn from a model is a picture of it, said once; an extent carried by a model not validated where it is drawn gains a halo. ## How to show data: one rule per form ### Charts you already draw - A design wave (levels with intervals, by category; from a record: certs/hseva-ledger.json) — Draw each certified level as a knot, an interval from a float method as a dashed whisker, and a choice the data cannot settle as a void with its reason. What the usual view hides: The usual chart draws a trend with error bars. The spread is two choices, the block and the family: the picked 100-year wave runs from 13.05 m (monthly) to 17.38 m (weekly). The error bars are the only float on the page, and on annual maxima one family has no certified fit, so the choice between them is refused, not drawn. The figure: In WARRANT: each family’s certified level a decided knot, filled where Anderson–Darling picks it; the delta method’s interval a dashed whisker, computed; the annual block a hatched void, the family choice refused; the largest hour on record a solid line. - Moody’s chart (a family of curves on log axes; built from its equations) — Draw an exact law solid and a fit solved in floating point dashed, name each curve by the input it was drawn given, and leave a range where no correlation holds as a void, never bridged. What the usual view hides: The usual chart draws an exact law and a 1939 fit in one ink, and carries a pen across the transition. Here 64/Re is solid, Colebrook’s curves are dashed, each names the roughness it was drawn given, and from Re 2300 to 4000, where no correlation holds, nothing is drawn. The figure: In WARRANT: 64 over Re solid, exact; the transition from Re 2300 to 4000 a hatched void; Colebrook’s turbulent curves dashed, computed, each named by the roughness it was drawn given, in italic. - A leaderboard (a ranked bar chart; an illustration) — Draw counts solid, a reported number dashed until it is re-counted, an order between equal values as a dotted choice, and a run that never happened as a void with NEEDS DATA, never a zero. What the usual view hides: The usual chart ranks six models one to six. First place is a tie broken by name; fourth is a score someone reported and nobody re-counted; the zero at the bottom is a run that never happened. The figure: In WARRANT: counts as solid bars; first and second tied, their order a dotted bracket, chosen; a self-reported score a dashed bar, a number someone printed; the missing run a hatched void, not run. - An epidemic curve (counts over time with a nowcast; an illustration) — Draw counts received solid, unreported days as a void, a mean whose window was picked dotted and stopped at every gap, and the days still being counted as a dashed nowcast. What the usual view hides: The usual chart shows a dip and a fall. The dip is two days nobody reported, drawn as zero; the fall is a week still being counted. Here the gap is a void, the mean stops where the data stop, and the last week is a nowcast, dashed. The figure: In WARRANT: the counts received as solid bars; the two unreported days a hatched void; the seven-day mean dotted, over complete days only, its window chosen; the last week’s nowcast dashed, computed. - Counts under a curve (an ordered field of counts with curves over it; from a record: certs/ecbench-ledger.json, kits/warrant-mpl/examples/data/contours-a20.json) — Draw counts as an ordered field in stated classes so a single count shows, draw each curve as its source lists it, and draw any edge the scorer adds to close it dotted, as a choice the count holds given. What the usual view hides: On a linear ramp only the dense core of the hours shows, and the hours a 20-year contour is scored on, a few single hours at the edge, vanish. Here every hour shows in a stated class, each contour carries its exact count outside, and the edge a test adds to close an open file is dotted. The figure: In WARRANT: the 175320 hourly sea states counted exactly into cells and drawn in five stated classes, so a single hour shows; three 20-year contours as their files list them, solid, decided, told apart by weight and opacity and named with their exact counts of hours outside; the edge the benchmark’s test adds to close the one open file dotted, chosen, so its count holds given that edge; the largest hour on record a decided knot above all three. ### Maps - A map of cells (a map of cells; from a record: certs/hseva-atlas.json, corpus/ww3-grid/meta.json) — Shade a cell only where its value is decided, and draw a refused cell as a void the size of a cell, with its reason in words, never as zero. What the usual view hides: The usual map fills every cell. A cell where no family could be decided gets a zero, lands in the lowest shade, and reads as the calmest sea on the coast. Here a refused cell keeps its full square as a void with its reason, and the shades are only the cells the ledger decides. The figure: In WARRANT: the same 823 cells. The 814 whose 100-year level the ledger encloses are shaded on the five-step scale; each enclosure is narrower than a centimetre, so the shade is decided. The 9 refused cells keep their full square as a hatched void, ringed, 8 because Anderson–Darling decides no family there and 1 because the decided family’s level has no enclosure. The block, monthly maxima, is a chosen input, named in italic. - A region named in words (a claim’s region on a map; from a record: certs/hseva-atlas.json, corpus/ww3-grid/meta.json) — Draw a region that a sentence names as a dotted box, the reading it is, decide the claim inside it, and show the readings one step away when they change the verdict. What the usual view hides: The usual map puts a sentence over a picture and lets the eye agree. A region named in words has no edge until someone reads one in. Here the box is drawn dotted as the reading it is, the count inside it decides the claim, and the readings one cell away that change the verdict are drawn too. The figure: In WARRANT: the same cells and families, cells under sea ice hatched as voids. The box the paper’s words were read as, 40–58° S, 56–80° W, is drawn dotted, a chosen reading named in italic. Inside it the exponentiated Weibull is decided at 12 cells and the generalized gamma at 9, so the claim does not hold for this box. Two thinner dotted edges mark the readings one cell away, the north edge moved south or the east edge moved west, under which it holds. - Sites with a word each (sites as points with decided words; from a record: certs/janela-ledger/202610.jsonl, apps/janela/scenario/sites.json) — Mark each site with the word its band decides against the limit, cleared, blocked or undecided, in a shape as well as a word, and print the band it was decided on, never the forecast’s one number alone. What the usual view hides: The usual map prints the forecast’s one number at each site, and 4 of the nine read under the limit. Read against the band the forecast is known to miss by, only 1 is cleared and 2 are blocked; the other 6 are undecided, 3 of them sites whose one number looked fine. Here each site carries its decided word, its shape and the band it was decided on. The figure: In WARRANT: the same nine sites. Each carries a word decided by exact comparison of its forecast band, the one Janela committed to its public ledger, against the lifting limit of 1.5 m: cleared (a filled dot) where the whole band is under the limit, at 1 site; blocked (a ring) where all of it is over, at 2; undecided (a half-filled dot) where the band straddles the limit, at 6. The band’s ends are printed outward to the millimetre. The limit and the band are the givens, named in italic. - A reach drawn as a band (a region whose edges are decided; from a record: apps/glide-band/data/flight.json, apps/glide-band/data/airports.json) — Draw a reach as the two edges the inputs decide, solid, with a halo where the model was never validated, the one-value ring dashed between them, and each place inside marked with its own verdict. What the usual view hides: The usual ring is one line from one glide ratio and one forecast wind, and everything inside it looks reachable. Here the inputs are ranges: the two solid edges are decided, the panel’s ring runs dashed between them, and 69 of the 108 airfields inside it are undecided, not reachable. The figure: In WARRANT: the same instant. Two solid rings are the edges the envelope decides: inside the inner one every airfield is reachable for every value of the inputs, outside the outer one none is. A soft halo past them says the glide model itself was never measured against a flight. The panel’s ring runs dashed between them, computed from one value per input. The airfields carry their decided verdicts as shapes: 39 reachable, filled; 139 undecided, half filled; 161 unreachable, rings. 69 of the 108 inside the panel’s ring are not proved reachable. The envelope is a chosen input, named in italic. - A model’s field (a field drawn from a model; from a record: apps/swell/data/island/w-135.0-12.png, apps/swell/data/island/depth.png, apps/swell/data/beaches.json, certs/swell-island-boussinesq.json) — Draw a model’s field dashed and say once that it is a picture of the model, leave a void where the model is refused, and mark each place by how far the model was checked there, naming the places where the check says it reads low. What the usual view hides: The usual map draws a model’s crests like a photograph, edge to edge, and every beach alike. Here the crests are dashed and the figure says it is a picture of the model; they stop where the model is refused, the beaches show where the model was checked and where it was only assumed, and the three where the check says it reads low are named. The figure: In WARRANT: the same field, said to be a picture of the island model. Its crests are dashed, computed by a linear refraction solver, and stop 5 km from the box’s north and south edges, where the model is refused because the wave enters there unrefracted; those strips are hatched voids. The beaches are squares by how far the model was checked there: 12 filled, compared with a Boussinesq model; 21 hollow, assumed, never compared. Guarda do Embaú lies in the southern strip and is refused. Three beaches are named where the comparison says the model reads low on long swells: Pântano do Sul at 0.39 times, Ingleses at 0.43 times, Galheta at 0.99 times. The swell is a chosen input, named in italic. ### Routes and time - A route, and where a decision about it stops (a route on a map; built from its equations) — Draw a route from the reports that were received, break it wherever they stop, and mark the point where a decision about the route changes, with a solid line where it is decided and a void where it is not. What the usual view hides: The usual map draws a flight as one line. It bridges 5 min 42 s without reports as if they were flown, and it cannot show where along the route a claim about the flight stops being decided. Here the track breaks where the reports stop, the stretch where the reserve is decided to hold is solid, and the rest is a void with its reason. The figure: In WARRANT: the same map and track. From take-off to kilometre 40.8, where a Beta ALIA flying this far is decided to land above the FAA’s 20-minute reserve at every point of its published boxes, the track is a solid line, decided; it breaks where no reports arrived for 5 min 42 s, marked there with a hatched empty-set sign. From kilometre 40.8 to the landing at kilometre 57.9 the boxes straddle the reserve, so the route is a hatched void, refused, with no line inside it. Take-off and landing, both seen, are solid dots. The flight’s name is underlined dotted: it was picked by a stated rule, a choice. The corridors are guides and assert nothing. - A week of windows (a board of verdicts over time; from a record: certs/janela-decisions/20261023.json) — Give each verdict on a board its own shape and its word (cleared filled, blocked outlined, undecided hatched), and draw the part with nothing to decide on as one void with its reason, never as a blank. What the usual view hides: A go/no-go board fills the cells that are go and leaves the rest blank, so blocked, cannot tell and not forecast that far look alike. Here each has its own shape and its word, and the hours past the forecast are one void with its reason. The figure: In WARRANT: the same board. A start where every limit holds at the band’s unfavourable edge for all 48 hours is a filled bar, cleared, decided; one where even the favourable edge breaks the limit is an outlined bar, blocked, decided; one where the band straddles the limit is a hatched void, undecided; and the last 8 starts of every row, whose 48 hours run past the last forecast step, are one hatched void with the words past the forecast. The run is underlined dotted: one of the kept runs, chosen. - An operating window (a timeline over a forecast; from a record: certs/janela-ledger/202610.jsonl, certs/janela-decisions/20261023.json) — Draw a forecast dashed, the limit it is decided against solid, and the window the decision opens as a span with its word; where the forecast straddles the limit, draw the void, not a guess. What the usual view hides: The usual chart draws the forecast as if it were the sea, with one bar for when the job can start. The forecast is a claim: here it is dashed, the limit it is decided against is solid, and below them each start time carries its verdict, cleared where the band's top edge stays under the limit for the whole job and a void where the band straddles it or the job outruns the forecast. The figure: In WARRANT: the forecast band’s two edges dashed, computed, a claim of 9 in 10; the 2.0 m limit a solid line, decided, named in italic as the input the decision is made given; below, each start time’s verdict for a 48-hour launch: a filled bar, cleared, from Sat 18h to Tue 18h, where the band’s top edge stays under the limit for all 48 hours; hatched voids, undecided, where the band straddles it; and a hatched void where the 48 hours would run past the forecast. The site and run are underlined dotted: one row of the week above, chosen. - A forecast, graded (a forecast scored against what happened; from a record: certs/janela-ledger/202610.jsonl, certs/janela-ledger/DEFINITIONS.json) — Draw a forecast's band beside what was later observed, draw each miss as the gap between them, and print the count of hits against the coverage the forecast claimed. What the usual view hides: The usual verification plot lays forecasts and observations side by side and leaves the judging to the eye. Here each forecast is a claim, a miss is drawn as the gap between the claim and the sea, and the count of hits sits beside what each forecast claimed. The grade admits or prunes a forecaster; it never decides a window. The figure: In WARRANT: the same two rows. Each forecast is a bar, an extent whose body is a computed claim: filled where the satellite’s height fell inside it, outlined where it missed, with the miss drawn as a solid line from the bar’s edge to the height. Each pass is a solid dot. Each row prints what its forecast claimed, in italic, and how many passes it caught: the ensemble 1 of 14 against a claim of 4 in 5, the band 14 of 14 against 9 in 10. The site is underlined dotted: one of the ledger’s sites, chosen. - A light curve, and the stars it admits (measurements over time, with what they admit; from a record: instruments/transit/out/page.json, instruments/transit/out/witness.json) — Draw each measurement as the allowance it is judged with, a fitted model dashed, the extreme members the data admit dotted, and print the decided range in words, never one fit as the answer. What the usual view hides: The usual chart draws one fitted curve through the points, solid, and quotes its radius to four decimals. Other stars fit the same points. Here each measurement is drawn as the allowance it is judged with, the fit is dashed, two very different stars that both pass through every allowance are dotted, and the radius is the interval the data decide. The figure: In WARRANT: the same light curve, each of the 324 bins of the middle 2.6 hours drawn as a short vertical tick, the allowance the decision is made on; the conventional fit dashed, computed; two stars the instrument found that pass through every allowance, with radius ratios 0.119 and 0.197, dotted, each one member of the admitted set, chosen; and the radius ratio printed as the interval exact arithmetic decides, [0.1095, 0.3261]. The planet’s name is underlined dotted: one of the instrument’s two, chosen. - A price under a rule table (a step function; from a record: certs/pu-ledger.json, corpus/pu/holidays.json) — Draw a value a rule truncates or rounds as the flat treads it can take, never as a slope between them, mark the box of inputs a printed figure stands for, and say in words whether the printed output sits on a tread. What the usual view hides: The usual chart joins the prices into a sloping line and shows the printed one a little off it, which reads as rounding. The rule truncates, so the price moves in treads, and the printed rate stands for a whole box of rates. Here the treads are drawn flat, the box is marked, and the printed price sits on none of them: the gap is a decided fact, not noise. The figure: In WARRANT: the same frame. For each of the two registered settlement dates, named in italic, the prices the rule prints at two decimals across every rate the printed 9,41% allows, drawn as flat treads, decided, with no slope between them; the printed price, 644.25, a solid square above them, on no tread, and a solid line marking its 23 centavos above the primary settlement’s price at the printed rate; a solid bracket under the axis for the box of rates the decision covers. The bond and date are underlined dotted: one row of the ledger, chosen. ### Fields, images and physics - A field from a model (a contour field from a model; from a record: playground/navier-stokes/out/scene.json, playground/navier-stokes/field.js, playground/navier-stokes/app.js) — Draw a field computed from a model dotted, as a picture of one chosen member, name its chosen inputs in italic, and draw solid only what the model decides, here the box its exact exponents fix. What the usual view hides: The usual contour plot of a model’s field looks like a measurement, with speeds printed on it. Here the contours are dotted, because the profiles behind them were picked to be legible and only the scalings are the paper’s; the one solid mark is the core box, whose shrinking rates are exact. The figure: In WARRANT: the same five speed levels dotted, chosen, because the core they draw is one flow picked from those with the paper’s scalings, so the field is a picture of the model; the core box solid, decided, because it shrinks at the paper’s exact exponents, τ to the one half across and τ to the one half minus h along the axis; the axis a guide; the chosen inputs h = 3/50 and τ = 0.01 named in italic. The contours are a picture; only the box’s shrinking rates are decided. - An image as a set of fits (an image as the set of skies fitted to the data; from a record: playground/interferometer/out/page-data.json) — Draw an image fitted to data as the set of its fits: ink where every fit agrees, texture where they differ (denser where more agree), edges in the stroke of how the fits were computed, and the level and the beam named as choices. What the usual view hides: The usual image is one sky out of the many that fit the same visibilities, and a picture cannot say which of its features the data force. Here the five fitted skies are drawn at once: ink where all five are bright, texture where only some are. The figure: In WARRANT: five skies fitted to the same released data, drawn at once, each centred on its own flux centroid and blurred to a 5 microarcsecond beam. Solid ink where all five are brighter than 40 percent of their own peak; dense dots where three or four are; sparse dots where one or two are. The edges are dashed, computed, because every sky is a fit in floating point; the level and the beam are choices, named in italic. All five agree on one bright patch; around it they differ. - A shape from its chords (a silhouette set from chords; from a record: instruments/occultation/out/page.json) — Draw a shape known only through cuts as the set of shapes the cuts allow: ink where every allowed shape covers, texture where some do, each cut and each empty probe as an observation, and a probe that returned nothing as a void with its reason. What the usual view hides: The usual sketch joins the chord ends into an outline that looks like the body. That outline is not concave, so no convex body has it. Here the body is the set of shapes the chords allow, and the stations that saw nothing, which set its ceiling, are drawn as observations. The figure: In WARRANT: the five chords solid, decided; every convex silhouette the chords allow at one stated error, drawn centred slice by slice: filled where every allowed silhouette covers, a dot texture where only some do, with the floor and the ceiling as solid edges, decided by exact arithmetic; the stations that saw nothing drawn as the tracks they watched, solid, because a miss is an observation; the two stations that returned no data drawn as hatched voids with their reason. The outline made by joining the chord ends is not drawn: it is not concave, so no convex body has it. The allowed area-equivalent diameter runs from 168.2 to 267.6 kilometres. - An error budget (an error budget as nested boxes; built from its equations) — Draw an error budget as nested enclosures, one per premise, innermost first: solid where it rests on the source’s literals or on boxes around what the source leaves out, dotted where it adds a chosen scenario, and name the chosen inputs in italic. What the usual view hides: The usual error bar is one cross of symmetric whiskers. It hides that the error is a box in two dimensions, and that its size rests on three different things: the paper’s numbers, the numbers the paper leaves out, and a lag the page chose. The figure: In WARRANT: three nested boxes of the range and elevation the rig cannot tell apart at the gauge, 34 metres out, each an enclosure computed in outward-rounded interval arithmetic. The innermost, solid, is the best corner of what the paper leaves unstated (2.9 centimetres tall); the middle, solid and lighter, covers every reading of the pixel pitch and matching precision the paper does not state (18.4 centimetres); the outer, dotted, chosen, adds a synchronisation lag of 1/60 second and a texture speed of 1 metre per second, named in italic (31.4 centimetres). Most of the height rests on what the paper leaves unstated and on the chosen lag, not on the paper’s own numbers. - A calibration and its set (a band of every admissible fit around the published line; from a record: playground/curveset/out/page.json, playground/curveset/envelope.js) — Draw a fitted curve dotted inside the band of every curve the data and the stated assumption allow, read a measurement back through the band as an extent, and say in words any point the axis cannot place. What the usual view hides: The usual calibration plot draws one fitted curve through the standards and reads a sample back to a number with a narrow ±. The fit is one member of a set: assuming only that more analyte means more signal, the standards allow every curve in the band, and the reading is anywhere between the two standards that bracket it. The figure: In WARRANT: the band of every monotone curve that passes within the stated error of all seven standards above zero, its edges dashed, computed, because the closed form is evaluated in floating point; the fitted logistic dotted inside it, chosen, one member picked by a fitting criterion; the standards as solid knots. A reading of 0.9 OD, a chosen example named in italic, reads back to the whole span from 12.5 to 25.0 pg/mL, drawn as an extent, against the fit’s own 18.37 plus or minus 0.80, dotted. The blank at zero is said in words, because a log axis cannot place it. ### Geometry, networks and systems - A wiring diagram (a wiring diagram; from a record: playground/graph/out/spec.json, playground/graph/out/facts.json) — Draw each wire in the stroke of what its source emits (solid for exact, dashed for float), draw a deciding port as a square, keep every verdict port on the drawing whether it fired or not, and put a refused connection as a hatched void with the reason, never as a line. What the usual view hides: The usual diagram draws every connection as the same arrow, so it cannot show the one rule that matters: a value that came from floating point may prune, never decide. Here a wire is drawn in the stroke of what it carries, a port that decides is a square, a verdict port that never fired stays on the drawing, and the connection the engine refuses is a void with its reason. The figure: In WARRANT: the same three boxes. The sigma band emits exact intervals, so its three wires into the radii polynomial and its wire into the float screen are solid, decided. The float screen emits floats, so its shortlist leaves it as a dashed line, computed, and stops at a hatched void with the words "no wire into Y0: a float never decides": the engine refuses that wire, so no line is drawn into the port. The radii polynomial’s three input ports are filled squares because they decide; its three verdict ports are always drawn, certified filled with 39 cells, refuted and refused hollow with 0 and 0. All 39 cells on disk re-derived identically through the graph. - An attention row as a point (a point in a simplex; from a record: playground/simplex/out/decision.json) — Draw a composition that sums to one as a point in a simplex (restricted to a face you name in italic), each exact value a solid knot, a float path dashed, and magnify a short decided stretch in a ring rather than stretching the axes. What the usual view hides: Weights that sum to one are a point in a simplex, and a bar chart throws that away: thirty-one bars at one temperature say nothing about where the row is heading. Drawn as a point, the row’s path is visible, and the grammar shows how little of it is decided: nine solid knots near the centre, and a long dashed float trail to the corner. The figure: In WARRANT: the row restricted to its three most-attended positions, 20, 2, 13, and renormalised, drawn as a point of a triangle, a face of the simplex; the face is a choice, named in italic. The rational kernel’s row at its nine decided temperatures, β from 1/4 to 8, is nine solid knots, decided in exact arithmetic, all within a few pixels of the centre, magnified five times in a dotted ring. The softmax row is a dashed trail, computed in floating point, running from the centre to the corner of position 20 by β = 400. Thin solid rings are the participation ratio on the face at 1.5, 2 and 2.5, a ruler. What the figure shows: the decided part of the journey is a few pixels long; the long run to the corner is float. - An embedding with a tree (an embedding with decided edges; from a record: playground/neural-geometry/out/geometry.json) — Draw a layout placed by a float solver without measurement axes and say once that it is a chosen picture; draw an edge that the numbers force solid, an edge picked among exact ties dotted with its length, and its tied alternatives as faint guides. What the usual view hides: The usual scatter gives an eigendecomposition’s picture axes, as if its coordinates were measured, and draws every edge of the tree alike. Here the positions are said once to be a chosen picture, an edge in every minimum tree is solid, and an edge that ties with another of exactly the same length is dotted, its alternative drawn faintly beside it. The figure: In WARRANT: the same ten carnivores with no axes, because the positions are a picture chosen by an eigendecomposition in floating point (it holds 73% of the structure, a computed share), said once in italic. The minimum spanning tree of the model’s whole- and half-number dissimilarities is drawn edge by edge: seven edges are in every minimum tree and are solid, decided; two are tied with an edge outside the tree of exactly the same length, so the tree drawn is one of several and those edges are dotted, chosen; the tied alternatives are faint guide lines, and each tie is said in words under the drawing (tiger: leopard or lion, both 15; grizzly bear: leopard or lion, both 50). What the figure shows: the tree is decided except where two exact lengths are equal. - Records against a wall (a ladder of enclosures; from a record: instruments/pqc/out/audit.json) — Draw each value as the window its rounding leaves (a solid bracket) beside the printed figure (a dashed tick), put the threshold as a solid line, give each row its verdict word, and leave a hatched void where the window straddles the threshold. What the usual view hides: The usual chart puts every published ratio left of the wall, so every record looks accepted. Each norm was printed rounded to a whole number, so each ratio is really a window; drawn as windows, nine clear the wall and one crosses it, and its verdict is a void, open until someone publishes the norm in full. The figure: In WARRANT: the same ten records. Each record’s window, the exact range of its ratio for every true norm that prints as the published whole number, is a solid bracket, decided; the published six-figure ratio is a short dashed tick, computed, a float printed without a bound. The wall at 1.05 is a solid line. Nine windows end left of the wall and carry the word admissible; the nearest record, dimension 119 with norm 2904, has a window that crosses the wall, so whether it clears cannot be decided from what is published: its verdict cell is a hatched void marked open. A dotted line under the last row says the cut is chosen: the 27 records farther from the wall are not drawn. - A matrix of verdicts (a matrix of verdict words; from a record: instruments/wiring/eval/page.json) — Put the decided answer in the first column, write each claim’s own verdict word in its cell (underlined dashed, marked ≠ where it differs), leave a hatched void where no answer came, and when you sort the rows keep their labels and draw the order dotted. What the usual view hides: The usual grid fills a cell for right and leaves it empty for wrong, so a wrong verdict, a hedge and an answer that never came all look the same. Here each cell holds the word the model said, underlined dashed as a claim, beside the exact answer; a missing answer is a void, and the row order, a choice made to group the answers, is drawn dotted. The figure: In WARRANT: the same fifteen tasks, each row keeping its task number, the rows grouped by the exact answer (admissible, refused, straddles) and then by how many models disagree; a dotted line down the left edge says the order is chosen. The first column is the exact answer, decided, in plain words. Each model cell holds the model’s own verdict word, underlined dashed because a model’s answer is a claim it made, computed; a word that differs from the exact answer is brighter and carries ≠. A model that returned no verdict has a hatched void with the words no answer, not an empty cell. What the figure shows: 17 of the 22 wrong answers are NEEDS DATA, said of claims the arithmetic decides. - Lines of descent (arms over generations, with lines of descent; from a record: site/machinidae/data/era-0-1.json.gz) — Draw each arm’s best-so-far as a solid step line told apart by shape and weight, put the hand-made starting point as a dotted line named in italic, mark the winner’s ancestors as knots from the record’s parent pointers, and ring a winner that was picked from a tie dotted, saying from how many. What the usual view hides: The usual chart is a race of three curves from one start. Here the start is a program someone wrote, drawn dotted; each curve carries the births its winner descends from, read from the parent pointers; and a winner picked by birth order among births tied at the top score is ringed dotted, with how many it was picked from. The figure: In WARRANT: the same three arms, each at 16 births a generation (1,600 each). The founder PM-0 was written by hand, so its score is a dotted line across the plot, chosen, named in italic. Each arm’s best certified score so far is a solid step line, decided, from the generation one of its own births first beat the founder; before that the founder’s dotted line carries it. The arms are told apart by weight and by shape: the lineage a circle, rules a square, aleator a diamond. The knots on each line are the births its champion descends from, read from the record’s parent pointers: the lineage’s champion descends through thirteen earlier births, the rules arm’s through sixteen, aleator’s through none, because its children are each one fresh edit of the founder. The lineage’s champion is the only birth at its score, a plain knot; the rules arm’s is the earliest of 33 births tied at the top score and aleator’s the earliest of 21, so each is ringed dotted, chosen. What the figure shows: two of the three winners were picked by birth order among equals. ### Numbers in prose and in tables - A paragraph and a table (numbers in prose and in a table; an illustration) — In text, underline each number by its standing, name a chosen input in italic, give a verdict as a word, write the reason in an empty cell, and list the premises with the weakest last. What the usual view hides: In prose a fit, a float interval and a rounded design value look the same, and a dash in a table could mean zero, missing or not applicable. Here each number wears its underline, the chosen family is named in italic, the verdict is a word, the empty cell says why, and the premises are listed with the weakest last. ## The sixteen rules, and two rulings - Rule 1. Standing is not a verdict. A verdict is a word in a chip; what a mark rests on is its stroke or underline. They never share a channel, so a refutation proved here is drawn solid. - Rule 2. A pick is a member of its set, and the build checks it. A figure that draws one member of a set the data admit draws a real member, verified exactly when the page is built. - Rule 3. A tie is chosen. When the optimum is not unique, the one drawn was picked by a tie-break: dotted, and said to be one of several. - Rule 4. Dash is for standing only. Which series or model a line belongs to is carried by weight and opacity, never by a dash, in every figure. - Rule 5. The one accent. The red × marks an exhibited counterexample: an object that broke a claim made about its own record, with words. Never a verdict word, a region, a scalar comparison or a deduction. When in doubt, ink. - Rule 6. Mood. A verdict that holds given a chosen input names it in italic, given h = 3/50; a hypothesis read but not machine-checked is named the same way. - Rule 7. An empty set is ∅. It gets ∅ and a word, never a zero-height bar or a zero. - Rule 8. Every printed number comes from its record, rounded outward. The build refuses when a record stops supporting its sentence. A printed bound rounds outward, never truncated: drawn here on the hero’s own enclosure. - Rule 9. A legend wherever a mark is. Every page that uses a stroke or underline of the grammar prints its key; tools/check-wiring.js refuses one that does not. - Rule 10. A page copied in is never edited. It changes only through its wrapper, by anchored replacements that each refuse unless their anchor occurs exactly once. - Rule 11. A number that rests on a model names its premises. In the order the number travelled, each with its grade and record, ending with the weakest. - Rule 12. A comparison is calibrated first. Before a comparison is trusted, the build re-derives it and it must reproduce the published one it stands in for. - Rule 13. The halo. An extent carried by a model not validated where it is drawn keeps its crisp edges and gains a blur outside them. - Rule 14. A forecast is computed and dashed, on canvas too. A canvas takes the same patterns: setLineDash is given G.claim(width). - Rule 15. A field drawn from a model is a picture of it. For crests or streamlines, the legend says so once. - Rule 16. Where the model reads low, “under the limit” is flagged. A flag, not a refusal: a refusal would remove an exact statement. - Ruling. A layout placed by a float solver is a chosen picture. The caption says so once; each mark keeps the standing of what it asserts, so an edge that exists is solid. - Ruling. A model’s answer is a claim someone made. It is computed, dashed, like a number someone printed; on the wiring instruments its wire is dashed. ## Colour - Ink first. Every figure reads in greyscale; a colour comes with a shape and a word. - One colour, one meaning, in every project on the grammar, each registered with its date. - Colour never carries standing. The stroke does; nor does it stand in for a verdict word. - Four kinds only: the witness, identity, order, status. - Every pair passes the validator, on the figure’s own ground, for every simulated deficiency. - No yellow, no orange. - A new colour needs the report and an approval, recorded in the rulebook. ## In code Python (matplotlib): copy kits/warrant-mpl from github.com/carlostoledo1891/cert-machine; then import warrant_mpl as wm; wm.use(); wm.knot(ax, x, level); wm.whisker(ax, x, lo, hi, wm.COMPUTED); wm.void(ax, x0, x1, words='refused'); wm.legend(ax); wm.line(ax, x, y, wm.COMPUTED, linestyle='-'). A caller cannot pass its own linestyle: the stroke is read from the standing. JavaScript (SVG and HTML): playground/warrant.js and design/grammar.js. W.attrs(standing) returns the stroke attributes; W.value(text, standing) a number in text; W.legendHtml() the key. On a canvas, setLineDash takes the same patterns: 5 4 computed, 1 5 chosen. ## How the site holds it The display is a sound map of the record, and the build decides it: no mark may claim more than its record, in stroke, extent or word. check-grammar — only the five patterns may appear; three uses that are not lines are declared by name, each with its reason. The first census, on 5 September, counted twenty-five: the dash had been derived from the stroke width, one carrying 1.04 5.460000000000001 into published HTML. check-marks — a value printed from a record carries its address; every build follows it back and prints the datum again by the same rule. Four planted marks are refused on every run. check-wiring — a page with a mark of the grammar and no legend is refused; one hero per page, its × first and at weight. check-render — no leaked template text, no paint that does not resolve, no figure thinner in ink than its record, no script error. check-measure — every page driven in Chrome at 1440, 768, 390 px; left edges, overflow, escapes and clipped elements may only go down. Generated at git 3cf797ac by tools/build-grammar.js. MIT.