Theorem 1 .

Given any fair division instance ℐ = ⟨ [ n ] , [ m ] , 𝒱 ⟩ with additive valuations, an allocation that is envy-free up to one good ( EF1 ) and Pareto efficient ( 𝑃𝑂 ) can be found in π’ͺ ⁒ ( poly ⁒ ( m , n , v max ) ) time, where v max = max i , j ⁑ v i , j .

Proposition 1 (First Welfare Theorem; MWG+95microeconomic , ChapterΒ 16 ) .

For a Fisher market with additive valuations, any equilibrium outcome is fractionally Pareto efficient ( fPO ).

Lemma 1 .

Let Ξ΅ β‰₯ 0 , and let 𝐱 and 𝐩 be an allocation and a price vector respectively for a market instance ⟨ [ n ] , [ m ] , 𝒱 , 𝐞 ⟩ such that (1) 𝐱 is Ξ΅ -approximately price-envy-free up to one good ( Ξ΅ ⁒ - ⁒ pEF1 ) , and (2) 𝐱 i βŠ† MBB i for each buyer i ∈ [ n ] . Then, 𝐱 is Ξ΅ -approximately envy-free up to one good ( Ξ΅ ⁒ -EF1 ) for the associated fair division instance ⟨ [ n ] , [ m ] , 𝒱 ⟩ .

Lemma 2 ( Correctness of Alg for power-of– ( 1 + Ξ΅ ) instance ) .

Given any power-of- ( 1 + Ρ ) instance as input, the allocation returned by Alg is 3 ⁒ Ρ -approximately envy-free up to one good ( 3 ⁒ Ρ - EF1 ) and fractionally Pareto efficient ( fPO ).

Lemma 3 ( Running time bound for power-of– ( 1 + Ξ΅ ) instance ) .

Given any power-of- ( 1 + Ξ΅ ) instance as input, Alg terminates in time π’ͺ ⁒ ( poly ⁒ ( m , n , 1 Ξ΅ , ln ⁑ v max ) ) , where v max = max i , j ⁑ v i , j .

Lemma 4 .

Let ℐ = ⟨ [ n ] , [ m ] , 𝒱 ⟩ be a fair division instance, and let Ξ΅ ≀ 1 6 ⁒ m 3 ⁒ v max 4 . Then, an allocation 𝐱 that is fPO for ℐ β€² (the Ξ΅ -rounded version of ℐ ) is PO for the original instance ℐ .

Lemma 5 .

Let ℐ = ⟨ [ n ] , [ m ] , 𝒱 ⟩ be a fair division instance, and let 0 < Ξ΄ ≀ 1 2 ⁒ m ⁒ v max . Then, an allocation 𝐱 is Ξ΄ ⁒ -EF1 for ℐ if and only if it is EF1 for ℐ .

Lemma 6 .

Given the Ξ΅ -rounded version ℐ β€² (of the instance ℐ ) as input, Alg finds a 7 ⁒ Ξ΅ - EF1 and Ξ΅ - PO allocation for ℐ in π’ͺ ⁒ ( poly ⁒ ( m , n , 1 Ξ΅ , ln ⁑ v max ) ) time.

Lemma 7 .

Phase 2 of Alg can continue for at most poly ⁒ ( n , m , 1 Ξ΅ ) β‹… ln ⁑ m ⁒ v max consecutive time steps before a Phase 3 step occurs.

Lemma 8 .

Alg can perform at most n ⁒ log ( 1 + Ρ ) ⁑ m ⁒ v max number of Phase 3 steps.

Lemma 9 .

The spending of the least spender cannot decrease with time, i.e., for each time step t , 𝐩 t ⁒ ( 𝐱 i t t ) ≀ 𝐩 t + 1 ⁒ ( 𝐱 i t + 1 t + 1 ) .

Lemma 10 .

Let t denote a Phase 3 step. Then, 𝐩 t ⁒ ( 𝐱 i t t ) ≀ m ⁒ v max .

Lemma 11 .

Alg can perform at most poly ⁒ ( n , m ) number of consecutive swap operations before either the identity of the least spender changes or a Phase 3 step occurs.

Lemma 12 .

Consider a series of consecutive time steps consisting entirely of Phase 2 operations, i.e., either swap operations or change in the identity of the least spender. Let t be a time step at which an agent i ceases to be the least spender, and let t β€² > t be the first time step after t at which i once again becomes the least spender. Let ( 𝐱 , 𝐩 ) and ( 𝐱 β€² , 𝐩 β€² ) denote the corresponding allocation and price vectors. Then, either 𝐱 i ⊊ 𝐱 i β€² or 𝐩 β€² ⁒ ( 𝐱 i β€² ) β‰₯ ( 1 + Ξ΅ ) ⁒ 𝐩 ⁒ ( 𝐱 i ) , or both.

Lemma 13 .

The identity of the least spender can change at most poly ⁒ ( n , m , 1 Ξ΅ ) β‹… ln ⁑ m ⁒ v max number of times during Phase 2 before a Phase 3 step occurs.

Lemma 14 .

Let t and t β€² be two time steps at which Alg performs a price-rise in Phase 3 such that t < t β€² . Then, E t β€² βŠ† E t .

Lemma 15 .

Let t and t β€² be two time steps at which Alg performs a price-rise in Phase 3 such that t < t β€² . Then, for any agent k ∈ E t β€² , 𝐱 k t β€² βŠ† 𝐱 k t .

Lemma 16 .

At the beginning of each price-rise step at time t , E t ∩ β„‹ i t = βˆ… .

Lemma 17 .

Let t and t β€² be two time steps at which Alg performs a price-rise such that t < t β€² . Then, the spending of any agent k ∈ E t β€² at time t β€² is at most that at time t , i.e., 𝐩 t β€² ⁒ ( 𝐱 k t β€² ) ≀ 𝐩 t ⁒ ( 𝐱 k t ) .

Lemma 18 .

For any good j ∈ [ m ] , p j ≀ m 2 ⁒ v max 3 , where p j is the price of good j upon termination of Alg .

Corollary 1 .

𝐩 ⁒ ( [ m ] ) ≀ m 3 ⁒ v max 3 , where 𝐩 is the price vector returned by Alg upon termination.

Lemma 19 .

Let ℐ = ⟨ [ n ] , [ m ] , 𝒱 ⟩ be an input instance to Alg that satisfies power-of- ( 1 + Ξ΅ ) and Hall’s conditions. Then, at each time step after the first π’ͺ ⁒ ( n 2 ) steps, the spending of each agent under Alg is strictly greater than zero.

Theorem 1 .

Given any fair division instance ℐ = ⟨ [ n ] , [ m ] , 𝒱 ⟩ with additive valuations, an allocation that is envy-free up to one good ( EF1 ) and Pareto efficient ( 𝑃𝑂 ) can be found in π’ͺ ⁒ ( poly ⁒ ( m , n , v max ) ) time, where v max = max i , j ⁑ v i , j .

Proposition 1 (First Welfare Theorem; MWG+95microeconomic , ChapterΒ 16 ) .

For a Fisher market with additive valuations, any equilibrium outcome is fractionally Pareto efficient ( fPO ).

Lemma 1 .

Let Ξ΅ β‰₯ 0 , and let 𝐱 and 𝐩 be an allocation and a price vector respectively for a market instance ⟨ [ n ] , [ m ] , 𝒱 , 𝐞 ⟩ such that (1) 𝐱 is Ξ΅ -approximately price-envy-free up to one good ( Ξ΅ ⁒ - ⁒ pEF1 ) , and (2) 𝐱 i βŠ† MBB i for each buyer i ∈ [ n ] . Then, 𝐱 is Ξ΅ -approximately envy-free up to one good ( Ξ΅ ⁒ -EF1 ) for the associated fair division instance ⟨ [ n ] , [ m ] , 𝒱 ⟩ .

Proof.

Since 𝐱 is Ξ΅ - pEF1 with respect to the price vector 𝐩 , for any pair of buyers i , k ∈ [ n ] , there exists a good j ∈ 𝐱 k such that ( 1 + Ξ΅ ) ⁒ 𝐩 ⁒ ( 𝐱 i ) β‰₯ 𝐩 ⁒ ( 𝐱 k βˆ– { j } ) . Multiplying both sides by the maximum bang per buck ratio Ξ± i of agent i , we get

Ξ± i β‹… ( 1 + Ξ΅ ) ⁒ 𝐩 ⁒ ( 𝐱 i ) β‰₯ Ξ± i β‹… 𝐩 ⁒ ( 𝐱 k βˆ– { j } )
⟹ ( 1 + Ξ΅ ) ⁒ v i ⁒ ( 𝐱 i ) β‰₯ Ξ± i β‹… 𝐩 ⁒ ( 𝐱 k βˆ– { j } ) (since 𝐱 i βŠ† MBB i )
⟹ ( 1 + Ξ΅ ) ⁒ v i ⁒ ( 𝐱 i ) β‰₯ v i ⁒ ( 𝐱 k βˆ– { j } ) ,

which is the Ρ -EF1 guarantee for the allocation 𝐱 . ∎

Lemma 2 ( Correctness of Alg for power-of– ( 1 + Ξ΅ ) instance ) .

Given any power-of- ( 1 + Ρ ) instance as input, the allocation returned by Alg is 3 ⁒ Ρ -approximately envy-free up to one good ( 3 ⁒ Ρ - EF1 ) and fractionally Pareto efficient ( fPO ).

Proof.

Let the output of Alg be ( 𝐱 , 𝐩 ) . The fact that 𝐱 is fPO follows from the observation that at each step of the algorithm, the allocation of any agent is a subset of its MBB goods, i.e., at each time step, we have 𝐱 i βŠ† MBB i for each agent i ∈ [ n ] . This is certainly true at the end of Phase 1 by way of setting the prices. In Phase 2, each swap operation only happens along an alternating MBB -allocation edge, which maintains the MBB condition. Phase 3 involves raising the prices of the goods owned by the members of the hierarchy β„‹ i without changing the allocation. We will argue that for each agent k ∈ [ n ] , if 𝐱 k βŠ† MBB k before the price-rise, then the same continues to hold after the price-rise. Indeed, for any agent k βˆ‰ β„‹ i , we have 𝐱 k ∩ 𝐱 β„‹ i = βˆ… . As a result, raising the prices of the goods in 𝐱 β„‹ i does not affect the bang per buck ratio of agent k for the goods in 𝐱 k (and can only reduce its bang per buck ratio for the goods in 𝐱 β„‹ i ), thus maintaining the above condition. For any agent k ∈ β„‹ i , we have MBB k βŠ† 𝐱 β„‹ i by construction of the hierarchy. Raising the prices of the goods in 𝐱 β„‹ i therefore corresponds to lowering the MBB ratios for the agents in β„‹ i . By choice of Ξ± 1 , the price-rise stops as soon as a new MBB -edge appears between an agent k ∈ β„‹ i and a good j βˆ‰ 𝐱 β„‹ i . This ensures that the new maximum bang per buck ratio for any agent k ∈ β„‹ i does not fall below its second highest bang per buck ratio prior to the price-rise, thus guaranteeing 𝐱 k βŠ† MBB k .

We can now define a Fisher market where each agent’s endowment equals its spending under 𝐱 . Since ( 𝐱 , 𝐩 ) is an equilibrium for this market, we have that 𝐱 is fPO ( 1 ).

Next, we will argue that 𝐱 is 3 ⁒ Ρ ⁒ -EF1 . Notice that Alg terminates only if either the current outcome ( 𝐱 , 𝐩 ) is 3 ⁒ Ρ ⁒ - ⁒ pEF1 , or when α = α 2 (Line 1 ). In the first case, we get that 𝐱 is 3 ⁒ Ρ ⁒ -EF1 for the underlying fair division instance ( Lemma 1 ). Therefore, we only need to analyze the second case.

Let us suppose that the termination happens at time step t , and let πͺ be the price vector maintained by Alg just before the price-rise step that lead to termination. After the time step t , Alg terminates with the allocation 𝐱 and price vector 𝐩 . Since Phase 3 does not change the ownership of the goods, the allocation maintained by Alg just before termination is also 𝐱 .

Let i be the least spender at time step t , and let β„‹ i be the hierarchy of agent i . Since Phase 3 only affects the prices of the goods in 𝐱 β„‹ i , we have that 𝐩 ⁒ ( 𝐱 k ) = πͺ ⁒ ( 𝐱 k ) for all k ∈ [ n ] βˆ– β„‹ i , and 𝐩 ⁒ ( 𝐱 k ) = Ξ± 2 ⁒ πͺ ⁒ ( 𝐱 k ) for all k ∈ β„‹ i . Additionally, at the end of (any execution of) Phase 2, no agent in the least spender’s hierarchy is an Ξ΅ -path-violator (and hence is also not an Ξ΅ -violator). Thus,

( 1 + Ξ΅ ) ⁒ πͺ ⁒ ( 𝐱 i ) β‰₯ max k ∈ β„‹ i ⁑ min j ∈ 𝐱 k ⁑ πͺ ⁒ ( 𝐱 k βˆ– { j } )
⟹ ( 1 + Ξ΅ ) ⁒ 𝐩 ⁒ ( 𝐱 i ) β‰₯ max k ∈ β„‹ i ⁑ min j ∈ 𝐱 k ⁑ 𝐩 ⁒ ( 𝐱 k βˆ– { j } ) . (1)

By definition of Ξ± 2 , we have the following condition for the agents outside the hierarchy:

𝐩 ⁒ ( 𝐱 i ) = Ξ± 2 ⁒ πͺ ⁒ ( 𝐱 i ) β‰₯ max k ∈ [ n ] βˆ– β„‹ i ⁑ min j ∈ 𝐱 k ⁑ πͺ ⁒ ( 𝐱 k βˆ– { j } ) = max k ∈ [ n ] βˆ– β„‹ i ⁑ min j ∈ 𝐱 k ⁑ 𝐩 ⁒ ( 𝐱 k βˆ– { j } ) . (2)

Sections 5.1 and 2 together imply that

( 1 + Ξ΅ ) ⁒ 𝐩 ⁒ ( 𝐱 i ) β‰₯ max k ∈ [ n ] ⁑ min j ∈ 𝐱 k ⁑ 𝐩 ⁒ ( 𝐱 k βˆ– { j } ) , (3)

which means that the outcome ( 𝐱 , 𝐩 ) is Ξ΅ - pEF1 for agent i . If agent i is a least spender under ( 𝐱 , 𝐩 ) (i.e., i continues to a least spender after the price rise), then 𝐱 is Ξ΅ ⁒ - ⁒ pEF1 with respect to 𝐩 , and the lemma follows. Otherwise, an agent h ∈ arg ⁑ min k ∈ [ n ] βˆ– β„‹ i ⁑ πͺ ⁒ ( 𝐱 k ) must become the least spender after the final price-rise step. In this case, we have that

( 1 + Ξ΅ ) ⁒ πͺ ⁒ ( 𝐱 h ) β‰₯ Ξ± 3 πͺ ( 𝐱 i ) (by definition of Ξ± 3 )
⟹ ( 1 + Ξ΅ ) ⁒ πͺ ⁒ ( 𝐱 h ) β‰₯ Ξ± 2 ⁒ πͺ ⁒ ( 𝐱 i ) ( Ξ± = Ξ± 2 ⟹ Ξ± 2 ≀ Ξ± 3 )
⟹ ( 1 + Ξ΅ ) ⁒ 𝐩 ⁒ ( 𝐱 h ) β‰₯ 𝐩 ⁒ ( 𝐱 i ) ( since ⁒ 𝐩 ⁒ ( 𝐱 i ) = Ξ± 2 ⁒ πͺ ⁒ ( 𝐱 i ) ⁒ and ⁒ 𝐩 ⁒ ( 𝐱 h ) = πͺ ⁒ ( 𝐱 h ) )
⟹ ( 1 + Ξ΅ ) 2 ⁒ 𝐩 ⁒ ( 𝐱 h ) β‰₯ min j ∈ 𝐱 k ⁑ 𝐩 ⁒ ( 𝐱 k βˆ– { j } ) for all ⁒ k ∈ [ n ] ,

where the last inequality follows from Equation 3 . Since 0 < Ξ΅ < 1 , we have that ( 1 + Ξ΅ ) 2 < 1 + 3 ⁒ Ξ΅ . Thus, the new least spender (agent h ) satisfies ( 1 + 3 ⁒ Ξ΅ ) ⁒ 𝐩 ⁒ ( 𝐱 h ) β‰₯ min j ∈ 𝐱 k ⁑ 𝐩 ⁒ ( 𝐱 k βˆ– { j } ) for all k ∈ [ n ] . This implies that ( 𝐱 , 𝐩 ) is 3 ⁒ Ξ΅ ⁒ - ⁒ pEF1 . The stated claim now follows from Lemma 1 . ∎

Lemma 3 ( Running time bound for power-of– ( 1 + Ξ΅ ) instance ) .

Given any power-of- ( 1 + Ξ΅ ) instance as input, Alg terminates in time π’ͺ ⁒ ( poly ⁒ ( m , n , 1 Ξ΅ , ln ⁑ v max ) ) , where v max = max i , j ⁑ v i , j .

Lemma 4 .

Let ℐ = ⟨ [ n ] , [ m ] , 𝒱 ⟩ be a fair division instance, and let Ξ΅ ≀ 1 6 ⁒ m 3 ⁒ v max 4 . Then, an allocation 𝐱 that is fPO for ℐ β€² (the Ξ΅ -rounded version of ℐ ) is PO for the original instance ℐ .

Lemma 5 .

Let ℐ = ⟨ [ n ] , [ m ] , 𝒱 ⟩ be a fair division instance, and let 0 < Ξ΄ ≀ 1 2 ⁒ m ⁒ v max . Then, an allocation 𝐱 is Ξ΄ ⁒ -EF1 for ℐ if and only if it is EF1 for ℐ .

Proof.

If 𝐱 is Ξ΄ ⁒ -EF1 , we have that for every pair of agents i , k ∈ [ n ] , there exists a good j ∈ 𝐱 k such that ( 1 + Ξ΄ ) ⁒ v i ⁒ ( 𝐱 i ) β‰₯ v i ⁒ ( 𝐱 k βˆ– { j } ) . The bound on Ξ΄ implies that v i ⁒ ( 𝐱 k βˆ– { j } ) βˆ’ v i ⁒ ( 𝐱 i ) ≀ 1 2 . Integrality of valuations gives v i ⁒ ( 𝐱 k βˆ– { j } ) βˆ’ v i ⁒ ( 𝐱 i ) ≀ 0 , as desired. ∎

Lemma 6 .

Given the Ξ΅ -rounded version ℐ β€² (of the instance ℐ ) as input, Alg finds a 7 ⁒ Ξ΅ - EF1 and Ξ΅ - PO allocation for ℐ in π’ͺ ⁒ ( poly ⁒ ( m , n , 1 Ξ΅ , ln ⁑ v max ) ) time.

Proof.

Let 𝐱 be the allocation returned by Alg . From Lemma 2 , we know that 𝐱 is 3 ⁒ Ξ΅ - EF1 and fPO for the Ξ΅ -rounded instance ℐ β€² . By an argument similar to the one in the proof of Theorem 1 , this implies that 𝐱 is 7 ⁒ Ξ΅ - EF1 for the original instance ℐ . The running time guarantee follows from Lemma 3 . Hence, we only need to show that 𝐱 is Ξ΅ - PO .

Suppose, for contradiction, that 𝐱 is Ξ΅ -Pareto dominated by an allocation 𝐲 . Thus, v k ⁒ ( 𝐲 k ) β‰₯ ( 1 + Ξ΅ ) ⁒ v k ⁒ ( 𝐱 k ) for every agent k ∈ [ n ] and v i ⁒ ( 𝐲 i ) > ( 1 + Ξ΅ ) ⁒ v i ⁒ ( 𝐱 i ) for some agent i ∈ [ n ] . By construction of the Ξ΅ -rounded instance ℐ β€² , we know that v k , j ≀ v k , j β€² ≀ ( 1 + Ξ΅ ) ⁒ v k , j for each agent k and each good j . Using the inequality v k , j β€² ≀ ( 1 + Ξ΅ ) ⁒ v k , j in a good-by-good manner for the bundle 𝐱 k , along with the additivity assumption of valuations in the instance ℐ , we get that ( 1 + Ξ΅ ) ⁒ v k ⁒ ( 𝐱 k ) β‰₯ v k β€² ⁒ ( 𝐱 k ) . By a similar application of the inequality v k , j ≀ v k , j β€² for the bundle 𝐲 k , we get v k β€² ⁒ ( 𝐲 k ) β‰₯ v k ⁒ ( 𝐲 k ) . Combining these relations gives v k β€² ⁒ ( 𝐲 k ) β‰₯ v k β€² ⁒ ( 𝐱 k ) for every agent k ∈ [ n ] and v i β€² ⁒ ( 𝐲 i ) > v i β€² ⁒ ( 𝐱 i ) for some agent i ∈ [ n ] . However, this means that the allocation 𝐲 Pareto dominates the allocation 𝐱 in the instance ℐ β€² , which is a contradiction since 𝐱 is fPO for ℐ β€² . ∎

Lemma 7 .

Phase 2 of Alg can continue for at most poly ⁒ ( n , m , 1 Ξ΅ ) β‹… ln ⁑ m ⁒ v max consecutive time steps before a Phase 3 step occurs.

Lemma 8 .

Alg can perform at most n ⁒ log ( 1 + Ρ ) ⁑ m ⁒ v max number of Phase 3 steps.

Lemma 9 .

The spending of the least spender cannot decrease with time, i.e., for each time step t , 𝐩 t ⁒ ( 𝐱 i t t ) ≀ 𝐩 t + 1 ⁒ ( 𝐱 i t + 1 t + 1 ) .

Proof.

There are exactly three ways in which the spending of the least spender can change between consecutive time steps: (1) due to a swap operation in Phase 2, (2) a price-rise in Phase 3, or (3) an identity change. In Phase 2, the spending of the least spender can be affected via a swap operation only if it receives a good, which results in an increase in its spending. In that case, the agent losing the good cannot become the new least spender due to the Ρ -path-violator condition. Similarly, in Phase 3, the spending of the least spender cannot decrease since the prices of the goods can only increase. Finally, any identity change, either in Phase 2 or in Phase 3, occurs only when the spending of the old least spender grows beyond that of the new one, once again implying the stated condition. ∎

Lemma 10 .

Let t denote a Phase 3 step. Then, 𝐩 t ⁒ ( 𝐱 i t t ) ≀ m ⁒ v max .

Lemma 11 .

Alg can perform at most poly ⁒ ( n , m ) number of consecutive swap operations before either the identity of the least spender changes or a Phase 3 step occurs.

Lemma 12 .

Consider a series of consecutive time steps consisting entirely of Phase 2 operations, i.e., either swap operations or change in the identity of the least spender. Let t be a time step at which an agent i ceases to be the least spender, and let t β€² > t be the first time step after t at which i once again becomes the least spender. Let ( 𝐱 , 𝐩 ) and ( 𝐱 β€² , 𝐩 β€² ) denote the corresponding allocation and price vectors. Then, either 𝐱 i ⊊ 𝐱 i β€² or 𝐩 β€² ⁒ ( 𝐱 i β€² ) β‰₯ ( 1 + Ξ΅ ) ⁒ 𝐩 ⁒ ( 𝐱 i ) , or both.

Proof.

Observe that a change in the identity of the least spender during Phase 2 is always preceded by the previous least spender receiving a good via a swap operation. This means that agent i must receive a good at time t . If, in addition, agent i does not lose any good during the time interval between t and t β€² , then we already have that 𝐱 i ⊊ 𝐱 i β€² and the claim follows. Therefore, for the rest of the proof, we will assume that agent i loses one or more goods between t and t β€² .

Among all time steps between t and t β€² at which agent i loses a good, let t Β― denote the last one. Let j ∈ [ m ] denote the good lost by agent i at time t Β― , and let k denote the least spender at that time. Also, let ( 𝐱 Β― , 𝐩 Β― ) denote the allocation and price vector just before i loses the good j .

Lemma 9 that the spending of the least spender cannot decrease with time. Thus,

𝐩 Β― ⁒ ( 𝐱 Β― k ) β‰₯ 𝐩 ⁒ ( 𝐱 i ) . (4)

Since agent i loses the good j at time t ¯ , it must be an Ρ -path-violator with respect to ( 𝐱 ¯ , 𝐩 ¯ ) . Hence,

𝐩 Β― ⁒ ( 𝐱 Β― i βˆ– { j } ) > ( 1 + Ξ΅ ) ⁒ 𝐩 Β― ⁒ ( 𝐱 Β― k ) . (5)

Finally, since j is the last good lost by i before the time step t β€² , we have that

𝐩 β€² ⁒ ( 𝐱 i β€² ) β‰₯ 𝐩 Β― ⁒ ( 𝐱 Β― i βˆ– { j } ) . (6)

Equations 4 , 5 and 6 together give us the desired result. ∎

Lemma 13 .

The identity of the least spender can change at most poly ⁒ ( n , m , 1 Ξ΅ ) β‹… ln ⁑ m ⁒ v max number of times during Phase 2 before a Phase 3 step occurs.

Proof.

Recall from Lemma 12 that each time Alg cycles back to an agent i as the least spender, either the allocation of i strictly grows by at least one good, or its spending grows at least by a multiplicative factor of ( 1 + Ξ΅ ) . By pigeonhole principle, for every ( n + 1 ) identity change events, Alg must cycle back to some (fixed) agent. Therefore, for every ( n + 1 ) consecutive identity change events (possibly interspersed with swap operations), either that agent obtains an extra good (without losing any) or its spending grows by a factor of ( 1 + Ξ΅ ) . This observation, along with the fact that the spending of the least spender can never decrease with time ( Lemma 9 ), implies that for every m ⁒ ( n + 1 ) identity changes, the spending of the least spender must increase by a factor of ( 1 + Ξ΅ ) . Furthermore, we know from Lemma 10 that the spending of the least spender at the beginning of each Phase 3 step is at most m ⁒ v max . Hence, assuming that the initial spending of the least spender is at least 1 (refer to Section 7.1 for explanation of why this assumption is without loss of generality), there can be at most poly ⁒ ( m , n ) β‹… log ( 1 + Ξ΅ ) ⁑ m ⁒ v max identity changes during Phase 2 before a Phase 3 step occurs. By using ln ⁑ ( 1 + Ξ΅ ) β‰₯ Ξ΅ βˆ’ Ξ΅ 2 , we obtain the desired result. ∎

Lemma 14 .

Let t and t β€² be two time steps at which Alg performs a price-rise in Phase 3 such that t < t β€² . Then, E t β€² βŠ† E t .

Proof.

It suffices to prove Lemma 14 for consecutive price-rise steps t and t β€² (possibly including Phase 2 events between them). Suppose, for contradiction, that there exists an agent k ∈ E t β€² βˆ– E t . Our proof consists of two main arguments: First, we will show that k cannot turn into a 3 ⁒ Ξ΅ -violator due to the price-rise at time t . (This would imply that the only way k can turn into a 3 ⁒ Ξ΅ -violator is via a swap operation.) Second, we will show that if there is a swap operation at time t Β― (for some t < t Β― < t β€² ) that turns k into a 3 ⁒ Ξ΅ -violator, then there is a subsequent swap operation at ( t Β― + 1 ) that turns it back into a non- Ξ΅ -violator. This will contradict the fact that k is a 3 ⁒ Ξ΅ -violator at the beginning of the price-rise step at t β€² .

We will start by showing that k cannot turn into a 3 ⁒ Ξ΅ -violator due to the price-rise at time t . We perform case analysis for whether or not k ∈ β„‹ i t . To begin with, suppose that k ∈ β„‹ i t . Then, k cannot be an Ξ΅ -violator before the price-rise at time t (otherwise it would also be an Ξ΅ -path-violator, and Alg would continue with Phase 2). Thus,

( 1 + Ξ΅ ) ⁒ 𝐩 t ⁒ ( 𝐱 i t t ) β‰₯ 𝐩 t ⁒ ( 𝐱 k t βˆ– { j } ) ⁒ for some ⁒ j ∈ 𝐱 k t .

A similar condition continues to hold after the price-rise, since prices are always raised uniformly.

( 1 + Ξ΅ ) ⁒ 𝐩 t + 1 ⁒ ( 𝐱 i t t + 1 ) β‰₯ 𝐩 t + 1 ⁒ ( 𝐱 k t + 1 βˆ– { j } ) ⁒ for some ⁒ j ∈ 𝐱 k t + 1 . (7)

Therefore, at time ( t + 1 ) , agent k cannot be an Ξ΅ -violator with respect to any agent in β„‹ i t . It is, however, possible that k is an Ξ΅ -violator at time ( t + 1 ) with respect to some agent outside β„‹ i t . Nevertheless, we will show that k cannot be a 3 ⁒ Ξ΅ -violator. Specifically, let h be the least spender outside β„‹ i t at time t , i.e., h ∈ arg ⁑ min a ∈ [ n ] βˆ– β„‹ i t ⁑ 𝐩 t ⁒ ( 𝐱 a t ) . Recall that the condition Ξ± ≀ Ξ± 3 in Line 1 of Alg implies that

( 1 + Ξ΅ ) ⁒ 𝐩 t + 1 ⁒ ( 𝐱 h t + 1 ) β‰₯ 𝐩 t + 1 ⁒ ( 𝐱 i t t + 1 ) .

Along with Equation 7 , this gives

( 1 + Ξ΅ ) 2 ⁒ 𝐩 t + 1 ⁒ ( 𝐱 h t + 1 ) β‰₯ 𝐩 t + 1 ⁒ ( 𝐱 k t + 1 βˆ– { j } ) ⁒ for some ⁒ j ∈ 𝐱 k t + 1 .

Since Ρ < 1 , we have that ( 1 + Ρ ) 2 < 1 + 3 ⁒ Ρ , which implies that k is not a 3 ⁒ Ρ -violator at time ( t + 1 ) with respect to any agent.

Now suppose that k βˆ‰ β„‹ i t . Since k βˆ‰ E t by assumption, and the spending of the agents outside the hierarchy remains unaffected due to the price-rise, we once again get that k βˆ‰ E t + 1 . This proves that k cannot turn into a 3 ⁒ Ξ΅ -violator due to the price-rise at time t .

We will now proceed to show that if there is a swap operation at time t Β― (for some t < t Β― < t β€² ) that turns k into a 3 ⁒ Ξ΅ -violator, then there is a subsequent swap operation at ( t Β― + 1 ) that turns it back into a non- Ξ΅ -violator. Suppose that k (at level β„“ in the hierarchy) becomes a 3 ⁒ Ξ΅ -violator after receiving a good j via a swap at time step t Β― . Recall that a swap operation involves transferring a good from an agent at a higher level to another agent at a lower level in the hierarchy. Furthermore, Alg performs a swap for an agent at level ( β„“ + 1 ) only if no agent in the levels 1 , 2 , … , β„“ is an Ξ΅ -path violator. Therefore, k cannot be an Ξ΅ -path violator before the swap, i.e., there exists a good j β€² on an alternating path of length 2 ⁒ β„“ from i t Β― to k such that

( 1 + Ξ΅ ) ⁒ 𝐩 t Β― ⁒ ( 𝐱 i t Β― t Β― ) β‰₯ 𝐩 t Β― ⁒ ( 𝐱 k t Β― βˆ– { j β€² } ) .

Moreover, since k becomes a 3 ⁒ Ρ -violator (and hence, an Ρ -path violator) after receiving the good j , we have that

( 1 + 3 ⁒ Ξ΅ ) ⁒ 𝐩 t Β― + 1 ⁒ ( 𝐱 i t Β― + 1 t Β― + 1 ) < 𝐩 t Β― + 1 ⁒ ( 𝐱 k t Β― βˆͺ { j } βˆ– { j β€² } ) . (8)

Since neither the identity (or allocation) of the least spender nor the price-vector changes in this process, Equation 8 can be rewritten as

( 1 + 3 ⁒ Ξ΅ ) ⁒ 𝐩 t Β― ⁒ ( 𝐱 i t Β― t Β― ) < 𝐩 t Β― ⁒ ( 𝐱 k t Β― βˆͺ { j } βˆ– { j β€² } ) . (9)

Notice that the swap involving the good j does not affect the alternating path from i t Β― to k via the good j β€² , and therefore k continues to be at level β„“ . In fact, k is the only agent on level β„“ or below that is an Ξ΅ -path-violator. Therefore, in a subsequent swap operation, the good j β€² will be taken away from k , resulting in the allocation ( 𝐱 k t Β― βˆͺ { j } βˆ– { j β€² } ) for k . After this step, agent k once again becomes a non- Ξ΅ -violator with respect to the good j , providing the desired contradiction. ∎

Lemma 15 .

Let t and t β€² be two time steps at which Alg performs a price-rise in Phase 3 such that t < t β€² . Then, for any agent k ∈ E t β€² , 𝐱 k t β€² βŠ† 𝐱 k t .

Proof.

(Sketch) The proof is very similar to that of Lemma 14 . Suppose, for contradiction, that there exists a good j ∈ 𝐱 k t β€² βˆ– 𝐱 k t for some agent k ∈ E t β€² . Then, agent k must have acquired the good j via a swap operation at time t Β― (between t and t β€² ). This means that agent k cannot be an Ξ΅ -path violator at time t Β― , and thus cannot be a 3 ⁒ Ξ΅ -violator. By an argument similar to Lemma 14 , we can argue that k cannot be a 3 ⁒ Ξ΅ -violator at any subsequent price-rise event, contradicting k ∈ E t β€² . ∎

Lemma 16 .

At the beginning of each price-rise step at time t , E t ∩ β„‹ i t = βˆ… .

Proof.

Suppose, for contradiction, that there exists an agent k ∈ E t ∩ β„‹ i t . Since k ∈ E t , we have ( 1 + 3 ⁒ Ξ΅ ) ⁒ 𝐩 t ⁒ ( 𝐱 i t t ) < 𝐩 t ⁒ ( 𝐱 k t βˆ– { j } ) for every good j ∈ 𝐱 k t . Furthermore, since k ∈ β„‹ i t , there must exist an alternating path from the least spender i t to k that involves some good j β€² ∈ 𝐱 k t . Thus, k is also an Ξ΅ -path violator, which means that Alg will perform a swap operation in Phase 2 at time t , as opposed to a price-rise operation. ∎

Lemma 17 .

Let t and t β€² be two time steps at which Alg performs a price-rise such that t < t β€² . Then, the spending of any agent k ∈ E t β€² at time t β€² is at most that at time t , i.e., 𝐩 t β€² ⁒ ( 𝐱 k t β€² ) ≀ 𝐩 t ⁒ ( 𝐱 k t ) .

Proof.

Assume, without loss of generality, that t and t β€² correspond to consecutive price-rise steps (possibly including Phase 2 events between them). From Lemma 15 , we have that 𝐱 k t β€² βŠ† 𝐱 k t . Therefore, it suffices to show that 𝐩 t β€² ⁒ ( 𝐱 k t β€² ) = 𝐩 t ⁒ ( 𝐱 k t β€² ) , i.e., the prices of the goods in the set 𝐱 k t β€² do not vary between t and t β€² . We know from Lemma 14 that E t βŠ‡ E t β€² , and hence k ∈ E t . Lemma 16 then implies that k βˆ‰ β„‹ i t , which means that the price-rise step at time t does not affect the prices of the goods owned by k at time t , namely 𝐱 k t . Since 𝐱 k t β€² βŠ† 𝐱 k t , the same holds for the goods in 𝐱 k t β€² . The lemma now follows since, by assumption, there is no other price-rise step between t and t β€² . ∎

Lemma 18 .

For any good j ∈ [ m ] , p j ≀ m 2 ⁒ v max 3 , where p j is the price of good j upon termination of Alg .

Proof.

Let { t 1 , t 2 , … , t β„“ } denote the set of all time steps (during the execution of Alg ) at which the price of good j increases, and let { Ξ± t 1 , Ξ± t 2 , … , Ξ± t β„“ } denote the corresponding set of multiplicative price jumps. The set of least spenders at these time steps is given by { i t 1 , i t 2 , … , i t β„“ } . Let s ⁒ ( t ) ≔ 𝐩 t ⁒ ( 𝐱 i t t ) denote the spending of the least spender at time step t . 11 11 11 Recall from Section 5.1 that spending β€˜at time step t ’ refers to the spending before the event at time step t takes place. Our proof relies on the following two claims:

  1. Claim 1:

    s ⁒ ( t 2 ) β‰₯ Ξ± t 1 ⁒ s ⁒ ( t 1 ) , s ⁒ ( t 3 ) β‰₯ Ξ± t 2 ⁒ s ⁒ ( t 2 ) , … , s ⁒ ( t β„“ ) β‰₯ Ξ± t β„“ βˆ’ 1 ⁒ s ⁒ ( t β„“ βˆ’ 1 ) , and

  2. Claim 2:

    Ξ± t β„“ ≀ m ⁒ v max .

Claim 1 shows that the spending of the least spender (say, s ⁒ ( t i + 1 ) ) before a price-rise involving the good j is at least that of the previous least spender (i.e., the agent that was the least spender for the previous price-rise involving the good j ) after the corresponding price-rise (i.e., Ξ± t i ⁒ s ⁒ ( t i ) ). 12 12 12 Recall that in a price-rise step involving good j , the spending of the least spender grows by the same multiplicative factor as the price of good j . Claim 2 provides a bound on the final price-rise involving the good j . Before proving these claims, we will describe how they lead to the desired relation p j ≀ m 2 ⁒ v max 3 .

First, observe that Claim 1 implies that s ⁒ ( t β„“ ) β‰₯ Ξ± t 1 ⁒ Ξ± t 2 ⁒ … ⁒ Ξ± t β„“ βˆ’ 1 ⁒ s ⁒ ( t 1 ) . Using Lemma 10 for the time step t β„“ , we have that s ⁒ ( t β„“ ) ≀ m ⁒ v max . This implies that Ξ± t 1 ⁒ Ξ± t 2 ⁒ … ⁒ Ξ± t β„“ βˆ’ 1 ≀ m ⁒ v max , since the initial spending of each agent (i.e., spending at the end of Phase 1) is assumed to be at least 1 ( Section 7.1 ), and the spending of the least spender cannot decrease with time ( Lemma 9 ). Along with Claim 2, this gives Ξ± t 1 ⁒ Ξ± t 2 ⁒ … ⁒ Ξ± t β„“ βˆ’ 1 ⁒ Ξ± t β„“ ≀ m 2 ⁒ v max 2 . The final price of good j is given by p j = p j 0 ⁒ Ξ± t 1 ⁒ Ξ± t 2 ⁒ … ⁒ Ξ± t β„“ βˆ’ 1 ⁒ Ξ± t β„“ , where p j 0 denotes the price of good j at the end of Phase 1. The desired bound on p j follows by observing that the initial price of any good is at most v max .

We will first prove Claim 2. Recall that the price-rise factor Ξ± in Alg is chosen as Ξ± = min ⁑ { Ξ± 1 , Ξ± 2 , Ξ± 3 } ; thus, in particular, Ξ± ≀ Ξ± 2 . Therefore, in order to prove a bound on Ξ± β„“ , we can assume without loss of generality that Ξ± = Ξ± 2 . Under this assumption, the price-rise step in this case involves raising the spending of the least spender i t until the allocation becomes 3 ⁒ Ξ΅ - pEF1 (or equivalently, until the set E t of the Ξ΅ -violators at time step t becomes empty). Using arguments similar to those in the proof of Lemma 10 , we can show that spending of the highest spender in E t can be at most its initial spending (i.e., spending at the end of Phase 1), hence at most m ⁒ v max . Thus, the price-rise factor Ξ± β„“ is also at most m ⁒ v max . This proves Claim 2.

We will now prove Claim 1 for the time-steps t 1 and t 2 (that is, we will show that s ⁒ ( t 2 ) β‰₯ Ξ± t 1 ⁒ s ⁒ ( t 1 ) ); the analysis for other time-steps follows analogously. Note that if the identity of the least-spender does not change after a price-rise at t 1 , then we have that s ⁒ ( t 1 + 1 ) = Ξ± t 1 ⁒ s ⁒ ( t 1 ) . Additionally, since the spending of the least spender is non-decreasing with time ( Lemma 9 ), we have that s ⁒ ( t 2 ) β‰₯ s ⁒ ( t 1 + 1 ) = Ξ± t 1 ⁒ s ⁒ ( t 1 ) , and the claim follows. Therefore, we will assume, without loss of generality, that the identity of the least-spender necessarily changes after the price-rise at t 1 .

For ease of presentation, we will use [ t a , t b ] ≔ { t a , t a + 1 , … , t b βˆ’ 1 , t b } and [ t a , t b ) ≔ { t a , t a + 1 , … , t b βˆ’ 1 } to denote the set of all time-steps (both Phase 2 and Phase 3) between t a and t b including and excluding t b respectively. 13 13 13 Here, t a and t b are any two time-steps and do not necessarily correspond to price-rise steps involving good j . In addition, we will say that an agent k ∈ [ n ] experiences price-rise at time t if k belongs to the hierarchy during the price-rise at time-step t , i.e., k ∈ β„‹ i t . Similarly, we will say that agent k experiences price-rise during [ t a , t b ] (respectively, [ t a , t b ) ) if k experiences price-rise for some t ∈ [ t a , t b ] (respectively, t ∈ [ t a , t b ) ).

Let Ο„ ∈ [ t 1 , t 2 ] be a time-step (either Phase 2 or Phase 3) such that

  1. 1.

    the least-spender at Ο„ , namely i Ο„ , experiences price-rise during [ t 1 , Ο„ ) , and

  2. 2.

    there does not exist Ο„ ^ ∈ [ t 1 , t 2 ] with Ο„ ^ < Ο„ such that the least-spender at Ο„ ^ , namely i Ο„ ^ , experiences price-rise during [ t 1 , Ο„ ^ ) .

Among all the time-steps in [ t 1 , Ο„ ) at which the agent i Ο„ (as defined above) experiences price-rise, let Ο„ β€² be the last one. Our proof relies on the following three observations:

  1. Fact I:

    There exists Ο„ ∈ [ t 1 , t 2 ] that satisfies condition (1).

  2. Fact II:

    The spending of i Ο„ at time-step Ο„ β€² + 1 is at least Ξ± t 1 ⁒ s ⁒ ( t 1 ) , i.e., 𝐩 Ο„ β€² + 1 ⁒ ( 𝐱 i Ο„ Ο„ β€² + 1 ) β‰₯ Ξ± t 1 ⁒ s ⁒ ( t 1 ) .

  3. Fact III:

    The spending of i Ο„ at Ο„ is at least that at Ο„ β€² + 1 , i.e., 𝐩 Ο„ ⁒ ( 𝐱 i Ο„ Ο„ ) β‰₯ 𝐩 Ο„ β€² + 1 ⁒ ( 𝐱 i Ο„ Ο„ β€² + 1 ) .

Fact I makes the above formulation well-defined, whereas Facts II and III give us the desired implication via the following chain of inequalities:

s ⁒ ( t 2 ) β‰₯ s ⁒ ( Ο„ ) = 𝐩 Ο„ ⁒ ( 𝐱 i Ο„ Ο„ ) β‰₯ 𝐩 Ο„ β€² + 1 ⁒ ( 𝐱 i Ο„ Ο„ β€² + 1 ) β‰₯ Ξ± t 1 ⁒ s ⁒ ( t 1 ) .

The first inequality holds because the spending of the least spender is non-decreasing with time ( Lemma 9 ), the equality denotes change of notation, and the final two inequalities follow from Facts II and III. The remainder of the proof consists of proving Facts I-III.

Corollary 1 .

𝐩 ⁒ ( [ m ] ) ≀ m 3 ⁒ v max 3 , where 𝐩 is the price vector returned by Alg upon termination.

Proof.

Suppose, for contradiction, that the allocation 𝐱 is Pareto dominated by another integral allocation 𝐲 in the instance ℐ . That is, v k ⁒ ( 𝐲 k ) β‰₯ v k ⁒ ( 𝐱 k ) for each agent k ∈ [ n ] and v i ⁒ ( 𝐲 i ) > v i ⁒ ( 𝐱 i ) for some agent i ∈ [ n ] . Integrality of valuations in ℐ implies that v i ⁒ ( 𝐲 i ) β‰₯ v i ⁒ ( 𝐱 i ) + 1 .

For any agent k , let Ξ± k and Ξ± k β€² denote maximum bang per buck ratios (with respect to the price vector 𝐩 ) in the instances ℐ and ℐ β€² respectively. Recall that for the Ξ΅ -rounded version ℐ β€² , we have v k , j ≀ v k , j β€² ≀ ( 1 + Ξ΅ ) ⁒ v k , j for each agent k and each good j . Thus, Ξ± k = max j ∈ [ m ] ⁑ v k , j / p j ≀ max j ∈ [ m ] ⁑ v k , j β€² / p j = Ξ± k β€² . We therefore have

v k ⁒ ( 𝐱 k ) Ξ± k β‰₯ v k β€² ⁒ ( 𝐱 k ) ( 1 + Ξ΅ ) ⁒ Ξ± k (since ℐ β€² is Ξ΅ -rounded)
β‰₯ v k β€² ⁒ ( 𝐱 k ) ( 1 + Ξ΅ ) ⁒ Ξ± k β€² (since Ξ± k ≀ Ξ± k β€² )
= 𝐩 ⁒ ( 𝐱 k ) 1 + Ξ΅ , (via MBB condition in ℐ β€² )

or equivalently,

v k ⁒ ( 𝐱 k ) 𝐩 ⁒ ( 𝐱 k ) β‰₯ Ξ± k 1 + Ξ΅ . (10)

In other words, the allocation 𝐱 β€”which is guaranteed to fPO for the instance ℐ β€² β€”is close to being fPO for the original instance ℐ . The remainder of the proof will show that for a small enough Ξ΅ , the allocation 𝐱 turns out to be PO for the instance ℐ .

Consider the allocation 𝐲 . By definition of the maximum bang per buck ratio, we have that Ξ± k ⁒ 𝐩 ⁒ ( 𝐲 k ) β‰₯ v k ⁒ ( 𝐲 k ) for each agent k ∈ [ n ] . Since 𝐲 Pareto dominates 𝐱 in the instance ℐ , we have Ξ± k ⁒ 𝐩 ⁒ ( 𝐲 k ) β‰₯ v k ⁒ ( 𝐱 k ) , which, along with Equation 10 , implies that

𝐩 ⁒ ( 𝐲 k ) β‰₯ 𝐩 ⁒ ( 𝐱 k ) 1 + Ξ΅ . (11)

Using a similar reasoning for the agent i (and the observation that v i ⁒ ( 𝐲 i ) β‰₯ v i ⁒ ( 𝐱 i ) + 1 ), we get

𝐩 ⁒ ( 𝐲 i ) β‰₯ 𝐩 ⁒ ( 𝐱 i ) 1 + Ξ΅ + 1 Ξ± i . (12)

The combined spending over all goods can be rewritten as follows:

𝐩 ⁒ ( [ m ] ) = βˆ‘ k ∈ [ n ] 𝐩 ⁒ ( 𝐲 k ) (since all goods are allocated under 𝐲 )
= 𝐩 ⁒ ( 𝐲 i ) + βˆ‘ k ∈ [ n ] βˆ– { i } 𝐩 ⁒ ( 𝐲 k )
β‰₯ 𝐩 ⁒ ( 𝐱 i ) 1 + Ξ΅ + 1 Ξ± i + βˆ‘ k ∈ [ n ] βˆ– { i } 𝐩 ⁒ ( 𝐱 k ) 1 + Ξ΅ ( from Equations 11 and 12 )
= 𝐩 ⁒ ( [ m ] ) 1 + Ρ + 1 α i (since all goods are allocated under 𝐱 ) .

This simplifies to

Ξ΅ ( 𝐩 ( [ m ] Ξ± i βˆ’ 1 ) β‰₯ 1 . (13)

It is easy to see that Ξ± i ≀ v max , since the initial price of each good is at least 1 (by integrality of valuations), and prices cannot decrease during the execution of Alg . Furthermore, from Corollary 1 , we know that 𝐩 ⁒ ( [ m ] ) ≀ m 3 ⁒ v max 3 . Combining these observations, we get that Ξ΅ β‰₯ 1 m 3 ⁒ v max 4 , which contradicts the choice of Ξ΅ . ∎

Lemma 19 .

Let ℐ = ⟨ [ n ] , [ m ] , 𝒱 ⟩ be an input instance to Alg that satisfies power-of- ( 1 + Ξ΅ ) and Hall’s conditions. Then, at each time step after the first π’ͺ ⁒ ( n 2 ) steps, the spending of each agent under Alg is strictly greater than zero.

Proof.

Observe that once the spending of an agent becomes nonzero during the run of Alg , it can never become zero again. This is because for the spending of an agent to drop back to zero, it must lose its last good via a swap operation in Phase 2. However, such an exchange is disallowed by the Ξ΅ -path-violator condition. Therefore, it suffices to show that the spending of each agent under Alg becomes nonzero after the first π’ͺ ⁒ ( n 2 ) steps.

Let agent i be the least spender at the end of Phase 1 of Alg . Assume, without loss of generality, that the spending of agent i at the end of Phase 1 is zero (otherwise the lemma follows immediately). We will show that after π’ͺ ⁒ ( n ) steps, the spending of agent i strictly exceeds zero. The desired running time bound of π’ͺ ⁒ ( n 2 ) will follow from a similar argument for the other agents.

Our proof for the above claim consists of case analysis for whether or not at the end of Phase 1, there exists some agent in the hierarchy β„‹ i that owns two or more goods. Suppose there exists an agent k ∈ β„‹ i that owns two or more goods (if there are multiple such agents, tie-break in favor of agents at a lower level in β„‹ i , and then according to a prespecified lexicographic ordering). Then, k must be an Ξ΅ -violator, and therefore also an Ξ΅ -path-violator (along some alternating path P ). Additionally, by the choice of agent k , no agent at a lower level is an Ξ΅ -path-violator. As a result, k must lose a good under a swap operation in Phase 2 to its predecessor along path P , who acquires two goods as a result, and becomes the new Ξ΅ -path-violator. This series of swaps continues for π’ͺ ⁒ ( n ) steps, and ends with the least spender receiving a new good.

Next, suppose that each agent in β„‹ i owns exactly one good. Since the given instance ℐ satisfies Hall’s condition, and agent i does not yet own any good, there must exist an agent k βˆ‰ β„‹ i that owns two or more goods. We will show that such an agent must get added to the hierarchy in π’ͺ ⁒ ( n ) steps. Then, by the above argument, in further π’ͺ ⁒ ( n ) steps, agent i must receive a good that takes its spending strictly above zero.

Since each agent in the hierarchy owns exactly one good, there are no Ξ΅ -path-violators in β„‹ i , and Alg proceeds directly to Phase 3. Once again, since the least spender does not own any good, its spending cannot change as a result of price-rise, and therefore a new agent gets added to the hierarchy. If this agent has more than one good, then the lemma follows. Otherwise, the price-rise step is repeated. Therefore, after π’ͺ ⁒ ( n ) such steps, an agent with two or more goods must get added to the hierarchy, as desired. ∎