Alternative routing Created 2026-10-05 Updated 2026-10-14
Alternative routing lets a call try another resource path when its preferred route is blocked. Overflow onto longer paths can create feedback and multiple solutions of the Erlang fixed point approximation, even though an exact finite irreducible occupancy Markov chain has a unique stationary distribution.
Alternative-routing triangle with three Erlang fixed points Created 2026-10-07 Updated 2026-10-14
On a three-node loss network, each pair offers direct calls of load to its link of capacity . If blocked, the call tries the two-link path through the remaining node. The symmetric reduced-load approximation gives a link its direct load and two overflow contributions , hence the displayed equation. For , , its residual has alternating signs at , giving at least three distinct roots. This multiplicity belongs to the Erlang fixed point approximation, not to the exact stationary law of a finite reachable Markov chain.
Let . The proportional scaling limit of the Erlang loss formula makes its limits at and respectively and . Since and , sufficiently large give alternating signs at these four points. The intermediate value theorem supplies three distinct zeros in the intervening intervals. These are multiple solutions of the Erlang fixed point approximation, not multiple stationary laws of an exact finite irreducible Markov chain.
A symmetric triangle with direct calls and two-link overflow routes has Erlang fixed point approximation equation . For and , this has at least three solutions, certified by the intermediate value theorem using signs at .
Past exam of the mathematics course of the University of Cambridge 2001 iii Paper 73 2 Solution Created 2026-10-03 Updated 2026-10-14
For fixed routing, let each route require one unit on every resource in its fixed set, let be integer resource capacities, and let be the offered load, arrival rate times mean holding time. The Erlang fixed point approximation treats distinct resource availability events as independent. If is the approximate blocking probability at resource , the reduced-load approximation giveswhere the Erlang loss formula isScreening excludes resource itself: it is the load offered to that resource, not merely the load ultimately admitted there. Approximate route acceptance is . This specifies the approximation, not an assertion of exact independence in the actual loss network.
Here is a constructive variational proof of both existence and uniqueness. For write and , the carried load of an Erlang loss resource. Under its upper-truncated Poisson occupancy law, differentiating the finite sums givesConsequently increases continuously from to , and increases from to . Put andEach is continuous and strictly increasing, tending to . Consider the convex potential for the Erlang fixed pointThe first sum is convex, and each integral is strictly convex because its derivative strictly increases. Hence is strictly convex. Also each integral grows at least linearly for sufficiently large , since . Thus is coercive, its bounded sublevel sets are compact, and it attains a unique minimum .
Its derivative isFor a resource used by some positive-load route, this derivative is negative at for every finite choice of the other coordinates, so its minimizing coordinate is positive and satisfies . Cancelling gives , exactly the required fixed-point equation. An unused resource minimizes its integral at , giving . Conversely any fixed point has , since the total offered load is finite; its logarithmic coordinates satisfy these same minimizing conditions. Strict convexity therefore proves one and only one fixed-routing Erlang fixed point. Zero-capacity resources can be removed with their blocked routes, whose acceptance probabilities are already zero.
For a concrete alternative routing counterexample, take three nodes forming a triangle, each link of capacity , with offered traffic for each endpoint pair. Try the direct link first; if it is blocked, try the other two links together. In a symmetric reduced-load approximation, a link has its direct load plus two overflow streams, each of load : the preferred link is blocked with probability , and the other link of the alternative path is available with probability . The link itself is excluded from screening. Thus a common link blocking probability must satisfyDefine the right side minus as . The stable Erlang loss formula recursion , givesAll four arguments are rational, so the same recursion can certify these signs with rational arithmetic, without trusting rounded values. Continuity and the intermediate value theorem give at least three distinct symmetric fixed points, one in each intervening interval. This is nonuniqueness of the approximation; the exact finite irreducible loss network still has a unique stationary distribution.
Past exam of the mathematics course of the University of Cambridge 2003 iii Paper 34 2 iii Solution Created 2026-10-03 Updated 2026-10-14
Consider a triangle of three equal links, each with capacity . Each vertex pair receives direct calls of offered load . A call tries its direct link first; on finding it full, it tries the two-link path through the third vertex. Take exponential distributions of mean one, so the arrival rates are also .
In a symmetric Erlang fixed point approximation, let be the blocking probability of each link. A given link sees its own direct load . Each of the other two call classes offers overflow only if its direct link blocks and the other link of its two-link path accepts. The reduced load into the given link therefore has two extra terms . The scalar consistency equation isWrite its continuous residual as . The following strict intervals certify alternating signs:These are exact rational certificates, not rounded floating-point evidence. For each rational argument, start with and iterate for ; all operations are rational. Direct integer comparisons with the displayed thresholds certify the intervals. This uses rational certificates for the Erlang loss recursion.
The intermediate value theorem now supplies at least one zero in each ofThus the alternative-routing approximation has at least three distinct symmetric solutions. The mechanism is positive overflow feedback at moderate blocking, followed by saturation at high blocking. This does not give several stationary distributions for the exact finite loss network: its reachable irreducible Markov chain still has a unique stationary distribution. Multiple approximate fixed points concern the self-consistency model.
Past exam of the mathematics course of the University of Cambridge 2007 iii Paper 35 1 Solution Created 2026-10-03 Updated 2026-10-14
Let be a finite collection of resources with positive integer capacities , and let be a finite collection of nonempty routes. In the standard unit-resource loss network, a call on route needs one unit simultaneously at each resource in ; fixed routing means that these requirements do not change when a request is rejected. Suppose route has an independent Poisson process of arrivals of rate and independent holding times of mean . Its offered traffic is . The Erlang fixed point approximation approximates resource blocking events as independent, rather than claiming this independence for the exact loss network.
Write for the approximate blocking probability at resource . The reduced-load approximation screens a call by every other resource that it needs, so the offered traffic seen by resource isFor a single resource with offered traffic and capacity , the Erlang loss formula isThus the Erlang fixed point approximation is the systemThe resulting route acceptance probability is . In particular, the screening product for excludes itself; including it would describe a different approximation.
For existence, define on . Each is a continuous polynomial, and the denominator of the Erlang loss formula is at least one. Consequently is continuous and maps this nonempty compact convex set into itself. The Brouwer fixed-point theorem supplies a fixed point. At any such point , since finite offered traffic and positive capacity give .
For uniqueness, we construct a strictly convex function whose minimizer is equivalent to an Erlang fixed point. Put . First establish the single-resource facts needed for this change of coordinates. For , the inverse blocking probability has the expressionThe terms with decrease strictly with , so increases strictly from zero to one. Let be its inverse parametrization defined by , with . If has the truncated Poisson distribution with weights proportional to , then shifting the sum gives its mean, the carried load of an Erlang loss resource, asDifferentiating the normalized weights showsThe variance is positive because both and have positive probability. Moreover, as , since the largest term in the truncated Poisson distribution dominates. Henceis continuous, strictly increasing from zero to .
Now minimize the following convex potential for the Erlang fixed point over the nonnegative orthant:Each exponential term is convex, and each integral is a strictly convex function of its coordinate because its derivative is strictly increasing. Their sum is therefore strictly convex. It is also a coercive function: once is large enough, , so each integral grows at least linearly in its coordinate, while the exponential terms are nonnegative. Thus attains exactly one minimum.
The coordinate derivative isAt an interior coordinate of a minimizer it vanishes. At , it is nonpositive, whereas the one-sided minimum condition requires it to be nonnegative; it therefore vanishes there too. Conversely, a zero gradient is a global minimizer of this convex function. Multiplying by givesApplying the Erlang loss formula converts this exactly to . The change of coordinates is one-to-one, proving uniqueness under fixed routing. A zero-capacity resource can instead be fixed as blocked with probability one, with all routes using it removed before applying the proof; an unused positive-capacity resource has blocking probability zero.
For alternative routing, consider a symmetric three-node loss network. Each of its three links has capacity ; every node pair offers traffic , tries its direct link first, and, if that link is blocked, tries the two-link path through the third node. Let all approximate link blocking probabilities equal . Each link receives its direct offered traffic and the overflow from the other two node pairs. An overflow is generated with probability and reaches the link under consideration only when its other required link accepts, with probability . The symmetric reduced-load approximation therefore givesFor , evaluate the Erlang loss formula by the stable recursion , . It givesThese signs can also be certified with exact rational arithmetic, since all four loads are rational. Continuity and the intermediate value theorem give three distinct roots, one in each intervening interval. Thus the alternative-routing approximation need not be unique. This is multiplicity of approximate fixed points, not multiplicity of stationary distributions for the exact finite irreducible Markov chain.
Past exam of the mathematics course of the University of Cambridge 2008 iii Paper 35 2 Solution Created 2026-10-03 Updated 2026-10-14
Take Poisson process arrivals of rate , independent holding times with the exponential distribution of parameter , unit resource requirement per call, no waiting room, and integer capacity . The occupancy is a birth-death process on with birth rate below and death rate at occupancy . Writing for offered traffic, detailed balance for a continuous-time Markov chain givesAn arrival is lost exactly in state , so Poisson arrivals see time averages proves the Erlang loss formulaThis derivation assumes exponential holding times; the insensitivity of loss networks extends the same formula to independent general holding times with the same mean. For completeness, ; for , set .
A loss network with fixed routing has finitely many resources, capacities , and call types indexed by nonempty subsets of resources. A call of type uses one unit of every resource in for its entire holding time and is accepted only if all are available. Let be the link-route incidence matrix and the type's offered traffic, arrival rate times mean holding time. Different types have independent Poisson processes and independent holding times.
In the reduced-load approximation, availability at distinct resources is treated as independent, and screening at the resources other than is modeled as independent Poisson thinning. The load offered to after that screening isApplying the Erlang loss formula to this isolated-resource load gives the Erlang fixed point approximation, . These equations are an approximation because simultaneous admission induces dependence between resource occupancies, and the screened arrival process need not actually be Poisson.
Here is a proof of existence and uniqueness for positive capacities. Write . Its truncated-Poisson mean is the carried load of an Erlang loss resource,For , differentiating its stationary probabilities givesThe variance is positive and because every state has positive probability. Moreover increases continuously from zero to one, and increases from zero to . Thus has a continuous inverse on .
Use acceptance coordinates and defineHere is strictly increasing, continuous, and tends to as . The convex potential for the Erlang fixed point isEach exponential term is convex, and each integral is a strictly convex function of its coordinate because its derivative is strictly increasing. Hence is strictly convex on the nonnegative orthant. It is also a coercive function: for sufficiently large , , so each integral tends at least linearly to infinity. Therefore attains a unique minimum .
Its partial derivative isAt an interior minimum this derivative is zero. Since , this is exactly . At a boundary coordinate , the one-sided minimizing condition is , whereas the displayed derivative is . Thus and there as well. Conversely every solution of the Erlang fixed point approximation has these derivative conditions and hence minimizes the convex potential. No solution has at positive capacity, since every is finite and for finite . The coordinates therefore give a bijection between solutions and minima, provingIf a capacity is zero, its blocking probability is forced to one. Routes using it contribute zero reduced load to every other resource. Delete those routes and the zero-capacity resources and apply the proof to the remaining network; unused positive-capacity resources have blocking probability zero. This establishes existence and uniqueness also with zero capacities, allowing precisely at those resources.
Past exam of the mathematics course of the University of Cambridge 2010 iii Paper 30 3 c Solution Created 2026-10-03 Updated 2026-10-14
The alternative routing term feeds additional traffic back into the link. We can prove the existence of three solutions rather than relying on an iteration that happens to find different answers. Choose , , and define the continuous residualBy the proportional scaling limit of the Erlang loss formula, at each fixed ,At , the multiplier is , so . At it is , givingAlso and for every , since a finite-capacity Erlang loss formula gives a blocking probability strictly between zero and one. For all sufficiently large , the signs at therefore alternate. Applying the intermediate value theorem in the three disjoint intervening intervals proves at least three distinct fixed points. This supplies a fluid scaling proof of multiple Erlang fixed points.
This multiplicity concerns the Erlang fixed point approximation. It does not imply several equilibrium laws for an exact finite irreducible Markov chain, which has a unique stationary distribution.
Past exam of the mathematics course of the University of Cambridge 2012 iii Paper 32 2 Solution Created 2026-10-03 Updated 2026-10-07
For a single resource, assume unit-capacity calls arrive as a Poisson process of rate , holding times have independent exponential distributions with mean , and a call is rejected when all units are occupied. Let . Its occupancy is a birth-death process on , with birth rate below capacity and death rate in state . Detailed balance for a birth-death process givesBy Poisson arrivals see time averages, the Erlang loss formula isThis derivation assumes exponential holding times; the standard insensitivity result extends the same formula to independent holding times of the same mean, but is not needed here.
A loss network with fixed routing has finitely many resources , capacities , and call types with a fixed nonempty set of resources. Type has Poisson arrivals of rate , independent holding times of mean , and offered load . It is accepted only if every resource on its route has a free unit, and otherwise is lost. In the displayed equations use the unit-incidence matrix for and zero otherwise. The equations concern this unit-demand model, rather than arbitrary multi-unit requirements.
The Erlang fixed point approximation replaces the correlated resource availabilities by independent ones. A type- call survives blocking at resources other than with approximate probability . Treating this filtering as Poisson thinning gives the reduced offered loadApply the single-resource formula to obtain . Independence and Poisson thinning here are approximations; no such approximation is claimed for the exact network's joint stationary distribution.
Assume first . The right side is a continuous map from into itself, so the Brouwer fixed-point theorem gives existence. To prove uniqueness, let be the carried load of an Erlang loss resource, also the mean of the truncated Poisson occupancy. Differentiation yieldsThus increases continuously from zero to one and increases from zero to .
Write , and define and , with . Each is continuous and strictly increasing. A fixed point satisfiesThese are precisely the stationary equations for the convex potential for the Erlang fixed pointThe first term is convex; the second is strictly convex because each strictly increases. Hence is strictly convex. Its gradient cannot vanish at two distinct points: the difference of gradients dotted with the difference of points is strictly positive, with a positive contribution from every changed coordinate in the integral term. This also covers boundary coordinates , using the right derivative there. Every fixed point has , since its offered load is finite, so the change of variables is valid. There is exactly one fixed point. If a capacity is zero, its blocking probability is one; delete it and all routes using it before applying the argument to the remaining positive capacities. Unused resources have blocking probability zero.
Past exam of the mathematics course of the University of Cambridge 2013 iii Paper 37 1 iii Solution Created 2026-10-03 Updated 2026-10-07
With alternative routing, a rejected direct call can try a longer route. The attempt rates now depend on blocking itself, giving an additional feedback absent from fixed routing.
For an explicit example, take three nodes with a unit-resource link between each pair, all of capacity . For every unordered pair, direct calls arrive at rate and have mean holding time one. A call first tries its direct link; if that link is full, it tries the unique two-link route through the third node, and otherwise is lost. Under a symmetric Erlang fixed point approximation, all links have blocking . A given link sees its own direct load . It can also carry overflow from either of the other two pairs; each contributes reduced load , since the direct link must block and the other link of the alternative route must accept. HenceThis is an instance of multiple Erlang fixed points under alternative routing. Put . Evaluation using the positive Erlang B formula recurrence , givesThe sign statements can be certified with rational arithmetic at these rational arguments. The intermediate value theorem gives a distinct root in each of , and ; numerical roots are approximately , and .
Thus the alternative-routing fixed point is not unique. The mechanism is extra link occupancy from overflow: moderate blocking stimulates two-link calls and can reinforce congestion. This multiplicity belongs to the approximation. The exact finite stochastic model has a unique stationary law on its reachable communicating class; the extra approximate solutions do not create three exact invariant distributions.
Past exam of the mathematics course of the University of Cambridge 2013 iii Paper 37 1 ii Solution Created 2026-10-03 Updated 2026-10-07
The exact normalizing sum can be expensive on a large loss network. The Erlang fixed point approximation replaces joint resource acceptance by a product of marginal acceptances. Here consider unit requirements , positive integer capacities and finitely many fixed routes. Let be resource blocking and . A route- call contributes to the offered traffic at resource after surviving the other resources on its route. Thus the reduced-load approximation iswhere the Erlang B formula isThe estimated route acceptance is . This is an independence approximation, not an alternative exact factorization of the stationary law in part (i).
Uniqueness follows from a convex potential for the Erlang fixed point. For a single resource, the carried load of an Erlang loss resource is . It increases strictly from zero to as increases: differentiating the expected value of its upper-truncated Poisson distribution with respect to gives the strictly positive occupancy variance. Blocking also increases strictly, as is evident on dividing the Erlang denominator by its final term.
Use . Let be the unique offered load with , and set , with . This function is strictly increasing and tends to . DefineEach exponential term is a convex function, and each integral is a strictly convex function because its derivative is strictly increasing. Therefore is a strictly convex function. It is also a coercive function on the nonnegative orthant: an unbounded coordinate makes its integral grow asymptotically linearly with positive slope . A unique minimizer exists.
If resource carries some positive offered route, its inward derivative at is negative, so its minimizing coordinate is positive. At such a coordinate the first-order equation isDividing by gives precisely . A resource with no positive offered route uniquely has , hence . Thus the minimizer and the fixed point coincide, proving existence and uniqueness of the Erlang fixed point for fixed unit-resource routing. This does not by itself guarantee convergence of every simultaneous substitution algorithm; the uniqueness claim concerns the solution of the equations.
Past exam of the mathematics course of the University of Cambridge 2015 iii Paper 39 2 Solution Created 2026-10-03 Updated 2026-10-06
For the Erlang loss formula, assume a Poisson process of arrivals with rate , independent holding times with exponential distribution of mean , unit capacity usage per accepted call, and rejection without waiting when all units are occupied. Here is a positive integer and the offered load is . The call population on is a birth-death process; detailed balance givesBy Poisson arrivals see time averages, the fraction of arrivals rejected is the time probability of full occupancy. ThereforeThe paper's is the offered load, rather than necessarily an arrival rate. Exponential holding times suffice for this derivation; no unproved insensitivity of loss networks assumption is needed.
A loss network with fixed routing has capacities , call types , and a link-route incidence matrix with exactly when a type- call requires link . An accepted call holds one unit on every link of its route for its holding time; if any required link is full, the call is rejected everywhere. Take independent Poisson processes of calls, independent holding times, and route offered loads . For the finite-variable formulation below, take ; a zero-capacity link and all routes using it may be removed first.
The Erlang fixed point approximation treats blocking at different links as independent and thins the traffic offered to link by acceptance at the other links. Its reduced offered load isThe equality uses : only routes with contribute. Treating this reduced stream as Poisson leads to . Independence and Poisson thinning here are the approximation, not exact properties of a general loss network.
To construct the convex potential for the Erlang fixed point, write and , the carried load of an Erlang loss resource, equivalently the mean occupancy in the single-link stationary distribution. Differentiating its finite sums gives, for ,The variance is positive because the finite occupancy law is nondegenerate for . Furthermore maps increasingly onto , while increases from zero to . SetIn particular , is continuous and strictly increasing, and as .
Forthe first sum is convex, and each integrated strictly increasing function is strictly convex. Thus is a strictly convex function on . Since tends to a positive limit on every coordinate, is a coercive function there; it has a unique minimizer. Its coordinate derivative isThe Erlang fixed point equation is exactly . For an unused link, and the optimum is ; for a used link with positive offered load, the derivative at zero is negative and the optimum is positive. Hence every fixed point gives the unique minimizer, and the minimizer gives a fixed point. The Erlang fixed point is unique under these fixed-routing assumptions.
A convergent cyclic substitution for the Erlang fixed point updates one coordinate at a time, repeatedly cycling through all links:Always use the most recently available values of the other coordinates. Start, for example, with . In coordinates this is exact coordinate descent for : with other coordinates fixed, the displayed update is the unique coordinate minimizer.
Here is a convergence proof. All iterates stay in the initial compact sublevel set of the coercive function , and their potential values decrease to a limit. Each single-coordinate update is continuous, since its reduced load is continuous and finite and . Thus a whole-sweep map is continuous. If a full-sweep subsequence converges to , continuity gives , because both consecutive potential values converge to the same limit. Strict coordinate convexity means equality can occur only when no coordinate changes during that sweep. Thus minimizes every coordinate, satisfies the nonnegative-orthant first-order conditions, and is the unique global minimizer of . Every subsequential limit is therefore the same point, proving convergence of the full-sweep iterates and, by continuity of the updates, all intermediate iterates. This argument applies to sequential substitution; it does not assume simultaneous updates converge.
Past exam of the mathematics course of the University of Cambridge 2018 iii Paper 213 1 iii Solution Created 2026-10-03 Updated 2026-10-05
Consider a triangle of three links, each with capacity . Calls for each pair of its three nodes arrive as independent Poisson processes at rate and have independent holding times with an exponential distribution of mean one. Try the direct link first; if it is full, try the two-link path through the third node; if either alternative link is full, reject the call. This is alternative routing in a loss network.
In the symmetric Erlang fixed point approximation, let be each link's blocking probability. A given link receives direct offered traffic . Each of the other two call types contributes overflow traffic , screened by the availability of the other link on its alternative path. ThusThe extra term expresses a feedback: blocking sends calls onto longer paths, which consume more total capacity and can create still more blocking.
Here is an explicit finite-capacity example, not just a limiting argument. Take and , and let . Evaluating the Erlang loss formula givesThe displayed decimals are rounded, but the four signs can be checked exactly using the rational recursion , . By the intermediate value theorem, there is a fixed point in each of , , and . Numerically these three areThus alternative routing can produce multiple Erlang fixed points. This does not imply multiple stationary distributions for the exact finite continuous-time Markov chain, which is irreducible and has a unique stationary distribution; the multiplicity belongs to the approximation. The symmetric alternative-routing model is also discussed in Kelly's review of fixed point models of loss networks.
Past exam of the mathematics course of the University of Cambridge 2018 iii Paper 213 1 ii Solution Created 2026-10-03 Updated 2026-10-05
First consider unit requirements, . The Erlang loss formula for a resource with capacity and offered traffic isThe Erlang fixed point approximation assumes that resources block independently and that the traffic retained after screening at other resources can be treated as a Poisson process. If is the approximate blocking probability and , the reduced-load approximation givesThe link whose load is being calculated is excluded from the screening product. Otherwise one would confuse its offered load with its carried load.
For existence, these equations define a continuous map from into itself. The Brouwer fixed-point theorem gives a fixed point. Assume ; a zero-capacity resource forces rejection of every call needing it and can be removed together with those call types.
For uniqueness, let have probabilities proportional to , , and write . Direct differentiation givesThese identities hold for , and . Also increases from zero to one and increases from zero to .
Put . Define by , and define . This is a continuous, strictly increasing function on , starting at zero and tending to . Multiplying each Erlang fixed point approximation load equation by transforms it intoThese are exactly the zero-gradient conditions ofEach integral is a strictly convex function; the exponential terms are convex functions. Thus is a strictly convex function. It is also a coercive function, since , so it has a unique minimizer. At , its partial derivative is negative if some positive-traffic route uses , so that coordinate of the minimizer is positive. If no route uses , the unique minimizing coordinate is zero. The minimizer therefore satisfies the equations in every coordinate. Conversely any fixed point has , finite , and these zero-gradient equations, so must equal that unique minimizer. Hence the Erlang fixed point approximation exists and is unique for fixed routing.
For integer requirements, the common generalized Erlang fixed point approximation usesMultiplication by gives the same equations for , so the existence and uniqueness argument also covers this generalized approximation. It remains an approximation, rather than the exact blocking law for a call requesting several units.
Past exam of the mathematics course of the University of Cambridge 2018 iii Paper 213 1 i Solution Created 2026-10-03 Updated 2026-10-05
A loss network models calls that require several resources simultaneously and are rejected if any required capacity is unavailable; rejected calls do not queue. For fixed routing, let be the number of units of resource used by a call of type , and let be its capacity. Independent Poisson processes supply type- calls at rate , with independent holding times having an exponential distribution of mean . Write for the offered traffic, andAssume finitely many resources and call types, with every call using a resource, so this set is finite. The occupancy continuous-time Markov chain has ratesIts stationary distribution isIndeed, for each feasible upward transition,which is detailed balance for a continuous-time Markov chain. Thus this is a reversible Markov chain. With positive arrival rates it is irreducible on : departures reach the empty state, and any feasible state can be assembled by arrivals. Its stationary distribution is consequently unique.
The formula is a product-form stationary distribution of a loss network: equivalently, independent Poisson random variables of means conditioned on . The conditioning couples the occupancies, so the resources are generally not independent. By Poisson arrivals see time averages, the acceptance probability for a type- arrival isbecause the prearrival state must leave free units at each resource. Set the numerator to zero if its capacity vector has a negative entry. This exact formula is often expensive to evaluate, which motivates the Erlang fixed point approximation.
The same occupancy stationary distribution extends to independent general holding-time distributions with these means by insensitivity of loss networks; the exponential assumption above makes the occupancy process itself a continuous-time Markov chain and permits the direct detailed balance proof.
