The chipped triangle #
This is the solid subgraph of Atanasov--Ranganathan's second scope for their
seventh genus-five family (atlas row 08). It is not one of the eleven
pictures of their Proposition 5.1: the closest, the Eighth, is a triangle with
three chip arms too, but its triangle is chip free and it carries the extra
hypothesis that one arm has length min of the other two, which row 08's second
chamber does not supply. The module is therefore named for its geometry,
following the ConfigurationThreeChain / ConfigurationBananaTail /
ConfigurationBananaDoubleChip precedent.
A B A, B, C each carry a chip
| | c carries a chip as well
u ==== q ====v u, v are chip free
\ / |c u| = p, |u v| = q, |c v| = r
p r |u A| = al, |v B| = be, |c C| = ga
\ /
c
|
C
Four chips in all: one on c, one at the end of each of the three arms. The
target is u; the picture is read a second time at v by swapping u ↔ v,
al ↔ be, p ↔ r. The profile is four nested minima,
hc = min ga (min al be) -- the chipped vertex
h0 = min be (hc + r) -- the partner, before clamping
ht = min al (min (hc + p) (h0 + q)) -- the target
hv = min h0 ht -- the partner
The three ways u gets its chip are the three arguments of ht: its own arm
goes full, or the triangle slot from c goes full and c refills along ga,
or the triangle slot from v goes full.
The final clamp hv = min h0 ht ensures that the partner does not rise above
the target; this is used in the slot-ledger inequalities below.
One chip moves inside a contracted class. When the triangle slot c - v
collapses (r = 0) and c sits strictly above the partner's arm
(hc < be), the partner has to pay one unit across q that neither its own arm
nor the collapsed slot can supply; c and v are then the same contracted
class, so c lends it the chip it is sitting on. That transfer is lend, and
it is the only allocation the picture needs.
The four nested minima #
The height at the chipped triangle vertex c.
Equations
- AtanasovRanganathan.ConfigurationChippedTriangle.chipHeight al be ga = min ga (min al be)
Instances For
The partner's height before the final clamp.
Equations
- AtanasovRanganathan.ConfigurationChippedTriangle.sideHeight al be ga r = min be (AtanasovRanganathan.ConfigurationChippedTriangle.chipHeight al be ga + r)
Instances For
The height at the target u.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The height at the partner v, clamped so that v is never deeper than the
target -- without this clamp the picture breaks (see the module docstring).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The chip c lends its partner when the slot between them has collapsed and
c is strictly shallower than the partner's own arm.
Equations
Instances For
The arithmetic of the four minima #
Everything the three residual statements need about the profile is this one
bundle of inequalities and "which argument is attained" disjunctions; each
consumer then works with plain naturals and omega.
Who owns the delivered chip #
The target delivers its own chip: its arm goes full, or one of the two triangle slots at it goes full.
Equations
Instances For
Equations
The partner can be charged instead. Both disjuncts force hv = ht, so the
partner never pays across q in this situation.
Equations
Instances For
When the target does not deliver, one of the two triangle slots at it has collapsed -- which is what puts the fallback owner in the target's class.
The fallback owner is in the target's contracted class: either the slot to the partner has collapsed, or both slots at the chipped vertex have.
The three residual statements #
Each arm and each triangle slot may be a whole slot read from either end or the
half of a marked slot, so all six are read through a PairLedger, exactly as in
ConfigurationMarkedThree. S.tail L x y is the contribution at the end
carrying height x.
The target. k is one exactly when the delivered chip is charged
here.
The partner. It pays across q only when its own arm or the slot to
the chipped vertex is full, or when c lends it the chip it sits on.
The chipped vertex. It always has the slack of the chip it carries, so it can absorb both triangle slots running full away from it -- and when they both do, its own arm is full as well.